工作实操技巧 --- Shell
- find 命令
find命令非常好用,但是总是记不住一些参数,这里总结下,避免每次都要翻看其他人的博客,以下基本上是按我平时的使用频率排序的。
-name filename # 查找名为filename的文件
-iname filename # 查找名为filename的文件,忽略大小写
-type b/d/c/p/l/f # 查是块设备、目录、字符设备、管道、符号链接、普通文件
-exec command # 每找到一个满足条件,就执行一次命令
-ok command # 每找到一个满足条件,就以询问的方式执行命令
-regex # 使用正则表达式匹配
组合查找:
-a: and
-o: or
-not
eg: find . \( -name a.out -o -name '*.o' -o -name 'core' \) -exec rm {} \;
-perm # 按执行权限来查找
-user username # 按文件属主来查找
-group groupname # 按组来查找
-empty # 空的文件
-size n[c] # 查长度为n块[或n字节]的文件
-prune # 忽略某个目录
-mtime -n(+n) # 查找系统中最后 n*24 小时内容修改过的文件
-mmin -n(+n) # 查找系统中最后 n 分钟内内容修改过的文件
-atime -n(+n) # 查找系统中最后 n*24 小时访问过的文件
-amin -n(+n) # 查找系统中最后 n 分钟内访问过的文件
-ctime -n(+n) # 查找系统中最后 n*24 小时最后状态修改的文件
-cmin -n(+n) # 查找系统中最后 n 分钟内最后状态修改的文件
eg:
find 按文件修改时间查找文件
---(+n)----------|----------(n)----------|----------(-n)---
(n+1)*24H前 | (n+1)*24H~n*24H间 | n*24H内
-depth # 使查找在进入子目录前先行查找完本目录
-ls # 按格式进行打印
-quit # 查找到一个就退出
-nogroup # 查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser # 查无有效属主的文件,即文件的属主在/etc/passwd中不存
-fstype # 查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount # 查文件时不跨越文件系统mount点
-newer f1 !f2 # 查更改时间比f1新但比f2旧的文件
- du 命令
帮助文档
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all 输出所有文件的磁盘用量,不仅仅是目录
--apparent-size 显示表面用量,而并非是磁盘用量;虽然表面用量通常会小一些,但有时它会因为稀疏文件间的"洞"、内部碎片、非直接引用的块等原因而变大。
-B, --block-size=大小 使用指定字节数的块
-b, --bytes 等于--apparent-size --block-size=1
-c, --total 显示总计信息
-D, --dereference-args 解除命令行中列出的符号连接
--files0-from=F 计算文件F 中以NUL 结尾的文件名对应占用的磁盘空间 如果F 的值是"-",则从标准输入读入文件名
-H 等于--dereference-args (-D)
-h, --human-readable 以可读性较好的方式显示尺寸(例如:1K 234M 2G)
--si 类似-h,但在计算时使用1000 为基底而非1024
-k 等于--block-size=1K
-l, --count-links 如果是硬连接,就多次计算其尺寸
-m 等于--block-size=1M
-L, --dereference 找出任何符号链接指示的真正目的地
-P, --no-dereference 不跟随任何符号链接(默认)
-0, --null 将每个空行视作0 字节而非换行符
-S, --separate-dirs 不包括子目录的占用量
-s, --summarize 只分别计算命令列中每个参数所占的总用量
-x, --one-file-system 跳过处于不同文件系统之上的目录
-X, --exclude-from=文件 排除与指定文件中描述的模式相符的文件
--exclude=PATTERN 排除与PATTERN 中描述的模式相符的文件
--max-depth=N 显示目录总计(与--all 一起使用计算文件)当N为指定数值时计算深度为N;
--max-depth=0 等于--summarize
--time 显示目录或该目录子目录下所有文件的最后修改时间
--time=WORD 显示WORD 时间,而非修改时间:atime,access,use,ctime 或status
--time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):full-iso,long-iso,iso,+FORMAT
--help 显示此帮助信息并退出
--version 显示版本信息并退出
[xxx@localhost tmp]$ du -h --max-depth=0 .
202M .
[xxx@localhost tmp]$ du -h --max-depth=1 .
4.0K ./.ICE-unix
720K ./swtlib-64
36K ./hsperfdata_packer
8.0K ./pear
4.0K ./jna--995865466
4.0K ./.local
200M ./gradle-4.4
202M .
版权声明:本文为博主原创文章,转载请说明出处。http://pipe.b3log.org/blogs/like290/articles/2018/07/31/1533017513198