1. 程式人生 > >linux常用知識點和命令總結

linux常用知識點和命令總結

系統常用命令:

①  檢視當前目錄:pwd

②  切換目錄 cd

③  檢視目錄檔案資訊  檢視檔案詳細資訊stat

a)    Ls //列出檔案資訊

b)    Ls -l //以詳細資訊方式列出檔案資訊

c)     Ls-al  //以詳細資訊方式列出所有檔案資訊,包含隱藏檔案

d)    Ls 目錄名 //檢視改目錄的檔案資訊

e)    Ll  //等同於ls -l

④  檢視當前使用者

Whoami  //檢視當前操作使用者。

Who am I  //檢視當前登入使用者的資訊

⑤  切換使用者  su    su –

Exit   登出當前使用者,返回前一使用者,使用者切換是一層一層進行疊加,所以是一層一層的退出。

⑥  圖形介面和字元介面切換

a)    Init 3//切換到字元介面

b)    Init 5//切換到圖形介面

檔案的目錄:

       Linux的分割槽:Linux的目錄結構是一個以/(根目錄)為根節點的樹形結構

Linux有個基本思想:一切都是檔案就是系統中的所有都可以歸結為一個檔案,包括命令硬體軟體裝置、作業系統程序等等對於作業系統核心而言,都被視為擁有各自特性或型別的檔案。

/bin 存放二進位制可執行檔案(命令),所有使用者都可以使用

/sbin 存放二進位制可執行檔案,只有root使用者可以使用

/boot 系統啟動需要的核心檔案

/dev 裝置目錄

/home 使用者的主目錄

/lib 系統共享動態連結庫

/mnt 掛載目錄,通常掛載到該目錄下

/etc 存放系統配置檔案目錄

/etc/passswd 使用者資訊檔案

  /etc/group 使用者組資訊檔案

/var 用來存放常態性變動的檔案,經常發生變化的檔案。比如快取、登入檔案,mysql資料庫檔案等

/tmp  臨時目錄,用來存放臨時檔案

/proc 虛擬目錄,是記憶體的對映,可以訪問到記憶體中的系統資訊

/sys 和proc類似,存放和核心相關的資訊和資料

/root root使用者的主目錄

/usr 存放應用程式和檔案(類似於windows的system32、program files目錄)

/usr/bin、/usr/sbin:這是對/bin、/sbin的一個補充

目錄的操作:

       建立目錄:

              Mkdir 目錄名   //建立一個目錄

              Mkdir -p 目錄1/目錄2/目錄3…… //遞迴建立目錄

       刪除目錄

              Rmdir 目錄名     刪除空目錄

              Rmdir  -p dir1/dir2/dir3……    遞迴刪除目錄

              這裡的rmdir只能刪除空目錄,裡面有內容不能刪除 。

              Rm-r 目錄名  //刪除目錄和目錄的所有內容

              Rm-rf 路徑    //可以刪除檔案和目錄

              Rm檔名    //刪除一個檔案。

       修改目錄

              這裡所說的修改,其實就是檔案的移動。

              Mv dir1 dir2    //dir2不存在,將dir1目錄名修改為dir2

              Mv dir1 dir2    //dir2存在,將dir1目錄移動到dir2中

              是移動還是改名,就看第二引數路徑是否存在,存在就是移動,不存在就是修改。

       複製目錄

              Cp -r dir1 dir2  //將dir1複製一份到dir2目錄(包含目錄內容一起復制)

              Cp file1 file2  //將檔案file1複製一份為file2

              Cp file1 dir1/file2  //將檔案file1複製一份到dir1目錄,名稱為file2。

相對路徑和絕對路徑

  絕對路徑:/(根目錄)開頭的路徑(例如/home、/etc/passwd)

相對路徑:./開頭的路徑,./可以省略(指相對於當前路徑)

./    表示當前目錄

../  表示上一級目錄

路徑的最後一個斜槓可以省略

