前言從本篇文章開始,每篇文章將寫10個Linux命令,個人的寫作想法是:
1、常用的Linux命令,那些生僻的、不常用的就不寫了
2、從實際考慮,只列出每個命令常見的用法和參數選項,有興趣了解進一步的用法可以自己上網去查詢
viLinux環境下的文本編輯器
vi基本上可以分為三種操作狀態,分別是命令模式、插入模式、底線命令模式,各功能的功能區分如下:
1、命令模式
控制屏幕光標的移動,字符或光標的刪除,移動復制某區段及進入插入模式
2、插入模式
只有在插入模式下,才可以做文字數據輸入,按ESC等可以回到命令模式
3、底線命令模式
將存儲文件或離開編輯器,也可以設置編輯環境,如尋找字符串、列出行號等
注意,進入vi後是處於命令模式下的,要切換到插入模式才能輸入文字。在命令模式下按"i"、"a"或是"o"切換到插入模式。在插入模式下,有一些命令:
i:插入,從目前光標所在之處插入所輸入的文字
a:增加,從目前光標所在的下一個字開始輸入文字
o:插入新的一行,從行首開始輸入文字
在插入模式下,只能一直打字,如果發現字打錯了,要先按ESC切換回命令模式,再把光標往回移動,最後刪除打錯的字符。刪除有一些命令:
x:每按一次刪除光標所在位置的後面一個字符
#x:例如6x表示刪除光標所在位置後面的6個字符
dd:刪除光標所在行
這是命令模式,在命令模式下按":"、"/"、"?"都可以進入底線命令模式,底線命令模式下有一些命令:
:set nu:在文章的每一行前面列出行號
/關鍵字:向後搜索關鍵字,假如不是想要的,按n繼續向後搜索
?關鍵字:向前搜索關鍵字,假如不是想要的,按n繼續向前搜索
:w:保存文件
ls用來打印當前目錄的清單,可以指定其他目錄
-a:列出目錄下所有的文件,包括以"."開頭的隱藏文件
-l:除了文件名外,還列出文件權限、所有者、大小等詳細信息
-r:反向次序排列
-t:以文件修改時間排序
-g:類似-l,但是不列出所有者
-h:以容易理解的文件格式列出(如1K、234M、2G)
例如:
ls -l t*:列出所有文件名以"t"開頭的文件信息
cd切換文件目錄至dirName
例如:
cd /:進入系統根目錄
cd aa/bb/cc:跳轉到指定目錄,注意這裡"aa"前沒有"/",指從當前目錄跳轉到指定目錄
cd ~:進入系統主目錄
cd ..:跳轉到上一級
pwd查看當前工作目錄的完整路徑
mkdir用來創建指定的名稱的目錄,要求創建目錄的用戶在當前目錄中具有寫權限,並且指定的目錄名不能是當前目錄中已有的目錄
-m:創建目錄的時候設定權限
-p:若創建目錄的路徑中有些路徑不存在,可一次性地建立多個目錄
例如:
mkdir test1:創建一個空目錄test1
mkdir -p test1/test2:遞歸創建多個目錄
mkdir -m 777 test:在創建目錄test3的時候給此目錄賦予777的權限
rm刪除一個目錄中的一個或多個文件或目錄,它可以將某個目錄及其下所有文件及子目錄刪除。對於鏈接文件,只是刪除了鏈接,原有文件均保持不變
-f:強制刪除且不給出提示
-r:將參數中列出的目錄路和子目錄均遞歸刪除
-v:顯示詳細進行的步驟
例如:
rm -rf *.log:刪除任何.log文件並且不詢問用戶
mv可以用來移動文件或者將文件改名,常用來備份文件或目錄
例如:
mv log1.txt log.txt test3:將log1.txt、log2.txt移動到test3文件夾中
mv dir1 dir2:如果dir2不存在,則將dir1改名為dir2;如果dir2存在,則將dir1移入dir2中
mv * ../:移動當前文件夾下所有文件至上一級目錄
mv test3/*.txt test5:將test目錄下所有的.txt文件全部移動到test5文件夾下
cp復制文件或目錄
例如:
cp log.log test6:將log.log復制進入test6目錄下
catcat主要有三個功能:
1、一次性顯示整個文件2、從鍵盤創建一個文件
3、將幾個文件合並為一個文件順便提一句,tac這個命令和cat一樣,無非是將文件內容從最後一行到第一行顯示而已。
-E:在每行結束顯示"$"
-n:對輸出的所有行進行從1開始的編號
-s:對連續兩行的空白行代替為一行
-T:將跳格字符(tab)顯示為"^I"
例如:
cat -n log1.log log2.log:將log1.log加上行號後輸入到log2.log文件中,log2.log在目錄中必須存在
cat -n log1.log > log.log:將log1.log加上行號後輸入到log.log文件中,log.log在目錄中不存在
tail用於顯示指定文件末尾內容,不指定文件時,作為信息輸入進行處理。常用查看日志文件
-f:不斷讀取,循環刷新,這樣可以看到最新的文件內容
-q:不顯示處理信息
-v:顯示詳細的處理信息
-c<數目>:顯示的字節數
-n<行數>:顯示的行數
例如:
tail -n 5 log1.log:顯示log1.log最後5行的內容
tail -f log1.log:循環查看log1.log的內容