查看命令位置:which
which 查看可執(zhí)行文件的位置梢什。
命令格式:which 可執(zhí)行文件名稱
命令參數(shù):
-n 指定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名注暗。
-p 與-n參數(shù)相同琐脏,但此處的包括了文件的路徑猫牡。
-w 指定輸出時欄位的寬度。
-V 顯示版本信息
Linux命令-用戶、權限管理
用戶是Unix/Linux系統(tǒng)工作中重要的一環(huán)弦疮,用戶管理包括用戶與組賬號的管理剧辐。
在Unix/Linux系統(tǒng)中寒亥,不論是由本機或是遠程登錄系統(tǒng),每個系統(tǒng)都必須擁有一個賬號荧关,并且對于不同的系統(tǒng)資源擁有不同的使用權限溉奕。
Unix/Linux系統(tǒng)中的root賬號通常用于系統(tǒng)的維護和管理,它對Unix/Linux操作系統(tǒng)的所有部分具有不受限制的訪問權限忍啤。
在Unix/Linux安裝的過程中加勤,系統(tǒng)會自動創(chuàng)建許多用戶賬號,而這些默認的用戶就稱為“標準用戶”。
在大多數(shù)版本的Unix/Linux中鳄梅,都不推薦直接使用root賬號登錄系統(tǒng)叠国。
查看當前用戶:whoami
whoami該命令用戶查看當前系統(tǒng)當前賬號的用戶名〈魇可通過cat /etc/passwd查看系統(tǒng)用戶信息粟焊。
由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng)校赤,然后再以su命令切換到root身份對傳統(tǒng)進行管理吆玖。這時候就可以使用whoami來查看當前用戶的身份。
看登錄用戶:who
who命令用于查看當前所有登錄系統(tǒng)的用戶信息马篮。
退出登錄賬戶: exit
如果是圖形界面沾乘,退出當前終端;
如果是使用ssh遠程登錄浑测,退出登陸賬戶翅阵;
如果是切換后的登陸用戶,退出則返回上一個登陸賬號迁央。
添加用戶賬號:useradd
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令掷匠,因為adduser命令是指向useradd命令的一個鏈接,因此岖圈,這兩個命令的使用格式完全一樣讹语。
useradd命令的使用格式如下: useradd [參數(shù)] 新建用戶賬號
相關說明:
Linux每個用戶都要有一個主目錄,主目錄就是第一次登陸系統(tǒ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選項踢涌,則可以重復使用其他用戶的標識號。
設置用戶密碼:passwd
在Unix/Linux中序宦,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令睁壁。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名互捌。
?sudo ?passwd +用戶名
刪除用戶:userdel
userdel -r laowang
切換用戶:su
可以通過su命令切換用戶潘明,su后面可以加“-”。su和su –命令不同之處在于秕噪,su -切換到對應的用戶時會將當前的工作目錄自動轉換到切換后的用戶主目錄钳降。
注意:如果是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權限
新創(chuàng)建的用戶逗载,默認不能sudo客税,需要進行一下操作
sudo usermod -a -G adm 用戶名
sudo usermod -a -G sudo 用戶名
usermod -g 與 -G的區(qū)別
-g用來制定這個用戶默認的用戶組
-G一般配合'-a'來完成向其它組添加
修改文件權限:chmod
chmod 修改文件權限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
u 表示該檔案的擁有者撕贞,g 表示與該檔案的擁有者屬于同一個群體(group)者,o 表示其他以外的人测垛,a 表示這三者皆是捏膨。
+ 表示增加權限、- 表示取消權限食侮、= 表示唯一設定權限号涯。
r 表示可讀取,w 表示可寫入锯七,x 表示可執(zhí)行链快,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執(zhí)行。
-c : 若該檔案權限確實已經更改眉尸,才顯示其更改動作
-f : 若該檔案權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
范例 :將檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
將檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
將檔案 file1.txt 與 file2.txt 設為該檔案擁有者域蜗,與其所屬同一個群體者可寫入巨双,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.py 設定為只有該檔案擁有者可以執(zhí)行 :
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *
此外chmod也可以用數(shù)字來表示權限如 chmod 777 file
語法為:chmod abc file
其中a,b,c各為一個數(shù)字,分別表示User霉祸、Group筑累、及Other的權限。
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改變文件的擁有者和群組缅茉。在更改文件的所有者或所屬群組時,可以使用用戶名稱和用戶識別碼設置湘换。普通用戶不能將自己的文件改變成其他的擁有者宾舅。其操作權限一般為管理員。
3.命令參數(shù):
必要參數(shù):
-c 顯示更改的部分的信息
-f 忽略錯誤信息
-h 修復符號鏈接
-R 處理指定目錄以及其子目錄下的所有文件
-v 顯示詳細的處理信息
-deference 作用于符號鏈接的指向彩倚,而不是鏈接文件本身
選擇參數(shù):
--reference=<目錄或文件> 把指定的目錄/文件作為參考筹我,把操作的文件/目錄設置成參考文件/目錄相同擁有者和群組
--from=<當前用戶:當前群組> 只有當前用戶和群組跟指定的用戶和群組相同時才進行改變
--help 顯示幫助信息
--version 顯示版本信息
4.使用實例:
實例1:改變擁有者和群組
命令:
chown mail:mail log2012.log
修改文件所屬組:chgrp
1.命令格式:
chgrp?[選項]?[組]?[文件]
2.命令功能:
chgrp命令可采用群組名稱或群組識別碼的方式改變文件或目錄的所屬群組。使用權限是超級用戶帆离。
3.命令參數(shù):
必要參數(shù):
-c?當發(fā)生改變時輸出調試信息
-f?不顯示錯誤信息
-R?處理指定目錄以及其子目錄下的所有文件
-v?運行時顯示詳細的處理信息
--dereference?作用于符號鏈接的指向蔬蕊,而不是符號鏈接本身
--no-dereference?作用于符號鏈接本身
選擇參數(shù):
--reference=<文件或者目錄>
--help?顯示幫助信息
--version?顯示版本信息
4.使用實例:
實例1:改變文件的群組屬性
命令:
chgrp?-v?bin?log2012.log
查看當前日歷:cal
cal命令用于查看當前日歷,-y顯示整年日歷:
示或設置時間:date
設置時間格式(需要管理員權限):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指令也會顯示同樣的結果。
%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ù)字符串來設置日期與時間等限。字符串前后必須加上雙引號展运。
-u 顯示GMT。
--help 在線幫助精刷。
--version 顯示版本信息
4.使用說明:
1.在顯示方面,使用者可以設定欲顯示的格式蔗候,格式設定為一個加號后接數(shù)個標記怒允,其中可用的標記列表如下: % :? 打印出 %:
%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 : 相當于 %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.在設定時間方面:
date -s //設置當前時間锈遥,只有root權限才能設置纫事,其他只能查看勘畔。
date -s 20080523 //設置成20080523,這樣會把具體時間設置成空00:00:00
date -s 01:01:01 //設置具體時間丽惶,不會對日期做更改
date -s “01:01:01 2008-05-23″ //這樣可以設置全部時間
date -s “01:01:01 20080523″ //這樣可以設置全部時間
date -s “2008-05-23 01:01:01″ //這樣可以設置全部時間
date -s “20080523 01:01:01″ //這樣可以設置全部時間
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í)行的基本單元。
工具標識進程的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.命令功能:
用來顯示當前進程的狀態(tài)
3.命令參數(shù):auxwr
-a 顯示同一終端下的所有程序
r? 顯示當前終端的進程
u? 指定用戶的所有進程
x 顯示沒有終端控制的進程
w 顯示加寬
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
動態(tài)顯示進程:top
top命令用來動態(tài)顯示運行中的進程钾唬。top命令能夠在運行后万哪,在指定的時間間隔更新顯示信息÷崭眩可以在使用top命令時加上-d?來指定顯示信息更新的時間間隔奕巍。
d 指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交互命令來改變之儒士。
p 通過指定監(jiān)控進程ID來僅僅監(jiān)控某個進程的狀態(tài)的止。
q 該選項將使top沒有任何延遲的進行刷新。如果調用程序有超級用戶權限着撩,那么top將以盡可能高的優(yōu)先級運行诅福。
S 指定累計模式
s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險拖叙。
i 使top不顯示任何閑置或者僵死進程氓润。
c 顯示整個命令行而不只是顯示命令名
Ctrl+L 擦除并且重寫屏幕。
h或者? 顯示幫助畫面憋沿,給出一些簡短的命令總結說明旺芽。
k? ? ? 終止一個進程。系統(tǒng)將提示用戶輸入需要終止的進程PID辐啄,以及需要發(fā)送給該進程什么樣的信號采章。一般的終止進程可以使用15信號;如果不能正常結束那就使用信號9強制結束該進程壶辜。默認值是信號15悯舟。在安全模式中此命令被屏蔽。
i 忽略閑置和僵死進程砸民。這是一個開關式命令抵怎。
q 退出程序。
r 重新安排一個進程的優(yōu)先級別岭参。系統(tǒng)提示用戶輸入需要改變的進程PID以及需要設置的進程優(yōu)先級值反惕。輸入一個正值將使優(yōu)先級降低,反之則可以使該進程擁有更高的優(yōu)先權演侯。默認值是10姿染。
S 切換到累計模式。
s 改變兩次刷新之間的延遲時間秒际。系統(tǒng)將提示用戶輸入新的時間悬赏,單位為s狡汉。如果有小數(shù),就換算成m s闽颇。輸入0值則系統(tǒng)將不斷刷新盾戴,默認值是5 s。需要注意的是如果設置太小的時間兵多,很可能會引起不斷刷新尖啡,從而根本來不及看清顯示的情況,而且系統(tǒng)負載也會大大增加中鼠。
f或者F 從當前顯示中添加或者刪除項目可婶。
o或者O 改變顯示項目的順序。
l 切換顯示平均負載和啟動時間信息援雇。
m 切換顯示內存信息矛渴。
t 切換顯示進程和CPU狀態(tài)信息。
c 切換顯示命令名稱和完整命令行惫搏。
M 根據(jù)駐留內存大小進行排序具温。
P 根據(jù)CPU使用百分比大小進行排序。
T 根據(jù)時間/累計時間進行排序筐赔。
W 將當前設置寫入~/.toprc文件中铣猩。這是寫top配置文件的推薦方法
終止進程:kill
kill命令指定進程號的進程,需要配合 ps 使用茴丰。
使用格式:kill [-signal] pid
信號值從0到15达皿,其中9為絕對終止,可以處理一般信號無法終止的進程贿肩。
kill 9133 :9133 為應用程序所對應的進程號
有些進程不能直接殺死峦椰,這時候我們需要加一個參數(shù)“ -9 ”,“ -9 ” 代表強制結束:
關機重啟:reboot汰规、shutdown汤功、init
reboot [-n] [-w] [-d] [-f] [-h] [-i]
-n: 停系統(tǒng)之前不同步
-w: 只寫wtmp reboot記錄并離開
-d: 不寫wtmp記錄
-f: 強制停機或重啟
-h: 讓硬盤處于單機模式
-i: 關閉所有的網絡接口
# shutdown -h now #立刻關機
# shutdown -h 2:30 'halt'? #2點30分關機,注意以本機時間為準
# halt -p? ? ? ? ? ? ? ? ? #立刻關機
# init 0? ? ? ? ? ? ? ? ? #立即將系統(tǒng)運行級別切換為0,即關機
# shutdown now? ? ? ? ? ? #切換至單人操作模式(不加任何選項時)
重啟例子
# shutdown -k now 'reboot' #發(fā)出警告訊息,但沒有真的關機.
# 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í)行結果與df類似忿族,du更側重于磁盤的使用狀況。
du命令的使用格式如下: du [選項] 目錄或文件名
查看或配置網卡信息:ifconfig
如果,我們只是敲:ifconfig肠阱,它會顯示所有網卡的信息