Linux下的常用命令
隨著mono的發(fā)展,asp.net也實(shí)現(xiàn)了跨平臺(tái)的開發(fā),而要mono在Linux下跑起來(lái),也需要掌握一些Linux的操作,接下來(lái)是小編為大家收集的Linux下的常用命令,希望能幫到大家。
Linux下的常用命令
一、Shell的簡(jiǎn)介
Linux系統(tǒng)中由內(nèi)核,Shell,文件系統(tǒng)和一些實(shí)用的程序構(gòu)造。Shell是操作系統(tǒng)提供給用戶使用的界面
它提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。Shell負(fù)責(zé)接收用戶輸入的命令并將其送入內(nèi)核去執(zhí)行,并把系統(tǒng)的響應(yīng)返回給用戶,因此Shell實(shí)質(zhì)上就是一個(gè)命令解析器。
二、Linux圖形界面跟文本界面的切換
1,在圖形界面打開終端窗口 輸入 init 3 便進(jìn)入了文本編譯界面。
2,在文本編譯界面 輸入init 5 便能返回了圖形界面。
文本命令行界面下的關(guān)機(jī)與重啟操作
重啟 : reboot 或者 shutdown -r now
關(guān)機(jī) : shutdown -h now
如定時(shí)在今天的17:30分關(guān)機(jī) : shutdown -h 17:30
三、目錄結(jié)構(gòu)
(1) /bin 與 /sbin
對(duì)Linux操作系統(tǒng)進(jìn)行維護(hù)操作的實(shí)用命令基礎(chǔ)上都包含在/bin和/sbin 目錄中。
/bin 目錄通常存放用戶常用的一些基本命令,包括對(duì)目錄和文件操作的命令,系統(tǒng)實(shí)用程序,壓縮工具,rpm包管理程序等,如:login,date,ping,netstat,mount```
除了/sbin目錄外,還有/usr/bin和/usr/local/bin目錄,也存放有一些軟件包所安裝的程序文件
(2)/boot
/boot 是Linux的引導(dǎo)分區(qū)在根分區(qū)的掛載點(diǎn)目錄,該目錄下的內(nèi)容就是引導(dǎo)分區(qū)中的內(nèi)容,存放著Linux啟動(dòng)所需要的文件
(3) /dev
/dev是device(設(shè)備)的簡(jiǎn)寫,該目錄在Linux系統(tǒng)中是一個(gè)非常重要的目錄,用于存放系統(tǒng)中所有設(shè)備的設(shè)備文件
(4)/etc
/etc 目錄也是Linux系統(tǒng)的一個(gè)非常重要的目錄,用于存放Linux系統(tǒng)的各種配置文件,包括網(wǎng)絡(luò)配置,設(shè)備配置信息,X系統(tǒng)配置,用戶信息等都放在該目錄下。
(5)/home
Linux系統(tǒng)的所有普通用戶的目錄)(home directory)默認(rèn)放在/home目錄中
(6)/lib
/lib 是library(庫(kù))的簡(jiǎn)寫,編譯器在編譯鏈接時(shí),會(huì)自動(dòng)到這兩個(gè)目錄下搜索所需的庫(kù)文件。
(7)/lost+found
該目錄用于存放系統(tǒng)非正常關(guān)機(jī)后,系統(tǒng)重啟時(shí),進(jìn)行磁盤檢查所產(chǎn)生的碎片文件。
(8) /media 與 /mnt
在舊版Linux操作系統(tǒng)中,用于掛載CD-ROM,軟盤和U盤等設(shè)備的掛點(diǎn)目錄。
(9) /misc /opt 與 /srv
這三個(gè)目錄默認(rèn)都是空的。/misc 目錄用于存放一些額外的雜亂的文件;/opt 目錄推薦用于安裝大型的應(yīng)用軟件。
(10) /proc
/proc 目錄中的內(nèi)容是由系統(tǒng)自動(dòng)產(chǎn)生的,其內(nèi)容是當(dāng)前內(nèi)存的一個(gè)虛擬鏡像,在該目錄中,可看到一些由當(dāng)前運(yùn)行的進(jìn)程號(hào)組成的字目錄。
用cat 命令可以顯示該目錄下的一些特殊內(nèi)容,可以查看到系統(tǒng)的一些特殊信息。
cat /proc/cpuinfo 詳細(xì)顯示當(dāng)前系統(tǒng)CPU的硬盤信息
cat /proc/interrupts 顯示當(dāng)前系統(tǒng)設(shè)備所使用到的中斷信息
cat /proc/meminfo 顯示內(nèi)存信息
cat /proc/version 顯示Linux版本信息
cat /proc/partitions 查看目前機(jī)器中的所有磁盤及分區(qū)情況
(11) /sys
/sys 目錄下存放的時(shí)Linux系統(tǒng)的一些重要的設(shè)備驅(qū)動(dòng)程序和模塊
(12) /usr
/usr 目錄一般用來(lái)存放與用戶直接相關(guān)的程序或文件。用戶安裝的程序或要自行建立的目錄,一般可放在該目錄下。
(13)/tmp 與 /var
/tmp 存放臨時(shí)文件,如程序執(zhí)行期間產(chǎn)生的臨時(shí)文件
/var 目錄則用于存放經(jīng)常變化的文件,對(duì)于存取頻繁或內(nèi)容經(jīng)常發(fā)生變化的文件。
四、Linux的文件屬性
ls命令僅列出文件名或者目錄名,使用“ls-l”或者"ll"命令,即可以列出文件和目錄的詳細(xì)信息,其顯示格式和各列的含義如下所示
drwxr-xr-x 3 root root 4096 jul 2 10:34 text123
(文件屬性) (數(shù)量) (擁有者) (所屬的組) (文件大小) (建檔月份) (日) (時(shí)間) (文件名)
在Linux中,用戶對(duì)文件的操作權(quán)限分為可讀/可寫/可執(zhí)行 三種,分別用r,w,x表示。如用戶無(wú)某個(gè)權(quán)限,則在相應(yīng)權(quán)限位置用“-”來(lái)表示無(wú)權(quán)限。
如某個(gè)文件有x屬性,則該文件就可以執(zhí)行,屬于可執(zhí)行文件,具有x屬性的文件一般是二進(jìn)制程序文件或者可執(zhí)行的腳本文件。
類型標(biāo)識(shí)用于說(shuō)明該文件是“普通類型”還是“鏈接類型”文件或者目錄。對(duì)于普通文件,第一個(gè)類型標(biāo)識(shí)顯示為“-”,若符號(hào)鏈接文件,則該位置的標(biāo)識(shí)為l(注:是L的小寫),若是目錄,則該位置的屬性標(biāo)識(shí)為d。
a,對(duì)于屬性權(quán)限的表示法;權(quán)限除了r,w,x來(lái)表示外還可以用一個(gè)三位數(shù)字來(lái)表示,比如644,其中百位上的數(shù)字代表?yè)碛姓叩臋?quán)限,十位上的數(shù)字代表?yè)碛姓咚鶎俚挠脩艚M中的其他用戶對(duì)該文件或者目錄所擁有的權(quán)限,個(gè)位上的數(shù)字,代表其他用戶對(duì)該文件擁有的權(quán)限,這種采用數(shù)字來(lái)表示權(quán)限的方法,稱為絕對(duì)權(quán)限表示法。
b,改變文件或者目錄的權(quán)限。由于權(quán)限有兩種表示方法,因此,改變權(quán)限的chmod命令的具體用法也有兩種。
利用絕對(duì)權(quán)限表達(dá)來(lái)設(shè)置或者改變文件或者目錄的權(quán)限,其方法為:
chmod[R] 絕對(duì)權(quán)限值 要設(shè)置的文件或者目錄名
比如,假如~/setup.sh文件目前的權(quán)限為rw-r--r--,若要是更改為rw-rw-r--,則實(shí)現(xiàn)的命令,chmod 664 setup.sh
第二種方法:
若要給其他用戶增加讀的權(quán)限,則實(shí)現(xiàn)的命令為:
chmode 0+r ~/setup.sh
若要同時(shí)去掉用戶組和其他用戶對(duì)該文件的讀權(quán)限,則實(shí)現(xiàn)命令為:
chmod go-r/setup.sh
若文件擁有者,用戶組和其他用戶都只賦予讀的權(quán)限,則實(shí)現(xiàn)命令為:
chmod ugo-r ~/stup.sh
若為文件的擁有者和所屬的組增加s權(quán)限,則為設(shè)置命令為:
chomd ug+S ~/setup.sh
五、Linux常用命令
A,目錄操作
1,創(chuàng)建目錄
mkdir[-p] 目錄名稱及路徑
例如,若要在root用戶的主目錄中創(chuàng)建一個(gè)mysoft目錄,則實(shí)現(xiàn)的命令為:
[root@ROOT ~]#mkdir ~/text123
2,刪除目錄
rmdir 要?jiǎng)h除的目錄及路徑名稱
例如,若要?jiǎng)h除 /srv/www目錄下的images目錄,則操作命令為:
[root@ROOT ~]#rmdir /srv/www/images
3,查詢當(dāng)前目錄
查詢當(dāng)前所處的目錄位置使用pwd命令,該命令關(guān)鍵字來(lái)源于print working directory,其命令用法為:pwd
4,改變當(dāng)前目錄
cd ~或 cd.. 等等
B,文本操作命令
1,Is命令
Is命令用于列出一個(gè)或者多個(gè)目錄下的文件及目錄
2,cp命令
cp是copy命令的縮寫,用于文件或者目錄的復(fù)制,其用法為:
cp[參數(shù)選項(xiàng)] 源文件 目標(biāo)文件
cp -r源目錄 目標(biāo)目錄
3,rm命令
rm命令用于刪除文件或者目錄,在命令行中包括一個(gè)或多個(gè)文件名(各文件名間用空格分隔)
rm[參數(shù)選項(xiàng)]文件或目錄名路徑
例如 要?jiǎng)h除/root/mysoft目錄及其下的全部?jī)?nèi)容,則操作命令為:
[root@ROOT ~]#rm -r /root/mysoft
4,mv命令
mv命令用于移動(dòng)或者重命名目錄或者文件,命令關(guān)鍵字來(lái)源于move
mv[參數(shù)選項(xiàng)]源目錄或文件名 目標(biāo)目錄或者文件名
例如 若要將/root/mysoft目錄移動(dòng)到/root/newsoft 目錄之下,則實(shí)現(xiàn)命令為:
[root@ROOT ~]#mv ~/mysoft ~/newsoft/
[root@ROOT ~]#ll
[root@ROOT ~]#ls ~/newsoft/
若路徑相同,僅文件名或者目錄名不同,則更名文件或者目錄,例如,若要將
~/mydoc/test.doc文件更名為mywork.doc,則實(shí)現(xiàn)的命令為:
[root@ROOT ~]#mv ~/mydoc/test.doc ~/mydoc/mywork.doc
mv 命令若使用-b(backup)參數(shù),則在覆蓋已存在的文件前,系統(tǒng)會(huì)自動(dòng)創(chuàng)建原存在的文件的一個(gè)備份,備份文件名為原名稱后附加一個(gè)~符號(hào)。
5,touch 命令
該命令用來(lái)更新指定的文件或者目錄的訪問(wèn)時(shí)間和修改時(shí)間為當(dāng)前系統(tǒng)的日期和時(shí)間,查看當(dāng)前系統(tǒng)日期和時(shí)間,可使用date命令。
比如,若要在~/mydoc目錄下創(chuàng)建兩個(gè)空文件file。text和file2.text,則命令為:
[root@ROOT ~]#touch ~/mydoc/fifel.txt~/mydoc/fifle2.txt
各文件名用空格分隔
6,ln命令
該命令用來(lái)創(chuàng)建符號(hào)鏈接 (相當(dāng)于創(chuàng)建快捷方式)
a,軟鏈接
軟鏈接,由于指向原文件或原目錄的一個(gè)鏈接,因此生成的鏈接文件很小。原文件刪除后,鏈接文件也會(huì)失去了作用,刪除鏈接文件,對(duì)原文件無(wú)任何影響。
ln -s真實(shí)文件或目錄 符號(hào)鏈接文件名或者目錄名
例如,若要將/bin/libssl.so.0.9.8b文件創(chuàng)建一個(gè)名為libssl.so的符號(hào)鏈接文件,則創(chuàng)建命令為:
[root@ROOT ~]#ln -s /lib/libss.so.0.9.8b /lib/libssl.so
b,硬鏈接
創(chuàng)建硬鏈接,實(shí)質(zhì)就是創(chuàng)建了另一個(gè)指向相同節(jié)點(diǎn)。硬鏈接使用不用帶-s參數(shù)的ls命令來(lái)創(chuàng)建,其方法為:
ln 原文件名 硬鏈接文件名
硬鏈接無(wú)法跨越不同的文件系統(tǒng),分區(qū)和掛載的設(shè)備,只能在源文件所在的同一磁盤的同一個(gè)分區(qū)上創(chuàng)建硬鏈接,而且硬鏈接只針對(duì)文件,不能用于目錄。刪除原文件后,硬鏈接文件仍然可以使用。
比如,在/root目錄下創(chuàng)建一個(gè)名為 text123.txt文件類型,文件內(nèi)容為 it is my life ,然后創(chuàng)建一個(gè)
該文件的硬鏈接文件,硬鏈接文件名為hardlik.txt 則操作為:
[root@ROOT ~]#echo 'it is my life'>/root/text123.txt
[root@ROOT ~]#ll text123.txt
[root@ROOT ~]#ln text123.txt hardlik.txt
[root@ROOT ~]#ll -i *.txt
7,查看文本文件的內(nèi)容
a, cat 命令
在cat命令后面可指定多個(gè)文件或者使用通配符,實(shí)現(xiàn)依次顯示多個(gè)文件的內(nèi)容。
比如:
[root@ROOT ~]#cat filel.txt file2.txt
增加使用-n參數(shù)選項(xiàng),在顯示時(shí)可為各行加上編號(hào)。比如:
[root@ROOT ~]#cat -n filel.txt
more或less命令
對(duì)于內(nèi)容較多的文件,不適合用cat命令來(lái)查看,此時(shí)使用more或者less命令。
more命令可實(shí)現(xiàn)分屏顯示文件內(nèi)容,按任意鍵后,系統(tǒng)會(huì)自動(dòng)顯示下一屏的內(nèi)容,到達(dá)末尾行,命令執(zhí)行立即結(jié)束。cat是連續(xù)滾動(dòng)顯示的。
less比more功能更強(qiáng)大,除了有more的功能外,還支持用光標(biāo)鍵向上或向下滾動(dòng)瀏覽文件,對(duì)于寬文檔還支持水平滾動(dòng),當(dāng)達(dá)到文件末尾時(shí),less命令的不會(huì)自動(dòng)退出,需要輸入Q來(lái)結(jié)束瀏覽。
head與tail命令
head命令用來(lái)查看一個(gè)文件前面部分的信息,默認(rèn)顯示前面10行的內(nèi)容,也可指定要查看
的行數(shù) 如 head -n
例如 要查看/boot/grub/grub.conf文件前10行的內(nèi)容,則操作為:
[root@ROOT ~]#head /boot/grub/grub.conf
如要查看前20行的內(nèi)容,則操作命令為:
[root@ROOT ~]#head -20 /boot/grub/grub.conf
8.grep命令
該命令用于在指定的文件中查找并顯示含有指定字符串的行。其用法為:
grep 要找的字符串文本 文件名
比如,若要在/var/log/maillog文件中,查找顯示含有alipay關(guān)鍵字的行的內(nèi)容,則操作命令為:
[root@ROOT ~]#grep alipay /var/log/maillog
若要在當(dāng)前目錄下的所有文件中查找輸出包含alipay關(guān)鍵字的行,則操作命令為:
[root@ROOT ~]#grep alipay *
9.重定向操作符">",">>"與"<""<<"
(1) 輸出重定向符">",">>"
">"和">>"為輸出重定符,它能實(shí)現(xiàn)將一個(gè)命令的輸出重定向到一個(gè)文件中,而這個(gè)不是屏幕
。比如, 若要將last命令的輸出結(jié)果,傳遞保存到mylog.txt中,則實(shí)現(xiàn)命令為:
[root@ROOT ~]#last >mylog.txt
[root@ROOT ~]#less mylog.txt
">"與">>"的區(qū)別是:“>”每次是以覆蓋方式重寫后面的文件內(nèi)容,若指定的文件不存在,系統(tǒng)會(huì)自動(dòng)
創(chuàng)建。若要將內(nèi)容以追加的方式添加到后面的文件中,應(yīng)該采取">>"。
比如,若要將庫(kù)文件的搜索路徑以追加方式添加到/etc/ld.so.conf文件中,則實(shí)現(xiàn)的命令為:
[root@ROOT ~]#echo"/post4u/lib">>/etc/id.so.conf
(2) 輸入重定向符"<","<<"
標(biāo)準(zhǔn)輸入重定向符"<"用于改變一個(gè)命令的輸入源。比如cat
"<"為此處操作符,該操作符在從鍵盤讀取內(nèi)容時(shí),讀到指定的字符串時(shí),便停止讀取動(dòng)作,然后將所讀取的內(nèi)容輸出去。
"<<"該操作符在鍵盤讀取內(nèi)容時(shí),讀到指定的字符串,便停止讀取動(dòng)作,然后將所讀的內(nèi)容輸出。與cat 結(jié)合操作 如 cat << 結(jié)束讀取的標(biāo)識(shí)字符串
10, 管道管理
管道操作符為"|". 利用管道操作符可實(shí)將一個(gè)命令的輸出當(dāng)作另一個(gè)命令的輸入,后者的輸出有可以做為第三條命令的輸入。管道操作符通常與grep命令配置使用,實(shí)現(xiàn)從前面一個(gè)命令執(zhí)行后的大量輸出結(jié)果中,查找顯示指定的內(nèi)容。例如,若要查詢系統(tǒng)當(dāng)前是否安裝了openssl軟件包,則可以采用以下命令:
[root@ROOT ~]#rpm -qa|openssl
rpm -qa 用于查詢顯示當(dāng)前系統(tǒng)的所有軟件包。由于軟件包比較多,顯示出來(lái)后逐個(gè)查找很不方便,利用以上命令就比較快捷。通過(guò)管道操作,就將rpm -qa命令的輸出結(jié)果傳遞給grep命令進(jìn)行查詢,grep查詢后將包括openssl關(guān)鍵字的那一行內(nèi)容輸出。
六、軟件包的管理
1,查看rpm軟件包
在Linux的維護(hù)與管理中,經(jīng)常需要了解當(dāng)前系統(tǒng)安裝了哪些軟件包,或者查詢某一個(gè)軟件包是否被安裝了,此時(shí)就需要使用rpm的軟件包查詢功能。
查詢軟件包使用-q參數(shù),若要進(jìn)一步查詢軟件包的其他方面的信息,可結(jié)合使用一些相關(guān)的其他參數(shù),比如-a,-i,-l和-f參數(shù),這些參數(shù)分別來(lái)源于all,information,list和file,因此這幾個(gè)參數(shù)的功能與本身的英文單詞含義
相同。
(1),查詢已安裝的全部軟件包
要查詢已經(jīng)安裝的全部軟件包,可結(jié)合使用-a參數(shù),即利用-qa參數(shù)來(lái)實(shí)現(xiàn)。其命令為: rpm -qa 由于系統(tǒng)安裝的軟件包一般比較多,該命令的輸出是以連續(xù)滾屏的方式顯示的,不便于閱讀,因此,通常利用管道操作符結(jié)合less命令來(lái)實(shí)現(xiàn)瀏覽查看,其命令為:
[root@ROOT ~]#rpm -qa|less
若要具體查詢某一個(gè)軟件包是否已安裝,或包含某關(guān)鍵字的軟件包都安裝了哪些,可利用管道操作符和grep命令來(lái)實(shí)現(xiàn)比如,如要在已安裝的軟件包中,查詢包含ssl關(guān)鍵字的軟件包有哪些,則實(shí)現(xiàn)的命令為:
[root@ROOT ~]# rpm-qa|grep ssl
openssl-0.9.8b-8.3.el5
docbook-style-dsssl-1.79-4.1
openssl-devel-0.9.8b-8.3.el5
(2)查看指定的軟件包是否被安裝了
命令用法:rpm -q 軟件包名稱列表
該命令可同時(shí)查詢多個(gè)軟件包,各軟件包名稱之間用空格符分隔。若指定的軟件包已經(jīng)被安裝了,將顯示該軟件包的完整路徑,如沒(méi)有被按照則會(huì)提示沒(méi)有被安裝。
比如,若要查詢openssh軟件包是否已被安裝,則操作命令為:
[root@ROOT ~]#rpm -q openssh
openssh-4.3p2-16.el5
如要查詢telnet-server服務(wù)的軟件包是否安裝,則操作命令為:
[root@ROOT ~]#rpm -q telnet-server
package telnet is not installed
(3) 安裝rpm軟件包
安裝rpm軟件包使用-i參數(shù)(install),通常還結(jié)合使用-v和-h參數(shù),其中-v 參數(shù)代表verbose,利用該參數(shù)可顯示更為詳細(xì)的安裝信息;-h 參數(shù)代表hash,在安裝過(guò)程中將通過(guò)顯示一系列"#"來(lái)表示安裝的進(jìn)度。因此安裝RPM軟件包通常用法為:rpm -vih 軟件包全路徑
例如, 若要安裝ppp-2.4.4-1.el5.i386.rpm軟件包,則操作命令為:
[root@ROOT ~]#rpm -ivh /media/cdrom/Server/ppp-2.4.4-1.el5.i386.rpm waning:.......
(4) 刪除軟件包
若要從Linux中刪除原來(lái)的prm軟件包所安裝的軟件包,可使用帶-e參數(shù)的rpm命令來(lái)實(shí)現(xiàn),其命令用法為:rpm -e
軟件包名。
看了“Linux下的常用命令”還想看: