? ? 1、前臺(tái)進(jìn)程就是用戶使用的有控制終端的進(jìn)程,一旦這個(gè)終端關(guān)閉,這個(gè)進(jìn)程也隨之消失。
10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有普蘭店免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
? ? ? ?2、后臺(tái)進(jìn)程也叫守護(hù)進(jìn)程,是運(yùn)行在后臺(tái)的一種特殊進(jìn)程,不受終端控制。
? ? ? ?3、后臺(tái)程序基本上不和用戶交互,優(yōu)先級(jí)別稍微低一點(diǎn) ; 前臺(tái)的程序和用戶交互,需要較高的響應(yīng)速度,優(yōu)先級(jí)別稍微高一點(diǎn)。
方法一 :切換到shell腳本所在的目錄(此時(shí),稱為工作目錄)執(zhí)行shell腳本:./test.sh
方法二: 以絕對(duì)路徑的方式去執(zhí)行bash shell腳本:/home/user1/test.sh
方法三: 直接使用bash 或sh 來執(zhí)行bash shell腳本:sh?test.sh bash test.sh。該方法執(zhí)行腳本,可以不必事先設(shè)定shell的執(zhí)行權(quán)限,甚至都不用寫shell文件中的第一行(指定bash路徑)。因?yàn)榉椒ㄈ菍est.sh作為參數(shù)傳給sh(bash)命令來執(zhí)行的。這時(shí)不是test.sh自己來執(zhí)行,而是被人家調(diào)用執(zhí)行,所以不要執(zhí)行權(quán)限
方法四: 在當(dāng)前的shell環(huán)境中執(zhí)行bash shell腳本: . test.sh ?source test.sh
幾種方法的對(duì)比:
前三種方法執(zhí)行shell腳本時(shí)都是在當(dāng)前shell(稱為父shell)開啟一個(gè)子shell環(huán)境,此shell腳本就在這個(gè)子shell環(huán)境中執(zhí)行。shell腳本執(zhí)行完后子shell環(huán)境隨即關(guān)閉,然后又回到父shell中。而方法四則是在當(dāng)前shell中執(zhí)行的 。
可以使用nohup命令忽略所有掛斷(SIGHUP)信號(hào),來實(shí)現(xiàn)在終端關(guān)閉后,命令不掛斷地運(yùn)行,nohup就是不掛起的意思( no hang up)。
對(duì)于單個(gè)命令執(zhí)行大多數(shù)人都是明了的,也就是在一個(gè)命令行上執(zhí)行一條命令。那對(duì)于在一行上執(zhí)行多個(gè)命令怎么辦呢,其實(shí)也很簡單,只需在各命令之間加上特殊命令符號(hào),我們常規(guī)使用到的有3個(gè)特殊命令符號(hào)。
1. [;]
如果被分號(hào)(;)所分隔的命令會(huì)連續(xù)的執(zhí)行下去,就算是錯(cuò)誤的命令也會(huì)繼續(xù)執(zhí)行后面的命令。
2. []
如果命令被所分隔,那么命令也會(huì)一直執(zhí)行下去,但是中間有錯(cuò)誤的命令存在就不會(huì)執(zhí)行后面的命令,沒錯(cuò)就直行至完為止。
3. [||]
如果每個(gè)命令被雙豎線||所分隔,那么一遇到可以執(zhí)行成功的命令就會(huì)停止執(zhí)行后面的命令,而不管后面的命令是否正確與否。如果執(zhí)行到錯(cuò)誤的命令就是繼續(xù)執(zhí)行后一個(gè)命令,一直執(zhí)行到遇到正確的命令為止。
指定一臺(tái)主機(jī)作為信任主機(jī),這樣從這臺(tái)主機(jī)登錄其他機(jī)器就不需要密碼了。
設(shè)置信任主機(jī):
假設(shè)有四臺(tái)機(jī)器:192.168.2.1~192.168.2.4,其中192.168.2.1為信任機(jī),那么在192.168.2.1上運(yùn)行如下命令:
$ssh-keygen -t rsa //此處一路回車,生成秘鑰
$scp .ssh/id_rsa.pub 192.168.2.2:~/ //把秘鑰拷貝到其他遠(yuǎn)程機(jī)器
$ssh 192.168.2.2 ‘cat id_rsa.pub .ssh/authorized_keys’ //(遠(yuǎn)程執(zhí)行命令)在遠(yuǎn)程機(jī)器上生成認(rèn)證文件
經(jīng)過這幾步,從192.168.2.1 ssh登陸192.168.2.2時(shí),就不會(huì)再需要輸入密碼了。同樣的步驟再執(zhí)行3、4的極其。
文本文件hostlist可以如下
192.168.2.2
192.168.2.3
192.168.2.4
#!/bin/shdoCommand(){? ??
hosts=`sed -n'/^[^#]/p'hostlist`
for ? host ?in ? $hosts
do
echo ""
echo ?HOST$host
ssh ?$host ?"$@"?
done
return 0
}
if ?[ ?$# -lt 1 ]
then
echo "$0cmd" exit?
fi
do ?Command "$@"
echo "return from doCommand"
執(zhí)行命令(記得先對(duì)doCommand.s
h增加執(zhí)行權(quán)限 chmod u+x doCommand.sh)
./doCommand.sh “l(fā)s -al /root/”
這樣該腳本就會(huì)在每臺(tái)機(jī)器上執(zhí)行”ls -al /root/”這個(gè)命令,并返回結(jié)果在信任主機(jī)上。
linux命令格式:
說明:command: 命令名,相應(yīng)功能的英文單詞或單詞的縮寫 [-options]:選項(xiàng),可用來對(duì)命令進(jìn)行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數(shù):可以是零個(gè)一個(gè)或多個(gè)
一般是linux命令自帶的幫助信息
如:
man是linux提供的一個(gè)手冊(cè),包含了絕大部分的命令、函數(shù)使用說明
該手冊(cè)分成很多章節(jié)(section),使用man時(shí)可以指定不同的章節(jié)來瀏覽。
例:man ls ; man 2 printf
man中各個(gè)section意義如下:
man是按照手冊(cè)的章節(jié)號(hào)的順序進(jìn)行搜索的。
man設(shè)置了如下的功能鍵:
在敲出命令的前幾個(gè)字母的同時(shí),按下tab鍵,系統(tǒng)會(huì)自動(dòng)幫我們補(bǔ)全命令
當(dāng)系統(tǒng)執(zhí)行過一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過的命令列舉出來
ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個(gè)字符,“.”代表當(dāng)前目錄,“..”代表上一級(jí)目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。
ls常用參數(shù):
Linux允許將命令執(zhí)行結(jié)果重定向到一個(gè)文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。
如:ls test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )
注意: 輸出重定向會(huì)覆蓋原來的內(nèi)容,輸出重定向則會(huì)追加到文件的尾部。
查看內(nèi)容時(shí),在信息過長無法在一屏上顯示時(shí),會(huì)出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時(shí)可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
管道:一個(gè)命令的輸出可以通過管道做為另一個(gè)命令的輸入。
管道我們可以理解現(xiàn)實(shí)生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。
在使用Unix/Linux的時(shí)候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后面可跟絕對(duì)路徑,也可以跟相對(duì)路徑。如果省略目錄,則默認(rèn)切換到當(dāng)前用戶的主目錄。
使用pwd命令可以顯示當(dāng)前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。
通過mkdir命令可以創(chuàng)建一個(gè)新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。
需要注意的是新建目錄的名稱不能與當(dāng)前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對(duì)當(dāng)前目錄具有寫權(quán)限。
可使用rmdir命令刪除一個(gè)目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。
可通過rm刪除文件或目錄。使用rm命令要小心,因?yàn)槲募h除后不能恢復(fù)。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個(gè)確認(rèn)要?jiǎng)h除的文件。
常用參數(shù)及含義如下表所示:
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
如果沒有-s選項(xiàng)代表建立一個(gè)硬鏈接文件,兩個(gè)文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項(xiàng)是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個(gè)目錄,源文件要使用絕對(duì)路徑,不能使用相對(duì)路徑。
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對(duì)文本文件進(jìn)行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字符串參數(shù)時(shí),最好引號(hào)或雙引號(hào)括起來。例如:grep‘a(chǎn) ’1.txt。
常用選項(xiàng)說明:
find命令功能非常強(qiáng)大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
cp命令的功能是將給出的文件或目錄復(fù)制到另一個(gè)文件或目錄中,相當(dāng)于DOS下的copy命令。
常用選項(xiàng)說明:
用戶可以使用mv命令來移動(dòng)文件或目錄,也可以給文件或目錄重命名。
常用選項(xiàng)說明:
計(jì)算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個(gè)大文件中,也可以把檔案文件解開以恢復(fù)數(shù)據(jù)。
tar使用格式 tar [參數(shù)] 打包文件名 文件
tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。
常用參數(shù):
tar與gzip命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮。 tar只負(fù)責(zé)打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [選項(xiàng)] 被壓縮文件
常用選項(xiàng):
tar與bzip2命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮(用法和gzip一樣)。
tar只負(fù)責(zé)打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz2。
在tar命令中增加一個(gè)選項(xiàng)(-j)可以調(diào)用bzip2實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過程。
壓縮用法: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)前賬號(hào)的用戶名。可通過cat /etc/passwd查看系統(tǒng)用戶信息。
由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對(duì)傳統(tǒng)進(jìn)行管理。這時(shí)候就可以使用whoami來查看當(dāng)前用戶的身份。
who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息。
常用選項(xiàng):
如果是圖形界面,退出當(dāng)前終端;
如果是使用ssh遠(yuǎn)程登錄,退出登陸賬戶;
如果是切換后的登陸用戶,退出則返回上一個(gè)登陸賬號(hào)。
在Unix/Linux中添加用戶賬號(hào)可以使用adduser或useradd命令,因?yàn)閍dduser命令是指向useradd命令的一個(gè)鏈接,因此,這兩個(gè)命令的使用格式完全一樣。
useradd命令的使用格式如下:
useradd [參數(shù)] 新建用戶賬號(hào)
在Unix/Linux中,超級(jí)用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。
可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對(duì)應(yīng)的用戶時(shí)會(huì)將當(dāng)前的工作目錄自動(dòng)轉(zhuǎn)換到切換后的用戶主目錄:
注意:如果是ubuntu平臺(tái),需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺(tái)下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個(gè)工具,減少了root 用戶的登陸和管理時(shí)間,提高了安全性。
方法一:
方法二:
groupadd 新建組賬號(hào) groupdel 組賬號(hào) cat /etc/group 查看用戶組
使用方法:usermod -g 用戶組 用戶名
新創(chuàng)建的用戶,默認(rèn)不能sudo,需要進(jìn)行一下操作
-g用來制定這個(gè)用戶默認(rèn)的用戶組
-G一般配合'-a'來完成向其它組添加
chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
cal命令用于查看當(dāng)前日歷,-y顯示整年日歷
設(shè)置時(shí)間格式(需要管理員權(quán)限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC為年前兩位yy為年的后兩位,前兩位的mm為月,后兩位的mm為分鐘,dd為天,hh為小時(shí),ss為秒。如: date 010203042016.55。
顯示時(shí)間格式(date '+%y,%m,%d,%H,%M,%S'):
進(jìn)程是一個(gè)具有一定獨(dú)立功能的程序,它是操作系統(tǒng)動(dòng)態(tài)執(zhí)行的基本單元。
ps命令可以查看進(jìn)程的詳細(xì)狀況,常用選項(xiàng)(選項(xiàng)可以不加“-”)如下:
top命令用來動(dòng)態(tài)顯示運(yùn)行中的進(jìn)程。top命令能夠在運(yùn)行后,在指定的時(shí)間間隔更新顯示信息。可以在使用top命令時(shí)加上-d 來指定顯示信息更新的時(shí)間間隔。
在top命令執(zhí)行后,可以按下按鍵得到對(duì)顯示的結(jié)果進(jìn)行排序:
kill命令指定進(jìn)程號(hào)的進(jìn)程,需要配合 ps 使用。有些進(jìn)程不能直接殺死,這時(shí)候我們需要加一個(gè)參數(shù)“ -9 ”,“ -9 ” 代表強(qiáng)制結(jié)束.
使用格式:
kill [-signal] pid
df命令用于檢測文件系統(tǒng)的磁盤空間占用和空余情況,可以顯示所有文件系統(tǒng)對(duì)節(jié)點(diǎn)和磁盤塊的使用情況。
du命令用于統(tǒng)計(jì)目錄或文件所占磁盤空間的大小,該命令的執(zhí)行結(jié)果與df類似,du更側(cè)重于磁盤的使用狀況。
du命令的使用格式如下: du [選項(xiàng)] 目錄或文件名
連續(xù)不中斷執(zhí)行
用;可以讓多個(gè)命令連續(xù)知行,中間出現(xiàn)錯(cuò)誤并不會(huì)中斷后面命令,如
雖然第二條指令會(huì)報(bào)錯(cuò),但是不會(huì)影響后面的指令,最后test目錄不存在
出錯(cuò)停止后面指令
用分割的命令,如果沒有錯(cuò)誤會(huì)一直執(zhí)行下去,出現(xiàn)錯(cuò)誤立即中止,如
這回在第二個(gè)指令處就中止了
一次正確即停止
用||分割的命令,如果有錯(cuò)誤就一直執(zhí)行下去,直到一次正確立即中止,如
第一次執(zhí)行第一條指令就正確,后面的不執(zhí)行
第二次執(zhí)行前兩條都錯(cuò)誤,直到最后一條才正確,最后一條不再執(zhí)行
如果您維護(hù)多個(gè)Linux服務(wù)器,則有時(shí)您希望在所有服務(wù)器上運(yùn)行相同的命令。例如,您可能希望安裝/升級(jí)軟件包,修補(bǔ)內(nèi)核以及更新配置等。如果您必須登錄到每個(gè)服務(wù)器并手動(dòng)運(yùn)行相同的命令,那將是一項(xiàng)繁瑣的工作。
這篇文章是關(guān)于一個(gè)管理工具,它允許您一次在許多不同的機(jī)器上運(yùn)行相同的命令。
通過ClusterSSH,您可以同時(shí)在多個(gè)主機(jī)上進(jìn)行相同的更改。它提供了一個(gè)特殊的控制臺(tái)界面,您在控制臺(tái)中輸入的任何內(nèi)容都會(huì)自動(dòng)發(fā)送到任意數(shù)量的主機(jī)。
在Linux上安裝ClusterSSH
在Ubuntu,Debian或Linux Mint上安裝ClusterSSH:
$ sudo apt-get install clusterssh
要在CentOS或RHEL上安裝ClusterSSH,首先需要設(shè)置EPEL存儲(chǔ)庫,然后運(yùn)行以下命令。
$ sudo yum install clusterssh
要在Fedora上安裝ClusterSSH,只需運(yùn)行:
$ sudo yum install clusterssh
配置ClusterSSH
安裝后,第一步是定義要在其上運(yùn)行命令的主機(jī)群集。為此,請(qǐng)按如下方式創(chuàng)建系統(tǒng)范圍的ClusterSSH配置文件。
$ sudo vi / etc / clusters
clusters = my_cluster my_cluster2
my_cluster = host1 host2 host3 host4
my_cluster2 = host5 host6
如果您需要特定于用戶的ClusterSSH配置,只需使用?/ .csshrc而不是/ etc / clusters。在上面的示例配置中,我定義了兩個(gè)集群:“my_cluster”由四個(gè)主機(jī)組成,“my_cluster2”包含兩個(gè)主機(jī)。群集是您要登錄并運(yùn)行命令的一組主機(jī)。
當(dāng)您使用任何用戶定義的群集啟動(dòng)ClusterSSH時(shí),它將使用ssh登錄到群集中的各個(gè)主機(jī),并在主機(jī)上運(yùn)行任何用戶類型的命令。
啟動(dòng)ClusterSSH
要啟動(dòng)ClusterSSH,請(qǐng)按如下方式運(yùn)行cssh命令。
$ cssh -l dev my_cluster
在上文中,“dev”是群集中所有主機(jī)的登錄ID,“my_cluster”是群集名稱。
如果需要,可以指定單個(gè)主機(jī)名而不是群集名。
$ cssh -l dev host1 host2 host3
一旦CSSH執(zhí)行命令時(shí),它會(huì)彈出用于單個(gè)主機(jī)的XTerm窗口,以及標(biāo)記的一個(gè)小窗口“CSSH [2]”,其是ClusterSSH控制臺(tái)窗口。無論您在控制臺(tái)窗口中輸入什么,都將同時(shí)出現(xiàn)在各個(gè)主機(jī)的XTerm窗口中?;旧希梢酝ㄟ^單一控制臺(tái)窗口控制所有XTerm窗口。
如果要將某些命令運(yùn)行到特定的XTerm窗口,只需將焦點(diǎn)切換到Xterm窗口,然后像往常一樣鍵入命令。
以下屏幕截圖顯示了ClusterSSH的運(yùn)行情況,其中群集中有五個(gè)主機(jī),左上角的控制臺(tái)窗口是您應(yīng)該鍵入要在所有五個(gè)主機(jī)上運(yùn)行的命令的位置。
轉(zhuǎn)自 嘉為教育-rhce認(rèn)證_rhce培訓(xùn)_linux培訓(xùn)_linux認(rèn)證_linux考證