查找某个命令/文件所在的位置
whereis
只查询标准的可执行路径内文件(默认只有 /usr/bin, /bin, /usr/sbin, /sbin 等四个目录)
使用方法: whereis filename
which
查询PATH环境变量中设置的所有目录。
使用方法: which filename
或 which -a filename
-a 参数表示查询并列出所有,不加此参数只列出第一个。
locate
整个磁盘查询,但需要先建立索引数据库。 sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
用来建索引
find
整个硬盘查询,速度慢。
使用方法: find / -name filename
ls 的参数
显示完整日期
1 | ls --full-time |
如果经常使用,也可以把TIME_STYLE设置到环境变量里,以后ls -l即可
1 | export TIME_STYLE='+%Y%m%d %H:%M:%S' |
ls排序
1 | ls --sort=extension |
- -t 按修改日期排序;DESC
- -S 按文件大小排序,DESC
- -r 反转排序,变成DESC
- -U 使用创建日期,不使用修改日期(显示和排序)
统计文件个数
统计某文件夹下文件的个数
1 | ls -l |grep "^-"|wc -l |
统计某文件夹下目录的个数
1 | ls -l |grep "^d"|wc -l |
统计文件夹下文件的个数,包括子文件夹里的
1 | ls -lR|grep "^-"|wc -l |
如统计/home/temp 目录(包含子目录)下的所有文件包含java的文件:
1 | ls -lR /home/temp | grep java | wc -l |
统计文件夹下目录的个数,包括子文件夹里的
1 | ls -lR | grep "^d" | wc -l |
查看目录下所有文件大小
1 | du -d 1 -h |
命令查看当前目录下所有文件夹的大小 -d 指深度,后面加一个数值,表示统计到几级子目录。
修改文件创建/修改时间
修改文件创建时间
1 | touch -mt YYYYMMDDhhmm filename |
修改文件更新时间
1 | touch -t YYYYMMDDhhmm filename |