Linux 基础文件操作命令详解

目录

一、ls 命令 - 列出目录内容

常用选项详解

选项 功能说明 示例
-l 显示详细信息(权限、所有者、大小、时间) ls -l
-S 按文件大小排序(从大到小) ls -lS
-r 反向排序(配合其他排序选项使用) ls -lSr(从小到大)
-R 递归显示子目录内容 ls -R /etc
-A 显示所有文件(包含隐藏文件,排除 ... ls -A
-a 显示所有文件(包含 ... 和隐藏文件) ls -a
-t 按修改时间排序(最新在前) ls -lt
-d 显示目录本身,而不是其内容 ls -ld /etc
-1 每行显示一个文件/目录 ls -1
-h 人类可读的文件大小格式(配合 -l 使用) ls -lh

实用示例

递归显示示例

[yanfeng@localhost ~]$ ls -R
.:
am           dracut.conf   host.conf   ld.so.conf    logrotate.conf  nsswitch.conf  rsyslog.conf   updatedb.conf        xattr.conf
asound.conf  fprintd.conf  kdump.conf  libuser.conf  man_db.conf     resolv.conf    sestatus.conf  usb_modeswitch.conf  yum.conf
chrony.conf  fuse.conf     krb5.conf   locale.conf   mke2fs.conf     rsyncd.conf    sysctl.conf    vconsole.conf

./am:
# 显示 am 目录下的内容(如果有文件会继续列出)

单列显示示例

[yanfeng@localhost ~]$ ls -1
am
asound.conf
chrony.conf
dracut.conf
fprintd.conf
fuse.conf
host.conf
kdump.conf
krb5.conf
ld.so.conf
libuser.conf
locale.conf
logrotate.conf
man_db.conf
mke2fs.conf
nsswitch.conf
resolv.conf
rsyncd.conf
rsyslog.conf
sestatus.conf
sysctl.conf
updatedb.conf
usb_modeswitch.conf
vconsole.conf
xattr.conf
yum.conf

二、ls 通配符使用技巧

通配符类型及用法

通配符 说明 示例 匹配结果
* 匹配任意长度字符 a*, b*, a*b, *conf 以a开头、以b开头、a开头b结尾、conf结尾
[m-n] 匹配指定范围内的单个字符 file[1-3].txt file1.txt, file2.txt, file3.txt
[mn] 匹配括号内的任意单个字符 file[ab].txt filea.txt, fileb.txt
? 匹配单个任意字符 file?.txt file1.txt, fileA.txt 等
{a,b,c} 匹配多个模式 file.{txt,log} file.txt, file.log

实用通配符示例

# 匹配所有 .txt 文件
ls *.txt

# 匹配 test1, test2, test3
ls test[1-3]

# 匹配 file1.txt, file2.txt(两个字符)
ls file??.txt

# 匹配 .log 或 .txt 文件
ls *.{log,txt}

三、实战练习题

题目1:显示特定类型文件

要求:显示出 /etc 目录下所有以 conf 结尾的文件,不展开子目录内容

解答

ls -d /etc/*conf

说明

  • -d 选项确保只显示目录本身或匹配的文件,不展开子目录
  • *conf 匹配所有以 conf 结尾的文件

题目2:按大小排序日志文件

要求:把 /var/log 下面以 log 结尾的文件按照大小排序,最大的文件在最下面

解答

ls -Slr /var/log/*log

选项解析

  • -S:按文件大小排序
  • -l:显示详细信息(可省略,但建议保留以便查看大小)
  • -r:反向排序(最大的在最后)

题目3:目录切换练习

要求:当前目录是 /etc/sysconfig/networking,请用相对路径切换到 wcc 的家目录

解答

cd ../../../home/wcc

路径解析

  • ../../:退到 /etc/sysconfig
  • ../:再退到 /etc
  • ../../home/wcc:从 /etc 转到 /home/wcc

题目4:列出根目录结构

要求:列出根目录下所有的主要文件夹

标准根目录结构

/
├── bin/     # 基本命令二进制文件
├── etc/     # 系统配置文件
├── var/     # 可变数据文件(日志、缓存等)
├── home/    # 普通用户家目录
├── usr/     # 用户程序和数据
├── mnt/     # 临时挂载点
├── opt/     # 第三方应用程序
├── srv/     # 服务数据
├── media/   # 可移动媒体挂载点
├── root/    # root用户家目录
├── tmp/     # 临时文件(所有人可读写)
├── proc/    # 进程和内核信息(虚拟文件系统)
├── run/     # 运行时数据
├── sbin/    # 系统管理命令
└── lib/     # 共享库文件

查看命令

ls -l /

四、其他基础命令

pwd - 显示当前目录

# 显示当前工作目录的绝对路径
[yanfeng@localhost ~]$ pwd
/home/yanfeng

cd - 切换目录

# 切换到 home 目录
cd ~
cd /home

# 切换到上级目录
cd ..

# 切换到上一个工作目录
cd -

# 切换到用户家目录
cd

clear - 清屏

# 清除终端屏幕内容
clear
# 或使用快捷键 Ctrl + L

五、实用技巧总结

  1. 组合使用选项ls -lhtr(按时间反向排序,人类可读格式)
  2. 通配符组合ls *[0-9]*.log(匹配包含数字的log文件)
  3. 查看隐藏文件ls -la 显示所有文件包括隐藏文件
  4. 按时间查看ls -lt 查看最新修改的文件
  5. 目录大小查看ls -lh 查看文件大小(适合人类阅读)

这些命令是Linux日常操作的基础,熟练掌握将大大提高工作效率。

作者:严锋  创建时间:2025-11-01 10:51
最后编辑:严锋  更新时间:2025-11-04 14:01