模板:Linux常用命令

Eric讨论 | 贡献2021年7月6日 (二) 02:07的版本

文件管理

命令 描述 语法格式 常用参数 示例
ls 显示目录的内容和属性 ls [参数...][目录...] -a 显示所有文件和目录,包括隐藏内容(以.开头文件)
-l 显示属性权限等信息
-h 文件大小以KB、MB、GB等显示,与-l参数搭配
-R 显示包括子孙目录的所有文件和目录
ls -l 显示当前目录的内容和信息
ls -al /home 显示/home目录的包括隐藏文件在内的所有内容和信息
cd 切换当前目录,目录可以使用相对路径或绝对路径 cd [目录] cd /home 进入/home目录
cd ../dirName 进入上级目录中的dirName目录
pwd 查看当前目录的完整路径 pwd [参数...] pwd 查看当前目录的完整路径
mkdir 创建目录,可一次创建多个 mkdir [参数...] 目录... -p 创建多级目录
-m 权限值 设置目录权限
-v 显示创建过程的信息
mkdir test 在当前目录下创建一个目录test
mkdir -p test1/test2 递归创建多级目录
mkdir -m 700 test3 创建权限为700的test3目录
cp 复制文件或目录 cp [参数...] [-T] 源文件或目录 目标文件或目录
cp [参数...] 源文件或目录... 目标目录
cp [参数...] [-t] 目标目录 源文件或目录...
-i 若目标文件已存在,会询问是否覆盖
-f 若目标文件已存在,直接覆盖
-n 若目标文件已存在,不要覆盖
-r 递归复制目录和文件
cp test1 test2 复制test1到test2(假设当前不存在test2文件夹)
cp t1 t2 dirA 复制t1、t2到dirA文件夹
cp -t dirA t1 t2 复制t1、t2到dirA文件夹
mv 文件移动或文件重命名 mv [参数...][-T] 源文件 目标文件
mv [参数...] 源文件... 目标目录
mv [参数...] -t 目标目录 源文件...
mv test1 test2 文件test1重命名为test2
mv test1 test3 移动test1文件到test3目录(假设当前存在test3目录)
rm 删除文件或目录 rm [参数...] [文件或目录...] -i 删除文件时,先询问是否删除
-f 直接强制删除
-r 删除目录及其所有文件。
rm test 删除test文件
rm -r testDir 删除testDir目录
rmdir 删除空目录 rmdir [参数...] [目录...] -p rmdir testDir 删除空目录testDir
touch 修改文件或目录的日期时间,创建空文件 touch [参数...] [文件...] -a 修改访问时间(access time)
touch test3创建空文件test3

文件编辑

命令 描述 语法格式 常用参数 示例
cat 显示文件内容 cat [参数...] [文件...] -n 输出内容每行前添加行号 cat test 显示test文件内容
cat -n test1 test2 显示test1和test2文件内容,并且显示行号。
tail 显示文件末尾内容,默认10行 tail [参数...] [文件...] -n 行数 显示的行数
-c 字节数 显示的字节数
-f 循环显示,文件末尾有更新会刷新
tail test 显示test文件末尾10行内容
tail -n 3 test 显示test文件末尾3行内容
head 显示文件开头内容,默认10行 head [参数...] [文件...] -n 行数 显示的行数
-c 字节数 显示的字节数
-v 显示文件名
head test 显示test文件开头10行内容
head -n 3 test 显示test文件开头3行内容
more 文件内容分页查看,搜索过滤 more [参数...] 文件... +行数 从第几行开始显示
-行数 每次显示的行数
+/字符串 从搜索到字符串位置的前面2行开始显示
-c 清屏
-p 清屏
-s 连续多个空行显示为一行
more +5 test 从第5行显示test文件内容
more -12 test 每次显示12行test文件内容
more +/晴天 test 从test文件搜索到“晴天”的位置向前2行开始显示
Vi/Vim 文本编辑器 vim [参数...] [文件..]
vim [参数...] -
vim [参数...] -t tag
+行数 跳到指定行数
+ 跳到最后一行
-R 只读模式打开文件
vim +10 test 打开test文件,跳到10行位置
vim -R test 只读模式打开test文件
wc 统计文件行数、单词数、字节数信息。 wc [参数...] [文件...] -c 行数
-m 字数
-c 字节数
-L 最长行的字数 -m 最长行的字数
wc test 显示test文件行数、字数、字节数信息

查找

命令 描述 语法格式 常用参数 示例
find 文件搜索,默认当前目录 find [参数...] [搜索目录...] [表达式] -name 按文件名查找目录下所有文件包括子孙目录
-iname 文件名忽略大小写
-type 类型 指定查找类型bcdpflsD(d:目录,f:一般文件)
-ctime 天数 过去几天修改过的文件
-cmin 分钟数 过去几分钟修改过的文件
find test当前目录查找test文件
find --name *.log当前目录及子孙目录查找以.log结尾的文件
find -ctime 3 当前目录过去3天修改过的文件
grep 文本搜索,使用正则表达式进行搜索 grep [参数...] 匹配模式 [文件...] -c 统计搜索到的次数
-i 忽略大小写差别
-r 递归方式查找,目录的所有文件包括子孙目录
grep test *.log --color=auto 查找.log结尾文件包含test的行,并且test用颜色标记
grep -r passwd /etc/查找/etc目录下所有文件中包含passwd的行
whereis 查找程序、源代码及帮助文件位置 whereis [参数...] 文件 -b 查找可执行文件
-m 查找帮助文件
-s 查找源代码文件
-u 查找其他文件
-B 目录指定查找可执行文件的目录
-M 目录指定查找帮助文件的目录
-S 目录指定查找源代码文件的目录
where is vim 查找vim位置

