Linux文件系统(fs)命令是用户与操作系统交互的核心工具,用于管理文件、目录、权限、存储空间等关键操作,这些命令通过终端或脚本实现高效的数据管理,是Linux系统管理员和开发者的必备技能,以下将从基础操作、高级管理、维护工具及实际应用场景等方面详细解析Linux fs命令。

基础文件与目录操作
-
ls命令
ls是列出目录内容的命令,常用选项包括:-l:以长格式显示(权限、所有者、大小、修改时间等)。-a:显示所有文件,包括隐藏文件(以开头)。-h:以人类可读格式显示文件大小(如KB、MB)。
ls -lah会显示详细且易读的目录信息。
-
cd与pwd命令
cd用于切换目录,如cd /var/log进入日志目录,cd ..返回上级目录。pwd打印当前工作目录的完整路径,便于确认位置。
-
mkdir与rmdir命令
mkdir -p dir1/dir2可递归创建多级目录。rmdir仅能删除空目录,若需删除非空目录需用rm -r。
文件操作与管理
-
touch与rm命令
(图片来源网络,侵删)touch file.txt创建空文件或更新文件时间戳。rm -f file强制删除文件,rm -r dir递归删除目录及其内容。
-
cp与mv命令
cp -r source_dir target_dir复制目录,cp -p file1 file2保留文件属性。mv old_name new_name重命名文件,mv file /path/to/dest移动文件。
-
cat与less命令
cat file显示文件全部内容,适合小文件。less file分页显示大文件,支持上下翻页和搜索(/keyword)。
文件权限与属性管理
-
chmod命令
通过数字或符号修改权限:- 数字法:
chmod 755 file(所有者7=rwx,组5=r-x,其他5=r-x)。 - 符号法:
chmod u+x file为所有者添加执行权限。
- 数字法:
-
chown与chgrp命令
(图片来源网络,侵删)chown user:group file更改文件所有者和所属组。chgrp group file仅更改所属组。
-
chattr命令
设置不可变属性,防止文件被修改或删除:chattr +i file,chattr -i file解除。
磁盘空间与文件系统管理
-
df与du命令
df -h显示各文件系统的磁盘使用情况(挂载点、总容量、已用空间等)。du -sh *统计当前目录下各文件及子目录的大小(-s汇总,-h人性化显示)。
-
mount与umount命令
mount /dev/sdb1 /mnt/usb挂载设备到目录,umount /mnt/usb卸载。- 永久挂载需编辑
/etc/fstab文件。
-
fdisk与mkfs命令
fdisk -l列出磁盘分区表,fdisk /dev/sdb交互式分区管理。mkfs -t ext4 /dev/sdb1格式化分区为ext4文件系统。
高级搜索与文本处理
-
find命令
按条件搜索文件:find / -name "*.log" -mtime +7查找7天前修改的.log文件。find . -type f -exec chmod 644 {} \;批量修改文件权限。
-
grep命令
在文件中搜索文本:grep "error" /var/log/syslog,grep -r "warning" /home递归搜索。
-
awk与sed命令
awk '{print $1, $3}' file提取文件的第1和第3列。sed 's/old/new/g' file全局替换文本内容。
文件系统检查与修复
-
fsck命令
检查并修复文件系统:fsck /dev/sda1,需在卸载分区后执行。- 对于ext4文件系统,推荐使用
e2fsck。
-
dumpe2fs与tune2fs命令
dumpe2fs /dev/sda1显示文件系统超级块信息。tune2fs -l /dev/sda1查看详细参数,tune2fs -c 30 /dev/sda1设置最大挂载次数。
实际应用场景示例
-
日志分析
统计Apache错误日志中访问次数最多的IP:grep "error" /var/log/apache2/error.log | awk '{print $1}' | sort | uniq -c | sort -nr -
批量重命名文件
将当前目录下所有.txt文件扩展名改为.bak:for f in *.txt; do mv "$f" "${f%.txt}.bak"; done -
磁盘空间清理
删除30天前的临时文件:find /tmp -type f -mtime +30 -exec rm {} \;
相关问答FAQs
Q1: 如何查看Linux系统中文件系统的类型?
A1: 可使用以下命令:
df -T:显示每个挂载点的文件系统类型。lsblk -f:列出块设备的文件系统类型。file -s /dev/sda1:检查指定分区的文件系统类型(如输出为“Linux rev 1.0 ext4 filesystem data”)。
Q2: 为什么有时用rm -rf删除文件后空间仍未释放?
A2: 常见原因包括:
- 文件被进程占用:使用
lsof | grep deleted查找被删除但仍打开的文件,重启相关进程或释放文件句柄。 - 内存缓存未同步:运行
sync命令将缓存写入磁盘,或调整/proc/sys/vm/drop_caches释放页缓存。 - 特殊文件系统:如日志文件(
/var/log)可能被应用持续写入,需停止服务后再删除。
掌握Linux fs命令不仅能提升日常操作效率,还能在系统维护、故障排查中发挥关键作用,通过结合命令选项和管道符(),用户可构建复杂的自动化任务,充分发挥Linux的灵活性。
