目錄
檔案管理指令
touch 建立檔案,修改檔案的時間戳
mkdir 建立目錄
rm 删除檔案或目錄
gedit 圖形的文本編輯器
vim 文本編輯器
vim異常退出
cat 顯示檔案的全部内容
head 檢視檔案的前幾行
tail 檢視檔案的後幾行
less 分頁檢視檔案内容
cp 複制檔案
mv 移動檔案
file 檔案類型檢視
wc 檔案容量統計
Linux中的檔案的尋址
Linux系統結構
絕對路徑和相對路徑
關于檔案尋址的指令
pwd 顯示目前的工作目錄
cd 切換目前的工作目錄
ls 顯示檔案資訊
檔案批量處理
字元表示方法
字元集合表示方法
檔案管理指令
touch 建立檔案,修改檔案的時間戳
touch file #建立一個新檔案file,并把檔案時間同步到目前時間
touch file1 file2 #建立多個檔案file1,file2
touch -t YYYYMMDDHHmm file #将檔案建立時間更改到指定時間YYYYMMDDHHmm
mkdir 建立目錄
mkdir dir #建立新的空目錄dir
mkdir dir1 dir2 #建立多個新的空目錄dir1,dir2
mkdir -p linux/study/unit1 #建立多層目錄
rm 删除檔案或目錄
rm file file1 #删除指定檔案并有删除提示
rm -f file #強制删除檔案沒有删除提示
rm -r dir1 dir2 #删除目錄
rm -fr dir #删除目錄
gedit 圖形的文本編輯器
gedit #打開一個圖形式文本編輯器
gedit file #建立一個名為file的文本檔案并打開圖形式文本編輯器
vim 文本編輯器
vim file #進入到vim的檔案浏覽模式
在vim的浏覽模式中不能編輯檔案内容,按 i 進入插入模式(即編輯模式);
在vim中滑鼠不能控制光标,需要通過上下左右鍵來移動光标;
按Esc退出退出插入模式;
按:wq儲存更改并退出檔案位置;
按:q對檔案不做任何操作直接退出
按:q!對檔案修改内容後但不想儲存可以強制退出
vim異常退出
當vim編寫檔案時,在未儲存更改内容的情況下被強制關閉,vim出現異常
[0] 隻讀打開檔案
(E) 繼續編輯
(R) 恢複未儲存内容編輯
(D) 删除.swp檔案進入編輯
(Q) 退出目前檔案編輯
(A) 退出vim程式
cat 顯示檔案的全部内容
cat file #顯示檔案file的内容
cat -b file #顯示檔案内容并顯示行号,不顯示空行的行号
cat -n file #顯示檔案内容并顯示行号
head 檢視檔案的前幾行
head file #預設顯示檔案前10行
head -n file #n表示數字,顯示檔案file的前n行内容
tail 檢視檔案的後幾行
tail file #預設顯示檔案file的後10行内容
tail -n file #n表示數字,顯示檔案的後n行内容
less 分頁檢視檔案内容
less file #進入less模式檢視檔案file的内容
cp 複制檔案
複制的原理:
按照源檔案建立新檔案,相當于你抄别人作業(bushi)。你抄完别人作業,你自己有一份完整的作業,同時被抄作業的可憐蟲自己的作業也還在。(想當年都是别人抄我作業doge)
cp file1 file2 #複制file1的内容到file2中,但不重寫file2
cp file1 file2 dir #複制file1和file2到目錄dir中
cp -r dir1 dir2 #複制目錄dir1到目錄dir2中
mv 移動檔案
移動的原理:
相同裝置分區中的檔案移動是重命名過程;
不同分區的檔案移動是建立删除的過程;
移動檔案會重寫檔案内容,複制檔案則不同
mv file1 file2 dir #移動file1和file2到目錄dir中
mv dir dir1 #移動dir到dir1中
mv file 不存在的file #給file重命名為不存在的file的名稱(好繞口)
file 檔案類型檢視
file file1 #檢視file1的檔案類型
wc 檔案容量統計
wc -l file #統計檔案file的行數
wc -m file #統計檔案file的字元數
wc -w file #統計檔案file的單詞數
wc -c file #統計檔案file的位元組數
Linux中的檔案的尋址
Linux系統結構
FHS(Filesystem Hierarchy Standard)是Linux系統的層級結構标準3,在Linux中一切都是檔案。
/ 根是Linux的頂級目錄,rm -fr /*指令千萬不能在伺服器上執行(跟DBA删庫有異曲同工之妙啊,真是妙蛙種子)
系統的二級目錄
/bin #系統正常指令
/sbin #系統管理指令
/dev #裝置檔案
/home #普通使用者家目錄集合,此目錄中的子目錄為普通使用者家目錄
/root #超級使用者家目錄
/lib64 #64位函數庫
/lib #系統資料庫
/proc #程序資訊,系統識别的硬體資訊
/run #目前運作的硬體和系統子產品
/srv #系統資料(常量)
/var #系統資料(變化)
/tmp #系統臨時檔案存放目錄
/mnt #臨時裝置挂載點
/media #cdrom臨時挂載點
/etc #系統大多數程式的配置目錄
/opt #第三方軟體安裝位置
/boot #系統啟動分區,系統啟動時讀取的檔案都在其中
/sys #關于核心設定目錄
/usr #unix system resource 重要性僅次于 / ,多數系統資源都在該目錄中
絕對路徑和相對路徑
絕對目錄:
檔案在系統中的真實位置,在任何場景下都可以使用。通常以 / 開頭,不會考慮目前系統位置。
相對路徑:
絕對路徑名稱的簡寫,省略了目前使用者所處的系統位置,此名稱隻有在管理目前所在系統目錄中子檔案時才能使用,系統中不以 / 開頭的檔案名都為相對路徑,在程式操作時會自動識别目前路徑的資訊并關聯操作目标。
關于檔案尋址的指令
pwd 顯示目前的工作目錄
cd 切換目前的工作目錄
cd #切換目前工作目錄
cd ~- = cd - #切換上一級目錄
cd .. #切換目前目錄的上級目錄
ls 顯示檔案資訊
ls #顯示目前目錄中檔案的名稱
ls file #顯示指定檔案名稱
ls dir #顯示目錄中内容的名稱
ls -d dir #顯示目錄本身的名稱
ls -l file #顯示檔案屬性
ls -l dir #顯示目錄中内容的屬性
ls -ld dir #顯示目錄本身的屬性
ls -a dir #顯示目錄中所有檔案名稱包括隐藏檔案
ls -s #顯示檔案大小
ls -R dir #遞歸顯示目錄中的内容
檔案批量處理
字元表示方法
* #比對任意字元
? #比對單個字元
[[:alpha:]] #比對單個字母
[[:lower:]] #比對單個小寫字母
[[:upper:]] #比對單個大寫字母
[[:digit:]] #比對單個數字
[[:alnum:]] #比對單個數字或字母
[[:punct:]] #比對單個符号
[[:space:]] #比對單個空格
字元集合表示方法
[] #條件/關系是模糊比對,對象和括号中的内容比對就進行相應操作
#[1-10]指1-10 [!2-4][^a-z]除了括号中的内容
{} #點名機制,精準确定集合中的每一個元素
#{1..4}指1,2,3,4 {a..d}指a,b,c,d
~ #預設代表目前使用者家目錄
~username #指定的使用者家目錄
~+ = . #目前目錄
~- #目前目錄之前所在的目錄
.. #目前目錄的上級目錄