1. 程式人生 > >linux系統常用命令(超詳細講解)

linux系統常用命令(超詳細講解)

目錄處理命令ls

命令格式

命令選項引數

ls    -la    /etc

對於命令的說明:

1.存在簡化選項與完整選項

例如  -a等於 - -all  (一個用一個-呼叫 一個是用兩個-呼叫的)

2.當有多個選項的時候是可以寫在一起的

例如 -l 和–a可以寫成 -la 而且部分命令還可以不區分先後順序

3.個別的命令也可以不遵循命令的格式

Ls顯示當前目錄檔案如果我們想看的不是當前目錄則可以用ls加上指定的任何一個目錄

例如 ls /  就是列出根目錄下的目錄

linux.開頭的是隱藏檔案(可以理解為系統檔案沒事的話不要動)

如果想將一個檔案隱藏可以將其改名改成前面加一個 . 即可

ls-lh 選項h的作用其實就是將位元組顯示為多少

k或者多少m

ls-l /etc檢視etc目錄下的檔案但不包括etc這個目錄我們可以使用ls -ld /etc來檢視目錄的詳細資訊

-t是將檔案按照最後修改時間排序       ll -t(最後修改時間排序顯示詳細資訊)

-r是將檔案按照最後修改時間倒序來排    ll -r(倒序顯示詳細資訊)

