Shell中的文件管理
Shell中的文件管理
赵洲洋ls
find
和 du
是 Linux 和 Unix 系统中非常常用的命令,用于列出文件信息和查看磁盘使用情况。下面是命令的一些常见用法,包括排序、筛选、查看大小、创建时间和修改时间等。
ls
命令的常见用法
基本列表:
ls
: 列出当前目录中的文件和目录。ls -a
: 列出所有文件,包括隐藏文件(以.
开始的文件)。
长格式显示:
ls -l
: 以长格式显示文件详细信息,包括权限、所有者、大小和最后修改时间。
根据修改时间排序:
ls -lt
: 按最后修改时间降序排列(最新的文件先显示)。ls -ltr
: 按最后修改时间升序排列(最旧的文件先显示)。
显示文件大小:
ls -lh
: 显示文件大小,以易读的格式(例如 KB、MB)。
递归列表:
ls -R
: 递归地列出所有子目录的内容。
根据文件大小排序:
ls -lS
: 按文件大小排序。
显示文件的创建时间(在支持的系统上):
ls --time=creation -l
: 显示文件的创建时间。
du
命令的常见用法
查看目录大小:
du
: 显示当前目录的磁盘使用情况。du -h
: 以人类可读的格式显示大小(例如 KB、MB)。
显示指定目录的大小:
du [路径]
: 显示指定路径的磁盘使用情况。
递归显示每个子目录的大小:
du -h --max-depth=1
: 在当前目录中,递归显示每个子目录的大小。
按大小排序:
du -h | sort -h
: 按大小排序显示目录的磁盘使用情况。
查看文件的大小:
du -h [文件名]
: 显示特定文件的大小。
总计目录大小:
du -sh
: 显示当前目录总计的大小。
find
命令是在 Linux 和 Unix 系统中用于基于各种条件搜索文件的强大工具。以下是 find
命令的一些常见用法:
基本搜索find
在目录中查找文件:
find [路径] -name [文件名]
: 在指定路径下查找名为[文件名]
的文件。例如,find /home -name "example*.txt
“。
忽略大小写的搜索:
find [路径] -iname [文件名]
: 类似于-name
,但忽略大小写。
根据文件类型搜索
- 只查找目录或文件:
find [路径] -type d
: 只查找目录。find [路径] -type f
: 只查找普通文件。
根据文件大小搜索
- 查找特定大小的文件:
find [路径] -size [大小]
: 查找特定大小的文件。大小后缀可以是c
(字节)、k
(千字节)、M
(兆字节)等。例如,find / -size +2M
查找大于2MB的文件。
根据时间戳搜索
按修改时间查找文件:
find [路径] -mtime [天数]
: 查找在指定天数内被修改过的文件。例如,find /home -mtime -7
查找过去7天内修改过的文件。
按访问时间查找文件:
find [路径] -atime [天数]
: 查找在指定天数内被访问过的文件。
按更改时间查找文件:
find [路径] -ctime [天数]
: 查找在指定天数内更改过的文件。
基于权限和所有权搜索
按权限查找文件:
find [路径] -perm [权限]
: 查找具有特定权限的文件。例如,find / -perm 644
。
按所有者查找文件:
find [路径] -user [用户名]
: 查找属于特定用户的文件。
执行操作
- 查找并执行命令:
find [路径] -name [文件名] -exec [命令] {} \;
: 查找特定文件并对其执行指定命令。例如,find /home -type f -name "*.tmp" -exec rm {} \;
会找到所有.tmp
文件并删除它们。
组合条件
- 使用逻辑运算符:
find [路径] \( -条件1 -o -条件2 \)
: 使用逻辑运算符(如-and
,-or
,-not
)组合多个条件。例如,find /home \( -name "*.txt" -or -name "*.pdf" \)
会查找所有的.txt
和.pdf
文件。
评论
匿名评论隐私政策