本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循 署名-非商业用途-保持一致 的创作共用协议.
这篇博文这两天写好了, 由于最近比较忙, 所以提前发了, 希望Deadline不要延期.
find命令
find命令用于在一个目录(及子目录)中搜索文件, 可以指定匹配条件, 如文件名, 文件类型
在Mac下有强大的Spotlight和Alfred(感觉window下的everything更牛叉), 所以find用的就比较少了
常用形式为:
按时间搜索(这些元数据都在inode的结构体中有记录)
- atime 访问时间 (单位有一周w, 一天d, 一小时h, 一分钟m, 一秒s, 以下类似)
- mtime 修改时间 (内容被修改)
- ctime 变化时间 (元数据或权限变化)
grep命令
grep命令是强大的 文本搜索命令
- grep全称是
globally search a regular expression and print
, 表示全局正则表达式
匹配并输出, 它的使用权限是所有用户
- 存在很多grep的修改版, 例如agrep表示
近似的grep
approximate grep用于模糊字符串搜索, fgrep用于固定样式搜索
fixed pattern searches, 而egrep用于搜索更复杂的正则表达式
语法(摘自wiki)
使用格式: grep [options] match_patten file
option
这里值列举几个常用的选项, 其他可以使用 man grep
进行查看
-
-c
:只输出匹配行的次数 -
-l
:查询多文件时只输出包含匹配字符的文件名 -
-n
:显示匹配行及行号 -
-v
:显示不匹配行 -
-i
:搜索时忽略大小写 -
-l
:只打印包含匹配行的文件名 -
-e
:指明一个查找模式(常用多一次匹配多个查找模式) -
-R
:递归的查找多级目录
关于正则表达式的学习可以看 Python正则表达式
xargs命令
- xargs 能够将输入数据转化为特定命令的命令行参数,可以配合很多命令来组合使用
- 经常和find, grep通过管道连接使用
xargs参数说明
-
-d
定义定界符 (默认为空格 多行的定界符为 n) -
-n
指定输出为多行 -
-I
{} 指定替换字符串,这个字符串在xargs扩展时会被替换掉,用于- `待执行的命令需要多个参数时 -
-0
:指定0为输入定界符