文件与目录操作命令
文件和目录操作是命令行日常使用中占比最高的一类操作。这一节覆盖 ls、cd、mkdir、cp、mv、rm、find 这几个命令的核心用法,均为 Debian 系发行版默认自带,无需额外安装。
查看目录内容:ls
Section titled “查看目录内容:ls”ls # 列出当前目录内容ls -l # 详细信息:权限、所有者、大小、修改时间ls -a # 包含隐藏文件(以 . 开头的文件)ls -lh # 详细信息,文件大小以易读单位显示(K/M/G)ls -lt # 按修改时间排序,最新的在最前-l、-a、-h 这类参数可以组合使用,例如 ls -lah 等价于同时启用三个选项。
切换目录:cd
Section titled “切换目录:cd”cd /path/to/dir # 切换到绝对路径cd relative/dir # 切换到相对于当前目录的路径cd ~ # 切换到当前用户的家目录cd - # 切换回上一次所在的目录cd .. # 切换到上一级目录创建目录:mkdir
Section titled “创建目录:mkdir”mkdir new-dir # 创建单层目录mkdir -p a/b/c # 递归创建多层目录,父目录不存在时自动创建不加 -p 参数时,如果父目录(例中的 a、a/b)不存在,命令会直接报错退出。
复制文件与目录:cp
Section titled “复制文件与目录:cp”cp source.txt target.txt # 复制文件cp -r source-dir target-dir # 递归复制整个目录cp -i source.txt target.txt # 目标已存在时先询问是否覆盖复制目录必须加 -r(recursive),否则命令会报错提示目标是一个目录。
移动与重命名:mv
Section titled “移动与重命名:mv”mv old-name.txt new-name.txt # 重命名(同目录内移动等价于重命名)mv file.txt /path/to/dir/ # 移动文件到目标目录mv 没有单独的重命名命令,重命名操作本质上是“移动到同目录下的新文件名”。
删除文件与目录:rm
Section titled “删除文件与目录:rm”rm file.txt # 删除文件rm -r dir/ # 递归删除目录及其内容rm -rf dir/ # 递归删除,且不询问确认(force)查找文件:find
Section titled “查找文件:find”find . -name "*.txt" # 在当前目录及子目录中按文件名查找find /path -type d # 只查找目录(-type f 只查找文件)find . -mtime -1 # 查找 1 天内修改过的文件find . -size +10M # 查找大于 10MB 的文件find 支持按名称、类型、大小、修改时间等多个维度组合查找,命令的整体结构是“在哪找 + 按什么条件筛选”,可以叠加多个筛选条件。相比之下,locate 命令查找速度更快,但依赖预先建立的索引数据库,无法反映索引更新之后新产生的文件变化;两者各有适用场景,find 更适合需要精确、实时结果的场景。