當然這些命令都是可以組合起來用的 ls -lr這個命令也是可以用的意思是將檔案按照倒序排列並且顯示詳細資訊(其實就等於ll -r

-i可以檢視檔案的i節點(對檔案進行操作的時候linux核心其實是識別檔案的identity節點)

例如我們需要在tmp下建立一個目錄(建立目錄儘量不要在根目錄下建立)

mkdir/tmp/xuchang

如果我們想再在xuchang裡面建立一個子目錄那麼mkdir久用不了我們就需要用到-p這個選項來建立xuchang下的目錄

正確示例:mkdir -p /tmp/xuchang/Chunqiu

錯誤示例:mkdir /tmp/xuchang/Chunqiu(因為事先我們的xuchang目錄就不存在)

Linux命令列的好處在建立目錄的時候可以同時建立多個目錄

例如mkdir /tmp/xuchang /tmp/huangqun /tmp/huohongjian

就可以在tmp下建立徐暢黃群霍巨集健這三個目錄

cd.表示當前目錄

cd ..返回當前目錄的上一級目錄

cd -返回你剛操作過的那個目錄

cd加上指定目錄 就可以切換到那個目錄

pwd用於顯示當前所在目錄的絕對路徑

需要刪除一個目錄可以用rmdir(注意它刪除的是一個空目錄)

比如我們xuchangxuchangqwe這個目錄不是空目錄所以我們刪除的時候會提示目錄不是空的,但是jkl這個目錄是空的就可以用rmdir進行刪除

注意它刪除的時候並不刪除上一級目錄例如 rmdir /tmp/xuchang/1僅僅是刪除了xuchang目錄下的目錄並不會刪除xuchang目錄

cp的用法cp+要拷貝的目錄或檔案+你要拷貝到的那個目錄

cp -r使用者複製目錄(用cp命令直接複製目錄是沒用的會提示略過目錄)

一開始我們可以看到huangqun目錄下是沒有任何東西的我們用cp -r這個命令就可以將xuchang下的2目錄複製到huangqun這個目錄下

 cp命令也可以同時複製多個檔案

例如cp /root/anaconda-ks.cfg /root/install.log/root/install.log.syslog /tmp/huohongjian

將家目錄下的三個日誌檔案複製到tmphuohongjian目錄下

如果我們加上-p這個引數我們就可以保留檔案的屬性,因為我們在複製一個檔案到一個目錄的時候相當於在目標目錄下新建一個檔案所以會出現 檔案的最後修改時間或者建立時間 如果我們直接用cp的話就是下面這樣 時間上不一致

當我們用cp -rp的時候我們可以清楚的看到我們把xuchang目錄下的2和3複製到xubinxiang目錄下利用ll -d檢視其目錄屬性的時候都是3.20表面我們的做法是正確的

Linux命令列還可以在對檔案進行復制的時候改名如上圖的命令cp -r /tmp/wangkang/tmp/nieyilei/wangkang18  我們在複製wangkang目錄到nieyilei目錄下的時候可以直接對wangkang進行更名為wangkang18

mv命令和cp命令用法一致(但mv不需要加-r什麼的)

我們首先遞迴建立 xuchang目錄下的兩個子目錄1和2 然後我們用mv /tmp/xuchang/1 /tmp/xuchang/2 /tmp/huangxiaojia把1和2目錄剪下到huangxiaojia目錄下

剪下的時候改名是一樣的只需要在後面加上要改的名字即可。

如果我們直接在某個目錄下移動檔案其實也就是相當於改名  mv + 名字+要改成的名字

rm命令可以直接用來刪除檔案但是不可以刪除目錄

我們在nieyilei目錄下看到了一個install.log和一個wangkang18的目錄我們用rm可以把這個檔案刪除。

但是有看到我們rm wangkang這個目錄的時候是刪除不了的因為我們沒有加語法-r

每次刪除的時候系統會問我們是否要刪除如果不想提示的話我們可以加上語法-f  利用

rm -f就可以避免系統的提示(f是force強制的意思)  當一個目錄裡面很多目錄的時候我們不加f會出現下列情況(一直問你是不是要刪除那個目錄)

一般我們最常用的是rm -rf直接刪(rm -rf *就可以直接刪除tmp下的所有檔案)

touch命令可以用來建立檔案

touch的用法 和cp mv等是一樣的 該加絕對路徑建立的時候就要加上絕對路徑 只不過 linux系統中對(空格鍵)是有要求的 比如我們想要建立uzi空格caomei 利用touch uzicaomei建立的並不是uzi空格caomei而是 uzi和caomei這兩個檔案

我們在家目錄下touch /tmp/uzi /tmp/caomei是可以在tmp下建立uzi和caomei檔案的

如果想要建立帶空格的檔案必須使用雙引號(但一般不建議用對以後的操作會很麻煩)  例如 touch ”uzicaomei” 刪除,切換查詢….的時候也是一樣  例如刪除rm “uzicaomei”

如果我們想要瀏覽一個檔案的話我們可以使用cat命令(tac命令也是顯示檔案內容和cat正好相反一個正序顯示 一個倒序顯示)

加上-n是可以顯示行號的在我們檢視shell指令碼的時候會很實用

當行數很多的時候我們可以用 esc  然後:加上行數就能到那一行

如果一個檔案的內容很長(例如/etc/services)我們可以用more命令進行分頁瀏覽顯示

例如more /etc/services

more命令和less命令的區別

二者都可以用來顯示檔案內容

使用less命令來顯示services的內容時,使用上(向上翻一行)下按鍵就可以進行上下翻閱然而在more命令中是不可以用的但是二者都可以使用pgup(向上翻頁)和pgdn

less還有一個好處就是可以搜尋我們鍵入 /加上要輸入的內容即可就可以把搜尋的內容用高亮標記用小寫的n可以接著往下找要找的詞n(代表next

我們想檢視前10行的時候我們就可以用 head命令來檢視  即head -n 10/etc/services

 當我們直接使用head命令不指定行數的話 預設顯示的也是10行(head/etc/services)

         tail的用法和head是一樣的 可以指定也可以不指定

tail -f用於監控日誌

tail -f /var/log/messages 加上語法f是可以檢視動態日誌的 比如我們配一個網絡卡  那麼就會自動記錄 這個日誌就會顯示我們配置的網絡卡資訊 (一塊網絡卡是可以配置多個ip的只需要在網絡卡後面加上:帶上數字就可以)例如我們本機配置的網絡卡ip20.0.0.123 ifconfig eth0:1 20.0.0.129之後這個網絡卡就又多了一個ip 此時我們不僅可以連線20.0.0.123還可以通過129進行連線

我們可以把軟連結理解為Windows的快捷方式 因為我們在Windows的桌面上建立的快捷方式本身就是一個連結指向 我們所建立的快捷方式其實只是指向我們的原始檔:我們的安裝目錄。 linux中的連結檔案是以字母l開頭的,所有的使用者都是rwx許可權(因為這個許可權並不決定了原始檔的許可權,執行的時候還是會指向原始檔,所以原始檔什麼許可權到最後某個使用者對其執行的話就是什麼許可權雖然每個使用者都給了rwx三個許可權)

連結檔案的位元組是非常小的,即使原始檔的位元組很大,因為其實我們就是相當於建立了一個快捷方式,所以它並不指示原始檔的大小,而是連結檔案的大小。它最後的箭頭是指向的原始檔

但是硬連結是沒有箭頭指向的,連檔案大小日期都是一樣的,其實就相當於cp -p保留了檔案屬性的拷貝(即使原始檔丟失硬連結也是可以訪問的)。但是二者的區別是硬連結檔案可以實時更新,但是cp -p的檔案修改是不能實時更新的。下面我們做一下實驗(為什麼可以實時更新:因為我們對檔案進行操作的時候在linux核心是對i節點進行操作,而硬連結的i節點和原始檔的i節點是相同的,所以是可以實時更新的,i節點就相當於檔案的身份證號碼都是唯一對應的,但是一個i節點可能對應不止一個檔案

上圖我們可以看到我們用echo命令在配置檔案的歡迎資訊裡面寫入xuchangisaluckydog  

echo        "xuchangisaluckydog">>/etc/issue

我們分別檢視原始檔和硬連結檔案他們都是多了一個xuchangisaluckydog

從這個圖中我們可以看出 我們刪除硬連結檔案之後把issue檔案再cp -p到tmp下之後 檢視原始檔和拷貝的檔案 他們都是隻有xuchangis的但是我們寫入huangqunis的話在檢視就只有原始檔更新了,我們cp -p過來的檔案還是隻有xuchangisaluckydog

上圖我們可以看出原始檔和硬連結檔案的i節點都時261154而軟連結檔案的i節點是791123

我們也可以通過這種方法來判斷這個檔案是不是一個硬連結檔案

硬連結檔案不能跨分割槽,不能針對目錄使用。但是這兩點軟連結都是可以的。

檔案許可權管理命令的用法

ugoa代表使用者的身份 u代表所有者 g代表所屬組 o代表其他人 a代表all所有

+代表增加許可權 -代表去掉許可權 =代表不管以前什麼許可權,現在就得是改的這個許可權

r代表可讀 w代表可寫 x代表可執行

比如我們對shenchao.list這個檔案進行許可權的更改,chmod u+x /tmp/shenchao.list就是代表我們要對shenchao.list的u所有者加上可執行的許可權

我們也可以批量更改許可權只需要加上,作為分隔符就可以例如 chmod g+w,u-r /tmp/shenchao.list就是給g所屬組加上可寫 所有者u去掉r可讀的許可權

從上面的圖可以看出shenchao.list的許可權被我們用 =之後給o其他人賦權rwx 之後o的許可權就變成了rwx 根本就不用考慮它之前是什麼許可權,直接=加上許可權就行。

我們用的最多的還是數字的表示r就是4      w就是2     x就是 1  rwxrwxrwx就代表777  如果我們chmod 777就代表給這個檔案賦予rwxrwxrwx的許可權   rw-r-----這個代表的數字就是640   如果沒有許可權的話用0表示

如果一個目錄下有很多目錄和檔案我們用chmod修改其許可權的話它下面子目錄的許可權是不變的如果我們想把這個目錄下的所有檔案都修改成777許可權的話這時候我們可以用語法-R來進行遞迴修改(chmod -R 777 /tmp/a這就代表 a和a目錄下的所有目錄檔案(b)都會改為777許可權)類似於我們mkdir -p遞迴建立

例如我們遞迴建立tmp下的a和a下的b目錄,他們的許可權預設為rwxr-xr-x 

我們chmod 777 /tmp/a 則a的許可權變為rwxrwxrwx 而b是不會變的還是之前的rwxr-xr-x

這是用chmod -R修改為666的結果

新增使用者的命令useradd 賦予或修改密碼的命令passwd

之後我們就可以用crt登陸了主機名不變 使用者名稱為自己建立的使用者名稱

普通使用者的提示符是$       root使用者的提示符是#

File檔案    r : cat  more  less  tail   head

      w: vim

      x :  command script

directory 目錄     r: ls

                 w: touch  mkdir rmdir  rm

                 x:  cd

我們在根目錄下建一個temp目錄  但是如果我們不對他賦予777的許可權 他是沒有可以寫的許可權的 然而對於目錄來說 有w的許可權才可以進行刪除檔案 所以當我們切換到別的使用者的時候 我們刪除temp下的testfile檔案的時候 是沒有許可權的 

但是之後我們對temp目錄進行寫許可權賦予後我們再去刪除就可以在temp下刪除testfile檔案了

刪除一個檔案的前提是我們對這個目錄有寫許可權的時候才能刪除這個目錄下的檔案

所以我們要正確理解  rwx對於檔案和對於目錄的不同含義。

在linux中對於目錄來說r和x許可權基本上是並存的不可能說你能列出來有哪些東西但是進不去

只有兩個使用者可以改變檔案的許可權第一個是檔案的所有者o第二個就是root使用者。但是更改檔案的所有者chown的時候只有在root下才可以進行(chown加上要改成哪個使用者加上檔名)

我們在huangqun使用者下建立 adcd檔案   因為abcd的所有者是huangqun所以賦予許可權是可以進行的

我們在huangqun使用者下更改abcd的所有者為root 即使abcd這個檔案的所有者是huangqun也是不可以進行更改的

我們touch abcd的時候並沒有指定abcd的絕對路徑。而是直接在~下建立的 ~就是代表這個使用者的宿主目錄即/home/huangqun(二級目錄)

這個就是把huangqun的 abcd所有者改為xuchang的

用法和chown一樣增加使用者組的命令是groupadd 和增加使用者的命令useradd一樣好記

我們新建一個組叫huohongjian  然後我們改變 abcd的所屬組為huohongjian

一個所屬組可能有很多成員如果我們許多使用者都想對 abcd有更多的許可權我們就可以對abcd檔案增加組的許可權 chmod g+想要的許可權加上檔案路徑 這樣huohongjian這個組裡面的每個成員都可以對檔案有w的許可權了(chmod g+w abcd 給abcd檔案的組加上寫許可權)

檔案的所有者和所屬組是哪來的?

所有者很簡單,誰建立的這個檔案誰就是這個檔案的所有者

所屬組:一個使用者可以屬於多個組,但是每個使用者有且只有一個預設組

每個使用者建立檔案的時候,這個檔案的所屬組就是這個檔案建立者(也就是這個使用者)的預設組。

umask -S可以顯示新建檔案的預設許可權

這是我們新建的目錄的許可權就是會和umask -S的許可權是一樣的。

但是在linux許可權管理中,預設建立的檔案是沒有可執行許可權(x)的,所以和umask -S的值rwxr-xr-x不一樣(每個都少了一個x

若果我們直接鍵入umask 我們會看到一個數字的值0022

0022中的第一個0代表一種特殊許可權

後面的022分別代表u  g  o三種使用者的許可權

如果不加-S的引數我們看到的umask的值的許可權實際上是通過邏輯與的方式來算去許可權的。演算法在下面

先寫出777的許可權進行比對

777 rwx rwx rwx

022 --- -w- -w-

-----------------

755  rwxr-x r-x (目錄的許可權)

     rw- r-- r-- (二進位制檔案的許可權)

那麼實際上這個檔案的許可權是 rwxr-x r-x  (這些說的都是目錄,檔案的話就都去掉x就可以了)

用邏輯與的關係進行運算得出結果(邏輯與:相同的不表示)

也就是說雖然我們看到的umask的值是022,但是我們實際上建立目錄的許可權是755

如果我們想改變建立檔案或者目錄的預設許可權的話就反過來做即可

例如我們預設建立的檔案的許可權是755 rwx r-x r-x (umask-S的值)我們想把它改成700(rwx --- ---)我們只需要做如下運算算出umask的值就行

777  rwxrwx rwx                 第一步寫出777

077  --- rwx rwx                第三步與運算寫出得到的許可權,再寫出其對應的數字077

------------------------------             

700 rwx - - - - - -                  第二步寫出我們想得到的許可權

最後我們在用umask 077 這個命令就可以更改建立檔案的預設許可權瞭如下圖huangbo這個目錄的許可權已經被我們改成(700 rwx --- ---)了

儘量少用搜索這個命令,因為搜尋會佔用大量的系統資源,尤其是在伺服器高負荷的時候,所以這就要求我們在規劃伺服器的時候,要規劃好目錄結構,以及後續養成不要把檔案亂放的習慣。搜尋的條件越精準越好,搜尋的範圍越小越好。

find /etc -name init這個命令 就是以檔名查詢,和Windows不同的是linux搜尋的非常精準 如果我們在Windows裡面搜尋init 只要是有init這個關鍵字的所有檔案都會被列出來,但是linux中不會而是隻列出來 init多一個少一個字母的檔案都不會被列出來。

*星號匹配任意字元的意思就是加上* 你可以搜無數個字元有多少搜多少

?問號匹配單個字元的意識就是加上一個?你可以搜init後面一個字元的檔案兩個?可以搜尋init後面兩個字元的檔案

如果想和Windows一樣做模糊搜尋只要檔名帶有init的都列出來也是可以的這時候我們就要用到一個萬用字元 *    *可以匹配任意字元包括0命令 find/etc -name *init*即可,意思是隻要檔案中包含init這四個字母的都被列出來

find /etc -name init*這個命令表示 我們要查詢所有的以init開頭的檔案

如果我們要搜尋一個檔案init開頭的我們還知道他後面有三個字母我們就可以用?來進行搜尋

find /etc -name init???問號?匹配單個字元

我們常用的兩個萬用字元就是* ?

我們知道linux系統中搜索的時候是會嚴格區分大小寫的,如果我們想大小寫都搜出來的話就可以使用iname這個選項

我們先在etctouch 一個INITTAB檔案然後我們用name搜尋是搜不到這個檔案的 iname就可以

我們也可以指定檔案的大小進行搜尋在linux系統中檔案存放的最小單位是資料塊

1資料塊預設是512位元組(b)即0.5k 那麼兩個資料塊就是1K 所以1k就是兩個資料塊

1k=1024b 所以512b=0.5k

100MB=102400KB=204800資料塊

簡單的就記住換成多少M 直接乘以2048就得出資料塊的數目

find / -size +204800(查詢根目錄下大於100M的檔案)

三種指定的方式   +代表大於多少 -代表小於多少什麼都不用代表等於多少

根據所有者來查詢-user、根據所屬組來查詢 -group即可

find /home -user xuchang 在根目錄下查詢所有者為xuchang的檔案

根據時間屬性來查詢

同樣時間的指定用+和-    -5表示5分鐘以內  +5表示5分鐘以上的

檔案屬性就是ls -l查出來看到的東西

find /etc -min -50在etc目錄下查詢50分鐘內被修改過內容的檔案或者目錄

這個就是我們在不區分大小寫搜尋的時候修改過etc的內容

find查詢命令比較常用的兩個選項是-a-o

-a選項表示 and 並且的意思

-0選項表示or 或者的意思兩個滿足任意一個即可

find /etc -size +163840 -a -size -204800 查詢/etc下面大於80並且小於100的檔案

find /etc -name init* -a -type f  查詢etc下面以init開頭的檔案  

find /etc -name init* -a -type d 查詢etc下面以init開頭的目錄

用法如下find /etc -name inittab -exec ls -l {} \;

-exec或者-ok加上 要操作的命令加上{} 加上\加上 ;

用-exec連線一個命令這個命令對查詢的結果進行什麼操作的,{} \; 這個是固定的格式

{}這個花括號代表對查找出來的檔案的一個整合

\代表轉意符

;表示結束

find /etc -name init* -a -type f -exec ls-l {} \;

這個命令的意思就是在etc下查詢以init開頭的檔案並且顯示他的詳細資訊

-ok和-exec的區別就是-ok會一直詢問是否檢視 -ok我們可以在刪除的時候用 因為刪除是一個非常謹慎的操作

find /home -user xuchang -ok rm {} \;

這樣我們就是刪除所有xuchang的檔案並且詢問

-inum可以根據檔案的i節點來查詢

比如我們touch一個uzi shuiage的檔案我們要刪除的話 就可以用rm”uzishuaige”來刪除(””的作用是將其連起來變成一個整體) 但是當我們不知道這個檔案之間有空格的時候或者一些其他奇形怪狀的檔名 我們用rm怎麼刪除呢 是刪除不了的。

這時候我們就可以先檢視檔案的i節點(ls -i)然後用 -exec連線rm命令進行刪除

.代表當前目錄  所以我們find . -inum789130 -exec rm {} \;(當前目錄下查詢i節點為789130的一個檔案或者目錄並且刪除它)

locate命令類似於Windows下的everything軟體可以實現非常快速的查詢搜尋

使用放大就是locate 加上檔名就可以

但是對於新建的檔案在檔案資料庫裡面是查不到的所以我們可以使用updatedb這個命令來更新一下資料庫再進行查詢。這時候我們就可以看到是可以找到的了。(但是注意的是檔案資料庫裡面並不收錄存放臨時檔案tmp目錄下的檔案,也就是我們建立檔案的時候如果在tmp下建立 updatedb之後locate也是搜不到的,但是locate對於查詢系統檔案還是提供了一種非常快速的查詢的方法

locate -i查詢的時候不區分大小寫

which是一個更精確的查詢命令

which cp which useradd查找出來我們就可以知道這個命令的絕對路徑以及誰可以用。還可以看到這個命令的別名 cp=cp -i

實際上我們在敲rm的時候系統會自動去尋找rm的全名rm -i  i的作用就是詢問確認。但是如果我們鍵入/bin/rm /tmp/zanzan 就不會詢問而是直接刪除

這個命令不僅可以列出命令所在位置還可以列出這個命令的幫助文件的路徑

man manual(操作說明)的簡寫就是我們熟知的man命令

grep這個命令可以在檔案內容中進行一個搜尋並且列出他的那一行

比如我們想查詢inittab檔案中關於multiuser相關的東西

我們就可以用grep命令加上你查的字串(關鍵詞)加上檔案

即grep multiuser /etc/inittab 這時候系統就會列出來這個關鍵詞在inittab裡面的位置

出來的結果和我們用more命令檢視的一致

-i是不區分大小寫 即grep -i  multiuser /etc/inittab

我們檢視inittab配置檔案的時候這些行前面都有#井號

在linux系統的配置檔案裡面或者是shell腳本里面井號#都是表示註釋的意思。

#開始的行都是註釋行並不是有效的配置檔案的設定行或者是指令碼的程式碼行,只是一個註釋,一個描述,告訴你一些這個配置檔案的相關資訊

在我們對一個配置檔案足夠了解的時候我們不需要看它的註釋行只要看它本身主要的選項的時候我們就可以用grep -v來實現,命令如下

grep -v # /etc/inittab這個命令的意思就是告訴grep排除只要有#的行。

但是有的註釋不是寫在開頭的,而是寫在中間的,那麼我們在查詢shell指令碼的時候,我們就得不到完整的資訊了,因為在#之前的有效行也被排除下去了,如果我們想去掉以#開頭的註釋行去掉我們就要加上表示行首的^  即grep -v ^# /etc/inittab  告訴grep排除以#開頭的行。

man命令在linux中代表的是manual即手冊頁的意思。man不僅可以檢視命令的幫助資訊,還可以檢視配置檔案的幫助資訊。

空格:翻頁回車:一行一行往下翻  q:退出

如果我們想快速定位到我們要知道的哪個選項的意思我們就可以用/加上要看的選項來檢視即可,然後 n 來進行查詢找到所有和-l相關的選項

man還可以檢視配置檔案的幫助資訊

使用格式是man直接加配置檔案的名稱就可以不要使用man 加上配置檔案的絕對路徑(加上絕對路徑是顯示這個配置檔案的資訊了)

配置檔案的格式

Service -name 和port和protocol 和aliases 是四個組成部分 分別代表 服務名稱 埠 傳輸協議以及別名  這時候我們回過頭去看這個配置檔案就很清晰了 more /etc/services

我們可以看到 ssh遠端的協議是22埠和我們用crt連線的時候的協議是一樣的。

ftp後面的是他的別名 fsp fspd

對於一些比較特殊的命令或者配置檔案類似於passwd

我們whereis命令可以看到這是一個命令同時它也是一個配置檔案而且命令和配置檔案的路徑都已經給出然而對於man命令來講檢視配置檔案的幫助資訊是不能加絕對路徑的,我們man passwd 顯示的是什麼呢?

系統優先檢視的是命令的幫助資訊,但是我們作為了解要知道的是1 是命令的幫助 5是配置檔案的幫助     那我們怎麼檢視配置檔案的幫助資訊呢   man 5 passwd 即可

一些小的命令也可以幫我們快速檢視命令是幹什麼用的

whatis加上命令的名稱可以直接列出一個命令name那一行的解釋(簡短的介紹資訊)

apropos加上配置檔案的名稱可以快速檢視配置檔案的簡短的介紹資訊

如果我們只想檢視一個命令的選項我們可以用命令加上 - -help

比如我們想知道touch的選項我們touch - -help

如果我們想修改系統時間但是不知道格式我們可以 man date

這樣我們就修改好系統時間了

help的意思是可以檢視shell內建命令的幫助資訊。

我們用which找不到的命令都是shell內建的命令例如 cd、umask、pwd等等

我們man cd或者umask 的時候只是顯示的是bash的。

只有root使用者可以使用過於簡單的密碼其他使用者自己修改密碼的時候必須符合複雜度要求否則修改不成功。

由於linux系統是一個多使用者系統可以同時很多人操作,那我們怎麼知道誰在操作呢?我們可以使用who命令來進行檢視

第一部分是登陸的使用者名稱(xuchang  root)   

第二部分是登陸的終端   tty表示本地終端:就是在我們本地登陸的終端,簡單的可以理解為虛擬機器上的終端,因為我們是用192.168.30.2(secureCRT遠端登陸)去登陸的192.168.30.1。(本地登陸)pts表示遠端終端用不同的數字終端號來區分不同的終端

第三部分是登陸的時間    記錄這個使用者是什麼時間登陸的  2018-04-06 17:23

第四部分是登陸的主機的ip地址  192.168.30.1  可以看到是從哪臺主機登陸過來的,如果沒有寫就表示本機登陸的。

如果我們在本地虛擬機器終端輸入exit 這時候再用who命令看看就沒有這個終端了

如果我們想得到更詳細的資訊可以使用w命令

17:39:12    表示當前系統時間 

up      表示當前linux系統已經連續運行了多少時間沒有重啟或關機了               和uptime得到的是一樣的

2 users     表示當前幾個使用者數

load average: 0.00, 0.00, 0.00   表示負載均衡的指數   這個指數有三個數值,分別記錄了過去的1分鐘 5分鐘 15分鐘 系統的一個負載情況 這三個數值加起來除以3就是平均數了

一般來講系統的負載值主要指一個系統的cpu和記憶體的負載情況。

IDLE表示使用者登入過來已經空閒多久了  0.05S表示我剛剛還執行了一些操作

JCPU  指的是累計佔用的CPU時間

PCPU 指的是這個使用者 當前執行操作佔用的cpu的時間

WHAT 代表使用者當前執行了什麼操作  如果什麼都沒有執行 就在shell的直譯器的介面上正在等待執行。

解壓縮出了gunzip還可以使用gzip -d這兩種方法都行

Linux系統中壓縮比還是很驚人的 直接從628k壓到了128k

注意事項:

1:生成的壓縮格式為.gz

2:但是gzip不能壓縮目錄只能壓縮檔案

3:而且壓縮的時候不保留原始檔。

如果我們想壓縮目錄,我們就可以用tar進行處理。

用法:tar -vcf wy.tar wy             打包

      tar -zcvf wy.tar.gz wy           打包同時壓縮

我們可以看到tar命令只能解壓tar歸檔的壓縮包,不能解壓.gz格式的。

解壓之後原始檔依然會存在

Linux系統中的壓縮包 在Windows系統中基本上都能支援解壓,但是Windows中的壓縮包想要拷到linux 中必須再安裝相應的軟體才能進行解壓,但兩個系統中有共同支援的一個格式就是.zip格式,所以我們想要把一個Windows中的壓縮檔案拷貝到linux中的時候就可以先壓縮成.zip格式的而不是前面所講的.gz或者.tar.gz格式的。

1zip壓縮的檔案能保留原始檔,和Windows一樣,壓縮包是壓縮包,原始檔是原始檔。

2:加上-r的選項可以壓縮目錄。

3:解壓也一樣,解壓之後壓縮包依然存在

解壓的時候直接unzip加上檔名就可以解壓檔案。

解壓目錄也是一樣,並不需要加-r選項,直接unzip加上目錄名就行了

bzip2是gzip的升級版本,而且bzip2的壓縮比更加驚人,比gzip還要高,常常用來壓縮比較大的檔案。bzip2可以和tar一起來使用,只是將zcvf 選項中的z替換為j 變成jcvf了。

解壓縮和gunzip的用法一樣,bunzip -k 加上壓縮包的名稱,而且也可以和tar一起使用,將c替換為x即可變成了xjvf

這是一條給線上使用者發信息的命令。

我們寫錯的時候可以按住ctrl+刪除鍵刪除儲存的時候 ctrl+D 進行儲存。

root身份登上來好幾個,想給那些人發訊息的話,加上登陸的終端如下圖,就可以傳送過去。

包括自己都能收到這條資訊,

Linux中預設是一直ping 的如果想終止 可以用ctrl+c。也可以指定次數ping。

用法 ping -c 5 192.168.30.2(指定五次ping之後停止)

Packet loss是丟包率的意思,如果丟包率非常高即使網路能ping通 那頁代表網路非常差。

Ifconfig檢視的網絡卡資訊,就linux來講計算機預設有兩塊網絡卡。eth0代表本地的真是網絡卡並按照數字的方式依次類推,如果有第二塊網絡卡就是eth1第三塊就是eth2。

Lo代表的是一個迴環網絡卡,他的迴環地址是固定的,任何一臺機器都是127.0.0.1

Ethernet:代表我的網路型別是乙太網

HWaddr 00:0C:29:34:B6:C1   這個是我們網絡卡的硬體地址 就是俗稱的MAC地址(用16進製表示的48位的地址位)

inet addr:192.168.30.2  這個是當前計算機的ip地址

Bcast:192.168.30.255  當前網路的廣播地址

Mask:255.255.255.0    子網掩碼

inet6 addr: fe80::20c:29ff:fe34:b6c1/64Scope:Link   這個是ipv6的地址資訊

UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1 這是我的網路的一些附加資訊

RX packets:10884 errors:0 dropped:0overruns:0 frame:0    接收到的資料包的總數量

TX packets:8170 errors:0 dropped:0overruns:0 carrier:0  傳送的資料包的總數量

collisions:0 txqueuelen:1000               網絡卡在記憶體中的實體地址

RX bytes:904196 (883.0 KiB)               接收的資料包的總大小

TX bytes:2563115 (2.4 MiB)               傳送的資料包的總大小

mail命令的用法

傳送:mail加上要發的使用者名稱,不管使用者線上不線上,都會收到郵件。

接收:mail 什麼也不跟回車就可以接收

用法和writewall一樣都是ctrl+d結束

N的標誌是未讀的郵件   傳送者    後面是發信的時間   發信的標題

我們在mail之後的介面用help命令然後 第幾封郵件 就可以直接檢視郵件內容

不必再cat/var/spool/mail進去看了

h鍵就又可以看到那個郵件的列表了

刪除的話用d 加上序列號,然後h  然後 q鍵退出。

這個命令可以幫助我們列出所有使用者登入的時間資訊,以及重啟時間,我們可以用過它判斷我們的計算機什麼時候重啟過,如果不是在我的計劃之內重啟的,那麼就有可能是比人進來重啟過。

如果只想看到這個使用者最後一次登入的時間可以使用lastlog

我們跟蹤路由的時候可以解析出新浪的ip地址然後從本機網路的最後一個節點出去,最後到新浪經過了哪些節點,如果某一個節點返回的時間過長,證明這個節點可能是有問題的。如果有一天不能訪問新浪了,直接從第一個網路斷了 那就是公司網路的問題,可以直接處理,如果中間的某個節點斷了,證明這個節點可能有問題。

Tcp協議安全因為涉及到三次握手,但是udp協議快,比如我們qq傳送訊息用的就是udp協議,而http服務用的則是tcp協議。 Tcp類似於打電話,udp類似於發簡訊。可以這麼簡單的去理解

Ip地址相當於宿舍門牌號,埠號相當於床位號。埠號一般都是固定預設的。通過判斷本機開啟了哪些監聽埠來判斷本機開啟了哪些服務,因為每個服務對應的都是唯一的一個埠號。 Tcp是有監聽的,udp沒有監聽,可以理解為比如發簡訊的時候不管你在不在能不能收到,我就是發,不管你收不收的到。

路由列表可以檢視到閘道器

22就是我們ssh服務的埠  -tlun只能檢視監聽 -an可以檢視正在連線的程式。

ESTABLISHED正在連線或者已經連線發起埠隨機的 59595

Setup是紅帽系列特有的

setup配置的ip地址是永久生效的

配置完成之後記得重啟網路服務 service network restart

mount的作用就是把我的裝置連線到我給它分配的掛載點。掛載點可以當成碟符來理解

只是在linux中掛載點就是一個目錄Windows中是 C D E F

分割槽都是自動掛載,只要安裝了系統,分割槽了,,每次啟動就不要手動去掛載。但是linux光碟 u盤不能自動掛載,只能手動掛載。不是很只能,但是Windows 你插進去u盤系統一會就會自動掛載(給你分配一個碟符)就像下面這樣

只是linux中需要使用mount命令去手動掛載

掛載的步驟(掛載其實就是找到這個硬體,給他分配一個裝置檔名,再給他找一個碟符,然後用命令把他的裝置檔名和碟符連線起來)

1:先建立一個掛載點(一個空的掛載目錄)   mkdir /mnt/cdrom  隨便建也可以建在/下面

2:現在就可以進行掛載了,掛載命令mount-t 後面指定光碟的檔案系統 iso9660  後面寫它的裝置檔名稱 最後寫掛載目錄 (mount-t iso9660 /dev/sr0 /mnt/cdrom/) -t可以省略

裝置檔名哪來的?系統預設指定的裝置檔名 記住就行

解除安裝掛載點的命令:umount/dev/sr0   但是解除安裝的時候不能在光碟掛載點下面解除安裝

會提示你busy  要回到宿主目錄進行解除安裝掛載點

關機:shutdown-h

立即關機:shutdown-h now             現在重啟:shutdown -r now

定時關機:shutdown-h 20:30            定時重啟:shutdown -r 20:30

其他關機命令:halt、poweroff、init0

其他重啟命令:reboot、init6

執行級別代表我們linux啟動時可以進入的級別號,

123這三個級別是沒有圖形介面的

1類似於Windows的安全模式(Windowsf8),即啟動最小的核心程式。

相關推薦

linux系統常用命令詳細講解

目錄處理命令ls命令格式命令選項引數ls    -la    /etc對於命令的說明:1.存在簡化選項與完整選項 例如  -a等於 - -all  (一個用一個-呼叫 一個是用兩個-呼叫的)2.當有多個選項的時候是可以寫在一起的例如 -l 和–a可以寫成 -la 而且部分命令

Linux系統基本命令詳細圖解

一,目錄切換命令 window中通過圖形化介面和滑鼠可以任意切換需要進入的目錄,但Linux必須通過cd命令切換目錄。但在學習cd命令之前,我們有必要分清Linux的目錄結構(linux目錄結構詳細說明) cd usr 切換到該目錄下usr目錄 cd ../ 切換到上一

linux系統常用命令

shu 解析 txt 相關 name roc upd less 位置 管理 在UNIX/linux系統中,一切皆為文件;若非文件,則為進程。首先認識文件系統: linux文件系統 /var - 經常變化的(variable)文件,諸如日誌或數據庫等 /usr - 包含絕大部

Linux常用命令檔案與目錄

1、pwd 檢視當前目錄(Print Working Directory) 2、cd 切換工作目錄(Change Directory) (1)格式:cd [目錄位置]   特殊目錄:   .當前目錄   ..上一級目錄   ~使用者主目錄   -上個

Linux常用命令附其他連結

1、一些常用操作合集: Ubuntu使用wget命令列下載一張圖片 uabntu下壓縮/解壓檔案 Linux統計資料夾下的檔案數目 2、linux的主要發行版本: 1)RedHat Linux:紅帽企業級Linux,它有眾多的程式支援,同時也可以提供技術服務,由於他是商業化產品,所

Linux系統常用命令--LInix系統隨筆

不完全 apropos 軟鏈接文件 chown 技術分享 ctrl+d log 常用選項 exec 前言:雖然一直在用linux但是一直沒有系統的學習過,趁著暑假花了幾天看著鳥哥的書學習了一下。下面是我記錄的一些筆記,本人屬於入門的小白所以難免有不足之處,還望發現的表哥

詳細】在虛擬機器VMware 14.0 安裝Linux系統 CentOS-764位作業系統

資源下載地址VMwaver   下載連結:https://pan.baidu.com/s/1c3GcbTY 密碼:qtbfCentOS-7   (大小因為超過了4G無法上傳雲盤,幫不了你們啦,自行問度娘吧)安裝過程如何安裝VMwaver這裡就不做贅述啦,直接切入正題~這裡找到

linux系統常用命令詳解

遠程登錄 ring 問號 鏈接 重置 帳號 查看 tar 更新 Linux命令格式:命令選項參數 (大部分命令是這個格式) 註意: 1.命令區分大小寫 2.短選項可以合並 長選項不能合並 如 : 短選項 -l -h 可以合並為 -lh 長選項 不能合並 1

Linux下Hadoop2.7.1集群環境的搭建詳細

目錄 hdfs cp命令 manage war 替代 share logs hadoop 本文旨在提供最基本的,可以用於在生產環境進行Hadoop、HDFS分布式環境的搭建,對自己是個總結和整理,也能方便新人學習使用。 一、基礎環境 在Linux上安裝Hadoop之前

Linux系統常用命令

所有 目錄 span txt spa png oot http style   首先利用虛擬機安裝Linux系統,在應用程序中找到終端(很重要,因為Linux系統都是以命令的方式執行任務,而所有的命令都要在終端中輸入並且執行),然後輸入命令 1.切換用戶,普通用戶前面顯示$

linux系統常用命令 -設置文件夾讀寫權限

ima 所有 執行 權限 描述 分享 linux com bsp 設置文件夾的讀寫權限: sudo chmod -R 777 /data 權限碼描述 sudo chmod 600 ××× (只有所有者有讀和寫的權限)sudo chmod 644 ××× (所有者有讀和寫的權

Linux系統常用命令及其使用方法

系統 運維 1.echo (printf) echo - display a line of text - 顯示一行文本 常用選項: -n:不換行; -e:使 "\"生效;(eg:\n:換行,\t:水平制表符)

linux系統常用命令統計及shell特殊字符

命令 輸入 grep命令 err name 信息 通配符 輸出 鏈接 shell 特殊字符:1.通配符2.管道 1.通配符 1.1星號(*):匹配任意長度 1.2問號(?):匹配一個長度的字符 1.3方括號([......]):匹配其中指定的字符 1.4方括號([-]):匹

java程式設計師菜鳥進階十三linux基礎入門vmvare下安裝linux RedHat圖解詳細

對於linux,我從大二就想學習一下,但一直苦於無從下手,所以一直拖到現在,鑑於筆者瞭解很多人在linux入門的困難在何處,所以我認為本套入門基礎文章還是挺適合想學習linux的朋友,本系列文章大約十篇文章左右,近期會不斷更新下來,沒有linux基礎但又想學習linux的朋友可以關注一下本系列

AIX系統常用命令TCP/IP網路管理命令

9.1、主機名修改命令hostname/uname -n 顯示主機名uname -x /uname -a /uname -u 顯示作業系統的詳細資訊,顯示系統IDhostname 主機名,這樣改的主機名只能保持到下次重起smit hostname 或chdev -l inet0 -a hostnam

linux系統終端命令2

一相對路徑和絕對路徑 絕對路徑:最前面是/或〜,表示相對於根目錄或家目錄的完整路徑 相對路徑表示相對於當前工作目錄的路徑 二觸和mkdir和rm命令擴充套件 觸控如果檔案不存在,則建立檔案;如果檔案存在,修改檔案的末次修改日期 mkdir -pa / b / c / d可以

linux系統終端命令3

一 遠端管理 1 關機/重啟 shutdown:預設一分鐘後關機 shutdown -c:取消 shutdown -r:預設一分鐘後重啟 shutdown -r now:立即重啟 shutdown 20:25 指定時間點關機 shutdown +10:十分鐘後關機 注

Linux終端常用命令

grep命令: 作用:在檔案中搜索字串匹配的行並輸出 語法:grep[-cinv]’搜尋的字串’ filename -v :反向選擇,顯示不包含匹配文字的所有行 eg: grep -v “^#” /etc /inittab 表示含義:顯示inittab檔

linux系統終端命令4

使用者和許可權(不常用,主要是理解概念) 在linux系統中,可以指定每一個使用者對不同的檔案或目錄擁有不同的許可權 考慮如果一個團隊中要讓多個開發人員都擁有相同的許可權,即提出組的概念,把這些人放在一個組裡面。 許可權r:可讀  w:可寫  x:可執行 1112

Linux常用命令不定期整理

參考連線 系統性能 1、top : 動態實時顯示cpu、記憶體、程序等使用情況 2、df –h : 檢視系統記憶體及虛擬記憶體使用情況 (遇到磁碟已滿的情況) 3、du –sh * : 檢視目錄檔案大小 4、fdisk -l | grep Disk : 檢視