菜鸟科技网

Linux文件操作命令有哪些必备技巧?

Linux文件操作是日常系统管理、开发和维护中的核心技能,熟练掌握常用命令能极大提升工作效率,以下从文件与目录浏览、创建、复制、移动删除、权限管理、查找及压缩等方面详细介绍相关命令。

Linux文件操作命令有哪些必备技巧?-图1
(图片来源网络,侵删)

文件与目录浏览

  • ls:列出目录内容,常用选项包括 -l(长格式显示,含权限、所有者、大小等)、-a(显示隐藏文件,以开头)、-h(人类可读格式显示文件大小,如K、M)、-t(按修改时间排序,最新在前)。ls -laht 可查看详细列表并按时间倒序排列。
  • pwd:显示当前工作目录的完整路径,帮助用户确认当前位置。

文件与目录创建

  • mkdir:创建目录,选项 -p 可递归创建多级目录(如 mkdir -p parent/child,即使父目录不存在也能创建)。
  • touch:创建空文件或更新文件时间戳,若文件不存在则创建,存在则更新其访问和修改时间。

文件复制与移动删除

  • cp:复制文件或目录,选项 -r(递归复制目录,如 cp -r source_dir target_dir)、-i(覆盖前提示,避免误操作)、-p(保留文件权限、时间戳等属性)。
  • mv:移动文件/目录或重命名。mv old_name new_name 可重命名文件,mv file.txt /path/to/dest/ 可移动文件到目标目录,选项 -i 同样用于覆盖提示。
  • rm:删除文件或目录,选项 -r(递归删除目录)、-f(强制删除,不提示确认),危险操作需谨慎,如 rm -rf / 会删除系统根目录,务必确认路径正确。

权限管理

Linux权限分为读(r)、写(w)、执行(x),分别对应数字4、2、1,权限对象为所有者(u)、所属组(g)、其他用户(o)。

  • chmod:修改权限,可通过数字或符号方式。chmod 755 file.txt 设置所有者rwx(7)、组和其他用户rx(5);chmod u+x script.sh 为所有者添加执行权限。
  • chown:修改文件所有者,选项 -R 可递归修改目录及子文件所有者,如 chown user:group file.txt 修改所有者和所属组。

文件查找

  • find:按名称、类型、大小、时间等条件查找文件。find /home -name "*.log" 在/home目录下查找所有.log文件;find . -type f -size +10M 在当前目录查找大于10MB的普通文件。
  • grep:在文件中搜索文本,支持正则表达式,选项 -i(忽略大小写)、-r(递归搜索目录),如 grep -r "error" /var/log/ 在日志目录中搜索包含"error"的行。

文件压缩与解压

  • tar:打包/解包工具,常用选项 -c(创建)、-x(解压)、-v(显示过程)、-f(指定文件名)、-z(调用gzip压缩/解压)。tar -czf archive.tar.gz /path/to/dir 将目录压缩为.tar.gz文件;tar -xzf archive.tar.gz 解压。
  • zip/unzip:zip格式压缩工具,zip -r archive.zip dir/ 压缩目录,unzip archive.zip 解压。

其他实用命令

  • cat:查看文件内容,适合小文件,cat -n file.txt 显示行号。
  • less/more:分页查看文件内容,less 支持上下翻页、关键词搜索(输入/关键词)。
  • head/tail:查看文件开头/结尾内容,head -n 10 file.txt 查看前10行,tail -f file.txt 实时跟踪文件更新(如日志监控)。

文件操作命令速查表

命令 功能描述 常用选项示例
ls 列出目录内容 -laht(详细、隐藏、时间、人类可读)
mkdir 创建目录 -p(递归创建多级目录)
touch 创建空文件/更新时间戳
cp 复制文件/目录 -r(递归)、-p(保留属性)
mv 移动/重命名文件 -i(覆盖提示)
rm 删除文件/目录 -rf(强制递归删除)
chmod 修改权限 755(数字)、u+x(符号)
chown 修改所有者/所属组 -R(递归)、user:group
find 查找文件 -name "*.log"(按名)、-type f(按类型)
grep 文本搜索 -r(递归)、-i(忽略大小写)
tar 打包/解压 -czf(压缩)、-xzf(解压)
cat 查看文件内容 -n(显示行号)
less 分页查看文件 (搜索)
head/tail 查看文件开头/结尾 -n 10(指定行数)、-f(实时跟踪)

相关问答FAQs

Q1: 如何批量重命名文件?
A: 可使用rename命令(需安装)或结合for循环和mv命令,将当前目录下所有.txt文件扩展名改为.log:for f in *.txt; do mv "$f" "${f%.txt}.log"; done,其中${f%.txt}表示移除变量f末尾的.txt后缀。

Q2: 如何查找并删除指定大小的文件?
A: 使用find命令定位文件,通过-execxargs结合rm删除,例如查找大于100MB的文件并删除:find /path -type f -size +100M -exec rm -f {} \;,注意代表查找到的文件路径,\;表示命令结束,执行前建议先用ls -lh {}确认文件列表,避免误删。

Linux文件操作命令有哪些必备技巧?-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