1.文件管理概述
2.系統(tǒng)目錄結(jié)構(gòu)
3.文件路徑定位
4.系統(tǒng)文件管理
5.系統(tǒng)文件屬性
6.系統(tǒng)鏈接文件
1.文件管理概述
1.Bash Shell對(duì)文件進(jìn)行管理
對(duì)一個(gè)文件進(jìn)行創(chuàng)建、復(fù)制、移動(dòng)、刪除轧苫、查找宣决、等等
2.內(nèi)容概括
系統(tǒng)目錄結(jié)構(gòu)
文件路徑定位
文件管理命令
2.系統(tǒng)目錄結(jié)構(gòu)
幾乎所有的計(jì)算機(jī)操作系統(tǒng)都是使用目錄結(jié)構(gòu)組織文件绞灼。
Windows:以多根的方式組織文件 /
Linux:以單根的方式組織文件
CentOs 7 的目錄結(jié)構(gòu)如圖所示
1.存放命令相關(guān)的目錄
- /bin菜职,普通用戶使用的命令
- /sbin碧磅,管理員使用的命令
2.存放用戶相關(guān)數(shù)據(jù)的家目錄
- /home,普通用戶的家目錄
- /root辽慕,超級(jí)管理員root的家目錄
3.系統(tǒng)文件目錄
- /usr京腥,相當(dāng)于C:、Windows
- /usr/local溅蛉,軟件安裝目錄
- /usr/bin/公浪,普通用戶使用的應(yīng)用程序
- /usr/sbin,管理員使用的應(yīng)用程序
- /usr/lib船侧,庫(kù)文件欠气,32bit
- /usr/lib64,庫(kù)文件镜撩,64bit
4.啟動(dòng)目錄
-
/boot晃琳,存放系統(tǒng)啟動(dòng)相關(guān)文件,例如:kernel琐鲁,grub(引導(dǎo)裝載程序)
5.配置文件目錄
- /etc,系統(tǒng)配置文件目錄
- /etc/sysconfig/network-scripts/ifcfg-人灼,網(wǎng)絡(luò)配置文件
- /etc/hostname围段,系統(tǒng)主機(jī)名配置文件
- /etc/resolv.conf,dns客戶端配置文件
- /etc/hosts投放,本地域名解析配置文件
6.可變的目錄與臨時(shí)目錄
- /var奈泪,存放一些變化文件,比如/var/log/下的日志文件
- /var/tmp灸芳,進(jìn)程產(chǎn)生的臨時(shí)文件
- /tmp涝桅,系統(tǒng)臨時(shí)目錄(回收站)
7.設(shè)備目錄文件
- /dev,存放設(shè)備文件烙样,比如硬盤冯遂,硬盤分區(qū),光驅(qū)谒获,等等
- /dev/null蛤肌,黑洞設(shè)備,只進(jìn)不出批狱,相當(dāng)于回收站
- /dev/random裸准,生成隨機(jī)數(shù)設(shè)備
- /dev/zero,不斷產(chǎn)生數(shù)據(jù)
8.虛擬的文件系統(tǒng)
- /proc赔硫,反映系統(tǒng)當(dāng)前進(jìn)程的運(yùn)行狀態(tài)
PS:類似于小汽車的儀表盤炒俱,能夠看到汽車是否有故障
9.PS:在Linux7系統(tǒng)中,/bin,/sbin权悟,/lib砸王,/lib64,都以軟鏈接的形式鏈接到/usr/目錄下
- /bin --> /usr/bin
- /sbin --> /usr/sbin
- lib --> usr/lib
- lib64 --> usr/lib64
3.文件路徑定位
比如:/etc/hostname僵芹,整個(gè)文件中包含文件名稱以及文件所在的位置处硬,我們將這個(gè)叫做路徑,也就是說(shuō)我們通過(guò)路徑對(duì)文件進(jìn)行定位拇派。
- 絕對(duì)路徑:只要以/開始的都算絕對(duì)路徑
ls /a.txt
- 相對(duì)路徑:相對(duì)于當(dāng)前目錄來(lái)說(shuō)
ls a.txt
.和..是什么荷辕?
.代表當(dāng)前目錄
..代表當(dāng)前目錄的上一級(jí)目錄
- cd改變目錄,常見的使用方法
cd 絕對(duì)路徑 cd /etc/hostname
cd 相對(duì)路徑 cd test/abc cd . cd ..
-------------------------------------
cd #切換目錄件豌,例: cd /etc
cd - #切換回上一次所在的目錄
cd ~ #切換回當(dāng)前用戶的家目錄,注意:root和普通用戶是否有所不同疮方?
cd . #代表當(dāng)前目錄,一般在拷貝茧彤、移動(dòng)等情況下使用 cp /etc/hostname ./
cd .. #切換回當(dāng)前目錄的上級(jí)目錄
4.系統(tǒng)文件管理
1.文件創(chuàng)建命令touch
touch file 無(wú)則創(chuàng)建,有則修改時(shí)間
touch file2 file3
touch /home/od/file4 file5
touch file{a,b,c} {}集合骡显,等價(jià) touch a b c
touch file{1..10}
touch file{a..z}
2.目錄創(chuàng)建命令mkdir
選項(xiàng):-v 顯示詳細(xì)信息 -p 遞歸創(chuàng)建目錄
mkdir dir1
mkdir /home/od/dir1 /home/od/dir2
mkdir -v /home/od/{dir3,dir4}
mkdir -pv /home/od/dir5/dir6
mkdir -pv /home/{od/{diu,but},boy}
3.以樹狀顯示目錄結(jié)構(gòu)命令tree
選項(xiàng): -L: 顯示目錄樹的層級(jí)
tree /home/od/ 顯示當(dāng)前目錄下的結(jié)構(gòu)
/home/od/
├── but
├── dir1
├── dir2
├── dir3
├── dir4
├── dir5
│ └── dir6
└── diu
4.復(fù)制命令cp
選項(xiàng): -v:詳細(xì)顯示命令執(zhí)行的操作 -r: 遞歸處理目錄與子目錄 -p: 保留源文件或目錄的屬性
cp file /tmp/file_copy
cp name /tmp/name 不修改名稱
cp file /tmp/ 不修改名稱
cp -p file /tmp/file_p -p保持原文件或目錄的屬性
cp -r /etc/ /tmp/ 復(fù)制目錄需要使用-r參數(shù), 遞歸復(fù)制
cp -rv /etc/hosts /etc/hostname /tmp 拷貝多個(gè)文件至一個(gè)目錄
cp -rv /etc/{hosts,hosts.bak}
cp -rv /etc/hosts{,-org}
5.移動(dòng)或重命名命令mv
mv file file1 原地移動(dòng)算改名
mv file1 /tmp/ 移動(dòng)文件至tmp目錄
mv /tmp/file1 ./ 移動(dòng)tmp目錄的文件至當(dāng)前目錄
mv dir/ /tmp/ 移動(dòng)目錄至/tmp目錄下
touch file{1..3}
mv file1 file2 file3 /opt/ 移動(dòng)多個(gè)文件或至同一個(gè)目錄
mkdir dir{1..3}
mv dir1/ dir2/ dir3/ /opt 移動(dòng)多個(gè)目錄至同一個(gè)目錄
6.刪除命令rm
選項(xiàng):-r: 遞歸 -f: 強(qiáng)制刪除 -v: 詳細(xì)過(guò)程
rm file.txt 刪除文件, 默認(rèn)rm存在alias別名,rm -i所以會(huì)提醒是否刪除文件
rm -f file.txt 刪除文件, 不提醒
--------------------------------
rm -r dir/ 遞歸刪除目錄曾掂,會(huì)提示
rm -rf dir/ 強(qiáng)制刪除目錄,不提醒(慎用)
--------------------------------
1.rm刪除示例
mkdir /home/dir10
touch /home/dir10/{file2,file3,.file4}
rm -f /home/dir10/* //不包括隱藏文件
ls /home/dir10/ -a
. .. .file4
--------------------------------
2.rm刪除示例2
touch file{1..10}
touch {1..10}.pdf
rm -rf file*
rm -rf *.pdf