unix下的常用命令詳解
2020-10-23 22:24:43
供稿:網(wǎng)友
一、注意事項(xiàng)
命令和參數(shù)之間必需用空格隔開(kāi),參數(shù)和參數(shù)之間也必需用空格隔開(kāi)。
一行不能超過(guò)256個(gè)字符;大小寫(xiě)有區(qū)分。
二、特殊字符含義
文件名以“.”開(kāi)頭的都是隱藏文件/目錄,只需在文件/目錄名前加“.”就可隱藏它。
~/ 表示主目錄。
./ 當(dāng)前目錄(一個(gè)點(diǎn))。
../ 上一級(jí)目錄(兩個(gè)點(diǎn))。
; 多個(gè)命令一起用。
> >> 輸出重定向 。將一個(gè)命令的輸出內(nèi)容寫(xiě)入到一個(gè)文件里面。如果該文件存在, 就將該文件的內(nèi)容覆蓋;
如果不存在就先創(chuàng)建該文件, 然后再寫(xiě)入內(nèi)容。
輸出重定向,意思就是說(shuō),將原來(lái)屏幕輸出變?yōu)槲募敵觯磳?nèi)容輸?shù)轿募小?br /> < << 輸入重定向。 本來(lái)命令是通過(guò)鍵盤(pán)得到輸入的,但是用小于號(hào),就能夠使命令從文件中得到輸入。
/ 表示未寫(xiě)完,回車換行再繼續(xù)。
* 匹配零個(gè)或者多個(gè)字符。
? 匹配一個(gè)字符。
[] 匹配中括號(hào)里的內(nèi)容[a-z][A-Z][0-9]。
! 事件。
$ 取環(huán)境變量的值。
| 管道。把前一命令的輸出作為后一命令的輸入,把幾個(gè)命令連接起來(lái)。
|經(jīng)常跟tee連用,tee 把內(nèi)容保存到文檔并顯示出來(lái)。
三、通用后接命令符
-a 所有(all)。
-e 所有(every),比a更詳細(xì)。
-f 取消保護(hù)。
-i 添加提示。
-p 強(qiáng)制執(zhí)行。
-r 目錄管理。
分屏顯示的中途操作
空格<space> 繼續(xù)打開(kāi)下一屏;
回車<return> 繼續(xù)打開(kāi)下一行;
b 另外開(kāi)上一屏;
f 另外開(kāi)下一屏;
h 幫助;
q或Ctrl+C 退出;
/字符串 從上往下查找匹配的字符串;
?字符串 從下往上查找匹配的字符串;
n 繼續(xù)查找。
四、退出命令
exit 退出; DOS內(nèi)部命令 用于退出當(dāng)前的命令處理器(COMMAND.COM) 恢復(fù)前一個(gè)命令處理器。
Ctrl+d 跟exit一樣效果,表中止本次操作。
logout 當(dāng)csh時(shí)可用來(lái)退出,其他shell不可用。
clear 清屏,清除(之前的內(nèi)容并未刪除,只是沒(méi)看到,拉回上面可以看回)。
五、目錄管理命令
pwd 顯示當(dāng)前所在目錄,打印當(dāng)前目錄的絕對(duì)路徑。
cd 進(jìn)入某目錄,DOS內(nèi)部命令 顯示或改變當(dāng)前目錄。
cd回車/cd ~ 都是回到自己的主目錄。
cd . 當(dāng)前目錄(空格再加一個(gè)點(diǎn))。
cd .. 回到上一級(jí)目錄(空格再加兩個(gè)點(diǎn))。 cd ../.. 向上兩級(jí)。
cd /home/hww/person 從絕對(duì)路徑去到某目錄。
cd ~/person 直接進(jìn)入主目錄下的某目錄(“cd ~"相當(dāng)于主目錄的路徑的簡(jiǎn)寫(xiě))。
ls 顯示當(dāng)前目錄的所有目錄和文件。
用法 ls [-aAbcCdeEfFghHilLmnopqrRstux1@] [file...]
ls /etc/ 顯示某目錄下的所有文件和目錄,如etc目錄下的。
ls -l (list)列表顯示文件(默認(rèn)按文件名排序),
顯示文件的權(quán)限、硬鏈接數(shù)(即包含文件數(shù),普通文件是1,目錄1+)、用戶、組名、大小、修改日期、文件名。
ls -t (time)按修改時(shí)間排序,顯示目錄和文件。
ls -lt 是“-l”和“-t”的組合,按時(shí)間順序顯示列表。
ls -F 顯示文件類型,目錄“/ ”結(jié)尾;可執(zhí)行文件“*”結(jié)尾;文本文件(none),沒(méi)有結(jié)尾。
ls -R 遞歸顯示目錄結(jié)構(gòu)。即該目錄下的文件和各個(gè)副目錄下的文件都一一顯示。
ls -a 顯示所有文件,包括隱藏文件。
文件權(quán)限
r 讀權(quán)限。對(duì)普通文件來(lái)說(shuō),是讀取該文件的權(quán)限;對(duì)目錄來(lái)說(shuō),是獲得該目錄下的文件信息。
w 寫(xiě)權(quán)限。對(duì)文件,是修改;對(duì)目錄,是增刪文件與子目錄。
(注 刪除沒(méi)有寫(xiě)權(quán)限的文件可以用 rm -f ,這是為了操作方便,是人性化的設(shè)計(jì))。
x 執(zhí)行權(quán)限;對(duì)目錄,是進(jìn)入該目錄
- 表示沒(méi)有權(quán)限
形式 - rw- r-- r--
其中 第一個(gè)是文件類型(-表普通文件,d表目錄,l表軟鏈接文件)
第2~4個(gè)是屬主,生成文件時(shí)登錄的人,權(quán)限最高,用u表示
第5~7個(gè)是屬組,系統(tǒng)管理員分配的同組的一個(gè)或幾個(gè)人,用g表示
第8~10個(gè)是其他人,除屬組外的人,用o表示
所有人,包括屬主、屬組及其他人,用a表示
chmod 更改權(quán)限;
用法 chmod [-fR] <絕對(duì)模式> 文件 ...
chmod [-fR] <符號(hào)模式列表> 文件 ...
其中 <符號(hào)模式列表> 是一個(gè)用逗號(hào)分隔的表 [ugoa]{+|-|=}[rwxXlstugo]
chmod u+rw 給用戶加權(quán)限。同理,u-rw也可以減權(quán)限。
chmod u=rw 給用戶賦權(quán)限。與加權(quán)限不一樣,賦權(quán)限有覆蓋的效果。
主要形式有如下幾種
chmod u+rw chmod u=rw
chmod u+r, u+w chmod u+rw,g+w, o+r
chmod 777( 用數(shù)字的方式設(shè)置權(quán)限是最常用的)
數(shù)字表示權(quán)限時(shí),各數(shù)位分別表示屬主、屬組及其他人;
其中,1是執(zhí)行權(quán)(Execute),2是寫(xiě)權(quán)限(Write),4是讀權(quán)限(Read),
具體權(quán)限相當(dāng)于三種權(quán)限的數(shù)相加,如7=1+2+4,即擁有讀寫(xiě)和執(zhí)行權(quán)。
另外,臨時(shí)文件/目錄的權(quán)限為rwt,可寫(xiě)卻不可刪,關(guān)機(jī)后自動(dòng)刪除;建臨時(shí)目錄:chmod 777 目錄名,再chmod +t 目錄名。
id 顯示用戶有效的uid(用戶字)和gid(組名)
用法 id [-ap] [user]
id 顯示自己的。
id root 顯示root的。
id -a root 顯示用戶所在組的所有組名(如root用戶,是所有組的組員)
df 查看文件系統(tǒng),查看數(shù)據(jù)區(qū)
用法 df [-F FSType] [-abeghklntVvZ] [-o FSType 特定選項(xiàng)] [目錄 | 塊設(shè)備 | 資源]
df -k 以kbytes顯示文件大小的查看文件系統(tǒng)方式
六、顯示文件內(nèi)容
more 分屏顯示文件的內(nèi)容。
用法 more [-cdflrsuw] [-行] [+行號(hào)] [+/模式] [文件名 ...]。
顯示7個(gè)信息:用戶名 密碼 用戶id(uid) 組id(gid) 描述信息(一般為空) 用戶主目錄 login shell(登錄shell)
cat 顯示文件內(nèi)容,不分屏(一般用在小文件,大文件顯示不下);合并文件,僅在屏幕上合并,并不改變?cè)募?br /> 用法 cat [ -usvtebn ] [-|文件] ...
tail 實(shí)時(shí)監(jiān)控文件,一般用在日志文件,可以只看其中的幾行。
用法 tail [+/-[n][lbc][f]] [文件]
tail [+/-[n][l][r|f]] [文件]
七、文件/目錄的增刪
echo 顯示一行內(nèi)容。
touch 如果文件/目錄不存在,則創(chuàng)建新文件/目錄;如果文件存在,那么就是更新該文件的最后訪問(wèn)時(shí)間,
用法 touch [-acm] [-r ref_file] 文件...
touch [-acm] [MMDDhhmm[yy]] 文件...
touch [-acm] [-t [[CC]YY]MMDDhhmm[.SS]] file...
mkdir 創(chuàng)建目錄(必須有創(chuàng)建目錄的權(quán)限)
用法 mkdir [-m 模式] [-p] dirname ...
mkdir dir1/dir2 在dir1下建dir2
mkdir dir13 dir4 dir5 連建多個(gè)
mkdir ~/games 用戶主目錄下建(默認(rèn)在當(dāng)前目錄下創(chuàng)建)
mkdir -p dir6/dir7/dir8 強(qiáng)制創(chuàng)建dir8;若沒(méi)有前面的目錄,會(huì)自動(dòng)創(chuàng)建dir6和dir7。
不用-p時(shí),若沒(méi)有dir6/dir7,則創(chuàng)建失敗。
cp 復(fù)制文件/目錄
cp 源文件 目標(biāo)文件 復(fù)制文件;若已有文件則覆蓋
cp -r 源目錄 目標(biāo)目錄 復(fù)制目錄;若已有目錄則把源目錄復(fù)制到目標(biāo)目錄下,
沒(méi)有目標(biāo)目錄時(shí),相當(dāng)于完全復(fù)制源目錄,只是文件名不同。
cp beans apple dir2 把beans、apple文件復(fù)制到dir2目錄下
cp -i beans apple 增加是否覆蓋的提示
mv 移動(dòng)或重命名文件/目錄
用法 mv [-f] [-i] f1 f2
mv [-f] [-i] f1 ... fn d1
mv [-f] [-i] d1 d2
mv 源文件名 目標(biāo)文件名 若目標(biāo)文件名還沒(méi)有,則是源文件重命名為目標(biāo)文件;若目標(biāo)文件已存在,則源文件覆蓋目標(biāo)文件。
mv 源文件名 目標(biāo)目錄 移動(dòng)文件
mv 源目錄 目標(biāo)目錄 若目標(biāo)目錄不存在,則源目錄重命名;若目標(biāo)目錄已存在,則源目錄移動(dòng)到目標(biāo)目錄下。
rm 刪除文件/目錄
用法 rm [-fiRr] 文件 ...
rm 文件名 刪除文件。
rm -r 目錄名 刪除目錄。
rm –f 文件 只要是該文件或者目錄的擁有者,無(wú)論是否有權(quán)限刪除,都可以用這個(gè)命令參數(shù)強(qiáng)行刪除。
rm -rf * 刪除所有文件及目錄
rmdir 刪除空目錄。只可以刪除空目錄。
ln 創(chuàng)建硬鏈接或軟鏈接,硬鏈接=同一文件的多個(gè)名字;軟鏈接=快捷方式
用法 ln [-f] [-n] [-s] f1 [f2]
ln [-f] [-n] [-s] f1 ... fn d1
ln [-f] [-n] -s d1 d2
ln file1 file1.ln 創(chuàng)建硬鏈接。感覺(jué)是同一文件,刪除一個(gè),對(duì)另一個(gè)沒(méi)有影響;須兩個(gè)都刪除才算刪除。
ln -s file1 file1.sln 創(chuàng)建軟鏈接。可跨系統(tǒng)操作,沖破操作權(quán)限;也是快捷方式。
八、時(shí)間顯示
date 顯示時(shí)間,精確到秒
用法 date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
cal 顯示日歷
cal 9 2008 顯示2008年9月的日歷; cal 顯示當(dāng)月的
用法 cal [ [月] 年 ]
九、幫助
man 幫助( format and display the on-line manual pages)
用法 man [-] [-adFlrt] [-M 路徑] [-T 宏軟件包] [-s 段] 名稱 ...
man [-] [-adFlrt] [-M path] [-T macro-package] [-s section] name...
man [-M 路徑] -k 關(guān)鍵字 ...
man [-M 路徑] -f 文件 ...
awk 按一定格式輸出(pattern scanning and processing language)
用法 awk [-Fc] [-f 源代碼 | 'cmds'] [文件]
十、查看用戶
users 顯示在線用戶(僅顯示用戶名)。
who 顯示在線用戶,但比users更詳細(xì),包括用戶名、終端號(hào)、登錄時(shí)間、IP地址。
who am i 僅顯示自己,(但包括用戶名、端口、登錄時(shí)間、IP地址;信息量=who)。
whoami 也僅顯示自己,但只有用戶名(僅顯示自己的有效的用戶名)。
w 顯示比who更多內(nèi)容,還包括閑置時(shí)間、占CPU、平均占用CPU、執(zhí)行命令。
用法 w [ -hlsuw ] [ 用戶 ]
su 改變用戶,需再輸入密碼。
用法 su [-] [ username [ arg ... ] ]
su - 相當(dāng)于退出再重新登錄。
查找
find 查找文件
用法 find [-H | -L] 路徑列表 謂詞列表
find / -name perl 從根目錄開(kāi)始查找名為perl的文件。
find . -mtime 10 -print 從當(dāng)前目錄查找距離現(xiàn)在10天時(shí)修改的文件,顯示在屏幕上。
(注 “10”表示第10天的時(shí)候;如果是“+10”表示10天以外的范圍;“-10”表示10天以內(nèi)的范圍。)
grep 文件中查找字符;有過(guò)濾功能,只列出想要的內(nèi)容
用法 grep -hblcnsviw 模式 文件 . . .
如 grep abc /etc/passwd 在passwd文件下找abc字符
wc 統(tǒng)計(jì)
-l 統(tǒng)計(jì)行數(shù); -w統(tǒng)計(jì)單詞數(shù); -c 統(tǒng)計(jì)字符數(shù)
如 grep wang /etc/passwd|wc -l 統(tǒng)計(jì)passwd文件含“wang”的行數(shù)
du 查看目錄情況
如 du -sk * 不加-s會(huì)顯示子目錄,-k按千字節(jié)排序
用法 du [-a] [-d] [-h|-k] [-r] [-o|-s] [-H|-L] [文件...]
十一、進(jìn)程管理
ps 顯示進(jìn)程。
用法 ps [ -aAdeflcjLPyZ ] [ -o 格式 ] [ -t 項(xiàng)列表 ]
[ -u 用戶列表 ] [ -U 用戶列表 ] [ -G 組列表 ]
[ -p 進(jìn)程列表 ] [ -g 程序組列表 ] [ -s 標(biāo)識(shí)符列表 ] [ -z 區(qū)域列表 ]
ps 顯示自己的進(jìn)程。
ps -e 顯示每個(gè)進(jìn)程,包括空閑進(jìn)程。
ps -f 顯示詳情。
ps -ef 組合-e和-f,所有進(jìn)程的詳情。
ps -U uidlist(用戶列表) 具體查看某人的進(jìn)程。
kill
pkill
sleep
jobs
用法 jobs [-l ]
fg %n
bg %n
stop %n 掛起(僅csh能用)
Ctrl+C
Ctrl+Z
網(wǎng)絡(luò)鏈接
ping
usage ping host [timeout]
usage ping -s [-l | U] [adLnRrv] [-A addr_family] [-c traffic_class] [-g gateway [-g gateway ...]] [-F flow_label] [-I interval] [-i interface] [-P tos] [-p port] [-t ttl] host [data_size] [npackets]
ifconfig -a
/sbin/ifconfig 查看本機(jī)的IP地址