Linux基礎命令詳解

2021-09-24 22:47:49 字數 4089 閱讀 6049

1 遍歷目錄

cd:change dicrectory的縮寫

.或者./代表當前目錄,..或../代表上一級目錄,cd -代表進入上一次的目錄。

2 檔案和目錄列表

ls:list的縮寫,會顯示目錄下的檔案。

用法:ls [-lafr] [dir],其中-f表示在目錄後加/表示區分,-r為遞迴顯示。

3 處理檔案

3.1 建立檔案touch

命令格式:touch  [-acdfmrt]  檔案

命令引數:

-a  或--time=atime或--time=access或--time=use  只更改訪問時間

-c  或--no-create  不建立任何文件

-d  使用指定的日期時間,而非現在的時間

-f  此引數將忽略不予處理,僅負責解決bsd版本touch指令的相容性問題

-m   或--time=mtime或--time=modify  只更改變動時間。

-r  把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同。

-t  使用指定的日期時間,而非現在的時間

命令功能:

touch命令引數可更改文件或目錄的日期時間,包括訪問時間和更改時間

使用範例:

例項一:建立不存在的檔案  

touch  a.log  b.log  一次建立了兩個日誌檔案

3.2 複製檔案cp

命令格式:cp [-ipru] [file/dir]

命令引數:

-i   覆蓋檔案之前先詢問

-p  保留原始檔或目錄的屬性,包括所有者、所屬組、許可權與時間

-r  遞迴處理,將指定目錄下的檔案及子目錄一併處理,通常用作複製目錄

-u  使用這項引數之後,只會在原始檔的修改時間(modification time)較目的檔案更新時,或是名稱相互對應的目的檔案並不存在,才複製檔案

命令功能:

cp可用於檔案或者目錄的拷貝

使用範例:  

[root@leon data]# cp -p ett.xtx tte.txt   保留檔案屬性拷貝,並更名為tte.txt

3.3 移動或重新命名檔案mv

命令格式:mv [-bfiut] [file/dir]

命令引數:

-f  force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋

-i  若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋

-u  若目標檔案已經存在,且 source 比較新,才會更新(update)

命令功能:

mv命令可用於修改檔案或者目錄的名字

使用範例:

[root@leon data]# mv tte.txt changename.txt  修改tte.txt的名字

3.4  刪除檔案rm

命令格式:rm [-irf]  [file/dir]

命令引數:

-i  進行任何刪除操作前必須先確認

-f  強制刪除

-r  遞迴刪除

命令功能:

rm用於刪除檔案,一般常和find在一起使用,這點我們在find用法中會講到。

使用範例:

[root@leon data]# rm -fr test/

4 處理目錄

4.1  建立目錄mkdir

命令格式:mkdir [-mpv] [dir]

命令引數:

-m  mode,為目錄指定訪問許可權,與chmod類似

-p  如果目錄已經存在,則不會有錯誤提示。若父目錄不存在,將會建立父目錄。該選項常用於建立級聯目錄。

-v  為每個目錄顯示提示資訊

命令功能:

建立單個目錄或者級聯目錄。

使用範例:   

[root@leon data]# mkdir -p blog/}

[root@leon data]# tree blog/

blog/

├── bin

├── lib

└── var

├── doc

├── etc

└── logfile

4.2 刪除目錄rmdir

預設情況下rmdir命令只是用來刪除空目錄的,非空目錄的刪除需要用rm -fr來遞迴刪除,這樣用的風險很大,所以一般會和find聯合使用。

5 檢視檔案

5.1 cat命令

命令格式:cat [-nbt] [file]

命令引數:

-n  給所有的行加上行號

-b  只給文字加上行號

-t  不顯示製表符,用^i代替

命令功能:

檢視整個檔案內容

5.2 more/less

命令功能:  

分頁顯示,比cat更方便。

5.3 檢視部分檔案

5.3.1 tail命令

命令引數:

-n  顯示最後多少行的資訊

命令功能:

顯示尾部***行資訊

使用範例:   

[root@leon data]# tail -n 3 a.txt 

1819

205.3.2 head命令

命令引數:

同tail

命令功能:

顯示頭部***行資訊

使用範例:  

[root@oldboy data]# head -n 3 a.txt 12

36 find查詢命令

命令格式:find [路徑] [引數選項] 

命令引數:

-name  按照檔名查詢檔案。 

find /data -name filename  在/data目錄及其子目錄下面查詢名字為filename的檔案 

find . -name "*.sh" 在當前目錄及其子目錄(用「.」表示)中查詢任何擴充套件名為「sh」的檔案   

-perm   按照檔案許可權來查詢檔案。 

find . -perm 755  在當前目錄下查詢檔案許可權位為755的檔案

-prune  使用這一選項可以使find命令不在當前指定的目錄中查詢,如果同時使用-depth選項,那麼-prune將被find命令忽略。 

-user  按照檔案屬主來查詢檔案

find ~ -user root  在$home目錄中查詢檔案屬主為sam的檔案

-group  按照檔案所屬的組來查詢檔案

-mtime  按照檔案的更改時間來查詢檔案

+7:表示7天以前

-7:最近七天

7:第七天

-type  按照檔案型別查詢

b - 塊裝置檔案

d - 目錄 

c - 字元裝置檔案

p - 管道檔案

l - 符號鏈結檔案 

f - 普通檔案

-size n:[c] 查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計

在使用find命令的-exec選項處理匹配到的檔案時, find命令將所有匹配到的檔案一起傳遞給exec執行。但有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令執行幾分鐘之後,就會出現溢位錯誤。錯誤資訊通常是「引數列太長」或「引數列溢位」。這就是xargs命令的用處所在,特別是與find命令一起使用。

find命令把匹配到的檔案傳遞給xargs命令,而xargs命令每次只獲取一部分檔案而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分檔案,然後是下一批,並如此繼續下去。

在有些系統中,使用-exec選項會為處理每乙個匹配到的檔案而發起乙個相應的程序,並非將匹配到的檔案全部作為引數一次執行;這樣在有些情況下就會出現程序過多,系統效能下降的問題,因而效率不高;而使用xargs命令則只有乙個程序。另外,在使用xargs命令時,究竟是一次獲取所有的引數,還是分批取得引數,以及每一次獲取引數的數目都會根據該命令的選項及系統核心中相應的可調引數來確定

find刪除

[root@leon home]#find . -type f -name "*.txt" | xargs rm -f(推薦刪除)

find+sed

[root@leon data]# find . -type f -name "*.sh" | xargs sed 's/oldboy/oldgirl/g'

Linux基礎命令詳解

linux基本命令詳解 在2020 9 25日參加鄒聖林老師的linux基礎命令培訓後,做的學習報告總結 首先學習使用 man 來看命令的語法,通過man的幫助來正確使用命令的語法。命令 tab鍵 命令補齊功能 history 歷史記錄 vim 文字編輯器 vim etc resolv.conf 命...

Linux基礎 seq命令詳解

seq squeue 序列 用來列印序列化的內容 通過man seq我們可以看到,主要支援這麼幾種語法 seq print a sequence of numbers synopsis seq option last 末位 seq option first last 首位 末位 seq option...

Linux常用基礎命令詳解

在linux系統中一切皆檔案,linux檔案系統中檔案沒有字尾名。簡寫檔案型別 普通檔案 d目錄檔案 b塊裝置檔案 c字元裝置檔案 ssocketp管道 l軟連線檔案 普檔案是計算機操縱系統用於存放資料 程式等資訊的檔案,一般都長期儲存於外部儲存器 磁碟 磁帶等 中。普通檔案一般包括文字檔案 資料檔...