[root@guan ~]# pwd
/root
[root@guan ~]# ls -l
total 7044
-rw------- 1 root root 1437 Aug 25 2011 anaconda-ks.cfg
-rw-r--r-- 1 root root 7106560 Jan 7 2020 boot.dump
drwxr-xr-x 2 root root 4096 May 25 2012 Desktop
-rw-r--r-- 1 root root 51429 Aug 25 2011 install.log
-rw-r--r-- 1 root root 4010 Aug 25 2011 install.log.syslog
-rw------- 1 root root 9799 Apr 2 2020 mbox
[root@guan ~]#
每一列的字段的含义
第一个字符表示文件类型。
-:普通文件
d:目录
s:套接字文件
l:链接文件
第一列:文件权限。rwx对应read、write、excutable,-表示无权限。三组分别对应属主、属组和其他的执行权限
第二列:链接数
第三列:属主
第四列:属组
第五列:文件大小
第六列:文件最近一次被修改的时间
第七列:文件名
ls的使用格式
ls [OPTION]... [FILE]...
常用的参数选项
-a:显示所有文件,包括隐藏文件;
-A:显示除.和…之外的所有文件;
-l:–long,长格式列表,即显示文件的详细属性信息;
-h:–human-readable:对文件大小单位换算,换算后结果可能会非精确值;
-d:查看目录自身而非其内部的文件列表;
-r:reverse,逆序显示;
-R:recursive,递归显示;
cat的使用格式
cat [OPTION] [FILE]...
常用的参数选项
-n:给显示的文本行编号;
-E:显示行结束符$;[root@guan ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 rhel5464 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.9.191 guan
用于一次翻阅一整屏文件的过滤器
less、more的使用格式
less [FILE]... more [FILE]...
选项较多,建议使用man查看具体内容。以后使用多了再来补充常用选项。
用于打印指定输入的开头部分,默认打印指定输入的前10行。可以使用-n指定显示前N行。
head的使用格式
head [OPTION]... [FILE]...
-n:接数字N表示显示前N行。接-N表示除去最后N行以外的所有行。
[root@guan ~]# head /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options change a [root@guan ~]#
与head相反,默认显示文件最后10行
tail的使用格式
tail [OPTION]... [FILE]...
-f:查看文件尾部内容结束后不退出,有其他人修改文件会立即显示新增的行。对监控日志文件非常实用。
[root@guan ~]# tail /etc/shadow avahi-autoipd:!!:15210:0:99999:7::: ntp:!!:15210:0:99999:7::: xfs:!!:15210:0:99999:7::: gdm:!!:15210:0:99999:7::: sabayon:!!:15210:0:99999:7::: oprofile:!!:15210:0:99999:7::: wenyong:$1$STgRrF.3$de.Ivl2t3i9b27coebiG5.:17547:0:99999:7::: mwuser:$1$tvcq.3Nt$CKhK36mVQwpNNZJm5mCqk.:17547:0:99999:7::: logop:$1$wSXA9ZSb$h0xv60MXkukfITBd275zc.:17547:0:99999:7::: el:!!:18241:0:99999:7::: [root@guan ~]#
file的使用格式
file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ... file -C [ -m magicfile ]
-i:可以MIME类型的格式显示文件类型
-N:输出的列队可以以文件名之后无空白填充的形式显示[root@guan ~]# file /etc/ /etc/: directory [root@guan ~]# file /etc/inittab /etc/inittab: ASCII English text [root@guan ~]# file /etc/init.d/network /etc/init.d/network: Bourne-Again shell script text executable
wc的使用格式
wc [OPTION]... [FILE]...
-l:只统计文件的行数
-w:只统计文件的单词数
-c:只统计文件的字节数
-L:统计文件中最长的行的长度[root@guan ~]# wc /etc/inittab 53 229 1666 /etc/inittab 第一个数字:表示行数 第二个数字:表示单词数 第三个数字:表示字节数
find [-H] [-L] [-P] [path...] [expression]
[root@guan ~]# find / -name ifconfig /sbin/ifconfig
-name:根据文件名查找
-iname:根据文件名查找,忽略大小写
支持glob风格的通配符:*,?,[],[^]
根据文件类型查找:
-type d:目录文件
-type f:普通文件
-type l:符号链接文件
-type b:块设备文件
-type c:字符设备文件
-type p:管道文件
-type s:套接字文件
组合:
与:-a,默认组合逻辑状态
或:-o,
非:-not,!
根据文件从属关系查找
-user USERNAME:查找属主为指定用户的所有文件
-group GROUPNAME:查找属组为指定组的所有文件
-uid UID:查找属主为指定UID的所有文件
-gid GID:查找属组为指定GID的所有文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
根据文件的大小查找:“#”表示变量
-size [+ | -] #UNIT
常用单位:k,m,g
#UNIT:(#-1,#]
-#UNIT:[0,#-1]
+#UNIT:(#,∞)
根据时间戳查找:“#”表示变量
以“天”为单位
-atime [+ | -] #
#:[#,#-1)
-#:(#,0]
+#:(∞,#-1)
-mtime
-ctime
以“分钟”为单位
-amin
-mmin
-cmin
根据权限查找:
-perm [/ | -]mode
mode:精确权限匹配
/mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足
9位权限之间存在“或”关系
-mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足
9位权限之间存在“与”关系
文件大小、时间、权限这几个查找条件不容易理解,要反复举例测试搞清楚如何实现自己想要的结果。
find要重点掌握用法