特殊目錄 ~表示使用者主目錄

快速切換目錄

cd ~  //切換到使用者主目錄

cd    //切換到使用者主目錄

cd - //切換到上次目錄

檔案操作

       建立檔案

              Touch 檔案路徑   //建立的是一個空白的檔案。

       檢視檔案內容

              Cat   //將檔案內容直接顯示出來

              More  //將檔案內容分屏顯示(按回車顯示下一行,按空格顯示下一屏)

              Tail-f    //動態顯示檔案內容

              Wc     //統計檔案內容行,句,字元數。

       新增內容到檔案

              >,>>    //輸出重定向,第一個是覆蓋寫入,第二個是追加寫入。

echo hello > 1.txt    //以覆蓋寫的方式將hello字元新增到檔案1.txt

echo world >> 1.txt   //以追加的方式將world字元新增到檔案1.txt

cat 2.txt >> 1.txt     //將2.txt檔案的內容追加到1.txt

date > 檔名    //給檔案中寫如日期函式

使用者和組

/etc/passwd檔案中每個使用者都有一個對應的記錄行,每行記錄又被冒號(:)分隔為7個欄位,它記錄了這個使用者的一些基本屬性

使用者名稱

②口令:真正的加密後的使用者口令存放在/etc/shadow檔案中,而在/etc/passwd檔案的口令欄位中只存放一個特殊的字元,例如“x”或者“*” 使用者的型別 使用者密碼

使用者標識號:<100系統關鍵使用者,100~500系統使用者,>=500使用者建立的使用者

組標識號:記錄的使用者所屬的使用者組。它對應著/etc/group檔案中的一條記錄。

⑤註釋性描述

使用者主目錄

⑦  登入Shell:使用者登入後的啟動程序,該程序負責將使用者的操作傳遞給系統  

使用者操作

       檢視使用者

              Cat  /etc/passwd

       新增使用者

              User add  使用者名稱   //新增一個使用者

              引數:-g 組id

                        -d 使用者主目錄

                            -u 使用者id

示例:useradd -g 501 -d /lisi -u502 lisi

//建立一個lisi使用者,並且指定組id為501,主目錄為/lisi,使用者id為502

除此之外,還有-r表示建立系統使用者,使用者id大於100小於500

-s指定此使用者的啟動程序,/sbin/nologin表示不允許登入

   修改使用者

      Usermod

  引數:-g id 

-d 使用者主目錄

-u 使用者id

-l 修改使用者名稱

示例:usermod -g 501 -d /lisi -u502 lisi

//修改lisi使用者資訊,指定組id為501,主目錄為/lisi,使用者id為502

(修改使用者主目錄需要手動建立新主目錄)

修改使用者名稱字

usermod  -l wangwu lisi //將使用者名稱lisi修改為wangwu

   修改組名字

   Groupmod-n 新組名 舊組名  //將舊組名修改為新組名

       刪除使用者

              Userdel  使用者名稱   //只刪除使用者的資訊。

              Userdel  -r  使用者名稱  //刪除使用者資訊同時使用者對應的主目錄也被刪除

組操作

       檢視組

              Cat  /etc/group

       新增組

              Groupadd 組名  //新增一個使用者組

              Group add -g 組id 組名   ///新增組同時新增組id

       修改組

              Groupmod -n新組名 舊組名  //修改組名稱

              Groupmod -g 組id 組名    //修改組id

       刪除組

              Groupdel 組名   //刪除使用者組(注意:組裡面如果有使用者不能刪除,這裡就需要先刪除組裡面的使用者,在刪除組)

修改密碼

       Passwd    //修改自己的密碼

       Passwd 使用者名稱   //修改指定使用者的密碼,僅root使用者可以使用

學習命令

       命令 –help  檢視該命令詳情

       man 命令  可以檢視該命令語法

vim和vi 編輯器

檔案許可權操作

       許可權劃分

