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/yanfengcd - 切换目录
# 切换到 home 目录
cd ~
cd /home
# 切换到上级目录
cd ..
# 切换到上一个工作目录
cd -
# 切换到用户家目录
cdclear - 清屏
# 清除终端屏幕内容
clear
# 或使用快捷键 Ctrl + L五、实用技巧总结
- 组合使用选项:
ls -lhtr(按时间反向排序,人类可读格式) - 通配符组合:
ls *[0-9]*.log(匹配包含数字的log文件) - 查看隐藏文件:
ls -la显示所有文件包括隐藏文件 - 按时间查看:
ls -lt查看最新修改的文件 - 目录大小查看:
ls -lh查看文件大小(适合人类阅读)
这些命令是Linux日常操作的基础,熟练掌握将大大提高工作效率。
作者:严锋 创建时间:2025-11-01 10:51
最后编辑:严锋 更新时间:2025-11-04 14:01
最后编辑:严锋 更新时间:2025-11-04 14:01