1. 程式人生 > >在Linux中如何讓檔案俯首稱臣

在Linux中如何讓檔案俯首稱臣

對於檔案的管理

檔案在任何作業系統中都是最基礎的組成單元,在Linux這樣的對於文字處理尤為強悍的系統顯得更加重要。

touch 命令

touch在英文中的意思是觸控,而在linux的terminal中則代表著建立一個檔案。
在這裡插入圖片描述
按下回車,可以看到桌面上已經建立了一個檔案
在這裡插入圖片描述
注意:
touch不但可以建立檔案,還可以更改檔案的時間戳
stat file ##檢視file檔案的時間戳
在這裡插入圖片描述
時間戳分為:
atime(access):檔案內容被訪問的時間標識
mtime(modify):檔案內容被修改的時間標識
ctime(change):檔案屬性或檔案內容被修改的時間標識

對於目錄的管理

在Linux中,目錄(也就是Windows中的資料夾)的建立命令與檔案截然不同

mkdir命令

mkdir加上所要建立的資料夾名就可以建立你想要的檔案夾了
在這裡插入圖片描述
按下enter,可以看到建立了一個資料夾
在這裡插入圖片描述

然而我們常常會有需要一次建立多層資料夾的時候,此時直接使用mkdir命令會出現問題

比如說我們新建一個hmc資料夾,並且想要hmc裡面有一個123資料夾,那麼用mkdir命令就是這樣
在這裡插入圖片描述
敲下回車發現出了點小問題
在這裡插入圖片描述
原來直接這樣使用是不行的,我們需要加上一個引數(引數就是當你需要使用命令的某一個特殊功能時所需要新增的)-p,-p的作用就是直接建立遞迴目錄
在這裡插入圖片描述
敲下回車,可以看到已經成功建立了我們想要的目錄
在這裡插入圖片描述


開啟看一看
在這裡插入圖片描述

刪除操作

在Linux中rm命令表示刪除
rm file
rm -f file -f=force 標示強制刪除不提示
在這裡插入圖片描述
刪除名為file的檔案,這時電腦會詢問是否真的要刪除
在這裡插入圖片描述
y代表yes,n代表no
在這裡插入圖片描述
那麼一旦檔案多了,你就會感覺電腦比你的女朋友還要磨嘰,煩死了怎麼辦
加上-f,讓電腦閉嘴別磨嘰
在這裡插入圖片描述在這裡插入圖片描述
在對於目錄的刪除上,大體與檔案一致,只有當存在遞迴目錄時,有少許不同
rm -r directory -r標示遞迴刪除,也就是刪除目錄本身和裡面的所有內容
rm -r -f dir 刪除目錄不提示
rm -rf dir 在命令引數使用過程中等同於 rm -fr dir,-a -b -c =-abc =-bac ,順序是不需要注意的。

編輯檔案

1.gedit
gedit file ##必須有圖形
在這裡插入圖片描述在這裡插入圖片描述
2.vim
vim file -->按[i]進入insert模式–>書寫內容–>按[esc]退出insert模式–>:wq退出儲存
在這裡插入圖片描述
作用和gedit基本一致,只不過vim在文字操作介面也可以顯示,而gedit則不行

vim異常退出

當vim異常退出時會生成.file.swp檔案(file檔案橫死的冤魂,屬於隱藏檔案)

當再次開啟此檔案時會出現以下情況:
file name: ~kiosk/Desktop/hello
modified: YES
user name: kiosk host name: foundation0.ilt.example.com
process ID: 31820
If this already, delete the swap file “.hello.swp” <<<此檔案中存放的是未儲存的資料,並且是隱藏檔案

Swap file “.hello.swp” already exists!
[O]pen Read-Only, (E)dit anyway, (R )ecover, (D)elete it, ~~~(Q)uit, (A)bort:
~~~~~只讀開啟 ~~~~~繼續編輯 ~~恢復資料 ~ 刪除swap檔案 退出 ~~ 退出

這時無論按[O] (E) (R ) (Q) (A) 任何一個都不會刪除.swp檔案
那麼再次開啟hello檔案是還會出現以上介面直到按(D).swp檔案被刪除
vim恢復正常工作

檔案的複製

cp 原始檔 目的地檔案
cp -r 源文目錄 目的地目錄
cp 原始檔1 原始檔2 目的地目錄 ##目的地目錄必須存在
cp -r 源目錄1 源目錄2 目的地目錄 ##目的地目錄必須存在
在這裡插入圖片描述

檔案移動

mv 原始檔 目的地檔案 ##重新命名
mv 源目錄 目的地目錄
在這裡插入圖片描述
注意:
相同磁碟的檔案移動只是一個重新命名過程
不同磁碟的檔案移動是複製刪除過程
(所以這就是為什麼你把D盤的20G檔案移到D盤的另一個資料夾會比從E盤將一個1G的檔案移到D盤還要快)

8.檔案檢視####

cat file ##檢視檔案的全部內容
cat -b file ##-b顯示行號
在這裡插入圖片描述
less file ##分頁瀏覽
在這裡插入圖片描述
用法:
上|下 ##逐行移動
pageup|pagedown ##逐頁移動
/關鍵字 ##高亮顯示關鍵字,n向下匹配,N向上匹配
v ##進入vim模式 在vim模式中按:wq 退回到less模式
q ##退出

檔案的定址

1.檔案的地址分為:
相對路徑:
相對與當前系統所在目錄的一個檔名稱的簡寫,
此名稱省略了系統當前所在目錄的名稱
此名稱不以“/”開頭
此名稱在命令執行時會自動在操作物件前加入“pwd”所顯示的值
在這裡插入圖片描述
這時對於檔案和目錄的操作比如說touch file實際上是touch /root/Desktop/file後者也被稱為絕對路徑

