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