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 文件系统类型:指定要挂载的文件系统类型,如ext4、ntfs等。
- 示例:
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目录的总计磁盘使用情况。