目錄
一、文件與目錄管理基礎
創建文件
創建目錄
目錄結構查看
二、鏈接文件深入理解
創建軟鏈接
創建硬鏈接
核心區別對比
三、文件壓縮與解壓縮全攻略
1、壓縮命令對比
2、解壓縮命令
3、三種壓縮方式性能對比
4、通用解壓技巧
四、文件查找與搜索
1、按文件名查找
2、按文件屬性查找
3、組合條件查找
一、文件與目錄管理基礎
-
創建文件
# 創建空文件 [root@zhangsan101 ~]# touch a1.txt# 批量創建文件(使用 brace expansion 語法) [root@zhangsan101 ~]# touch m{1..5}.txt # 創建m1.txt到m5.txt# 創建可執行腳本文件 [root@zhangsan101 ~]# touch s2.sh [root@zhangsan101 ~]# chmod +x s2.sh
-
創建目錄
# 創建單級目錄 [root@zhangsan101 ~]# mkdir ff# 批量創建目錄 [root@zhangsan101 ~]# mkdir t{1..3} # 創建t1、t2、t3目錄# 創建多級目錄(-p選項自動創建父目錄) [root@zhangsan101 ~]# mkdir -p aa/bb/cc/dd/ee
-
目錄結構查看
# 安裝tree工具(若未安裝) [root@zhangsan101 ~]# yum install -y tree# 查看目錄樹結構 [root@zhangsan101 ~]# tree aa aa/ └── bb└── cc└── dd└── ee
二、鏈接文件深入理解
Linux 中有兩種鏈接文件:軟鏈接(符號鏈接)和硬鏈接,創建與區別如下:
-
創建軟鏈接
# 對文件創建軟鏈接 [root@zhangsan101 ~]# ln -s a1.txt a11.txt# 對目錄創建軟鏈接 [root@zhangsan101 ~]# ln -s /etc/yum a22
-
創建硬鏈接
# 只能對文件創建硬鏈接,不能對目錄創建 [root@zhangsan101 ~]# ln m1.txt m1_link.txt
-
核心區別對比
?特性 軟鏈接 硬鏈接 inode 號 不同 相同 跨文件系統 支持 不支持 對目錄支持 支持 不支持 源文件刪除后 失效(斷鏈) 仍可使用 大小 僅記錄路徑 與源文件相同 驗證命令:
# 查看inode號 [root@zhangsan101 ~]# ls -li a1.txt a11.txt # 軟鏈接inode不同 [root@zhangsan101 ~]# ls -li m1.txt m1_link.txt # 硬鏈接inode相同# 測試源文件刪除后鏈接狀態 [root@zhangsan101 ~]# rm -f a1.txt [root@zhangsan101 ~]# cat a11.txt # 軟鏈接提示"沒有那個文件或目錄"
三、文件壓縮與解壓縮全攻略
Linux 系統常用的壓縮工具有 gzip、bzip2、xz 三種,配合 tar 命令使用:
1、壓縮命令對比
# gzip壓縮(tar選項-z)
[root@zhangsan101 ~]# tar -zcf etc_gzip.tar.gz /etc/# bzip2壓縮(tar選項-j)
[root@zhangsan101 ~]# tar -jcf etc_bzip2.tar.bz2 /etc/# xz壓縮(tar選項-J)
[root@zhangsan101 ~]# tar -Jcf etc_xz.tar.xz /etc/
2、解壓縮命令
# 解壓到當前目錄
[root@zhangsan101 ~]# tar -zxf etc_gzip.tar.gz# 解壓到指定目錄(-C選項)
[root@zhangsan101 ~]# tar -jxf etc_bzip2.tar.bz2 -C /tmp/
3、三種壓縮方式性能對比
[root@zhangsan101 ~]# du -sh /etc/ etc_*.tar*
42M /etc/
12M etc_gzip.tar.gz # 壓縮比最小,速度最快
11M etc_bzip2.tar.bz2 # 壓縮比中等,速度中等
8.3M etc_xz.tar.xz # 壓縮比最大,速度最慢
4、通用解壓技巧
不知道壓縮類型時,先用 file 命令識別,再用 tar 通用解壓:
[root@zhangsan101 ~]# file unknown.tar.*
unknown.tar.xz: XZ compressed data# 無需指定壓縮類型,tar自動識別
[root@zhangsan101 ~]# tar -xf unknown.tar.xz
四、文件查找與搜索
find 命令是 Linux 中強大的文件搜索工具,常用用法:
1、按文件名查找
# 精確匹配文件名
[root@zhangsan101 ~]# find /etc -name "hosts"# 模糊匹配(不區分大小寫)
[root@zhangsan101 ~]# find /var -iname "*.log"
2、按文件屬性查找
# 按擁有者查找
[root@zhangsan101 ~]# find /home -user zhangsan# 按文件大小查找(+表示大于,-表示小于)
[root@zhangsan101 ~]# find /var/log -size +10M # 查找大于10M的文件
3、組合條件查找
# 查找7天前修改的普通文件并刪除(謹慎使用!)
[root@zhangsan101 ~]# find /tmp -type f -mtime +7 -delete