linux常用命令

Linux 文件系统命令 API 文档

1. 概述

本 API 文档涵盖了常见的 Linux 文件系统命令,这些命令用于文件和目录的操作、文件内容查看、权限管理、文件系统挂载等操作。

2. 文件和目录操作

2.1 ls - 列出目录内容

  • 功能:列出指定目录中的文件和子目录。
  • 语法ls [选项] [目录]
  • 选项
    • -l:以长格式显示文件和目录信息,包括权限、所有者、大小、修改时间等。
    • -a:显示所有文件和目录,包括隐藏文件(以 . 开头的文件)。
    • -h:与 -l 一起使用时,以人类可读的格式显示文件大小(如 KB、MB 等)。
    • -R:递归列出指定目录及其子目录中的所有文件和目录。
  • 示例
    • ls:列出当前目录中的文件和目录。
    • ls -l:以长格式显示当前目录中的文件和目录信息。
    • ls -la /home/user:以长格式显示 /home/user 目录中的所有文件和目录信息。

2.2 mkdir - 创建目录

  • 功能:创建一个新的目录。
  • 语法mkdir [选项] 目录名
  • 选项
    • -p:如果父目录不存在,则创建父目录。
  • 示例
    • mkdir new_dir:在当前目录下创建一个名为 new_dir 的目录。
    • mkdir -p parent_dir/child_dir:如果 parent_dir 不存在,则创建 parent_dir,并在其中创建 child_dir

2.3 rm - 删除文件或目录

  • 功能:删除指定的文件或目录。
  • 语法rm [选项] 文件或目录
  • 选项
    • -r:递归删除目录及其所有子目录和文件。
    • -f:强制删除,不提示确认信息。
  • 示例
    • rm file.txt:删除当前目录下的 file.txt 文件。
    • rm -r dir:递归删除 dir 目录及其所有内容。
    • rm -rf dir:强制递归删除 dir 目录及其所有内容,不提示确认信息。

2.4 mv - 移动或重命名文件或目录

  • 功能:将文件或目录从一个位置移动到另一个位置,或者重命名文件或目录。
  • 语法mv [选项] 源文件或目录 目标文件或目录
  • 选项
    • -i:在覆盖目标文件之前提示确认信息。
  • 示例
    • mv file.txt new_dir/:将 file.txt 文件移动到 new_dir 目录中。
    • mv old_name.txt new_name.txt:将 old_name.txt 文件重命名为 new_name.txt

2.5 cp - 复制文件或目录

  • 功能:复制文件或目录。
  • 语法cp [选项] 源文件或目录 目标文件或目录
  • 选项
    • -r:递归复制目录及其所有子目录和文件。
    • -i:在覆盖目标文件之前提示确认信息。
  • 示例
    • cp file.txt new_file.txt:将 file.txt 文件复制为 new_file.txt
    • cp -r dir new_dir:递归复制 dir 目录及其所有内容到 new_dir 目录中。

3. 文件内容查看

3.1 cat - 显示文件内容

  • 功能:将文件的内容输出到标准输出。
  • 语法cat [选项] 文件
  • 选项
    • -n:显示行号。
  • 示例
    • cat file.txt:显示 file.txt 文件的内容。
    • cat -n file.txt:显示 file.txt 文件的内容,并显示行号。

3.2 more - 分页显示文件内容

  • 功能:分页显示文件的内容,按空格键翻页。
  • 语法more 文件
  • 示例more large_file.txt:分页显示 large_file.txt 文件的内容。

3.3 less - 分页显示文件内容

  • 功能:分页显示文件的内容,支持向前和向后翻页,功能比 more 更强大。
  • 语法less 文件
  • 示例less big_file.txt:分页显示 big_file.txt 文件的内容。

3.4 head - 显示文件开头的内容

  • 功能:显示文件开头的指定行数,默认显示前 10 行。
  • 语法head [选项] 文件
  • 选项
    • -n 行数:指定显示的行数。
  • 示例
    • head file.txt:显示 file.txt 文件的前 10 行。
    • head -n 5 file.txt:显示 file.txt 文件的前 5 行。

3.5 tail - 显示文件末尾的内容

  • 功能:显示文件末尾的指定行数,默认显示后 10 行。还可以实时跟踪文件的新增内容。
  • 语法tail [选项] 文件
  • 选项
    • -n 行数:指定显示的行数。
    • -f:实时跟踪文件的新增内容。
  • 示例
    • tail file.txt:显示 file.txt 文件的后 10 行。
    • tail -n 5 file.txt:显示 file.txt 文件的后 5 行。
    • tail -f log.txt:实时跟踪 log.txt 文件的新增内容。

4. 文件权限管理

