歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 玩轉Linux命令之文件管理與編輯

玩轉Linux命令之文件管理與編輯

日期:2017/3/1 12:15:57   编辑:關於Linux

1 mkdir命令

功能說明
mkdir命令是用來創建一個目錄,mkdir是make directory的縮寫,其格式如下
mkdir[選項][目錄名]

mkdir命令的選項及其說明如下

選項 說明 -m 對新建目錄設置存取權限 -p 可以指定一個路徑,此次若路徑中的某些目錄尚不存在,加上此選項後,系統將自動創建那些不存在的目錄,也就是說一次創建多個目錄

使用案例

[root@CentOS7X64 guanglei]# mkdir -p parent/child/son #連續創建三個(層次)目錄

2 less命令

功能說明
如果一個文本文件比較長,一屏無法顯示完畢,就需要使用less命令,less命令讀寫文本文件時,每次顯示一屏,並且在每屏後暫停,如果此時按Enter鍵,more就會接著顯示文本的一行,依此類推,如果按空格鍵,就會繼續顯示另一屏的信息。同時可以使用鍵盤按鍵PageUp和PageDown來實現上下翻頁。其格式如下

less[選項]文件名

more命令的選項及其說明如下

選項 說明 -b 設置緩沖區大小 -e 當文件結束之後自動離開 -i 忽略搜索時的大小寫 -N 顯示每行的行號 -m 顯示類似more的百分比

快捷鍵
b 向後翻一頁
d 向後翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁

使用案例

[root@CentOS7X64 ~]# less /etc/services # 查看記錄網絡服務名和它們對應使用的端口號及協議的文件

3 cat命令

功能說明
cat命令是用來將文件的內容全部輸出到標准輸出,類似於DOS中的type命令,同時cat還可以實現用於連接合並文件,其格式如下
cat[選項] 文件名
或者是
cat 文件1 文件2 >文件3

cat命令的選項及其說明如下

選項 說明 -A 將文件的制表符顯示為”^I”,同時在每行的末尾顯示一個$符號 -b 將文件中所有的非空內容按照順序編號,編號從1開始

使用案例

[root@CentOS7X64 ~]# cat -Ab /etc/services #查看記錄網絡服務名和它們對應使用的端口號及協議的文件

創建兩個帶測試數據的文件file1,txt,file2.txt

[root@CentOS7X64 ~]# echo "this is file1.txt's content" > file1.txt
[root@CentOS7X64 ~]# echo "this is file2.txt's content" > file2.txt 

使用cat將fiel1.txt和file2.txt倆文本文件的內容輸出到file3.txt

[root@CentOS7X64 ~]# cat file1.txt file2.txt >file3.txt 
[root@CentOS7X64 ~]# cat file3.txt #查看file3.txt的文件內容
this is file1.txt's content
this is file2.txt's content

4 vimdiff命令

功能說明
vimdiff以逐行的方式比較文本文件的異同,首先保證系統中的diff命令是可用的,Vim的diff模式是依賴於diff命令的。其格式如下
vimdiff [options] file1 file2 [file3 [file4]]

當執行vimdiff進行文件比較時,屏幕被垂直分割,左右兩側分別顯示被比較的兩個文件。兩個文件中連續的相同的行被折疊了起來,以便使用者能 把注意力集中在兩個文件的差異上。只在某一文件中存在的行的背景色被設置為藍色,而在另一文件中的對應位置被顯示為綠色。兩個文件中都存在,但是包含差異 的行顯示為粉色背景,引起差異的文字用紅色背景加以突出。

使用案例

[root@CentOS7X64 ~]# vimdiff file1.txt file2.txt #以類似於圖形化界面的方式比較兩個文件的異同

5 grep命令

功能說明
grep命令是Linux下的文本過濾工具,grep根據指定的字符串,對文件的每一行進行搜索,如果找到了這個字符串,就輸出該行內容,其格式如下
grep [選項] 需要查找的字符串文件名
grep命令的選項很多,這裡列舉出最常見的選項說明

選項 說明 -A NUM 除了列出符合條件的行外,同時列出每個符合條件行的後NUM行 -c 只顯示符合條件的行數,不顯示每行的信息 -i 搜索時忽略大小寫 -n 在搜索結果中顯示行號 -v 過濾掉指定內容的行 -E 過濾多個字符串 -o 輸出多個精確匹配的字符,而不是整行

使用案例

創建並顯示測試數據的內容

[root@CentOS7X64 ~]# cat tony.txt 
java 
JAVA
Linux
unix
[root@CentOS7X64 ~]# cat tony.txt |grep -vin "java" #查看過濾掉指定內容的文件,並顯示行號
3:Linux
4:unix
5:

6 rm命令

功能說明
rm命令用來刪除某個目錄及其下的所有子目錄或者文件。對於鏈接文件,只是斷開了鏈接,原文件保持不變,其格式如下
rm [選項] 文件或者目錄
rm 命令的選項及其說明如下

選項 說明 -r 遞歸刪除指定的目錄及其下的所有子目錄或者文件 -f 忽略不存在的問題,也不給出提示 -i 交互式刪除,在刪除文件時給出提示

