cat:显示文件内容
1 2 3 4 |
[root@localhost ~]# cat [OPTION] FILE -n:以排序方式显示每一行的行数编号和内容 -E:显示每一行的行结束符(Linux的行结束符是$而windows是空格和$) -A:显示行首和行尾和其它所有内容 |
more:分页查看文件内容,但是翻到最后就退出
1 2 3 4 5 |
[root@localhost ~]# more FILE #按b键,向上翻页 #按space键,向下翻页 #按q键,退出 #按enter键,向下翻一行 |
less:分页查看文件内容,但是翻到最后并不会退出
1 2 3 4 5 6 7 |
[root@localhost ~]# less FILE #按b键,向上翻页 #按space,向下翻页 #按k键,向上翻一行 #按enter,向下翻一行 #按q键,退出 #/KEYWORD关键字查找 |
tac FILE:显示文件以倒置呈现
1 2 3 4 |
[root@localhost ~]# tac /etc/issue Kernel \r on an \m CentOS release 6.5 (Final) |
head:查看文件头部,默认显示10行
1 2 |
[root@localhost ~]# head [OPTION] FILE -n:指定查看的行数,如head -n 20 /etc/passwd,表示显示前20行内容 |
tail:查看文件尾部,默认显示10行
1 2 3 |
[root@localhost ~]# tail [OPTION] FILE -n:指定查看的行数,如:head -n 20 /etc/passwd,表示显示后20行内容 -f:查看文件尾部但,并不会退出等待显示后续追加的内容(tail –f /var/log/message/查看日志最有用了) |
whereis:用于程序名的搜索,默认显示二进制文件位置,MAN说明文件,源文件等
1 2 3 4 |
[root@localhost ~]# whereis [OPTION] PROGRAM_NAME -b:只搜索二进制文件位置 -m:只搜索MAN说明文件 -s:只搜索源文件 |
1 2 |
[root@localhost ~]# whereis ls ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz |
which:显示命令的路径位置
1 2 |
[root@localhost ~]# which mkdir /bin/mkdir |
find:文件或目录查找命令,属于实时查找,支持众多查找标准,默认遍历指定目录中的所有文件,但查找速度慢。语法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
find 查找路径 查找标准 处理动作 查找路径(默认是当前路径) 查找标准(默认为指定当前路径下所有文件) -name 'FILENAME':对文件名做精确匹配,支持文件名通配,如下: *:任意长度的任意字符 ?:单个字符 []:指定的任意字符 -iname 'FILENAME':不区分大小写 -user USERNAME:根据属主进行查找 -group GROUPNAME:根据属组进行查找 -nouser USERNAME:查找没有属主的文件 -nogroup GROUPNAME:查找没有属组的文件 -uid UID:根据UID进行查找 -gid GID:根据GID进行查找 -type:根据文件类型查找 f:普通文件 d:目录 c:字符设备 b:块设备 s:套接字文件 l:连接文件 p:管道设备 -size [OPTION]:根据大小查找 +10k/m/g:表示大于10k/m/g -10k/m/g:表示小于10k/m/g -mtime [OPTION]:根据时间戳查找,-mtime是修改时间,单位是天 -ctime [OPTION]:根据时间戳查找,-ctime是改变时间,单位是天 -atime [OPTION]:根据时间戳查找,-atiem是访问时间,单位是天 +5:表示5天之内没有修改,改变,访问的文件 -5:表示5天之内修改,改变,访问的文件 -mmin [OPTION]:根据时间戳查找,-mtime是修改时间,单位是分钟 -cmin [OPTION]:根据时间戳查找,-mtime是修改时间,单位是分钟 -amin [OPTION]:根据时间戳查找,-mtime是修改时间,单位是分钟 +5:表示5分钟之内没有修改,改变,访问的文件 -5:表示5分钟之内修改,改变,访问的文件 -perm 644:根据文件权限来查找,精确匹配 -perm /644:根据文件权限来查找,模糊匹配,其只要有644其中的一个就显示 组合条件(用来协同各种查找标准并和使用) -a:表示“与”,如:find ./ -size +10k -a -size -100k -o:表示“或”,如:find ./ -size +10k -o -size -100k -not:表示“非”,如:find ./ -not \(-user root -o -user Jerry\) 处理动作(默认为-print) -print:显示输出结果 -ls:以类似ls -l的方式显示 -ok COMMAND {} \;:可以执行命令 |
使用实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
find ./ -name "*.log" #查找当前目录下名称以.log结果的文件 find ./ -type f -ls #查找当前目录下类型为普通文件的文件并且以-ls的方式输出 find /var -user root -group mail -ls #查找/var下属主为root属组为mail的文件并以ls–l的形式显示 find /usr -not \( -user root -a -not -user bin \) #查找/usr目录下属主不属于root和bin的文件和目录 find /usr -not \( -user root -o -user bin \) #查找/usr目录下属主不属于root或bin的文件和目录 find /etc -mtime -30 -ls #查找/etc目录下最近30天内内容修改过的文件或目录 find / \( -nouser -o -nogroup \) -ok chownroot:root {} \; #查找当前系统上没有属主或属组的文件并将其属主和属组均改为root find /etc -size +1M >> /tmp/large #查找/etc目录下大于1M的文件,并将其文件名写入/tmp/large中 find /etc -not -perm /222 -ls #查找/etc目录下所有用户都没有写权限的文件显示出其详细信息 |
locate:文件或目录查找命令,不属于实时查找
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
1 2 3 |
[root@beijing ~]# locate /etc/pass /etc/passwd /etc/passwd- |