4.1 chmod - 修改文件或目录的权限

  • 功能:修改文件或目录的权限,包括读(r)、写(w)、执行(x)权限。
  • 语法chmod [选项] 权限模式 文件或目录
  • 选项
    • -R:递归修改目录及其所有子目录和文件的权限。
  • 权限模式
    • 数字模式:如 755 表示所有者具有读、写、执行权限,组用户和其他用户具有读、执行权限。
    • 符号模式:如 u+x 表示给所有者添加执行权限。
  • 示例
    • chmod 755 script.sh:将 script.sh 文件的权限设置为 755。
    • chmod -R 777 dir:递归将 dir 目录及其所有内容的权限设置为 777。
    • chmod u+x file.sh:给 file.sh 文件的所有者添加执行权限。

4.2 chown - 修改文件或目录的所有者

  • 功能:修改文件或目录的所有者。
  • 语法chown [选项] 新所有者 文件或目录
  • 选项
    • -R:递归修改目录及其所有子目录和文件的所有者。
  • 示例
    • chown new_user file.txt:将 file.txt 文件的所有者修改为 new_user
    • chown -R new_user dir:递归将 dir 目录及其所有内容的所有者修改为 new_user

4.3 chgrp - 修改文件或目录的所属组

  • 功能:修改文件或目录的所属组。
  • 语法chgrp [选项] 新组名 文件或目录
  • 选项
    • -R:递归修改目录及其所有子目录和文件的所属组。
  • 示例
    • chgrp new_group file.txt:将 file.txt 文件的所属组修改为 new_group
    • chgrp -R new_group dir:递归将 dir 目录及其所有内容的所属组修改为 new_group

5. 文件系统挂载与卸载

5.1 mount - 挂载文件系统

  • 功能:将文件系统挂载到指定的挂载点。
  • 语法mount [选项] 设备名 挂载点
  • 选项
    • -t 文件系统类型:指定要挂载的文件系统类型,如 ext4ntfs 等。
  • 示例
    • mount /dev/sdb1 /mnt:将 /dev/sdb1 设备挂载到 /mnt 目录。
    • mount -t ntfs /dev/sdb1 /mnt:将 /dev/sdb1 设备的 NTFS 文件系统挂载到 /mnt 目录。

5.2 umount - 卸载文件系统

  • 功能:卸载已挂载的文件系统。
  • 语法umount [选项] 设备名或挂载点
  • 示例
    • umount /mnt:卸载挂载在 /mnt 目录的文件系统。
    • umount /dev/sdb1:卸载 /dev/sdb1 设备上的文件系统。

6. 文件搜索

6.1 find - 在目录中搜索文件

  • 功能:在指定目录及其子目录中搜索符合条件的文件。
  • 语法find [目录] [选项] [条件]
  • 选项和条件
    • -name 文件名:按文件名搜索,支持通配符,如 *.txt
    • -type 文件类型:按文件类型搜索,如 f 表示普通文件,d 表示目录。
    • -size 文件大小:按文件大小搜索,如 +10M 表示大于 10MB 的文件。
  • 示例
    • find /home -name "*.txt":在 /home 目录及其子目录中搜索所有扩展名为 .txt 的文件。
    • find /var -type d:在 /var 目录及其子目录中搜索所有目录。
    • find /tmp -size +10M:在 /tmp 目录及其子目录中搜索所有大于 10MB 的文件。

6.2 grep - 在文件中搜索字符串

  • 功能:在文件中搜索包含指定字符串的行。
  • 语法grep [选项] 字符串 文件
  • 选项
    • -i:忽略大小写。
    • -r:递归搜索目录及其子目录中的文件。
  • 示例
    • grep "error" log.txt:在 log.txt 文件中搜索包含 error 的行。
    • grep -i "warning" logs/:递归在 logs 目录及其子目录中的文件中搜索包含 warning 的行,忽略大小写。

7. 文件系统检查与修复

7.1 fsck - 检查并修复文件系统

  • 功能:检查并修复文件系统的错误。
  • 语法fsck [选项] 设备名
  • 选项
    • -y:自动修复所有错误,不提示确认信息。
  • 示例fsck -y /dev/sda1:自动检查并修复 /dev/sda1 设备上的文件系统错误。

7.2 xfs_repair - 修复 XFS 文件系统

  • 功能:专门用于修复 XFS 文件系统的错误。
  • 语法xfs_repair [选项] 设备名
  • 示例xfs_repair /dev/sdb2:修复 /dev/sdb2 设备上的 XFS 文件系统错误。

8. 磁盘使用情况查看

8.1 df - 显示文件系统的磁盘使用情况

  • 功能:显示文件系统的磁盘使用情况,包括总容量、已使用容量、可用容量等。
  • 语法df [选项]
  • 选项
    • -h:以人类可读的格式显示磁盘容量(如 KB、MB、GB 等)。
  • 示例df -h:以人类可读的格式显示所有文件系统的磁盘使用情况。

8.2 du - 显示文件或目录的磁盘使用情况

  • 功能:显示文件或目录的磁盘使用情况。
  • 语法du [选项] 文件或目录
  • 选项
    • -h:以人类可读的格式显示磁盘容量。
    • -s:只显示总计大小。
  • 示例
    • du -h dir:以人类可读的格式显示 dir 目录及其子目录的磁盘使用情况。
    • du -sh dir:以人类可读的格式显示 dir 目录的总计磁盘使用情况。