1. 程式人生 > >張大帥學Linux之Linux基本命令

張大帥學Linux之Linux基本命令

Linux基本命令

Linux Shell簡介

Shell可以理解為是Linux系統提供給使用者的使用介面。Shell為使用者提供了輸入命令

和引數,並可得到命令執行結果。當一個使用者登入Linux之後,系統初始化程式init就根據/etc/passwd檔案中的設定,為每一個使用者設定 一個稱為Shell(外殼)的程式。

本質上,Shell是一個命令列直譯器,它為使用者提供了一個向Linux核心傳送請求以便執行程式的介面程式。使用者可以用Shell來啟動、掛起、停止甚至是編寫一些程式。Shell處在核心與外層應用程式之間,起著協呼叫戶與系統的一致性以及在使用者與系統之間進行互動的作用,即Shell為使用者提供了輸入命令和引數並可得到命令執行結果的環境。下圖是Linux系統層次結構圖,Shell解釋使用者輸入的命令列,提交到系統核心處理,並將結果返回給使用者。

檔案目錄基本操作

cal+月+年

例子:

ls 命令

顯示檔名稱、屬性等。 基本格式:ls [選項] [檔名]

常用選項及含義:

-l:使用較長格式列出資訊,如檔案的許可權、連結數、檔案屬主、檔案屬組、檔案大小、最後修改時間、檔案的完整名稱(檔名+副檔名)。顯示格式是每一行顯示一個檔案或者目錄。
-a:列出所有檔案及子目錄,包括以“.”開始的隱藏檔案。

-A:列出除了“.”及“…”以外的任何項。

-p:對於目錄,則顯示形式如“home/”的形式,即在目錄後加“/”,表示這是一個目錄。

-F:在檔案或者目錄後面加上不同的符號來區別檔案或者目錄的型別,其中“*”表示可執行的普通檔案;“/”表示目錄;“@”表示符號連結;“=”表示套接字。

-d:若後面引數是目錄,則只列出目錄名而不列出目錄內容,常和-l選項連用以顯示目錄狀態。

-i:列出每個檔案的(inode)節點號。

-R:遞迴列出所有子目錄及檔案。

-s:和-l同時使用時以塊為單位列出每個檔案的大小。

-k:以k位元組為單位表示檔案的大小。

-u:按上次訪問時間排序列出檔名。

-S:根據檔案大小排序。

–color=no:不顯示彩色檔名。

–help:在標準輸出上顯示幫助資訊。

–version:在標準輸出上輸出版本資訊並退出。

mkdir:建立目錄

基本格式:

mkdir [選項] <目錄名稱>

常用選項及含義:

-m:對新建目錄設定存取許可權,相當於命令chmod。

-p:如果要建立的目錄路徑包含著不存在的目錄,則建立。簡而言之,此引數確保了每個目錄的存在。

-v:對已建立的目錄輸出一個資訊

rmdir:刪除空目錄

基本格式:rmdir [選項] <目錄名稱>

常用選項及含義:

-v:對已經刪除的目錄給出提示資訊。

-p:遞迴刪除目錄,當子目錄刪除後其父目錄為空時,也一同被刪除

rm:刪除多個檔案或目錄

基本格式:rm [選項] <檔名>

常用選項及含義:

-i :互動式刪除,刪除時需要使用者確認(這是預設值)。

-r:遞迴刪除,非空目錄也可刪除。

-f:不提示確認資訊,強制刪除。

-v:顯示執行結果資訊。

mv:移動或更名

基本格式:mv [選項] <原始檔或目錄> <目的檔案或目錄>

常用選項及含義:

-b:若需覆蓋檔案,則覆蓋前先行備份。

-f:若目標檔案或目錄與現有的檔案或目錄重複,則直接覆蓋現有的檔案或目錄,不進行任何提示。

-i:覆蓋前先行詢問使用者。

-u:在移動檔案或者目錄時,若目標檔案或目錄已存在,並且原始檔日期比目標檔案新,則覆蓋更新。

檔案內容檢視

head:取出檔案前面幾行

語法:head[-n number]檔案

選項與引數:

•-n :後面接數字,代表顯示幾行的意思

[[email protected] ~]# head /etc/man.config

預設的情況中,顯示前面 10 行!若要顯示前 20 行,就得要這樣:

[[email protected] ~]# head -n 20 /etc/man.config

tail :取出檔案後面幾行

語法:

tail [-n number] 檔案

選項與引數:

•-n :後面接數字,代表顯示幾行的意思 •-f :表示持續偵測後面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測

例如:

tail /etc/man.config # 預設的情況中,顯示最後的十行!若要顯示最後的 20 行,

就得要這樣:

tail -n 20 /etc/man.config

cat:連線檔案或者是將檔案列印至標準輸出。

基本格式:cat [選項] <檔名>

常用選項及含義:

-n:由1開始對所有輸出行編號。

-b:與-n 相似,只不過對於空白行不編號。

-s:當遇到有連續兩行以上的空白行,僅顯示一行的空白行。

tac 、nl:

tac與cat命令剛好相反,檔案內容從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!

語法:nl [-bnw] 檔案

More:一頁一頁翻動

在 more 這個程式的執行過程中,你有幾個按鍵可以按的:

空白鍵 (space):代表向下翻一頁;

Enter :代表向下翻『一行』;

/字串 :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;

:f :立刻顯示出檔名以及目前顯示的行數;

q :代表立刻離開 more ,不再顯示該檔案內容。

b 或 [ctrl]-b :代表往回翻頁,不過這動作只對檔案有用,對管線無用。

less:一頁一頁翻動

less執行時可以輸入的命令有:

空白鍵 :向下翻動一頁;

[pagedown]:向下翻動一頁;

[pageup] :向上翻動一頁;

/字串 :向下搜尋『字串』的功能;

?字串 :向上搜尋『字串』的功能;

n :重複前一個搜尋 (與 / 或 ? 有關!)

N :反向的重複前一個搜尋 (與 / 或 ? 有關!)

q :離開 less 這個程式;


  • clear:清屏 history:歷史記錄命令 自動補全—>Tab鍵

檔案記憶體大小檢視

du:統計目錄(或檔案)所佔磁碟空間的大小。

基本格式:du [選項] [檔名]

常用選項及含義:

-a:顯示全部目錄和其子目錄下的每個檔案所佔的磁碟空間。

-b:大小用bytes來表示。

-c:顯示完畢後再加上總計(預設值)。

-s:只顯示檔案或者目錄大小的總和。

-h:用容易理解的格式單位表示檔案大小,如1k 、234M、5G。其計算單位為1024。

-H:與-h基本相同,但計算單位為1000

df:檢查檔案系統的磁碟空間佔用情況

基本格式:df [選項]

常用選項及含義:

-a:顯示所有檔案系統的磁碟使用情況,包括0塊(block)的檔案系統,如/proc檔案系統。

-k:以k位元組為單位顯示。

-h:用容易理解的格式單位表示檔案大小,如1k 、234M、5G。其計算單位為1024。

-H:與-h基本相同,但計算單位為1000。

  • shutdown -h now 關機
  • shutdown -r now 重啟 //reboot也是重啟

檔案打包及壓縮

tar:打包備份

tar命令最初是為了製作磁帶備份而設計的(把檔案和目錄複製到磁帶中,然後從備份中提取或恢復檔案),而現在可以把它用於任何裝置。它是 Linux 系統中一個非常實用的程式,也是資料備份中最常用的命令之一。和其他備份工具相比,tar命令更易於使用,而且安全和可靠,它幾乎可以在任何Linux或Unix系統上讀取檔案,並進行資料的合理備份。

基本格式:tar [選項] ……

常用選項及含義:

-c:用於建立備份。

-v:表示回顯模式(Verbose),將產生一系列所備份的檔案列表。

-f:指定使用備份的檔案,即輸出的備份檔名。

-x:將備份檔案展開。

-t:顯示備份檔案的內容。

-r:寫入備份檔案的內容。

-T:後面跟隨一個檔案引數,指定從這個檔案中讀取要備份的各個檔案的路徑。如果不使用T引數,那麼就需要一個引數,指明進行備份的檔案和目錄的路徑。

-Z:使用壓縮方式建立和解開備份檔案。這是GNU的新版tar的功能,系統需要同時支援gzip功能。

基本使用:-cvf(打包) -xvf (解包) -cvzf(打包並壓縮) -xvfz(解包解壓縮)

gzip:壓縮或解壓