使用案例
生產環境最好不要使用該命令,如果真的要刪除文件,最好使用cp命令備份
或者使用mv移到一個臨時目錄

[root@CentOS7X64 ~]# rm -i file1.txt file2.txt #使用交互式刪除兩個文本文件
rm: remove regular file ‘file1.txt’? y
rm: remove regular file ‘file2.txt’? y

7 touch 命令

功能說明
touch 命令用來改變指定文件的訪問時間和修改時間,若指定文件不存在則創建此文件,如果沒有指定時間,則使用當前時間,其格式如下
touch [選項] 設定的時間文件
touch命令的選項及其說明如下

選項 說明 -a 改變文件的訪問時間為系統當前時間,無需設置時間選項 -m 改變文件的修改時間為系統當前時間,無需設置時間選項 -c 如果文件不存在,不創建 也不提示 -d或者-t 使用指定的日期或者時間

使用案例

[root@CentOS7X64 ~]# touch test.txt #創建一個測試文件
[root@CentOS7X64 ~]# ls -l #查看測試文件的信息
total 0
-rw-r--r--. 1 root root 0 Feb 27 23:13 test.txt
[root@CentOS7X64 ~]# touch -a test.txt #改變文件的訪問時間為當前系統時間

8 cp命令

功能說明
cp命令用來將給出的文件或者目錄復制到另外一個文件或者目錄中,cp與Windows下的copy命令類似,但是cp更加強大,其格式如下
cp [選項] 源文件或者目錄 目標文件或者目錄
cp命令的選項及其說明如下

選項 說明 -a 在復制目錄時使用。它保留所有的信息,包含文件鏈接,文件屬性,並遞歸的復制目錄 -r 若給出的源文件是一個目錄文件,此時cp將遞歸復制該目錄下的所有子目錄和文件,此時的目標文件必須為一個目錄名 -d 復制時保留鏈接,這樣不會失去鏈接文件 -p 保留文件的修改時間和存儲權限 -i 如果已經有相同文件名的目標文件,則提示用戶是否覆蓋

使用案例

[root@CentOS7X64 ~]# cp -r ./* /tmp/ #將當前目錄下的所有文件和目錄復制到/tmp目錄中

9 find命令

功能說明
find命令用來在指定的路徑下查找文件,其格式如下
find path-name [-options] [-print -exec -ok命令 {}\;]
find 命令的選項具體說明如下:
path-name:find命令查找文件的路徑,例如可以使用”.”表示當前目錄,用”/”表示系統根目錄
-options:find命令的這個選項主要是用來控制搜索的方式,這裡列出常見的控制方式

格式 說明 -name ‘字符串’ 查找文件名匹配所給字符串的所有文件,字符串內可以使用通配符*、?、[] -type 文件類型 按照指定的文件類型搜索,文件類型包括b(塊設備文件),c(字符設備文件),f(普通文件),l(符號鏈接),d(目錄),p(管道),s(socket)文件 -gid n 查找屬於ID號為n的用戶組的所有文件 -uid n 查找屬於ID號為n的用戶的所有文件 -empty 查找大小為0的目錄或者文件 -path’字符串’ 查找路徑名匹配所給字符串的所有文件,字符串內可以使用通配符*、?、[] -size n 查找文件長度為n塊的文件,帶有c時表示文件長度以字節計算 -user’字符串’ 查找屬於用戶名為所給字符串的所有文件 -mtime +n或者-n 按時間搜索,+n表示n天之前的,-n表示今天到n天前之間的 -prune 指出搜索時不搜索該目錄,如果同時使用-depth,那麼該選項被find命令忽略

使用案例

1 查找系統根目錄下所有大小為0的普通文件,並列出它們的完整路徑

[root@CentOS7X64 ~]# find / -type f -size 0 |xargs ls -al

2 刪除一個目錄下的所有文件但保留一個指定的文件

[root@tony data]# echo "this is test content" >tony.txt  #創建文本測試數據
[root@tony data]# echo "this is test content" >tom.txt  #創建文本測試數據
[root@tony data]# find /data/ -type f ! -name "tony.txt"|xargs rm -rf

10 mv命令

功能說明
mv命令用來將文件或者目錄改名或者將文件由一個目錄移入到另外一個目錄中。其格式如下
mv [選項] 源文件或目錄 目標文件或者目錄
mv命令的選項及其說明如下

選項 說明 -i 交互式覆蓋 -f 禁止交互式操作,在mv將要覆蓋某個文件或者目錄時,不給任何提示,默認覆蓋

使用案例

使用mv實現文件的重命名

[root@CentOS7X64 ~]# ll
total 0
-rw-r--r--. 1 root root 0 Feb 27 23:14 test.txt
[root@CentOS7X64 ~]# mv test.txt test_new.txt
[root@CentOS7X64 ~]# ll
total 0
-rw-r--r--. 1 root root 0 Feb 27 23:14 test_new.txt
Copyright © Linux教程網 All Rights Reserved