备份压缩

命令 描述 语法格式 常用参数 示例
tar 打包,多个文件或目录打包成一个存档文件。解包,从存档文件提取所有文件。
使用gzip、bz2压缩解压
tar [参数...] [文件...]
(主参数有且只能一个)
主参数:
-c 打包,创建一个新存档文件
-x 解包,提取所有存档文件
-t 查看,显示所有存档文件
-r 追加,向存档文件追加文件
-u 更新,只更新比存档文件的文件新的文件
-d 差异,

副参数:
-v 显示操作过程
-f 存档文件 指定存档文件
-C 目录 指定目录
-z 通过gzip压缩解压,现在解压不需要指定,tar会自动选择
tar -cvf test.tar testDir test2 打包当前目录下testDir目录和test2,生成test.tar文件
tar -xvf test.tar 解包test.tar到当前目录

tar -xvf test.tar -C ../foo 在当前目录的上级目录的foo目录里解包test.tar
gzip 压缩文件,解压gzip文件,不能压缩目录,需配合tar使用。默认压缩文件,并删除原文件 gzip [参数...] [文件...] -d 解压
-c 输出压缩文件到标准输出设备,而不更改原文件
-f 强制压缩覆盖
-l 显示压缩信息
-k 不删除原文件
-r 在目录上递归操作,压缩或解压单个文件
gzip * 把当前目录所有文件转化为压缩文件
gzip -d *把当前目录所有压缩文件转化为文件
unzip 解压zip文件 unzip [参数...] [文件...] -d 目录 指定解压缩目录
-l 列出压缩包所包含的文件
-v 显示执行过程
-n 不覆盖原文件
-j 不创建压缩文件里的目录
-k 不删除原文件
-r 在目录上递归操作,压缩或解压单个文件
unzip test.zip 解压缩test.zip到当前目录
unzip test.zip -d foo解压缩test.zip到当前目录的foo目录中

权限管理

命令 描述 语法格式 常用参数 示例
chmod 修改文件或目录权限。

查看权限可使用ls -l命令
chmod [参数...] 模式... [文件...]

chmod [参数...] --reference=参照文件 [文件...]

模式格式:
[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+
-R 递归的方式为目录所有文件权限
-v 显示所有操作过程
-c 只显示被改变权限的文件操作过程
-f 安静模式,不输出错误信息

模式:
u 属主,文件属于的用户
g 属组,文件属于的用户组
o 其他用户
a 所有用户(默认)
+ 增加权限
- 取消权限
= 重新设定权限
r 读权限,用数字4表示
w 写权限,用数字2表示
x 执行权限,用数字1表示
0 无权限,用数字0表示
chmod 751 test设置test文件权限,属主读、写和执行的权限(7),属组读和执行的权限(5),其他用户执行的权限(1)。
chmod a+r test 设置test文件权限,为所有用户增加读取权限
chmod a=r,u+w test 设置test文件为所有用户只读,属主可写权限。
chown 修改文件或目录的属主和属组。
(属主:文件属于的用户, 属组:文件属于的用户组。)
chown [参数...] [属主][:[属组]] 文件...

chown [参数...] --reference=参照文件 文件...
-R 递归的方式更改目录所有文件的属主和属组
-v 显示所有操作过程
-c 只显示被改变的文件操作过程
-f 安静模式,不输出错误信息
chown foo:root test修改test用户属主为foo用户,属组为root用户组
chgrp 修改文件或目录的属组。
(属组:文件属于的用户组。)
chown [参数...] 属组 文件...

chown [参数...] --reference=参照文件 文件...
-R 递归的方式更改目录所有文件的属组
-v 显示所有操作过程
-c 只显示被改变的文件操作过程
-f 安静模式,不输出错误信息
chgrp root test修改test文件属组为root用户组

磁盘管理

命令 描述 语法格式 常用参数 示例
lsblk 列出块设备信息 lsblk [参数...] [设备...] -a 显示所有设备
-b以bytes方式显示设备大小
-d 不显示分区
-m 显示权限信息
lsblk显示块设备信息
lsblk -d 显示块设备信息,但不显示其节点信息
df 显示磁盘使用情况 df [参数...] [文件...] -a 所有文件系统
-h 以K、M、G、T、P...等方式显示大小(除数为1024)
-H 与-h相同,但除数为1000
-i 显示inode信息
-l 只显示本地文件系统
-T 显示文件系统类型
t 文件系统类型 指定文件系统类型
df -h 以易读方式显示磁盘使用情况
df -t ext4 显示ext4类型文件系统的磁盘使用情况
du 文件或目录的磁盘使用情况 df [参数...] [文件...] -a 显示所有文件情况,而不仅是默认情况的目录
-h 以K、M、G、T、P...等方式显示大小(除数为1024)
-H 与-h相同,但除数为1000
-s 只显示总计
-S 仅统计目录不包含子目录的大小
du -h test 易读方式显示test目录所占空间
fdisk 磁盘分区工具

系统管理

命令 描述 语法格式 常用参数 示例
ps 进程状态信息
top 实时显示进程状态信息
vmstat 虚拟内存统计,可以显示虚拟内存、进程、CPU等的整体情况

网络命令

命令 描述 语法格式 常用参数 示例
ip 显示和配置网络
ifconfig 查看和配置网络设备
ping 网络诊断工具,检测连通性
netstat 显示网络状态
route 显示和修改路由表
ssh 远程登录工具