查看命令位置:which
which 查看可執(zhí)行文件的位置沿猜。
命令格式:which 可執(zhí)行文件名稱
命令參數(shù):
-n 指定文件名長度蜂挪,指定的長度必須大于或等于所有文件中最長的文件名。
-p 與-n參數(shù)相同哥力,但此處的包括了文件的路徑未巫。
-w 指定輸出時欄位的寬度约急。
-V 顯示版本信息
Linux命令-用戶、權(quán)限管理
用戶是Unix/Linux系統(tǒng)工作中重要的一環(huán)炊汤,用戶管理包括用戶與組賬號的管理正驻。
在Unix/Linux系統(tǒng)中,不論是由本機或是遠程登錄系統(tǒng)抢腐,每個系統(tǒng)都必須擁有一個賬號姑曙,并且對于不同的系統(tǒng)資源擁有不同的使用權(quán)限。
Unix/Linux系統(tǒng)中的root賬號通常用于系統(tǒng)的維護和管理迈倍,它對Unix/Linux操作系統(tǒng)的所有部分具有不受限制的訪問權(quán)限伤靠。
在Unix/Linux安裝的過程中,系統(tǒng)會自動創(chuàng)建許多用戶賬號啼染,而這些默認(rèn)的用戶就稱為“標(biāo)準(zhǔn)用戶”宴合。
在大多數(shù)版本的Unix/Linux中,都不推薦直接使用root賬號登錄系統(tǒng)迹鹅。
查看當(dāng)前用戶:whoami
whoami該命令用戶查看當(dāng)前系統(tǒng)當(dāng)前賬號的用戶名卦洽。可通過cat /etc/passwd查看系統(tǒng)用戶信息斜棚。
由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng)逐样,例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對傳統(tǒng)進行管理。這時候就可以使用whoami來查看當(dāng)前用戶的身份脂新。
看登錄用戶:who
who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息肃廓。
退出登錄賬戶: exit
如果是圖形界面悲幅,退出當(dāng)前終端;
如果是使用ssh遠程登錄,退出登陸賬戶其监;
如果是切換后的登陸用戶,退出則返回上一個登陸賬號蚓聘。
添加用戶賬號:useradd
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令壳鹤,因為adduser命令是指向useradd命令的一個鏈接,因此斩启,這兩個命令的使用格式完全一樣序调。
useradd命令的使用格式如下: useradd [參數(shù)] 新建用戶賬號
相關(guān)說明:
Linux每個用戶都要有一個主目錄,主目錄就是第一次登陸系統(tǒng)兔簇,用戶的默認(rèn)當(dāng)前目錄(/home/用戶)发绢;
每一個用戶必須有一個主目錄,所以用useradd創(chuàng)建用戶的時候垄琐,一定給用戶指定一個主目錄边酒;
用戶的主目錄一般要放到根目錄的home目錄下,用戶的主目錄和用戶名是相同的狸窘;
如果創(chuàng)建用戶的時候墩朦,不指定組名,那么系統(tǒng)會自動創(chuàng)建一個和用戶名一樣的組名翻擒。
-c ? ? ? ? comment 指定一段注釋性描述氓涣。
-d ? ? ? ? 目錄 指定用戶主目錄,如果此目錄不存在陋气,則同時使用-m選項劳吠,可以創(chuàng)建主目錄。
-g ? ? ? ?用戶組 指定用戶所屬的用戶組恩伺。
-G ? ? ? ? 用戶組赴背,用戶組 指定用戶所屬的附加組。
-s ? ? ? ? ?Shell文件 指定用戶的登錄Shell晶渠。
-u ? ? ? ? 用戶號 指定用戶的用戶號凰荚,如果同時有-o選項,則可以重復(fù)使用其他用戶的標(biāo)識號褒脯。
設(shè)置用戶密碼:passwd
在Unix/Linux中便瑟,超級用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令番川,而無需在命令后面使用用戶名到涂。
sudo ?passwd +用戶名
刪除用戶:userdel
userdel -r laowang
切換用戶:su
可以通過su命令切換用戶脊框,su后面可以加“-”。su和su –命令不同之處在于践啄,su -切換到對應(yīng)的用戶時會將當(dāng)前的工作目錄自動轉(zhuǎn)換到切換后的用戶主目錄浇雹。
注意:如果是ubuntu平臺,需要在命令前加“sudo”屿讽,如果在某些操作需要管理員才能操作昭灵,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可伐谈。sudo是ubuntu平臺下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具烂完,減少了root 用戶的登陸和管理時間,提高了安全性诵棵。
查看有哪些用戶組
方法1:cat /etc/group
方法2:groupmod +三次tab鍵
添加抠蚣、刪除組賬號:groupadd、groupdel
groupadd 新建組賬號
groupdel 組賬號
cat /etc/group 查看用戶組
修改用戶所在組:usermod
usermod -g 用戶組 用戶名
查看用戶在哪些組
groups laowang
為創(chuàng)建的普通用戶添加sudo權(quán)限
新創(chuàng)建的用戶履澳,默認(rèn)不能sudo嘶窄,需要進行一下操作
sudo usermod -a -G adm 用戶名
sudo usermod -a -G sudo 用戶名
usermod -g 與 -G的區(qū)別
-g用來制定這個用戶默認(rèn)的用戶組
-G一般配合'-a'來完成向其它組添加
修改文件權(quán)限:chmod
chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
u 表示該檔案的擁有者奇昙,g 表示與該檔案的擁有者屬于同一個群體(group)者护侮,o 表示其他以外的人敌完,a 表示這三者皆是储耐。
+ 表示增加權(quán)限、- 表示取消權(quán)限滨溉、= 表示唯一設(shè)定權(quán)限什湘。
r 表示可讀取,w 表示可寫入晦攒,x 表示可執(zhí)行闽撤,X 表示只有當(dāng)該檔案是個子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。
-c : 若該檔案權(quán)限確實已經(jīng)更改脯颜,才顯示其更改動作
-f : 若該檔案權(quán)限無法被更改也不要顯示錯誤訊息
-v : 顯示權(quán)限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權(quán)限變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
范例 :將檔案 file1.txt 設(shè)為所有人皆可讀取 :
chmod ugo+r file1.txt
將檔案 file1.txt 設(shè)為所有人皆可讀取 :
chmod a+r file1.txt
將檔案 file1.txt 與 file2.txt 設(shè)為該檔案擁有者哟旗,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.py 設(shè)定為只有該檔案擁有者可以執(zhí)行 :
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取 :
chmod -R a+r *
此外chmod也可以用數(shù)字來表示權(quán)限如 chmod 777 file
語法為:chmod abc file
其中a,b,c各為一個數(shù)字栋操,分別表示User闸餐、Group、及Other的權(quán)限矾芙。
r=4舍沙,w=2,x=1
若要rwx屬性則4+2+1=7剔宪;
若要rw-屬性則4+2=6拂铡;
若要r-x屬性則4+1=7壹无。
范例:
chmod a=rwx file?和?chmod 777 file,效果相同
chmod ug=rwx,o=x file?和?chmod 771 file感帅,效果相同
修改文件所有者:chown
1.命令格式:
chown [選項]... [所有者][:[組]] 文件...
2.命令功能:
通過chown改變文件的擁有者和群組斗锭。在更改文件的所有者或所屬群組時,可以使用用戶名稱和用戶識別碼設(shè)置失球。普通用戶不能將自己的文件改變成其他的擁有者拒迅。其操作權(quán)限一般為管理員。
3.命令參數(shù):
必要參數(shù):
-c 顯示更改的部分的信息
-f 忽略錯誤信息
-h 修復(fù)符號鏈接
-R 處理指定目錄以及其子目錄下的所有文件
-v 顯示詳細的處理信息
-deference 作用于符號鏈接的指向她倘,而不是鏈接文件本身
選擇參數(shù):
--reference=<目錄或文件> 把指定的目錄/文件作為參考璧微,把操作的文件/目錄設(shè)置成參考文件/目錄相同擁有者和群組
--from=<當(dāng)前用戶:當(dāng)前群組> 只有當(dāng)前用戶和群組跟指定的用戶和群組相同時才進行改變
--help 顯示幫助信息
--version 顯示版本信息
4.使用實例:
實例1:改變擁有者和群組
命令:
chown mail:mail log2012.log
修改文件所屬組:chgrp
1.命令格式:
chgrp?[選項]?[組]?[文件]
2.命令功能:
chgrp命令可采用群組名稱或群組識別碼的方式改變文件或目錄的所屬群組。使用權(quán)限是超級用戶硬梁。
3.命令參數(shù):
必要參數(shù):
-c?當(dāng)發(fā)生改變時輸出調(diào)試信息
-f?不顯示錯誤信息
-R?處理指定目錄以及其子目錄下的所有文件
-v?運行時顯示詳細的處理信息
--dereference?作用于符號鏈接的指向前硫,而不是符號鏈接本身
--no-dereference?作用于符號鏈接本身
選擇參數(shù):
--reference=<文件或者目錄>
--help?顯示幫助信息
--version?顯示版本信息
4.使用實例:
實例1:改變文件的群組屬性
命令:
chgrp?-v?bin?log2012.log
查看當(dāng)前日歷:cal
cal命令用于查看當(dāng)前日歷,-y顯示整年日歷:
示或設(shè)置時間:date
設(shè)置時間格式(需要管理員權(quán)限):date [MMDDhhmm[[CC]YY][.ss]] +format
CC為年前兩位yy為年的后兩位荧止,前兩位的mm為月屹电,后兩位的mm為分鐘,dd為天跃巡,hh為小時危号,ss為秒。如: date 010203042016.55素邪。
顯示時間格式(date '+%y,%m,%d,%H,%M,%S'):
%H 小時(以00-23來表示)外莲。
%I 小時(以01-12來表示)。
%K 小時(以0-23來表示)兔朦。
%l 小時(以0-12來表示)偷线。
%M 分鐘(以00-59來表示)。
%P AM或PM沽甥。
%r 時間(含時分秒声邦,小時以12小時AM/PM來表示)。
%s 總秒數(shù)摆舟。起算時間為1970-01-01 00:00:00 UTC亥曹。
%S 秒(以本地的慣用法來表示)。
%T 時間(含時分秒恨诱,小時以24小時制來表示)媳瞪。
%X 時間(以本地的慣用法來表示)。
%Z 市區(qū)胡野。
%a 星期的縮寫材失。
%A 星期的完整名稱。
%b 月份英文名的縮寫硫豆。
%B 月份的完整英文名稱龙巨。
%c 日期與時間笼呆。只輸入date指令也會顯示同樣的結(jié)果。
%d 日期(以01-31來表示)旨别。
%D 日期(含年月日)诗赌。
%j 該年中的第幾天。
%m 月份(以01-12來表示)秸弛。
%U 該年中的周數(shù)铭若。
%w 該周的天數(shù),0代表周日递览,1代表周一叼屠,異詞類推。
%x 日期(以本地的慣用法來表示)绞铃。
%y 年份(以00-99來表示)镜雨。
%Y 年份(以四位數(shù)來表示)。
%n 在顯示時儿捧,插入新的一行荚坞。
%t 在顯示時,插入tab菲盾。
MM 月份(必要)
DD 日期(必要)
hh 小時(必要)
mm 分鐘(必要)
ss 秒(選擇性)
選擇參數(shù):
-d<字符串> 顯示字符串所指的日期與時間颓影。字符串前后必須加上雙引號。
-s<字符串> 根據(jù)字符串來設(shè)置日期與時間懒鉴。字符串前后必須加上雙引號诡挂。
-u 顯示GMT。
--help 在線幫助疗我。
--version 顯示版本信息
4.使用說明:
1.在顯示方面咆畏,使用者可以設(shè)定欲顯示的格式南捂,格式設(shè)定為一個加號后接數(shù)個標(biāo)記吴裤,其中可用的標(biāo)記列表如下: % :? 打印出 %:
%n : 下一行
%t : 跳格
%H : 小時(00..23)
%I : 小時(01..12)
%k : 小時(0..23)
%l : 小時(1..12)
%M : 分鐘(00..59)
%p : 顯示本地 AM 或 PM
%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(shù)
%S : 秒(00..61)
%T : 直接顯示時間 (24 小時制)
%X : 相當(dāng)于 %H:%M:%S
%Z : 顯示時區(qū) %a : 星期幾 (Sun..Sat)
%A : 星期幾 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接顯示日期與時間
%d : 日 (01..31)
%D : 直接顯示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)
%w : 一周中的第幾天 (0..6)
%W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最后兩位數(shù)字 (00.99)
%Y : 完整年份 (0000..9999)
2.在設(shè)定時間方面:
date -s //設(shè)置當(dāng)前時間溺健,只有root權(quán)限才能設(shè)置麦牺,其他只能查看。
date -s 20080523 //設(shè)置成20080523鞭缭,這樣會把具體時間設(shè)置成空00:00:00
date -s 01:01:01 //設(shè)置具體時間剖膳,不會對日期做更改
date -s “01:01:01 2008-05-23″ //這樣可以設(shè)置全部時間
date -s “01:01:01 20080523″ //這樣可以設(shè)置全部時間
date -s “2008-05-23 01:01:01″ //這樣可以設(shè)置全部時間
date -s “20080523 01:01:01″ //這樣可以設(shè)置全部時間
3.加減:
date +%Y%m%d? ? ? ?? //顯示前天年月日
date +%Y%m%d --date="+1 day"? //顯示前一天的日期
date +%Y%m%d --date="-1 day"? //顯示后一天的日期
date +%Y%m%d --date="-1 month"? //顯示上一月的日期
date +%Y%m%d --date="+1 month"? //顯示下一月的日期
date +%Y%m%d --date="-1 year"? //顯示前一年的日期
date +%Y%m%d --date="+1 year"? //顯示下一年的日期
查看進程信息:ps
進程是一個具有一定獨立功能的程序,它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元岭辣。
工具標(biāo)識進程的5種狀態(tài)碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
1.命令格式:
ps[參數(shù)]
2.命令功能:
用來顯示當(dāng)前進程的狀態(tài)
3.命令參數(shù):auxwr
-a 顯示同一終端下的所有程序
r? 顯示當(dāng)前終端的進程
u? 指定用戶的所有進程
x 顯示沒有終端控制的進程
w 顯示加寬
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
動態(tài)顯示進程:top
top命令用來動態(tài)顯示運行中的進程吱晒。top命令能夠在運行后,在指定的時間間隔更新顯示信息沦童÷乇簦可以在使用top命令時加上-d?來指定顯示信息更新的時間間隔叹话。
d 指定每兩次屏幕信息刷新之間的時間間隔。當(dāng)然用戶可以使用s交互命令來改變之墩瞳。
p 通過指定監(jiān)控進程ID來僅僅監(jiān)控某個進程的狀態(tài)驼壶。
q 該選項將使top沒有任何延遲的進行刷新。如果調(diào)用程序有超級用戶權(quán)限喉酌,那么top將以盡可能高的優(yōu)先級運行热凹。
S 指定累計模式
s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險泪电。
i 使top不顯示任何閑置或者僵死進程般妙。
c 顯示整個命令行而不只是顯示命令名
Ctrl+L 擦除并且重寫屏幕。
h或者? 顯示幫助畫面相速,給出一些簡短的命令總結(jié)說明股冗。
k? ? ?? 終止一個進程。系統(tǒng)將提示用戶輸入需要終止的進程PID和蚪,以及需要發(fā)送給該進程什么樣的信號止状。一般的終止進程可以使用15信號;如果不能正常結(jié)束那就使用信號9強制結(jié)束該進程攒霹。默認(rèn)值是信號15怯疤。在安全模式中此命令被屏蔽。
i 忽略閑置和僵死進程催束。這是一個開關(guān)式命令集峦。
q 退出程序。
r 重新安排一個進程的優(yōu)先級別抠刺。系統(tǒng)提示用戶輸入需要改變的進程PID以及需要設(shè)置的進程優(yōu)先級值塔淤。輸入一個正值將使優(yōu)先級降低,反之則可以使該進程擁有更高的優(yōu)先權(quán)速妖。默認(rèn)值是10高蜂。
S 切換到累計模式。
s 改變兩次刷新之間的延遲時間罕容。系統(tǒng)將提示用戶輸入新的時間备恤,單位為s。如果有小數(shù)锦秒,就換算成m s露泊。輸入0值則系統(tǒng)將不斷刷新,默認(rèn)值是5 s旅择。需要注意的是如果設(shè)置太小的時間惭笑,很可能會引起不斷刷新,從而根本來不及看清顯示的情況,而且系統(tǒng)負(fù)載也會大大增加沉噩。
f或者F 從當(dāng)前顯示中添加或者刪除項目铺敌。
o或者O 改變顯示項目的順序。
l 切換顯示平均負(fù)載和啟動時間信息屁擅。
m 切換顯示內(nèi)存信息偿凭。
t 切換顯示進程和CPU狀態(tài)信息。
c 切換顯示命令名稱和完整命令行派歌。
M 根據(jù)駐留內(nèi)存大小進行排序弯囊。
P 根據(jù)CPU使用百分比大小進行排序。
T 根據(jù)時間/累計時間進行排序胶果。
W 將當(dāng)前設(shè)置寫入~/.toprc文件中匾嘱。這是寫top配置文件的推薦方法
終止進程:kill
kill命令指定進程號的進程,需要配合 ps 使用早抠。
使用格式:kill [-signal] pid
信號值從0到15霎烙,其中9為絕對終止,可以處理一般信號無法終止的進程蕊连。
kill 9133 :9133 為應(yīng)用程序所對應(yīng)的進程號
有些進程不能直接殺死悬垃,這時候我們需要加一個參數(shù)“ -9 ”,“ -9 ” 代表強制結(jié)束:
關(guān)機重啟:reboot甘苍、shutdown尝蠕、init
reboot [-n] [-w] [-d] [-f] [-h] [-i]
-n: 停系統(tǒng)之前不同步
-w: 只寫wtmp reboot記錄并離開
-d: 不寫wtmp記錄
-f: 強制停機或重啟
-h: 讓硬盤處于單機模式
-i: 關(guān)閉所有的網(wǎng)絡(luò)接口
# shutdown -h now? ? ? ? ? #立刻關(guān)機
# shutdown -h 2:30 'halt'? #2點30分關(guān)機,注意以本機時間為準(zhǔn)
# halt -p? ? ? ? ? ? ? ? ? #立刻關(guān)機
# init 0? ? ? ? ? ? ? ? ?? #立即將系統(tǒng)運行級別切換為0,即關(guān)機
# shutdown now? ? ? ? ? ?? #切換至單人操作模式(不加任何選項時)
重啟例子
# shutdown -k now 'reboot' #發(fā)出警告訊息,但沒有真的關(guān)機.
# shutdown -t5 -r now?? #立刻重啟, 但在警告和刪除進程之間,延遲5秒鐘.
# init 6? ? ? ? ? ? ? ? ?? #立即將系統(tǒng)運行級別切換為6,即重啟
# shutdown -r +10 'reboot' #10分鐘后重啟
# shutdown -c? ? ? ? ? ? ? #取消之前的shutdown命令
# shutdown -r now? ? ? ? ? #立刻重啟
檢測磁盤空間:df
df命令用于檢測文件系統(tǒng)的磁盤空間占用和空余情況载庭,可以顯示所有文件系統(tǒng)對節(jié)點和磁盤塊的使用情況看彼。
必要參數(shù):
-a 全部文件系統(tǒng)列表
-h 方便閱讀方式顯示
-H 等于“-h”,但是計算式囚聚,1K=1000靖榕,而不是1K=1024
-i 顯示inode信息
-k 區(qū)塊為1024字節(jié)
-l 只顯示本地文件系統(tǒng)
-m 區(qū)塊為1048576字節(jié)
--no-sync 忽略 sync 命令
-P 輸出格式為POSIX
--sync 在取得磁盤信息前,先執(zhí)行sync命令
-T 文件系統(tǒng)類型
檢測目錄所占磁盤空間:du
du命令用于統(tǒng)計目錄或文件所占磁盤空間的大小顽铸,該命令的執(zhí)行結(jié)果與df類似茁计,du更側(cè)重于磁盤的使用狀況。
du命令的使用格式如下: du [選項] 目錄或文件名
查看或配置網(wǎng)卡信息:ifconfig
如果跋破,我們只是敲:ifconfig簸淀,它會顯示所有網(wǎng)卡的信息