絕對路徑:
	絕對路徑是檔案在系統的真實位置
	此命令是以“/”開頭的
	此命令在命執行時系統不會考慮現在所在位置的資訊

注意:
當操作物件是 物件1 空格 物件2 時,
這兩個物件之間沒有任何關係
豆角 茄子 ##這是2個物件
豆角茄子 ##這是一個物件

watch		##動作是被系統執行的,不能作為名稱出現
“watch”		##用引號的作用是把動作變成名稱字元,這種方法叫引用

自動補齊鍵TAB

系統中的TAB鍵可以實現命令的自動補齊

可以補齊系統中存在的命令,檔名稱,和部分命令的引數
當一次<TAB>補齊不了時代表以此關鍵字開頭的內容不唯一
可以用<TAB>X2來列出所有以此關鍵字開頭的內容
關於路徑的命令

1.顯示路徑
pwd

2.切換路徑
cd 目錄名稱 ##進入到指定目錄中
cd - ##當前目錄和當前目錄值前所在目錄之間的切換
cd ~ ##進入當前使用者家目錄
cd ~user ##進入user家目錄
cd … ##進入當前目錄的上級目錄
在這裡插入圖片描述

3.檢視
ls
ls -l file ##檔案屬性
ls dir ##目錄中保函的內容
ls -d dir ##目錄本身
ls -a dir ##所有檔案包含隱藏的
ls -S dir ##檢視並且按照大小排序
在這裡插入圖片描述
4.檔案檢視
cat ##輸出檔案全部內容
less ##分頁瀏覽
head file ##檢視檔案前10行
head -n 3 file ##檢視檔案前3行
tail file ##檢視檔案後10行
tail -n 3 file ##檢視檔案後3行
tail -f file ##監控檔案後10行內容的變化

5.檔案大小統計
wc
wc -l ##行數
wc -w ##單詞數
wc -m ##字元數
wc -c ##位元組數
在這裡插入圖片描述

系統中歷史的呼叫

history ##檢視歷史
history -c ##清空當前環境中的歷史
!數字 ##呼叫此行歷史比如"!5"是執行歷史中的第5條命令
!test ##執行以test關鍵字開頭的最近一條歷史
ctrl +r +關鍵字 ##呼叫歷史中最近一條含有此關鍵字的歷史
在這裡插入圖片描述

在系統中獲得幫助

1.檢視命令的用途
whatis 命令 ##檢視命令的用途
在這裡插入圖片描述
2.檢視命令的用法
命令 --help ##檢視命令的基本用法,適用於多數命令
[] ##標示選項可以加也可以不加
… ##標示選項加入的個數任意
<> ##標示選項是必須要加入的
Userage: ##標示命令用法
Opetions: ##對引數的作用做說明
在這裡插入圖片描述

3.man檢視命令或檔案的說說明手冊
man 命令
man 5 檔案
man的級別
1 #命令
2 #系統呼叫介面
3 #函式庫呼叫介面
4 #特殊裝置檔案
5 #系統配置檔案
6 #遊戲規則說明
7 #包說明
8 #系統管理命令
9 #核心呼叫規則
在這裡插入圖片描述
man的基本用法
上|下 ##逐行檢視
pgup|pgdn ##分頁檢視
/關鍵字 ##高亮顯示關鍵字,n向下匹配,N上向匹配
:q ##退出

man -k 字串 ##看下當前字串在系統中擁有的man的級別
在這裡插入圖片描述
上圖是系統中所有帶watch的命令在系統中擁有的man的級別

/usr/share/doc ##系統中所有安裝過的軟體的幫助文件(也就是相當於說明書)如下:
在這裡插入圖片描述
由於安裝的過多,這裡只展示一部分

系統中的通用配置符號

‘*’##匹配0到任意字元
‘?’ ##匹配單個字元
[[:alpha:]] ##單個字母
[[:lower:]] ##單個小寫字母
[[:upper:]] ##單個大寫字母
[[:digit:]] ##單個數字
[[:punct:]] ##單個符號
[[:space:]] ##單個空格
[[:alnum:]] ##單個數字或字母

在你需要搜尋某個檔案卻想不清名字時,或者在你需要刪掉一大堆檔案並且懶得一個一個寫名字時,適當的縮略會讓你事半功倍,emmmm…比如說這個命令rm -fr /*傳說中的刪根,如果你刪掉了,那麼恭喜你,這臺電腦就什麼檔案都沒了。所以注意:在使用縮略名之前一定要想清楚,萬一把哪個重要檔案也縮略進去就完了。

[1-9] #1位,這位是1-9的任意數字
[!3-5] #1位,不是3-5的數字
[^3-5] #1位,不是3-5的數字(和上面那個含義相同)
[a-z] #1位,a-z的任意字母
{1…3} #3個,1 2 3
{1,4,7} #3個1,4,7這三個數
在這裡插入圖片描述

注意:[]代表粗略查詢,系統不會一一檢視是否正確;而{}則代表精確查詢,系統會逐一查詢。在建立檔案時,要寫成file{1…3}就是建立file1,file2,file3三個檔案;而寫成file[1-3]就是建立一個檔案,這個檔案叫做file[1-3]

在這裡插入圖片描述

~ #當前使用者家目錄
~username #指定使用者的家目錄
~+ #當前目錄
~- #進入當前目錄之前所在目錄(olddir)
在這裡插入圖片描述