文件系統結構
/bin 存放二進制可執行文件,這些命令在單用戶模式下也能夠使用。可以被root和一般的賬號使用。
/boot Ubuntu內核和啟動文件,比如vmlinuz-xxx。gurb引導裝載程序。
/dev 設備驅動文件
/etc 存放一些系統配置文件,比如用戶賬號和密碼文件,各種服務的起始地址。
/home 系統默認的用戶主文件夾,一般創建用戶賬戶的時候,默認的用戶主文件夾都會放到此目錄下。
/lib 存放庫文件
/media 此目錄下放置可插拔設備,比如SD卡,或者U盤就是掛載到這個目錄中。
/mnt 用戶可使用的掛載點,如果要掛載一些額外的設備,那么就可以掛載到此處。
/opt 可選的文件和程序存放目錄,給第三方軟件放置的目錄。
/root root用戶目錄,也就是系統管理員目錄。
/sbin 和/bin類似,也是存放一些二進制可執行文件。sbin下面的一般是系統開機過程中所需要的命令。
/srv 服務相關目錄。比如網絡服務。
/sys 記錄內核信息,虛擬文件系統。
/tmp 臨時目錄
/var存放一些變化的文件,比如日志文件
/usr usr不是user的縮寫,而是UNIX Software Resource的縮寫,存放于系統用戶有關的文件,會占用很大的存儲空間!
/proc 虛擬文件系統,數據放置到內存中,存放系統運行信息
安裝tree工具可查看文件樹狀結構
絕對路徑:從根目錄“/”算起的路徑。
相對路徑:相對于目前路徑的文件名寫法,比如./home/xxx 不是以“/”開頭的就行。
“.”代表當前路徑,也可以 用“./”表示“..”代表上一層目錄,也可以用“../”表示
磁盤文件
磁盤掛載與卸載
磁盤掛載在:/media/username/U盤名 這個位置
? /dev/sd* 屬于磁盤設備文件
掛載磁盤:
sudo mount /dev/sdb1 /media/username/udisk 將磁盤掛載到udisk文件夾下
sudo mount -o iocharset=utf-8 /dev/sdb1 /media/username/udisk 可顯示出中文
卸載磁盤:先將U盤從啟動器解鎖,再使用:
sudo umount /media/username/U盤名 -f
sudo umount /dev/sdb1
卸載磁盤
磁盤分區
使用fdisk命令進行分區:sudo fdisk /dev/sdb -----> n:創建分區
第一個分區:2048~2099200(1GB=1024×1024×1024=1073741824B/512B=2097152個扇區+2048扇區)
第二個分區:2101248~4198400
第三個分區:4200448~剩下的
最后輸入w保存
創建完分區后,需要對磁盤進行格式化:
sudo mkfs -t vfat /dev/sdb1
sudo mkfs -t vfat /dev/sdb2
sudo mkfs -t vfat /dev/sdb3
壓縮與解壓縮
常用壓縮擴展名:.tar .tar.bz2 .tar.gz :壓縮包文件 提取到此處=解壓
使用gzip壓縮工具壓縮:gzip a.c 將此文件壓縮,直接變成a.c.gz文件(負責壓縮解壓.gz格式文件)
? 使用 gzip -d a.c.gz 解壓縮
對文件夾進行壓縮 : gzip -r test 只是將test文件夾里的文件進行壓縮
gzip -rd test 對文件夾進行解壓縮
使用bzip2壓縮工具壓縮: bzip2 -z xxx (負責壓縮解壓.bz2格式文件)
? bzip2 -d xxx.bz2
使用tar工具:
tar -c 壓縮文件
?tar -x 解壓縮文件
tar -j 壓縮成bz2格式
tar -z 壓縮成gz格式
tar -v 打印出命令執行過程
?tar -f 使用歸檔文件(該參數要放到最后)
tar -vcf xxx.tar xxx (將xxx文件夾打包為xxx.tar,此時僅僅只是打包還沒有生成壓縮文件)
tar -vcjf xxx.tar.bz2 xxx 就可創建壓縮包
?tar -vxjf xxx.tar.bz2 解壓
.rar格式:rar a xxx.rar xxx 壓縮 rar x xxx.rar xxx 解壓
.zip格式:zip -rx xxx.zip xxx 壓縮 unzip xxx.zip 解壓
文件權限管理
通過 ls [文件名] -l 查看文件詳細信息
標識:
(用戶 用戶組其他用戶 其他用戶)
- rwx rwx rwx
421 421 421
? 7 7 7
修改權限:chmod 664 [文件名]
修改所屬用戶:sudo chown root [文件名]
?修改所屬用戶組:sudo chown .root [文件名]
兩者同時改:sudo chown root.root [文件名]
對某個目錄下的所有文件進行操作:sudo chown -R root.root xxx/
連接文件
符號鏈接:類似Windows下的快捷方式
符號連接類似Windows下的快捷方式,符號鏈接也叫做軟連接,軟連接要用的多。符號連接相當于創建了一個獨立的文件,這個文件會讓數據讀取指向它連接的哪個文件的文件名。軟連接的特點:
①、可以連接到目錄。
②、可以跨文件系統。
③、刪除源文件以后,軟連接文件也就“打不開了”。
④、符號連接文件通過->來指示具體的連接文件。
⑤、符號連接要使用絕對路徑,否則連接出問題。
cp hello2 test/ :在拷貝到其他地方的時候會丟失掉連接屬性,變成實體文件,就不是軟連接文件了
cp -d hello2 test/ :加入-d保持軟連接屬性,再cp時也不行,拷貝過去的hello2文件會失效
?正確創建方式:ln -s /home/username/hello hello3 原文件要使用絕對路徑,后續拷貝也需要加-d指令
硬鏈接:硬鏈接通過文件系統的inode連接來產生新文件名,而不是產生新文件。inode相當于文件的ID
硬鏈接是多個文件都指向同一個inode,硬鏈接知識點:
①、具有相同inode的多個文件互為硬鏈接文件,創建硬鏈接相當于文件實體多了入口。
②、對于硬鏈接文件,只有刪除了源文件以及對應的所有硬連接文件,文件實體才會被刪除。
③、根據硬鏈接文件的特點,我們可以通過給文件創建硬連接的方式來防止文件誤刪除。
④、不論修改源文件還是連接文件,另一個文件的數據都會被改變。
⑤、硬連接不能跨文件系統。
⑥、硬連接不能連接到目錄。因為以上這些限制,硬鏈接其實不常用。
創建連接文件:
ln hello hello1
?ln hello hello2
使用 ll -i hello 可查看文件的inode值,ll 為 ls -l 的縮寫