三個操作許可權:讀read 、 寫write 、 執行execute 

固定三種使用者許可權:所屬使用者(user),所屬使用者組(group),其他組使用者(other)

①表示使用者許可權(共10個字元,第一個代表檔案型別[d目錄,-檔案]2-4位表示檔案所屬使用者的許可權,5-7位表示檔案所屬使用者組的許可權,8-10表示其他組使用者的許可權)

②表示檔案引用計數

所屬使用者

所屬使用者組

⑤檔案大小

⑥  檔案最後修改日期

⑦   檔名

修改檔案許可權:

              Chmod 引數 檔名  //命令格式

1>  字母方式:

chmod u+rx filename 給所屬使用者加上r(讀)和x(可執行)許可權

chmod g-w filename  給使用者組去掉w(寫)許可權

chmod o=,g+w filename  其他組使用者許可權為空,使用者組增加w許可權

chmod a=rw filename  將所有使用者許可權設定為rw

引數說明:

u代表檔案所屬使用者,g代表檔案所屬使用者組,o代表其他組使用者

+代表新增許可權,-代表去掉許可權,=代表將許可權設定為(去掉許可權後再新增)

r代表讀許可權,w代表寫許可權,x代表執行許可權

2>數字方式

問題:如何用一位數字表示3個許可權?

通常使用0和1表示是否擁有該許可權,0表示沒有許可權,1表示有許可權

要表示(rwx)3個許可權,就需要用到3位二進位制數字,從左往右,第一位表示r許可權,第二位表示w許可權,第三位表示x許可權

二進位制000~111 就可以分別表示3個許可權的情況,轉換為十進位制就是0~7

示例:000  ---  十進位制0

     100  r--  十進位制4

     111  rwx  十進位制7

這樣一個數字(0~7)就可以表示rwx這3個許可權的情況。

現在我們需要表示ugo三組使用者的許可權,就需要三列數字000~777

示例:000  --- --- --- 表示u、g、o都沒有任何許可權

      520  r-x -w- --- 表示u擁有rx許可權,g擁有w許可權,o沒有任何許可權

      777  rwx rwx rwx 表示ugo均擁有rwx許可權

使用數字方式修改檔案許可權

chmod 000 == chmod u=,g=,o=

chmod 777 == chmod u=rwx,g=rwx,o=rwx

chmod 640 filename   //u使用者rw許可權,g使用者r許可權,o使用者無許可權

r ---4    w---2   x---1

使用哪種方式來設定?

根據實際情況來使用,數字更簡潔,字母更直觀。工作中數字用的多一些。

許可權說明

①  檔案許可權

r 讀許可權,可以檢視檔案的內容

w 寫許可權,可以修改檔案的內容

x 可執行許可權(檔案是否可以執行不是看字尾名,是看檔案是否有執行許可權)

特殊情況:檔案沒有寫許可權,但是該目錄有寫許可權,可以通過覆蓋寫檔案的方式達到修改檔案的目的,檔案所有者變成當前使用者了(本質是覆蓋原檔案)

② 目錄許可權

r 讀取目錄的檔案列表資訊

w 可以刪除和建立檔案

x 進入目錄的許可權

②  遞迴修改檔案和目錄許可權

chmod 666 dir –R 遞迴修改dir 目錄下面的所有檔案和目錄的許可權。

要訪問檔案

修改檔案所屬使用者和使用者組:

   先切換到超級使用者,然後

  chown usernamefilename 修改檔案所屬使用者

chgrp groupname filename修改檔案所屬使用者組

常用系統命令

grep 關鍵字 路徑  //將檔案中含有該關鍵字的行的內容顯示出來,可以起到過濾作用

grep root /etc/passwd  顯示含有某些關鍵詞的內容行

ps –A //檢視系統活躍程序檢視apacha有沒有使用

ps –A | grep httpd

kill 9 //殺死指定pid號程序

kill 3759 殺死top程序

管道 |

ps –A | grep top