2020.02.28 Linux 命令
Cat
语法格式
cat [-AbeEnstTuv] [--help] [--version] fileName
参数说明:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
实例:
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软盘,输入:
cat IMG_FILE > /dev/fd0
chgrp命令 – 更改文件用户组
常用参数:
| -c | 效果类似”-v”参数,但仅回报更改的部分 |
| -f | 不显示错误信息 |
| -h | 对符号连接的文件作修改,而不更动其他任何相关文件 |
| -R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
| -v | 显示指令执行过程 |
| --reference | 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同 |
chmod命令 – 改变文件或目录权限
常用参数:
| -c | 若该文件权限确实已经更改,才显示其更改动作 |
| -f | 若该文件权限无法被更改也不显示错误讯息 |
| -v | 显示权限变更的详细资料 |
| -R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) |
chown命令 – 改变文件或目录用户和用户组
| -R | 对目前目录下的所有文件与子目录进行相同的拥有者变更 |
将当前目录下所有文件的拥有者都改为 linuxcool,用户组改为 linuxcoolgroup:
[root@linuxcool ~]# chown -R linuxcool:linuxcoolgroup *
diff命令 – 比较文件的差异
常用参数:
| -a | diff预设只会逐行比较文本文件 |
| -b | 不检查空格字符的不同 |
file命令 – 识别文件类型
| -i | 显示MIME类别 |
cut命令 – 连接文件并打印到标准输出设备上
常用参数:
| -b | 以字节为单位进行分割 ,仅显示行中指定直接范围的内容 |
| -c | 以字符为单位进行分割 , 仅显示行中指定范围的字符 |
| -f | 显示指定字段的内容 , 与-d一起使用 |
使用 -f 选项提取指定字段(这里的 f 参数可以简单记忆为 --fields的缩写):
[root@linuxcool ~]# cut -f 2 student.txt
Name
tom
jack
alex
less命令 – 分页显示工具
常用参数:
| -b | 置缓冲区的大小 |
| -e | 当文件显示结束后,自动离开 |
| -f | 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 |
| -g | 只标志最后搜索的关键词 |
| -i | 忽略搜索时的大小写 |
| -m | 显示类似more命令的百分比 |
| -N | 显示每行的行号 |
| -o | 将less 输出的内容在指定文件中保存起来 |
| -Q | 不使用警告音 |
| -s | 显示连续空行为一行 |
| -S | 在单行显示较长的内容,而不换行显示 |
| -x | 将TAB字符显示为指定个数的空格字符 |
命令内部操作:
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
mdir命令 – 显示MS-DOS目录
| -/ | 显示目录下所有子目录与文件 |
| -a | 显示隐藏文件 |
| -f | 不显示磁盘所剩余的可用空间 |
| -w | 仅显示目录或文件名称,并以横排方式呈现,以便一次能显示较多的目录或文件 |
| -X | 仅显示目录下所有子目录与文件的完整路径,不显示其他信息 |
more命令 – 显示文本文件内容
| -num | 指定每屏显示的行数 |
| -l | more在通常情况下把 ^L 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性 |
| -f | 计算实际的行数,而非自动换行的行数 |
| -p | 先清除屏幕再显示文本文件的剩余内容 |
| -c | 与-p相似,不滚屏,先显示内容再清除旧内容 |
| -s | 多个空行压缩成一行显示 |
| -u | 禁止下划线 |
| +/pattern | 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示 |
| +num | 从第 num 行开始显示 |
rm命令 – 移除文件或目录
| -f | 忽略不存在的文件,不会出现警告信息 |
| -i | 删除前会询问用户是否操作 |
| -r/R | 递归删除 |
| -v | 显示指令的详细执行过程 |
touch命令 – 创建文件
| -a | 改变档案的读取时间记录 |
| -m | 改变档案的修改时间记录 |
| -r | 使用参考档的时间记录,与 --file 的效果一样 |
| -c | 不创建新文件 |
| -d | 设定时间与日期,可以使用各种不同的格式 |
| -t | 设定档案的时间记录,格式与 date 命令相同 |
| --no-create | 不创建新文件 |
| --help | 显示帮助信息 |
| --version | 列出版本讯息 |
which命令 – 查找文件
| -n | 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名 |
| -p | 与-n参数相同,但此处的<文件名长度>包括了文件的路径 |
| -w | 指定输出时栏位的宽度 |
| -V | 显示版本信息 |
cp命令 – 复制文件或目录
| -f | 若目标文件已存在,则会直接覆盖原文件 |
| -i | 若目标文件已存在,则会询问是否覆盖 |
| -p | 保留源文件或目录的所有属性 |
| -r | 递归复制文件和目录 |
| -d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
| -l | 对源文件建立硬连接,而非复制文件 |
| -s | 对源文件建立符号连接,而非复制文件 |
| -b | 覆盖已存在的文件目标前将目标文件备份 |
| -v | 详细显示cp命令执行的操作过程 |
| -a | 等价于“dpr”选项 |
whereis命令 – 显示命令及相关文件的路径
| -b | 查找二进制程序或命令 |
| -B | 从指定目录下 查找二进制程序或命令 |
| -m | 查找man手册文件 |
| -M | 从指定目录下 查找man手册文件 |
| -s | 只查找源代码文件 |
| -S | 从指定目录下 查找源代码文件 |
awk命令 – 文本和数据进行处理的编程语言
| -F | 指定输入时用到的字段分隔符 |
| -v | 自定义变量 |
| -f | 从脚本中读取awk命令 |
| -m | 对val值设置内在限制 |
read – 读取单行数据
| -a | 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符 |
| -- d | 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志 |
| -- p | 后面跟提示信息,即在输入前打印提示信息 |
| -- e | 在输入的时候可以使用命令补全功能 |
| -- n | 后跟一个数字,定义输入文本的长度 |
| -- r | 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了 |
| -- s | 安静模式,在输入字符时不再屏幕上显示 |
| -- t | 后面跟秒数,定义输入字符的等待时间 |
| -- u | 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的 |
read – 读取单行数据
Linux read命令用于从标准输入读取数值。read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。
语法格式:read [参数]
常用参数:
| -a | 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符 |
| -- d | 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志 |
| -- p | 后面跟提示信息,即在输入前打印提示信息 |
| -- e | 在输入的时候可以使用命令补全功能 |
| -- n | 后跟一个数字,定义输入文本的长度 |
| -- r | 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了 |
| -- s | 安静模式,在输入字符时不再屏幕上显示 |
| -- t | 后面跟秒数,定义输入字符的等待时间 |
| -- u | 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的 |
参考实例
简单读取:
#!/bin/bash echo "输入网站名: " read file echo "你输入的网站名是 $file" exit 0
wc命令 – 统计文件的字节数、字数、行数
| -w | 统计字数,或--words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串 |
| -c | 统计字节数,或--bytes或--chars:只显示Bytes数 |
| -l | 统计行数,或--lines:只显示列数 |
| -m | 统计字符数 |
| -L | 打印最长行的长度 |
| --help | 显示帮助信息 |
| --version | 显示版本信息 |
vi命令 – 文本编辑器
cd命令 – 切换目录
| -P | 如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录 |
| -L | 如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录 |
| -- | 仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录 |
| ~ | 切换至当前用户目录 |
| .. | 切换至当前目录位置的上一级目录 |

浙公网安备 33010602011771号