文件管理
linux在根目錄下保存有很多文件夾,每個文件夾都有相對應的作用:
1,bin:裝着系統的二進制程序,來供所有用戶使用。
2,sbin: 裝着僅供管理員使用的程序。
3,boot: 裏面裝的是系統的加載程序,這裏面的內存不能夠裝滿,必須預留的有空間,否則系統無法啓動。
4,home: 這個是普通用戶的家目錄,一旦創建普通用戶後,它默認的家目錄就在home下。
5,dev: 裝的是系統的硬件設備文件,比如硬盤,光盤等等。
6,erc: 這個裝的是系統的配置文件。
7,tmp: 裝的是系統的臨時文件,相當於Windows的回收站,這個目錄下的文件,系統會定時清理。
8,mnt,media:這兩個是給其他硬件設備掛載用的,是它們的掛載點。一般建議cd,usb,hard等設備文件都掛載在mnt目錄下,方便查看到。
9,opt: 當系統安裝一些程序時,一般會安裝在這個目錄下。
10,lib: 程序啓動時依賴的基本共享庫以及內核模塊文件。
11,srv: 當前主機的一些服務的數據。
12,usr: 全局共享的只讀文件的路徑。
注:可用ls命令查看,ls命令默認有別名,查看不同的文件時會顯示不同的顏色,可以用轉義符\來取消別名
linux中文件名最長有255字節,加上路徑文件名稱最長4095個字節
linux中默認的文件類型:
- 普通文件
d 目錄文件
b 塊設備
c 字符設備
l 符號鏈接文件
p 管道文件
s 套接字文件
絕對路徑與相對路徑區別:
1,絕對路徑前有/,相對路徑沒有
2,絕對路徑相當於從根目錄開始尋找文件,相對路徑是指相對當前目錄而言
取基名:basename
取目錄名:dirname
常用字符類通配符:
[:digit:]:任意數字,相當於0-9
[:lower:]:任意小寫字母
[:upper:]: 任意大寫字母
[:alpha:]: 任意大小寫字母
[:alnum:]:任意數字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:標點符號
[:print:]:可打印字符
文件管理常用的命令:mv,cp,rm,cd,file,stat,touch,mkdir,rmdir
mv:
-i 交互式
-f 強制
-b 目標存在,覆蓋前先備份
cp:
?-p 複製權限?
-v --verbose 顯示拷貝的過程?
-f --force 強制覆蓋?
-u --update 只複製源比目標更新文件或目標不存在的文件 ?
-b 目標存在,覆蓋前先備份,形式爲 filename~ ?
--backup=numbered 目標存在,覆蓋前先備份加數字後綴
rm:
-i 交互式
-f 強制刪除
-r 遞歸
mkdir:
-p: 存在於不報錯,且可自動創建所需的各目錄
-v: 顯示詳細信息
-m: 創建目錄時直接指定權限
rmdir:
-p: 遞歸刪除父空目錄
-v: 顯示詳細信息
touch:
-a: 更改存取時間
-m: 更該變動時間
-t: 更改成指定時間,格式年月日時分.秒
stat:查看文件的詳細信息
file: 查看文件類型
i節點: 一個i節點包含這個文件的所有信息。如文件類型:文件類型,權限,UID,GID,鏈接數..
特徵:每個分區都有一套屬於這個分區i節點,一個目錄是目錄下的文件名和文件inode號之間的映射
查看:
1,ls -i
2,stat
i節點指針分類:
直接指針:有12個指針,指向一個磁盤簇,最多表示48K
間接指針:有1024個,最多表示4M
雙重間接指針:最多表示4G
三重間接指針,四重間接指針...
硬鏈接與軟鏈接:
創建命令:ln(硬鏈接)
ln -s(軟鏈接)
區別:
1,軟鏈接可以跨系統,而硬鏈接只能在當前系統分區下創建
2,硬鏈接的創建時間和原始文件的時間一樣,軟鏈接和當前創建的時間一樣
3,硬鏈接的節點號和軟鏈接的一樣,而軟鏈接則不同
4,硬鏈接把原始文件刪除後,不會影響硬鏈接的訪問。而軟鏈接把原始文件刪除後,軟鏈接無法打開
5,硬鏈接不支持文件夾,而軟鏈接支持文件夾
注:linux系統中刪除文件夾的原理:
在刪除文件夾時,只是刪除文件夾的文件名,而其中的文件並沒有刪除,而是將文件變成了free狀態。當有數據寫入時,寫入的數據覆蓋掉原始文件
標準輸入與標準輸出:
標準輸入:0
標準輸出:1
標準錯誤:2
輸出重定向與輸入重定向:
>:將正確輸出重定向到文件中,但是錯誤輸出顯示到屏幕上
2>: 將錯誤輸出重定向到文件中,正確輸出顯示到屏幕上
&>:將正確和錯誤輸出都定向到文件或設備之中
追加與覆蓋
>:將輸出覆蓋到源文件之中,源文件內容消失
>>:將輸出追加到源文件的末尾
注:用set -C 禁止覆蓋源文件,可用>|強制進行覆蓋
當把多個文件重定向到一個文件中時,可以用(cmd;cmd)> file.txt。利用;號做爲命令的分隔符
常用的字符替換和刪除命令tr:
-c 取字符集的補集
-d 刪除所有屬於第一字符集的字符
-s 把連續重複的字符以單獨一個字符表示
-t 將第一個字符集對應字符轉化爲第二字符集對應的字符
注:tr命令可以對文件內容進行簡單加密,且tr命令接受輸入重定向
向系統中的用戶發送郵件,可以用自帶的郵件系統mail來實現
mail:
-s:指定郵件的主題
注:mail只可向系統內部發送郵件
管道符:|
linux中可以用管道符來連接多個命令,並把前一個命令的輸出當做後一個命令的輸入,從而達到由小程序組合成複雜功能的目的。
如常用的文件查看命令more,less等等