指令
cat
说明:查看文件内容,适合查看较小的文件
执行者:所有用户
语法:
cat [选项] 文件路径
选项:
:显示行号
举例:
cat /proc/cpuinfo
cat -n /proc/cpuinfo
more
说明:分页查看文件内容,当文件较大时使用
执行者:所有用户
语法:
more 文件路径
操作:
空格键 :向下翻一页
回车键 :向下翻一行
键 :退出查看
举例:
more /proc/cpuinfo
less
说明:分页查看文件内容,功能比 more 更强大,支持向前和向后翻页等操作。
执行者:所有用户
语法:
less [选项] 文件路径
选项:
:显示当前行的范围
操作:
空格键 :向下翻一页
键 :向上翻一页
方向键↑↓ :向上向下翻一行
键 :退出
举例:
less -M /proc/cpuinfo
head
说明:查看文件的头部内容(默认10行)
执行者:所有用户
语法:
head [选项] 文件路
选项:
:从头开始显示n行内容(识别换行符)
举例:
head -n 5 /proc/cpuinfo -- 等价于
head -5 /proc/cpuinfo
tail
说明:查看文件的尾部内容(默认10行)
执行者:所有用户
语法:
tail [选项] 文件路径
选项:
:从尾开始显示n行内容(识别换行符)
举例:
tail -n 5 /proc/cpuinfo -- 等价于
tail -5 /proc/cpuinfo
grep
说明:搜索文件内容,在文件中查找指定的字符序列(字符串)
执行者:所有用户
语法:
grep [选项] 要查找的字符序列 文件路径 -- 等价于
grep [选项] '要查找的字符序列' 文件路径
选项:
:显示行号
:统计搜索到行的数量(返回的是一个数值)
:忽略大小写搜索,主要针对英文
举例:
grep -ni apicid /proc/cpuinfo
解释:显示行号和忽略大小写,在文件cpuinfo中查找apicid 等价于
grep -ni 'apicid' /proc/cpuinfo
grep -c 'apicid' /proc/cpuinfo
解释:显示搜索到的数量,和-n不能混合使用,因为两者冲突
特殊匹配:
^:行首匹配:匹配以指定字符序列开头的
举例:
grep -n '^cp' /proc/cpuinfo -- 解释:匹配以cp开头的字符序列
$:行尾匹配:匹配以指定字符序列结尾的
举例:
grep -n '[0-9]$' /proc/cpuinfo -- 解释:匹配以0~9的任意单个数字结尾的序列 [A-Za-z0-9]
find
说明:查找文件或目录(递归查找),从磁盘查找,精确性高,性能低。适合在需要精确
查找文件时使用,但由于是遍历磁盘,所以速度较慢。
执行者:所有用户
语法:
find 检索路径 [选项] 参数
选项:
:按照名称查找(默认区分大小写)
:按照名称查找,对英文忽略大小写
:按照文件大小搜索,默认1个单位(注意:1个单位 = 512字节),可使用k (KB)、 M (MB)、 G (GB)等单位;
:按照文件类型查找(d:目录,f:普通文件,l:符号链接,p:管道文件
等)
举例:
find ./ -iname test1.txt
解释:在当前路径下包括其子目录中查找文件名为test1.txt的文件,文件名忽略大小
写,以路径列表呈现
find / -size +3M
解释:在/目录下包括其子目录中查找文件大小超过3MB的文件,这里的 “+”表示超过
(字节数:1024 * 3 * 1024)
find / -size +3
解释:在/目录下包括其子目录中查找文件大小超过3个单位的文件,这里的 “+”表示超
过 (字节数:512 * 3)
find / -size -3M
解释:在/目录下包括其子目录中查找文件大小不超过3MB的文件,这里的 -”表示不超
过 (字节数:1024 * 3 * 1024)
locate
说明:快速查找文件或目录,从数据库查找,准确性低,性能高。该指令是从文件系统的
数据库中查找,新创建的文件还没有在数据库中建立索引,用该指令是找不到的。
执行者:所有用户
语法:
locate [选项] 文件或目录
选项:
:统计文件个数,返回的是一个数字
:忽略大小写
范例:
sudo updatedb -- 首先将文件信息更新到数据库
locate -i test.c -- 从数据库获取所有文件
注意:默认情况下 每天更新一次,我们可以手动更新,指令:
which
说明:快速检索指令的位置
执行者:所有用户
语法:
which 指令名
举例:
which ls
echo
说明:将指定字符串输出到设备上,常用于将内容写入文件
执行者:所有用户
语法:
echo "字符串" > | >> 文件路径
说明: > 表示覆盖写入,会清空原文件内容; >> 表示追加写入,会在原文件内容后面
添加新内容
范例:
echo ".... is good!" > text.txt
echo "aaaa is good!" >> text.txt
举例:
I(管道)
说明:将前一个指令的结果作为后一个指令执行的条件
执行权限:所有用户
范例:
ls -l |grep ".txt$" //以详细列表的形式显示文件名称为.txt结尾的文件
find /dev -type c | grep "2$" //查找/dev下文件类型为c的以2为结尾的所有文件