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