cut (选项) (参数)
-b: 仅显示行中指定直接范围的内容;
-c: 仅显示行中指定范围的字符;
-d: 指定字段的分隔符,默认的字段分隔符为“TAB”;
-f: 与-d一起使用,显示指定字段的内容;
-n: 与“-b”选项连用,不分割多字节字符;
--complement:补足被选择的字节、字符或字段;
--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
---------------------------------------------------------------------------
按字符cut
# date |cut -c 1-5
2011年
# date |cut -c 5,9,13
年月日
-----------------------------------------------------------------------------
按域cut
以/etc/passwd文件为例:
# head -n5 /etc/passwd |cut -d : -f 1,3-5
root:0:0:root
bin:1:1:bin
daemon:2:2:daemon
adm:3:4:adm
lp:4:7:lp
-d指定域分隔符,-f 指定要剪出哪几个域,这个与awk的输出特定字段功能一样。
-d选项的默认间隔符就是制表符,所以当你就是要使用制表符的时候,完全就可以省略-d选项,而直接用-f来取域就可以了
Find命令主要是用来在相应的目录下查找符合给定条件的文件
find [查找起始路径] [查找条件] [处理动作]
当前目录:
# find . –name “*.log”
绝对路径:
# find /etc -name “*.log”
以一个大写字母开头的文件
# find . –name “[A-Z]*”
---------------------------------------------------------------------
Prune选项
希望在qq目录下查找文件,但不希望在test子目录下查找,可以用:
# find qq -path "qq/test" -prune -o –print
避开多个文件夹:
# find test \( -path test/test4 -o -path test/test3 \) -prune -o –print
---------------------------------------------------------------------------------
User和nouser选项:
按文件属主查找文件:
# find ~ -user root
在/etc目录下查找文件属主为zs的文件
# find /etc -user zs
为了查找属主帐户已经被删除的文件,可以使用-nouser选项。
在/home目录下查找所有的这类文件 (用户ID不存在的文件):
# find /home –nouser
-------------------------------------------------------------------
按照更改时间或访问时间等查找文件:
查找在系统指定目录下更改时间在10日以内的文件:
# find /usr/local/src -mtime -10
在/var/log目录下查找更改时间在3日以前的文件:
# find /var/log -mtime +3
mtime (modification time ):
在写入文件时随文件内容的更改而更改的时间(文件的最后修改时间)。我们用ls -l看到的时间,就是mtime
ctime (status time):
是在写入文件、更改所有者、权限或链接设置时随Inode的内容更改而更改的时间(文件最后改变时间)。相当于ls -l –time=ctime所看到的时间
atime (access time):
读取文件或者执行文件时更改的时间(文件的最后访问时间)。也就是用ls -l –time=atime看到的时间
--------------------------------------------------------------------
Type选项:
在/root目录下查找所有目录:
# find /root -type d
在当前目录下查找除了目录以为的所有类型的文件:
# find . ! -type d
在/root目录下查找符号链接文件:
# find /root -type l
-type 文件属性
d: 目录
f: 普通文件
l: 链接文件(link)
s: socket文件
p: 管道文件(pipe)
b: 块设备文件
c: 字符设备文件
---------------------------------------------------------------------
Size选项:
在当前目录下查找文件长度大于1 M字节的文件
# find . -size +1000000c
在/home/目录下查找文件长度恰好为100字节的文件:
# find /home -size 100c
在当前目录下查找长度超过10块的文件(一块等于512字节) :
# find . -size +10(小于就是-10)
查找文件size小于10k的文件或目录
# find / -size -10k
查找文件size小于10M的文件或目录
# find / -size -10M
查找文件size大于10G的文件或目录
# find / -size +10G
---------------------------------------------------------------------
组合查找:
-a: and
-o: or
-not
显示当前目录下所有目录和链接文件的详细信息
# find . -type d -a -type l -ls
其他选项:
-print: 显示
-ls:类似ls -l的形式显示每一个文件的详细
-quit: 查找到一个就退出
-delete: 删除匹配到的行
-ok COMMAND {} \; 每一次操作都需要用户确认,{}表示引用找到的文件,是占位符
-exec COMMAND {} \; 每次操作无需确认
# find . -type d -delete
删除当前目录下的所有目录
# find . -type f -ok wc -l {} \;
找出当前目录下所有的普通文件并显示文件行数(需确认)
# find . -type f -exec wc -l {} \;
找出当前目录下所有的普通文件并显示文件行数(无需确认)