Linux系統(tǒng)下顯示所有可用命令,可以利于Shell腳本來實現(xiàn),方法如下:
創(chuàng)新互聯(lián)主營景東網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),景東h5小程序開發(fā)搭建,景東網(wǎng)站營銷推廣歡迎景東等地區(qū)企業(yè)咨詢
#Shell[bash+rel4調(diào)試通過]代碼:
var=`echo?$PATH|sed?"s/:/?/g"`
for?list?in?$var;
do
ls?-lR?$list|grep?-v?'^d'
done
-EOF-
因為終端中的命令是通過PATH環(huán)境變量中的路徑進(jìn)行搜索,只要在PATH路徑下能找到的可執(zhí)行文件都可以直接作為命令使用,所以先echo $PATH,找到所有路徑,依次ls即可顯示所有Linux命令。
linux命令格式:
說明:command: 命令名,相應(yīng)功能的英文單詞或單詞的縮寫 [-options]:選項,可用來對命令進(jìn)行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數(shù):可以是零個一個或多個
一般是linux命令自帶的幫助信息
如:
man是linux提供的一個手冊,包含了絕大部分的命令、函數(shù)使用說明
該手冊分成很多章節(jié)(section),使用man時可以指定不同的章節(jié)來瀏覽。
例:man ls ; man 2 printf
man中各個section意義如下:
man是按照手冊的章節(jié)號的順序進(jìn)行搜索的。
man設(shè)置了如下的功能鍵:
在敲出命令的前幾個字母的同時,按下tab鍵,系統(tǒng)會自動幫我們補全命令
當(dāng)系統(tǒng)執(zhí)行過一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過的命令列舉出來
ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個字符,“.”代表當(dāng)前目錄,“..”代表上一級目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。
ls常用參數(shù):
Linux允許將命令執(zhí)行結(jié)果重定向到一個文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。
如:ls test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )
注意: 輸出重定向會覆蓋原來的內(nèi)容,輸出重定向則會追加到文件的尾部。
查看內(nèi)容時,在信息過長無法在一屏上顯示時,會出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現(xiàn)實生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。
在使用Unix/Linux的時候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認(rèn)切換到當(dāng)前用戶的主目錄。
使用pwd命令可以顯示當(dāng)前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。
通過mkdir命令可以創(chuàng)建一個新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。
需要注意的是新建目錄的名稱不能與當(dāng)前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對當(dāng)前目錄具有寫權(quán)限。
可使用rmdir命令刪除一個目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除后不能恢復(fù)。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個確認(rèn)要刪除的文件。
常用參數(shù)及含義如下表所示:
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對文本文件進(jìn)行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字符串參數(shù)時,最好引號或雙引號括起來。例如:grep‘a(chǎn) ’1.txt。
常用選項說明:
find命令功能非常強(qiáng)大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
cp命令的功能是將給出的文件或目錄復(fù)制到另一個文件或目錄中,相當(dāng)于DOS下的copy命令。
常用選項說明:
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
計算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復(fù)數(shù)據(jù)。
tar使用格式 tar [參數(shù)] 打包文件名 文件
tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。
常用參數(shù):
tar與gzip命令結(jié)合使用實現(xiàn)文件打包、壓縮。 tar只負(fù)責(zé)打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [選項] 被壓縮文件
常用選項:
tar與bzip2命令結(jié)合使用實現(xiàn)文件打包、壓縮(用法和gzip一樣)。
tar只負(fù)責(zé)打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz2。
在tar命令中增加一個選項(-j)可以調(diào)用bzip2實現(xiàn)了一個壓縮的功能,實行一個先打包后壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
通過zip壓縮文件的目標(biāo)文件不需要指定擴(kuò)展名,默認(rèn)擴(kuò)展名為zip。
壓縮文件:zip [-r] 目標(biāo)文件(沒有擴(kuò)展名) 源文件
解壓文件:unzip -d 解壓后目錄文件 壓縮文件
whoami該命令用戶查看當(dāng)前系統(tǒng)當(dāng)前賬號的用戶名??赏ㄟ^cat /etc/passwd查看系統(tǒng)用戶信息。
由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對傳統(tǒng)進(jìn)行管理。這時候就可以使用whoami來查看當(dāng)前用戶的身份。
who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息。
常用選項:
如果是圖形界面,退出當(dāng)前終端;
如果是使用ssh遠(yuǎn)程登錄,退出登陸賬戶;
如果是切換后的登陸用戶,退出則返回上一個登陸賬號。
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令,因為adduser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。
useradd命令的使用格式如下:
useradd [參數(shù)] 新建用戶賬號
在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。
可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對應(yīng)的用戶時會將當(dāng)前的工作目錄自動轉(zhuǎn)換到切換后的用戶主目錄:
注意:如果是ubuntu平臺,需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具,減少了root 用戶的登陸和管理時間,提高了安全性。
方法一:
方法二:
groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 查看用戶組
使用方法:usermod -g 用戶組 用戶名
新創(chuàng)建的用戶,默認(rèn)不能sudo,需要進(jìn)行一下操作
-g用來制定這個用戶默認(rèn)的用戶組
-G一般配合'-a'來完成向其它組添加
chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用于查看當(dāng)前日歷,-y顯示整年日歷
設(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'):
進(jìn)程是一個具有一定獨立功能的程序,它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元。
ps命令可以查看進(jìn)程的詳細(xì)狀況,常用選項(選項可以不加“-”)如下:
top命令用來動態(tài)顯示運行中的進(jìn)程。top命令能夠在運行后,在指定的時間間隔更新顯示信息??梢栽谑褂胻op命令時加上-d 來指定顯示信息更新的時間間隔。
在top命令執(zhí)行后,可以按下按鍵得到對顯示的結(jié)果進(jìn)行排序:
kill命令指定進(jìn)程號的進(jìn)程,需要配合 ps 使用。有些進(jìn)程不能直接殺死,這時候我們需要加一個參數(shù)“ -9 ”,“ -9 ” 代表強(qiáng)制結(jié)束.
使用格式:
kill [-signal] pid
df命令用于檢測文件系統(tǒng)的磁盤空間占用和空余情況,可以顯示所有文件系統(tǒng)對節(jié)點和磁盤塊的使用情況。
du命令用于統(tǒng)計目錄或文件所占磁盤空間的大小,該命令的執(zhí)行結(jié)果與df類似,du更側(cè)重于磁盤的使用狀況。
du命令的使用格式如下: du [選項] 目錄或文件名
1.列出文件清單命令:ls
ls命令能夠列出當(dāng)前目錄下的所有內(nèi)容。ls 命令的執(zhí)行方式為:
# ls [-選項] [文件名或者目錄名]
進(jìn)入到Linux命令行中后,我們至少要知道當(dāng)前所處的位置有哪些內(nèi)容,這些信息就可以使用ls命令來獲得。
在Linux中,ls命令是最常使用的命令之一,因為在命令行下要隨時查看目錄內(nèi)容。如果不加任何選項的話,ls命令僅列出當(dāng)前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內(nèi)容,可以使用下列命令:
# ls /etc
如果想要列出當(dāng)前目錄下所有文件,則可以使用下列命令:
# ls -a
2、cat命令
功能:在標(biāo)準(zhǔn)輸出上顯示文件。
語法:cat [-vTEuAte] 文件
例子: cat example.txt
cat -A exam2.txt
cat file1 file2 file2
3、more命令
功能:在終端屏幕按屏顯示文本文件。
語法: more [-pcdls] 文件
例子: more example.c
more -dc example.c
more -c -10 example.c
4、less命令
less命令的功能幾乎和more命令一樣,也是用來按頁顯示文件,不同之處在于less命令在顯示文件時允許用戶既
可以向前又可以向后翻閱文件。
5、head命令
功能:顯示指定文件的前若干行。缺省設(shè)置為顯示10行
語法:head [-n] 文件
例子: head example.c
head -3 example.c
6、tail命令
功能:顯示指定文件的末尾若干行。缺省設(shè)置為顯示10行
語法:tail [+ / - num ] [參數(shù)] 文件
+num 從第num行以后開始顯示。- num 從距文件尾num行處開始顯示。
例子: tail example.c
tail -4 example.c
7、grep、fgrep和egrep命令
功能:
這組命令以指定模式搜索文件,并通知用戶在什么文件中搜索到與指定的模式匹配的字符串,并打印出所有包含該字符串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴(kuò)展的正則表達(dá)式(包括表達(dá)式組和可選項);fgrep命令檢索固定字符串,它不識別正則表達(dá)式,是快速搜索命令。
語法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [選項] [查找模式] [文件名1,文件名2,……]
fgrep [選項] [查找模式] [文件名1,文件名2,……]
例子: grep "text file" example
grep data *
grep goto *.c
使用 ls -al 即可查看當(dāng)前子目錄下面的所有文件命令。若想在當(dāng)前子目錄下面查看其它的子目錄命令的話,只要在前面加上絕對路徑名即可。例如:當(dāng)前子目錄是 mysubdir,若想顯示 /usr/lib 子目錄下面的所有文件,則使用 ls -al /usr/lib 即可。
01
linux常用命令有pwd命令、cd命令、ls命令、cat命令、grep命令、touch命令、cp命令、mv命令、rm命令、rmdir命令等。
linux常用命令:
1、 pwd命令
該命令的英文解釋為print working directory(打印工作目錄)。輸入pwd命令,Linux會輸出當(dāng)前目錄。
2、 cd命令
cd命令用來改變所在目錄。
cd / 轉(zhuǎn)到根目錄中
cd ~ 轉(zhuǎn)到/home/user用戶目錄下
cd /usr 轉(zhuǎn)到根目錄下的usr目錄中-------------絕對路徑
cd test 轉(zhuǎn)到當(dāng)前目錄下的test子目錄中-------相對路徑
3、 ls命令
ls命令用來查看目錄的內(nèi)容。 選項 含義 -a 列舉目錄中的全部文件,包括隱藏文件 -l 列舉目錄中的細(xì)節(jié),包括權(quán)限、所有者、組群、大小、創(chuàng)建日期、文件是否是鏈接等 -f 列舉的文件顯示文件類型 -r 逆向,從后向前地列舉目錄中內(nèi)容 -R 遞歸,該選項遞歸地列舉當(dāng)前目錄下所有子目錄內(nèi)的內(nèi)容 -s 大小,按文件大小排序 -h 以人類可讀的方式顯示文件的大小,如用K、M、G作單位 ls -l examples.doc 列舉文件examples.doc的所有信息
4、 cat命令
cat命令可以用來合并文件,也可以用來在屏幕上顯示整個文件的內(nèi)容。
cat snow.txt 該命令顯示文件snow.txt的內(nèi)容,ctrl+D退出cat。
5、 grep命令
grep命令的最大功能是在一堆文件中查找一個特定的字符串。
grep money test.txt
以上命令在test.txt中查找money這個字符串,grep查找是區(qū)分大小寫的。
6 、touch命令
touch命令用來創(chuàng)建新文件,他可以創(chuàng)建一個空白的文件,可以在其中添加文本和數(shù)據(jù)。
touch newfile 該命令創(chuàng)建一個名為newfile的空白文件。
7 、cp命令
cp命令用來拷貝文件,要復(fù)制文件,輸入命令:
cp
cp t.txt Document/t 該命令將把文件t.txt復(fù)制到Document目錄下,并命名為t。 選項 含義 -i 互動:如果文件將覆蓋目標(biāo)中的文件,他會提示確認(rèn) -r 遞歸:這個選項會復(fù)制整個目錄樹、子目錄以及其他 -v 詳細(xì):顯示文件的復(fù)制進(jìn)度
8 、mv命令
mv命令用來移動文件。 選項 說明 -i 互動:如果選擇的文件會覆蓋目標(biāo)中的文件,他會提示確認(rèn) -f 強(qiáng)制:它會超越互動模式,不提示地移動文件,屬于很危險的選項 -v 詳細(xì):顯示文件的移動進(jìn)度
mv t.txt Document 把文件t.txt 移動到目錄Document中。
9 、rm命令
rm命令用來刪除文件。 選項 說明 -i 互動:提示確認(rèn)刪除 -f 強(qiáng)制:代替互動模式,不提示確認(rèn)刪除 -v 詳細(xì):顯示文件的刪除進(jìn)度 -r 遞歸:將刪除某個目錄以及其中所有的文件和子目錄
rm t.txt 該命令刪除文件t.txt
10、 rmdir命令
rmdir命令用來刪除目錄。
可以使用whoami.
具體參考如下:
命 令:whoami 或者 who am i
功能說明:顯示用戶名稱。
語法:whoami [--help][--version]
補充說明:顯示自身的用戶名稱,本指令相當(dāng)于執(zhí)行"id -un"指令。
whoami 命令顯示登錄名。與使用命令 who 并指定 am i
不同,whoami 命令在有 root 用戶權(quán)限時也有效,因為它不檢查 /etc/utmp 文件。
該命令只出現(xiàn)在windows系列中的
windows 2000中。
參數(shù):
--help 在線幫助。
--version 顯示版本信息。
附:whoami
與who am i 的區(qū)別
who這個命令重點是用來查看當(dāng)前有哪些用戶登錄到了本臺機(jī)器上。
who -m的作用和who am
i的作用是一樣的。
who -q用來顯示當(dāng)前登錄用戶的個數(shù)。
who am i
顯示的是實際用戶的用戶名,即用戶登陸的時候的用戶ID。此命令相當(dāng)于who -m。
who am i顯示的是“登錄用戶”的用戶名。
用Linux的術(shù)語來解釋就是:(實際用戶=uid,即user id。有效用戶=euid,即effective user id)
whoami 顯示的是有效用戶ID.
whoami顯示的是當(dāng)前“操作用戶”的用戶名。
先看看這三個命令的輸出信息:
[jb51@jb51 ~]$ whoami
jb51
[jb51@jb51 ~]$ who am i
jb51
pts/3 2011-07-25 13:17 (:0.0)
[jb51@jb51 ~]$ who
jb51 :0 2011-07-25
09:54
jb51 pts/0 2011-07-25 09:55 (:0.0)
jb51 pts/1 2011-07-25 09:57
(:0.0)
jb51 pts/3 2011-07-25 13:17 (:0.0)
當(dāng)我用sudo su(或者sudo su
-)更換到root用戶之后,你再看看:
[jb51@jb51 ~]$ sudo su
[root@jb51 jb51]# whoami
root
[root@jb51 jb51]# who am i
jb51 pts/3 2011-07-25 13:17 (:0.0)
[root@jb51 jb51]# who
jb51 :0 2011-07-25 09:54
jb51 pts/0 2011-07-25
09:55 (:0.0)
jb51 pts/1 2011-07-25 09:57 (:0.0)
jb51 pts/3 2011-07-25
13:17 (:0.0)