一、Linux的文件
Linux的文件及文件夾的組織結構成一個倒立置的樹形結構。並以 / (slash)分隔。
重要的文件目錄
家目錄 /root, /home /username
user executables(普通用戶可執行文件):/bin,/usr/bin,/usr/local/bin
systemexecutables(超級用戶可執行文件):/sbin,/usr/sbin,/usr/local/bin
總結可以發現:/bin與/sbin的區別就是後者只有root權限才能執行,/bin和/usr/bin的區別就是前者可以在單用戶下執行,而後者不可以
other mountpoints(其他掛載點):/media,/mnt,/misc
系統建議media用來掛載媒體設備,例如光盤,mnt掛載額外設備,例如U盤和移動硬盤,misc用來掛載NFS服務的共享目錄,不過都是由管理員自己絕對的,我現在的習慣是在mnt下掛載不同的習慣/mnt/cdrom掛載光盤,/mnt/usb掛載U盤
configuration(配置):/etc
tempoary files(臨時文件):/tmp
kernels and bootloader(啟動工具和內核):/boot
server data(服務器數據):/rar,/srv
system information(系統信息):/sys,/proc 虛擬文件系統,都是保存在內存中的,主要保存系統的內核,進程,外部設備和網絡狀態行,如/proc/cpuinfo保存cpu信息,/pro/filesytems是保存文件系統列表的
shared libraries(庫文件):/lib,/usr/lib,/usr/local/lib
dev:系統設備文件
lost+found:當系統意外崩潰或機器意外關機,而產生文件碎片放在這裡,當系統啟動過程中fsck工具會檢查這裡,並修復損壞的文件(每個分區都會有這個目錄)
usr(unix softwre resource):系統軟件資源目錄。usr不是user的縮寫,而是unix softwre resource的縮寫,所以不是存放用戶數據,而是存放軟件資源的目錄。系統安裝的軟件大多數保存在這裡。
var:動態數據保存位置。主要用於保存緩存、日志以及軟件運行所產生的文件
命令的格式:
命令 【-選項】 【參數】
選項:調整命令功能
參數:操作的對象
如:ls -la /etc
說明:1.個別命令不遵循此格式
2.當有多個選項時,可以寫在一起
3.簡化選項與完整選項
-a等於--all
二、常用的文件處理命令
ls:顯示目錄文件
英語原意list
所在路徑:/bin/ls ,通過這個路徑,然後結合上面所說,/bin是所有用戶都有執行的權限
-a 顯示所有文件,包括隱藏文件
-l 詳細信息顯示
-d 查看目錄屬性
-h 人性化顯示
-i 查詢文件的i節點
-R 遞歸顯示目錄及其子目錄
. 代表當前目錄
.. 代表上一級目錄
linux的隱藏文件都以點開頭,所以在linux中,想把文件隱藏,只有把文件名改名為以點開頭的文件名
-rw-r--r--:第一個"-"位置是代表文件類型的。
文件權限前的第一個字母用來標識文件類型:
-:一般文件
d:目錄文件
b:塊設備文件
c:字符設備文件
l:鏈接文件
p:人工管道
常見的為-,d,I
rw- r-- r-- :文件權限
u g o
u所有者,g所屬組,o其他人
r讀 w寫 x執行
如:-rw- r-- r--的意思就是這個文件的類型是一般文件,文件本身所在的用戶可讀可寫不可執行,所在的組可讀,不可寫不可執行,其他用戶可讀,不可寫不可執行。
1:引用系數,代表這個文件曾經被調用或者引用多少次,對文件和目錄來說,只在硬鏈接才起作用。
root 擁有者
root擁有組
1618 大小,默認大小為字節,可以使用ls -lh 來人性化顯示,統計命令基本支持-h選項
8月 30 01:06 最後一次修改時間,linux有文件的最後一次訪問時間,狀態修改時間時間,文件的數據修改時間,沒有創建時間概念,當文件創建,沒有修改過,就是創建時間了
文件名
mkdir 創建新目錄
英語原意:make directories
語法:mkdir [目錄名]
-p 遞歸創建,如果創建的目錄不存在,在創建目錄的同時創建子目錄
touch 創建空文件
語法:touch 【選項】【文件名】
1、沒有指明路徑,會在當前路徑下創建,絕對路徑可以指明路徑
2、linux沒有擴展名的概念
3、windows的很多特殊符號不能使用,如*?《,在linux中,除了表示根目錄/不能用以外,幾乎都可以使用,不過並不推薦使用
4、空格,我們在復制創建時可以同時對多個文件操作,假如我們在創建文件的時候如下:touch 1 2.txt
系統會理解為是創建了兩個文件,此時應用“”括起來,touch “1 2.txt”,也不建議使用
cd 切換目錄
英語原意:change directory
語法:cd 【目錄】
cd ~ 當前的家目錄
cd .. 返回上一級,cd../../返回上二級,以此類推
cd / 返回根目錄
cd - 在最近訪問過的兩個目錄切換
pwd 顯示當前目錄
英語原意:print working directory
cp 復制文件或目錄
英語原意:copy
cp 【選項】 【原文件或目錄】 【目標目錄】
-r 遞歸復制該目錄下所有的子目錄和文件
-p 保持原文件的權限和屬性不變
因為加了-p參數,所以,保持了原文件的屬性好權限不變,
沒加-p參數,可以看到屬性不一樣了。
在復制的同時,可以改名。
mv 剪切文件、改名
英語原意:move
語法:mv 【選項】【原文件或目錄】 【目標目錄】
剪切過去了,當然,wt目錄下就空了。現在我在wt/目錄下,我也可以不用絕對目錄,可以使用相對路徑。
當然,復制的時候可以改名,剪切的時候也可以改名。
rmdir 刪除空目錄
英語原意:remove empty dircetories
語法:rmdir 【目錄名】
只能刪除空目錄
rm 刪除文件
英語原意:remove
語法:rm 【選項】 【文件或目錄】
-r 刪除目錄
-f 不提示確認信息(你連唯一後海的機會都沒了)
linux是沒有類似於windows的回收站,刪除時就得注意了
做好備份操作
誤刪後盡量不要對硬盤進行讀寫操作,讀寫操作越多,恢復的可能性越小
cat 顯示文件內容
cat【選項】 【文件名】
-n 顯示行號
tac 顯示文件內容(反向顯示)
cat不適合用於長文件
more 分頁顯示文件內容
more 【文件名】
空格(或f) 翻頁
Enter 換行
q(或Q) 退出
1more /etc/services
less 分頁顯示文件內容(可向上翻頁)
pgug: 按鈕往上翻頁
上箭頭: 一行一行往上翻頁
搜索:輸入冒號進行命令行界面,例如輸入/service,搜索service,按n進行下一個匹配額關鍵詞
head 顯示文件前面幾行
語法:head【選項】【文件夾】 默認顯示前十行
-n 指定行數
tail 顯示文件後面幾行
語法:tail【選項】【文件名】
-n 指定行數
-f 動態顯示文件末尾內容
假如文件更新了,查看的時候就會動態的變化
三、軟鏈接和硬鏈接
ln 生成鏈接文件
英語原意:link
語法:ln [選項][原文件][目標文件]
-s 創建軟鏈接
1ln -s /etc/issue /tmp/issue.
soft
創建文件/etc/issue的軟鏈接/tmp/issue.sofe
軟鏈接:相當於為原文件創立一個快捷方式,可跨分區。
軟鏈接特征:
1、軟鏈接的權限全是lrwxrwxrwx,但文件的權限取決於對應著原文件的權限最終決定的。
2、文件大小——只是符號鏈接
3、/tmp/issue.soft——>/etc.issue ,箭頭指向源文件,硬鏈接沒有箭頭指向
1
ln /etc/issue /tmp/issue.hard
創建文件/etc/issue的硬鏈接/tmp/issue.hard
硬鏈接:硬鏈接文件完全等同於原文件,相當於使用了cp -p 命令
硬鏈接特征:
1、相當於使用了cp -p 命令 + 同步更新
硬鏈接會響應的同步更新,但是軟鏈接怎麼也更新了,軟鏈接歸根結底也就是在訪問原文件,當然也更新了。
2、源文件丟失,硬鏈接可以訪問,軟鏈接就找不到目錄了
3、可以看到硬鏈接和原文件的i節點是一樣的。一個文件必須有一個i節點,但是一個i節點並不只對應一個文件,硬鏈接就是一個很好的案例。這也恰好的解釋了為什麼會同步更新,當你對一個文件進行更新,其實是對一個i節點進行更新,同時使用一個i節點,所以就同步更細了。
4、跨分區
硬鏈接不能跨分區,軟鏈接可以。
5、針對目錄使用
硬鏈接不能針對目錄使用,軟鏈接可以。
硬鏈接的優點:實時同步更新。
相當於備份