有時備份的檔案會佔用系統中的大量磁碟空間,tar命令在存檔過程中並不壓縮檔案,因此,如果儲存兩個100MB的檔案,那麼tar檔案為200MB太大了,因此使用者可以使用gzip來壓縮檔案,以節省儲存空間。

基本格式:gzip [選項] <壓縮(解壓縮)的文件名>

常用選項及含義:

-c:將輸出寫到標準輸出上,並保留原有文件。

-d:將壓縮文件解壓。

-r:遞迴式地查詢指定目錄並壓縮其中的任何文件或是解壓縮。

-t:測試,檢查壓縮文件是否完整。

-v:對每一個壓縮和解壓的文件,顯示文件名和壓縮比。

-num: 用指定的數字num調整壓縮的速度。

-1或—fast:表示最快壓縮方法(低壓縮比)。

-9或—best:表示最慢壓縮方法(高壓縮比),系統預設值為6。

tar與gzip的聯合應用

在實際應用中,gzip與tar經常組合在一起使用,以實現打包並壓縮的目的。要打包並壓縮,可用以下命令

需要注意的是,在日常應用中,經常可以看到類似*.tar.gz和*.tgz的檔案,其實只是命名方法的不同,其本質是一樣的,即:可以用*.tar.gz命名,也可以用*.tgz命名。

chmod修改許可權

chmod 命令在這裡插入圖片描述
功能:修改檔案的許可權
>語法: chmod [選項] 絕對許可權值 要改變的檔案或目錄名
drwxr–r--
這裡面第一個字母d表示是否為目錄
第一個rwx 表示所有者(user)許可權
第二個rwx 表示同組使用者許可權(group)許可權
第三個rwx 表示其他使用者(others)許可權
圖片2.png
選項:
-R:遞迴設定指定目錄下的所有檔案的許可權。
說明:
(1)只有檔案或目錄的擁有者或root使用者才有此更改權。
(2)對檔案的操作取決於使用者對檔案擁有的許可權或者是組內成員對其擁有的許可權.
(3)每個檔案或目錄只隸屬於一個使用者和一個群組

1.使用許可權字元設定許可權

(1)使用者型別
u—user(owner) g—group o—other a-all
(2)操作符號
= 設定該位的許可權
" + " 新增許可權
" - " 去除許可權
例:

     chmod   u+x     filename
     chmod   ug–w    filename
     chmod   a+x     filename
     chmod   go+w    myfile.txt  (同組使用者和其它使用者新增寫許可權)

2.使用數字設定許可權

語法為:chmod abc file
其中a,b,c各為一個數字,分別表示User、Group、及Other的許可權。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=7。
例:

	chmod 777    xxx  (rwxrwxrwx)         chmod 755  xxx   (rwxr-xr-x)
     chmod 644     xxx   (rw-r--r--)           chmod 600  xxx   (rw-------)
     chmod 666 myfile.txt (對所有者、同組使用者、其他使用者均具有讀和寫的許可權)

3.修改所有者

chown 所有者:組   檔案    chown  lgt:root  test.txt

關於mount什麼意思 大家可以看看這個博主mount的用處(適合小白) https://blog.csdn.net/qq_39521554/article/details/79501714

Vi編輯器

  • 基本概念

vi是一個視覺化(Visual)的全螢幕文字編輯器,預設安裝在各種UNIX系統上。

Linux的各種發行版本都安裝有vi的模擬或改進版本。

vi的功能非常強大而操作簡便有效,在各種UNIX系統和各種Linux發行版本中都可以使用vi對文字檔案進行編輯,而且vi能相容工作於各種的物理終端和模擬終端。

  • Vi三種模式

vi編輯器中有三種狀態模式

  • 命令模式
  • 輸入模式
  • 末行模式

基本操作步驟:

  1. vi filename
  2. 按下i 進入insert模式
  3. 按esc退出 shift+: 輸入wq儲存退出

**檔案的開啟與讀取操作 **

檔案儲存與另存為

退出vi編輯器的多種方法

  • 未修改退出

沒有對vi編輯器中開啟的檔案進行修改,或已對修改進行了儲存,直接退出vi編輯器 :q

  • 儲存並退出

對vi編輯器中的檔案進行儲存並退出vi編輯器 :qw

  • 不儲存退出

放棄對檔案內容的修改,並退出vi編輯器 :q!

游標其他操作見附件