因为面试的时候经常问到 Linux 常用命令,蚊子就将他们的命令分类总结了一下。
文件目录类命令
浏览目录命令
ls
命令英文原意:list
功能描述:显示目p;录文件
语法:ls 选项 [ -ald ] [ 文件或目录 ]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
pwd
命令英文原意:print working directory
语法:pwd
功能描述:显示当前所在的工作目录
目录操作命令
cd
命令英文原意:change directory
语法:cd [ 目录 ]
功能描述:切换目录
范例:\$ cd / 切换到根目录 :\$ cd ..
mkdir
命令英文原意:make directory
语法:mkdir [ 目录名 ]
功能描述:创建新目录
范例:$ mkdir newdir
rmdir
命令英文原意:remove directory
语法:rmdir [ 目录名 ]
功能描述:删除空目录
范例:$ rmdir newdir
浏览文件命令
cat
命令英文原意:concatenate and display files
功能描述:连接文件并打印到标准输出设备上
选项:-E 在每一行的末尾显示 $
-n 危险时行添加行号
参数:指定要连接的文件列表
范例:cat m1(在屏幕上显示文件 m1 的内容)
cat m1 m2 (同时显示文件 m1 和 m2 的内容)
more
语法:more [ 文件名 ]
(空格) 或 f – 显示下一页
(Enter) – 显示下一行
q 或 Q – 退出
功能描述:分页显示文件内容
范例:$ more /etc/services
less 命令的用法和 more 命令类似,也可以用来浏览超过一页的文件。所不同的是 less 命令除了可以按空格键向下显示文件外,还可以利用上下键卷动文件
。
head
功能描述:用于显示文件前几行的内容
格式:head [ 参数 ] < 文件名 >
参数:-n:显示前 n 行,不指定此参数显示前 10 行
范例:$ head /etc/passwd
tail
功能描述:用于显示文件后几行的内容
格式:tail [ 参数 ] < 文件名 >
参数:-n:显示后 n 行,不指定此参数显示后 10 行
+n:从第 n 行显示到文件尾
-F:用于跟踪显示不断增长的文件结尾内容(通常用于显示日志文件)
范例:$ tail /etc/passwd
文件操作命令
cp
命令英文原意:copy
功能描述:将文件从一处复制到另一处。一般在使用 cp 命令时将一个文件复制成另一个文件或复制到目录时,需要制定源文件名与目标文件名或目录。
格式:cp [ 参数 ] < 源文件路径 > < 目标文件路径 >
参数:-p:连同文件的属性一起复制,而非使用默认方式,常用于备份
-i:若目标文件已经存在时,在覆盖时会先询问操纵的进行
-r:递归持续复制,用于目录的复制行为
-u:目标文件与源文件有差异时才会复制
范例:cp test1.txt test2.txt(将 test1.txt 复制成 test2.txt)
cp test3.txt /tmp(将 test3.txt 复制到 /tmp 目录中)
cp -r test1(目录) test2(目录)(目录拷贝)
rm
命令英文原意:remove
功能描述:删除文件或目录
格式:rm [ 参数 ] < 目标文件路径 >
参数:-f:就是 force 的意思,忽略不存在的文件,不会出现警告消息
-i:互动模式,在删除前会询问用户是否操作
-r:递归删除,最常用于目录删除,它是一个非常危险的参数
范例:rm myfiles(文件名)(删除某个文件)
rm *(删除当前目录下的所有文件)
rm -r myfolder(目录名) (递归删除某个目录,包含该目录下所有文件及子目录)
rm -f *.txt(强迫删除所有后缀名为 txt 的文件)
rm -i *(删除当前目录下的所有文件,删除文件时会询问,可按 Y 或 N 键表示允许或拒绝删除文件)
find
功能描述:用来寻找文件或目录
格式:find 路径 [ 参数 ]
参数:-name filename:找出文件名为 filename 的文件
-size [ +- ] SIZE:找出比 SIZE 还要大(+)或小(-)的文件
-type TYPE:查找文件的类型为 TYPE 的文件,TYPE 的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO 管道文件(p)
-perm mode:查找文件权限刚好等于 mode 的文件,mode 用数字表示,如0755
范例:find -type f(查找一般文件)
find -name runtest(查找名为 runtest 的文件)
grep
命令英文原意:Globally search a Regular Expression and Print
功能描述:在文件中搜索匹配的字符并进行输出
格式:grep [ 参数 ] < 要找的字串 > < 要寻找字串的源文件 >
参数:-a:将 binary 文件以 text 文件的方式查找数据
-c:计算找到 “查找字符串” 的次数
-i:忽略大小写的区别,即把大小写视为相同
-v:反向选择,即显示出不包含 ‘查找字符串’ 内容的那一行
tar
命令英文原意:tape archive
功能描述:能够将用户所指定的文件或目录打包成一个文件,也可以通过指定参数开启压缩/解压缩功能
格式:tar [ 参数 ]< 文件 >
参数:-c:新建打包文件
-t:查看打包文件的内容含有哪些文件名
-x:解打包或解压缩的功能,可以搭配 -C(大写)指定解压的目录,注意 -c、-t、-x 不能同时出现在一条命令中
-j:通过 bzip2 的支持进行压缩/解压缩
-z:通过 bzip 的支持进行压缩/解压缩
-v:在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename:filename 为要处理的文件
-C dir:指定压缩/解压缩的目录 dir
范例:$ tar -cvf test.tar *(将当前的所有文件打包成 test.tar)
$ tar -czvf test.tar.gz *(将当前的所有文件打包成 test.tar,再用 gzip 命令压缩)
$ tar -tf test.tar(查看 test.tar 文件中包括了哪些文件)
$ tar -xvf test.tar(将 test.tar 解打包)
$ tar -xzvf foo.tar.gz(将 foo.tar.gz 解压缩并解打包)
进程控制类命令
查看系统中的进程命令
ps
功能描述:用来显示系统瞬间的进程信息,它可以显示出在用户输入 ps 命令时系统的进程及进程的相关信息
格式:ps [ 参数 ]
参数:-l:长格式输出
-u:按用户名和启动时间的顺序显示进程
-j:用任务格式来显示进程
-f:用树形格式来显示进程
-a:显示所有用户的所有进程(包括其他用户)
-x:显示五控制终端的进程
-r:显示运行中的进程
范例:$ ps(显示本用户的进程)
$ ps -aux | grep mosquito(查找 mosquito 用户的进程)
top
功能描述:动态监视系统任务的工具,输出结果是连续的
格式:top [ 参数 ]
参数:-b:以批量模式运行,但不能接受命令行输入
-c:显示命令行,而不仅仅是命令名
-d N:显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为 5 秒
-i:禁止显示空闲进程或僵尸进程
-n NUM:显示更新次数,然后退出。比如 -n 5,表示 top 更新 5 次数据就退出
-p PID:仅监视制定进程的 ID,PID 是一个数值
-q:不经任何延时就刷新
-s:安全模式运行,金庸一些效互指令
-S:累积模式,输出每个进程的总的 CPU 时间
每 5 秒钟刷新一次,动态显示
按下 U 键:输入用户名 – 查看用户进程
按下 K 键:输入 PID – 删除进程
按下 Q 键:退出
控制系统中的进程命令
kill
功能描述:用于向某个进程(通过 PID 标识)传送一个信号,它通常与 ps 和 jobs 命令一起使用
格式:kill -SIGNAL PID
SIGNAL 参数:
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入 ctrl + c,终端一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入 ctrl + z,暂停一个进程的进行
范例:$ kill -SIGTERM %1(以正常的结束进程方式重之第一个后台工作进程)
$ kill -SIGHUP PID(重新启动进程 ID 为 PID 的进程)
killall
功能描述:使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程
格式:killall [ 参数 ] < 正在运行的进程名 >
参数:-e:对长名称进行精确匹配
-I:忽略大小写的不同
-p:杀死进程所属的进程组
-i:交互式杀死进程,杀死进程前需要进行确认
-l:打印所有已知信号列表
-q:如果没有进程被杀死。则不输出任何信息
-r:使用正则表达式匹配要杀死的进程名称
-s:用指定的进程号代替默认信号 “SIGTERM”
-u:杀死指定用户的进程
范例:$ killall game
nice
功能描述:允许在默认优先级的基础上进行增大或减小的方式来运行命令
格式:nice [ 参数 ] < command [arguments] >
参数:command:系统中任意可执行文件的名称
-n –adjustment:指定程序运行优先级的调整值(优先级的调整值范围为 -20 ~ 19,其中数值越小优先级越高,数值越大优先级越低,若 nice 命令未指定优先级的调整值,则以缺省值 10 来调整程序运行优先级,既在命令通常运行优先级基础之上增加 10)
范例:$ nice -n -5 myprogram&(在后台以通常运行优先级 -5 的优先级运行 myprogram)
renice
功能描述:改变一个正在运行的 nice 值
格式:renice [ 参数 ] < pid >
参数:command:系统中任意可执行文件的名称
-n:指定程序运行优先级的调整值
范例:$ renice -5 777(将正在运行的 PID 为 777 的进程的 nice 值改为 -5)
进程后台运行命令
&
范例:cp -r /usr/* test &(将 /usr 目录下的所有子目录及文件复制到 /root/test 目录下的工作放到后台运行)
进程的挂起和恢复
Ctrl + Z:进程挂起
Ctrl + C:进程终止
gf [ n ]:恢复到前台继续运行
bg [ n ]:恢复到后台继续运行
jobs:查看被挂起的进程
用户及权限管理类命令
用户管理类命令
useradd
功能描述:新建用户账号(超级用户可用)
格式:useradd [ 参数 ] < 用户名 >
参数:-d:指定用户登入时的主目录
-e:账号终止日期
-g:指定账户所属的用户组
-G:指定账户所属的附加组
-s:指定账户登陆后所使用的 shell
-u:指定用户 ID 号
范例:$ useradd -g net04 zhangsan(新建一个用户 zhangsan,用户组为 net04)
passwd
功能描述:设置或修改用户的口令以及口令的属性
格式:passwd [ 参数 ] < 用户 >
参数:-d:删除用户的口令
-I:暂时锁定指定的用户账号
-s:显示指定用户账号的状态
-u:解除指定用户账号的锁定
范例:$ passwd -l zhangsan(锁定用户 zhangsan账号)
$ passwd -u zhangsan(解锁用户 zhangsan账号)
usermod
功能描述:修改用户的属性(超级用户可用)
格式:usermod [ 参数 ] < 用户名 >
参数:-d:指定用户登入时的主目录
-e:账号终止日期
-g:指定账户所属的用户组
-G:指定账户所属的附加组
-s:指定账户登陆后所使用的 shell
-u:指定用户 ID 号
-I:新用户名(用于修改用户名)
范例:$ usermod -l zhangs zhangsan(将 zhangsan 改为 zhangs)
userdel
功能描述:删除指定的用户账号(超级用户可用)
格式:userdel [ 参数 ] < 用户名 >
参数:-r:不仅删除此用户账号,而且删除用户主目录及本地邮件存储的目录或文件
-f:删除用户登入目录以及目录中所有文件
su
功能描述:切换用户身份
格式:su < 用户名 >
注:超级用户可以切换为任何普通用户,而不需要输入口令;普通用户转换为其他用户需要输入被转换用户的口令;使用 exit 可以返回本来的用户身份。
id
功能描述:查看用户的 UID、GID 和用户所属用户组的信息,如果不指定用户,则显示当前用户的相关信息。
格式:id < 用户名 >
whoami
查看当前用户名
w
查看当前登录系统用户和详细信息
用户组管理类命令
groupadd
功能描述:新建组群(超级用户可用)
格式:groupadd [ 参数 ] < 用户组名 >
参数:-g:指定用户组 ID
-o:允许组 ID 号不唯一
groupmod
功能描述:修改指定的用户组的属性(超级用户可用)
格式:groupmod [ 参数 ] < 用户组名 >
参数:-g:指定新的用户组 ID
-n:制定新的用户组名字
-o:允许组 ID 号不唯一
groupdel
功能描述:删除指定的用户组(超级用户可用)
格式:groupdel < 用户组名 >
注:在删除指定用户组之前必须保证该用户组不是任何用户的主要组群,否则要先删除以此用户组为主要组群的用户才可以删除该用户组。
文件权限管理类命令
文件权限:
- 读取权限(r):浏览文件 / 目录中内容的权限
- 写入权限(w):对文件而言是修改文件内容的权限;对目录而言是删除、添加和重命名目录内文件的权限
- 执行权限(x):对可执行文件而言是允许执行的权限;对目录而言是进入目录的权限
文件用户分类:
- 文件所有者:建立文件和目录的用户
- 文件所有者所在组用户:文件所有者所属用户组中的其他用户
- 其他用户:既不是文件所有者,又不是文件所有者所在组的其他所有用户
- 超级用户:负责整个系统的管理和维护,拥有系统中所有文件的全部访问权限
chmod
功能描述:修改文件的访问权限
格式:chmod < 模式 > < 文件 >
模式:对象:u – 文件所有者、g – 同组用户、o – 其他用户
操作符:+ – 增加、- – 删除、= – 赋予
权限:r – 读、w – 写、x – 执行、s – 设置用户 ID
范例:$ chmod g-w file(取消同组用户对 file 文件的写入权限)
$ chmod 775 pict(将 pict 目录的访问权限设置为 775)
$ chmod u+s file(设置 file 文件的设置用户 ID 位)
chown
功能描述:将指定文件的拥有者改为指定的用户或用户组
格式:chown < 参数 > < 所有者/组 > < 文件 >
参数:-c:显示更改的部分的信息
-f:忽略错误信息
-h:修复符号链接
-R:处理指定目录以及其子目录下的所有文件
-v:显示详细的处理信息
-deference:作用于符号链接的指向,而不是链接文件本身
范例:$ chown hellen ex1(将 ex1 的所有者由 root 改为 hellen)
chgrp
功能描述:改变文件的所属用户组
格式:chgrp < 参数 > < 组 > < 文件 >
参数:-c:当发生改变时输出调试信息
-f:不显示错误信息
-R:处理指定目录以及其子目录下的所有文件
-v:运行时显示详细的处理信息
–deference:作用于符号链接的指向,而不是链接文件本身
–no-deference:作用于符号链接本身
范例:$ chgrp staff ex1(将 ex1 文件所属的用户组由 root 改为 staff)