Linux 的常见命令
白色 : 普通文件
蓝色: 目录
红色 : 压缩包
绿色 : 可执行文件
复制:
ctrl + insert
粘贴:
shift + insert
清屏:
ctrl + l
取消当前命令重新输入:
ctrl + c
1. ls
语法: ls[选项][目录或文件]
功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
记住,是小写的 L ,表示使用列表的方式来列出目录中的内容,ls -l 这是常用的命令,一般也是可以
使用 ll 来替代
ls 列出当前目录中包含的文件和目录,类似于在 windows 上上双击某个目录,把它打开,看看目录里面有啥
ls [路径]
这里的 / 是 Linux 上的特殊目录,称为"根目录",相当于 windows 的"此电脑",这里的这些目录,就相当于"系统文件"
常用选项:
-a
列出目录下的所有文件,包括以 . 开头的隐含文件。
-d
将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-k
以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l
列出文件的详细信息。
-r
对目录反向排序。
-t
以时间排序。
-R
列出所有子目录下的文件(递归)
2. pwd
语法: pwd
功能: 显示用户当前所在的目录
他就是能告诉我们当前是在哪个目录里,因为我们在使用命令的时候,有的时候,目录是比较复杂的,容易不记得自己在哪里(迷路了)
显示了当前目录所对应的绝对路径,在windows 上,就是以盘符开头的路径的绝对路径,在 Linux 上,是以 / 开头(根目录)就是绝对路径
3. cd
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法: cd 目录名
功能: 改变工作目录,将当前工作目录改变到指定目录下
cd 后面要跟上一个路径,这个路径可以是绝对路径,也可以是相对路径,cd 就相当于是鼠标双击目录进行切换了
当然,cd ./root 也可以简写为 cd root
还有:
cd . .
: 返回上级目录
cd ~
:进入用户家目
cd -
:返回最近访问目录
4. touch
语法: touch [选项]... 文件...
功能: touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件.
5. cat
语法: cat[选项][文件]
功能: 查看目标文件的内容
-n 可以对输出的所有行编号
6. echo
语法: echo [内容]>[文件名]
功能: 打印内容到控制台,也可以用于写文件
7. mkdir
语法: mkdir [选项] dirname..
功能: 在当前的目录下创建一个名为"dirname"的目录
常用选项:
-p,--parents
可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录
创建多个目录后可能会搞混,可用 tree 命令来分清
可能第一次敲tree会报错,找不到这个命令,前面我们所讲到的命令是 他自己自带的,而 tree 他是属于第三方提供的命令,是需要我们单独去下载安装的需要的命令是:
yum install tree
这个yum 就相当于是"应用商店",称为"包管理器"
8. rm
语法: rm[-f-i-r-v][dirName/dir]
功能: 删除文件或目录
常用选项:
-f
即使文件属性为只读(即写保护),直接删除
-i
删除前逐一询问确认
-r
删除目录及其下所有文件
删除操作都是很危险的操作,一定要谨慎谨慎再谨慎!!!特别是
rm -rf /
这个命令,他是直接把你整个磁盘上的文件都删除了,包括系统文件(你自己启动的所需要的文件),所以
一定要谨慎使用删除!!!
(跟我们之前讲的删除数据库一样,你删了,直接就没有了)
Linux 里面的删除,是真正的删除了,文件是无法复原的,他不像我们常接触的windows,你删了之后还有一个回收站可以让你后悔…
(其实也不是删除后就完全恢复不了了,有补救措施的,不过不是我们搞定,这个问题可以去找对应硬盘厂商帮忙..彻底删除的最好办法就是-->直接销毁)
9. mv
语法: mv [选项] 源文件或目录 目标文件或目录
功能:第一个表示要移动的文件/目录 , 第二个表示要移动的目标位置,这俩参数 绝对路径/相对路径都可以
常用选项:
-f
:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i
:若目标文件 (destination) 已经存在时,就会询问是否覆盖!
注意
mv也可以重命名
10. cp
语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
注意
cp 直接只能拷贝文件,如果需要拷贝目录,需要加上
-r
参数
常用选项:
-f
或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i
或 --interactive 覆盖文件之前先询问用户
-r
递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive
递归处理,将指定目录下的文件及子目录一并处理
11. man
语法: man [选项] 命令
功能:查看其他命令帮助手册
常用选项:
-k
根据关键字搜索联机帮助
num
只在第num章节找
man man
能够看到 man 手册中的若干个章节及其含义
查看
man ls
退出就按
q
就行
当然,现在用百度来查也是相当快的…
12. less
语法: less [参数] 文件
功能:查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找
常用选项:
j k / 方向键:
向上向下滚动屏幕.
-N
显示每行的行号
/字符串:
向下搜索“字符串”的功能
n:
重复前一个搜索(与 / 或 ? 有关)
q:
退出
打开一个大文件他就不会一下子全加载完,他可以手动翻页
最大的优势就是大文件可以秒开,可以方便我们查看,因为我们以后在开发中是要常常查看服务器日志的,用这个命令方便许多
13. head
语法:head [参数]...[文件]...
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
常用选项:
-n<行数>
显示的行数
14. tail
语法: tail [必要参数][选择参数][文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
常用选项:
-f
循环读取
-n<行数>
显示行数
15. vim
vim 是一个知名的文本编辑器. 前面学习的 cat, less, head, tail 等命令只能查看文本, 不能编辑文本. 使用 vim 就可以进行编辑了(
但是想要用熟练,那是需要大量练习的
),这里只介绍简单的 vim 操作
一: 创建文件/打开文件:vim [文件名]
有这个文件就打开他,没有就自动创建一个
二: 使用 vim 编辑文件内容
刚进入会发现 想输入内容并没有反应,因为在我们进去后此时默认是
"普通模式"(normal mode)
,普通模式下,键盘按键他不是表示编辑框输入的内容,而是表示特殊含义的快捷键,要想编辑内容,还得进入
"插入模式"(insert node)
,键盘才能输入内容,我们只需要按下小写字母
i
键就可以进入插入模式了
此时左下角出现INSERT就是进入插入模式,就可以输入内容了
三: 使用 vim 进行保存退出
我们想要保存退出发现并没有什么 x 的可以关闭,这时候也不要乱按, 如果你按了一个
ctrl + s
来保存,那是不行的,在vim中,ctrl + s不是保存,同时 他是 xshell 的快捷键,功能是冻结屏幕(怕东西打得太快反应不过来,解除冻结的话按
ctrl + q
就行了)
1)先从插入模式回到普通模式,按下 esc 即可
2)输入:wq
再按回车即可保存退出(
w => write 写(保存)
,
q => quit(退出)
)
注意:
如果文件没变,
:q
,是能直接退出的,如果文件改变,
:q
会报错,不让你退出,
:q!
才是强制退出(不保存),还有就是
:x
效果和
:wq
是等价的
想要详细了解 vim 操作的可以进入 他自带的 官方"交互式"教程:
vimtutor
,里面有详细的介绍
16. grep
语法:grep [参数]...[文件]...
功能:用于查找文件中是否包含指定字符串, 并显示对应的行
常用选项:
-n<行数>
显示的行数
-w 全字匹配.
要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
-r 递归查找.
可以搜索多级目录下的所有文件.
--color
高亮查找到的结果
--include
指定查找某些文件
--exclude
指定排除某些文件
15. ps
语法:ps [参数]...
功能:用于查看当前系统上运行的进程
例如:
ps aux # 显示系统上所有的进程
ps aux | grep “进程名”
ps aux | grep “进程id”
常用选项:
a
显示一个终端的所有进程
u
以用户为主的格式来显示程序状况
x
显示所有程序,不以终端机来区分
16. netstat
语法:netstat [参数]...
功能:查看系统上的网络状态
例如:
netstat -anp
netstat -anp | grep “进程名”
netstat -anp | grep “端口号”
常用选项:
-a
显示所有正在或不在侦听的套接字
-n
显示数字形式地址而不是去解析主机、端口或用户名
-p
显示套接字所属进程的PID和名称
Linux 权限
权限 就是为了限制你的一些操作,比如像 rm 这样的操作是非常危险的,能力越大,责任就越大,一旦给一个新手使用 rm 这种危险的操作影响是很大的
这里主要围绕文件和目录来展开:
前面的部分就描述了文件/目录的权限,在这一组字母中,涉及到了三个操作和三个角色 (最前面的一个字母,d 表示目录文件
,
- 表示普通文件
,和权限没有关系,是文件类型),后面的 9 个英文字母,分成三个一组
文件类型:
d
:文件夹
-
:普通文件
l
:软链接(类似Windows的快捷方式)
b
:块设备文件(例如硬盘、光驱等)
p
:管道文件
c
:字符设备文件(例如屏幕等串口设备)
s
:套接口文件
基本权限
r
:表示可读
w
:表示可写
x
:表示可执行
-
:表示没有对应的权限
比如:rwx
:可读,可写,可执行,
rw-
:可读,可写,不可执行
三种角色:
每一行后面九个英文字母分成三组:
例如:第一组:rwx
:文件拥有者的权限:可读可写可执行
第二组:r-x
:同组用户的权限:可读不可写可执行
第三组:r-x
:其他用户的权限:可读不可写可执行
当然,根据这三组角色,是可以分别设置不同的权限的,至于你自己要怎么设置,每一组要设置成啥,都看你自己的意愿,看实际需求
修改文件权限
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
版权归原作者 粉色的志明 所有, 如有侵权,请联系我们删除。