進入單用戶找回root身份
編輯/etc/passwd,vim /etc/passwd
將root:x:變成root::
文件基本權限(不適用於root)
對於文件:
r讀 w寫 x執行
對於目錄:
r讀(看到目錄裏面有什麼)
w建文件、刪除、移動
x進入
修改權限命令
chmod
作用:修改文件權限
u + r
g - w
o = x
a + x a表示所有(u、g、o)
修改文件夾權限
使用數字表示權限
rwx
r– | -w- | –x |
---|---|---|
100 | 010 | 001 |
r=4 | w=2 | x=1 |
rw-的值是6 ,rwx r-x r-x的值是755
chmod a=rwx a.txt
等於 chmod 777 a.txt
chown
作用:修改文件擁有者和所屬組
語法:
chown USER:GROUP 對象
chown USER 對象
chown :GROUP 對象</pre>
-R 遞歸(目錄下的所有內容全部更改,否則只修改目錄)
設置文件默認權限的補碼:
系統用戶:#umask 022
普通用戶:#umask 002
計算方法:
文件默認權限=666 - umask值 666-022=644
目錄默認權限=777 - umask值
注意:這是一個好的記憶方法,但不嚴謹。
umask掩碼爲033. 666 - 033=633 結果爲:644
110110110(666)與111100100(033的反碼)相與得到110100100(644)
特殊權限
SUID SGID Stickybit
s對應的數值爲:4 s,2 t,1
SUID:
限定:只能設置在二進制可執行程序上面。對目錄文本設置無效。
功能:程序運行時的權限從執行者變更成程序的所有者。
SGID:
限定:既可以給二進制可執行程序設置,也可以給目錄設置。
功能:在設置了SGID權限的目錄下建立文件是,新創建的文件的所屬組會繼承上級目錄的所屬組。
Stickybit:
限定:只作用於目錄
功能:目錄下創建的文件只有root、文件創建者、目錄所有者才能刪除。
一個讓root都無法刪除的文件
chattr lsattr
+a 只能追加內容
+i 不能被修改
tar命令
作用:打包、壓縮文件
#c create 創建
#v 詳細
#f filename
file命令
作用:查看文件類型
用法:file 文件路勁
注意:Linux系統不根據後綴名識別文件類型
不解包,查看tar中的內容:
tar -tvf a.tar
解包:
tar -xvf a.tar
指定解壓路徑:
tar -xf a.tar -C /home
tar歸檔+壓縮
格式(後綴名):.tar.gz 或 .tgz
語法:tar cvzf newfile.tar.gz SOUPCE
tar -zxf a.tar -C /home
bz2 歸檔+壓縮
tar -cjvf a.tar.bz2 /root
解壓:tar jxf a.tar.bz2 -C /root/a
zip軟件包解壓縮命令
zip是壓縮程序,unzip是解壓程序。
壓縮文件:
zip a.zip /etc/passwd
壓縮目錄:
zip -r a.zip /root
解壓縮:
unzip a.zip
unzip a.zip -d /home
進程管理
查看進程樹:
pstree樹型結構顯示系統進程信息
-p顯示進程號
ps命令
USER:運行此進程的用戶名
PID:該process的號碼
%CPU:該進程使用掉的CPU資源百分比
%MEM:該進程所佔用的物理內存百分比
VSZ:該進程使用掉的虛擬內存量(kbytes)
RSS:該進程佔用的固定的內存量(kbytes)
TTY:該進程是在哪個終端上面運作,若與終端機無關,則顯示?,另外,tty1~tty6市本級上面的登入者程序,若爲pts/0等等的,則表示爲由網絡連接進主機的程序。
STAT:該進程目前的狀態,Linux進程有5種基本狀態:
R:(正在運行或在運行隊列中等待);
S:該程序目前正在睡眠中,但是可被某些訊號(signal)喚醒。
T:該程序目前暫停了;
Z:該程序應該已經終止,但是其父程序卻無法正常的終止它,造成zombie(殭屍)程序的狀態;
D:不可中斷狀態;
ctrl + c是發送SIGINT信號,終止一個進程
ctrl + z是發送SIGSTOP信號,掛起一個進程。
< | 高優先級的 |
---|---|
N | 低優先級的 |
L | 有內存分頁但是帶鎖 |
s | 包含子進程 |
I | 多線程 |
+ | 前臺程序() |
START:該進程被觸發啓動的時間
TIME:該進程實際使用CPU運作的時間
COMMAND:該進程的實際指令
ps -aux是用BSD的格式來顯示進程
ps -ef是用標準的格式顯示進程
top命令
作用:動態查看進程
統計信息區前五行是系統整體的統計信息
1.第一行是任務隊列信息,同uptime
命令的執行結果相同
14:35:50 | 當前時間 |
---|---|
up 3:25 | 系統運行時間,格式爲時:分 |
2 users | 當前登錄用戶數 |
load average: 0.08, 0.03, 0.05 | 系統負載,即任務隊列的平均長度。三個值分別爲1分鐘、5分鐘、15分鐘前到現在的平均值。 |
2.第二、三行爲進程和CPU的信息
Tasks: 198 total | 進程總數 |
---|---|
1 running | 正在運行的進程數 |
197 sleeping | 睡眠進程數 |
0 stopped | 停止進程數 |
0 zombie | 殭屍進程數 |
%Cpu(s): 1.3 us | 系統用戶進程使用CPU百分比 |
0.3 sy | 內核空間佔用CPU百分比 |
0.0 ni | 用戶進程空間內改變過優先級的進程佔用CPU百分比 |
98.3 id | 空閒CPU百分比 |
3.第四、五行爲內存信息
KiB Mem : 997956 total | 物理內存總量 |
---|---|
62328 free | 空閒內存總量 |
739828 used | 使用的物理內存總量 |
195800 buff/cache | 用作內核緩存的內存量和free -k一個意思 |
KiB Swap: 2097148 total | 交換區總量 |
1914364 free | 空閒交換區總量 |
182784 used | 使用的交換區總量 |
57860 avail Mem | 緩衝的交換區總量 |
進程信息
PID | 進程id |
---|---|
USER | 進程所有者的用戶名 |
NI | 進程優先級,nice值。負值表示高優先級,正值表示低優先級 |
RES | 實際使用內存大小 |
top快捷鍵:
默認3s刷新一次
空格:立即刷新
q退出
M按內存排序
P按CPU排序
kill命令
kill -9 pid
killall或plill 通過程序的名字,直接殺死所有進程
文件查找方法
which:查看可執行文件的位置
whereis:查看可執行文件的位置及相關文件
locate:配合數據庫緩存,快速查看文件位置
find:實際搜尋硬盤查詢文件名稱
grep:過濾
find搜索文件系統、實時搜索
find [目錄] [條件] [動作]
不輸入代表當前目錄
類型:-type(f 文件,d 目錄,I 鏈接,p 管道,c 字符文件,b 快文件,s socket文件)
名字:-name
大小:-size +NM大於兆 -NG小NGB
時間: -mtime -atime -ctime
查看命令
cat -s多個空行合併成一個空行顯示
cat -b加行號顯示
nl 加行號
cp 源文件路徑 目的路徑 -i
覆蓋時交互提示:
touch創建一個已經存在的文件時,只更新時間戳