所有命令的參數(shù)都是使用空格分隔的,例如 ls -l 。在這里ls即為命令名, -l 為此命令的參數(shù),在 ls 與 -l 之間有一個(gè)空格,但是在 -l 內(nèi)部不能有空格。
創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái),是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元隆昌做網(wǎng)站,已為上家服務(wù),為隆昌各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
由于Linux繼承于Unix,而Unix操作系統(tǒng)在當(dāng)初設(shè)計(jì)的時(shí)候,鍵盤并不可靠,而且敲鍵盤比較費(fèi)勁(比如容易卡住),因此大部分命令都非常簡(jiǎn)短,一般是完整的英文單詞去掉元音字母(aeiou)后的縮寫,這是一個(gè)歷史問(wèn)題。
整個(gè)操作系統(tǒng)的磁盤都被劃分為很多個(gè)目錄(directory)或稱文件夾(folder),還有文件(file)。每個(gè)目錄下還可以有子目錄(sub direcotory)與文件,這樣就形成了一個(gè)樹狀結(jié)構(gòu),樹根為 / ,被稱為根目錄(root directory)。
在 任何時(shí)候 ,你都有一個(gè) 當(dāng)前目錄 (Working Directory),你所有的操作都是相對(duì)于當(dāng)前目錄做出的,以當(dāng)前目錄為基準(zhǔn)的目錄名或者文件名叫做相對(duì)目錄。例如若你的當(dāng)前目錄是/home/alex,在/home/alex目錄下有一個(gè)叫Public的子目錄,還有一個(gè)叫l(wèi)og.txt的文件,則Public與log.txt就是相對(duì)目錄名與相對(duì)文件名。
每個(gè)目錄與文件都有一個(gè)全路徑(full path)名,這個(gè)全路徑以/開頭,遍歷整個(gè)目錄,直到最終的目錄名或者文件名為止。例如在Linux中,/下有etc、home、usr、lib等子目錄,而home目錄下有alex目錄,alex目錄下有Public目錄。則在這里Public的全路徑名就是 /home/alex/Public ,注意在這里必須大小寫一致。
當(dāng)然也有可能在其它的名叫Public的目錄或者文件,但是它們的全路徑肯定是不一樣的。就像在中國(guó)有一個(gè)叫Alex的人,在美國(guó)也有一個(gè)叫Alex的人,他們可以分別稱為中國(guó)的Alex與美國(guó)的Alex,這就是他們的全路徑 ;)。全路徑又叫絕對(duì)路徑(absolute path)。
在Linux里,每個(gè)用戶都有一個(gè)家目錄(home directory),一般情況下用戶的家目錄就是/home目錄下相應(yīng)的用戶名,例如alex用戶的家目錄就是/home/alex。
大部分文件都有擴(kuò)展名(extension name),擴(kuò)展名即為文件名最后一個(gè)點(diǎn)號(hào)(.)后面的文字,擴(kuò)展名一般都表示了文件的類型。例如在log.txt這個(gè)文件名中,txt是擴(kuò)展名,表示這個(gè)文件是一個(gè)文本文件(TeXT file),而文本文件一般都是可以直接查看內(nèi)容的。而在house.1.jpg這個(gè)文件名中,其擴(kuò)展名為jpg,表示這個(gè)文件是一個(gè)JPG格式的圖形文件,而圖形文件一般都是需要使用圖形軟件打開才能看到其內(nèi)容的。
pwd 是Pring Working Directory的縮寫,此命令的作用是打印(print)當(dāng)前的(working)目錄(directory)的全路徑名。
當(dāng)你打開終端或者切換目錄之后,你最好運(yùn)行一下 pwd 命令,確認(rèn)當(dāng)前的目錄是不是你想要切換的目錄。
pwd 命令一般不需要參數(shù)。
ls 是LiSt的縮寫,此命令的作用是列舉目錄下的文件與子目錄。
當(dāng)你不帶參數(shù)運(yùn)行 ls 命令時(shí),此命令將列舉出當(dāng)前目錄下的文件與子目錄的名稱。
當(dāng)你加上-l參數(shù)運(yùn)行 ls 命令時(shí),此命令將列舉出當(dāng)前目錄下的文件與子目錄的名稱,以及它們的修改時(shí)間、大小等信息。
你也可以使用 ls 命令列舉其它目錄下的文件與子目錄的名稱,例如,運(yùn)行 ls / 即可列舉出根目錄下的文件與子目錄名,運(yùn)行 ls -l / 即可列舉出根目錄下的文件與子目錄名,以及它們的修改時(shí)間、大小等信息。
cd 是Change Directory的縮寫,此命令的作用是切換當(dāng)前的工作目錄。
例如,運(yùn)行 cd /home/alex 將把當(dāng)前目錄切換為 /home/alex 。當(dāng)然,cd后面的參數(shù)也可以是相對(duì)目錄。例如若當(dāng)前目錄為 /home/alex ,而 /home/alex 目錄下有一個(gè)目錄叫Public,則運(yùn)行 cd Public 則會(huì)將當(dāng)前目錄變?yōu)?/home/alex/Public 。
如果cd命令后面不接任何參數(shù),則將把當(dāng)前目錄設(shè)置為用戶的家目錄。
cp 是CoPy的縮寫,此命令的作用是復(fù)制文件或者文件夾。
例如,運(yùn)行 cp 1.txt 2.txt 將把當(dāng)前目錄下的 1.txt 文件復(fù)制成 2.txt 文件。運(yùn)行 cp 1.txt /tmp/2.txt 將把當(dāng)前目錄下的 1.txt 復(fù)制成 /tmp/2.txt 文件,運(yùn)行 cp 1.txt /home/alex/ 將把 1.txt 文件復(fù)制到 /home/alex/ 目錄下。
rm 是ReMove的縮寫,此命令的作用是刪除文件或者文件夾。
例如,運(yùn)行 rm 2.txt 將刪除當(dāng)前目錄下的 2.txt 文件,運(yùn)行 rm /tmp/2.txt 將刪除 /tmp/2.txt 文件。
你也可以使用 rm 來(lái)刪除目錄,此時(shí)需要帶上-R參數(shù)(recursive,即遞歸的意思),例如 rm -R /tmp/abc 將刪除整個(gè) /tmp/abc 目錄。
刪除時(shí)一般都會(huì)詢問(wèn)你讓你確認(rèn)是否要?jiǎng)h除,如果你不需要被提問(wèn)確認(rèn),可以加上-f參數(shù),例如 rm -f /tmp/1.txt 。
mv 是MoVe的縮寫,此命令的作用是移動(dòng)文件或者文件夾,或說(shuō)是為文件或者文件夾改名。注意,一旦移動(dòng)成功,則原來(lái)的文件或者文件夾就不存在了。
例如,運(yùn)行 mv 1.txt 2.txt 將把當(dāng)前目錄下的 1.txt 改名為 2.txt ,運(yùn)行 mv 1.txt /tmp/2.txt 將把當(dāng)前目錄下的 1.txt 移動(dòng)成為 /tmp/2.txt 文件。
mkdir 是MaKe DIRectory的縮寫,此命令的作用是創(chuàng)建目錄。
例如 mkdir abc 將在當(dāng)前目錄下創(chuàng)建一個(gè)名為 abc 的目錄, mkdir /tmp/xyz123 將在 /tmp 目錄下創(chuàng)建一個(gè)名為 xyz123 的目錄。
mkdir 可以帶-p參數(shù),這樣即可同時(shí)創(chuàng)建多層目錄,例如 mkdir -p a/b/c/123 將在當(dāng)前目錄下創(chuàng)建a目錄,在a目錄下創(chuàng)建b目錄,在b目錄下創(chuàng)建c目錄,在c目錄下創(chuàng)建123目錄。
在Linux下還有幾個(gè)特殊的目錄,它們分別是:
有一個(gè)特殊的符號(hào)表示文件名匹配,即 * 。例如 cp *.txt /tmp/ 將把當(dāng)前目錄下的以 .txt 結(jié)尾的文件名都復(fù)制到 /tmp/ 目錄下, ls a*.txt 將列舉出當(dāng)前目錄下所有以 a 開頭,以 .txt 結(jié)尾的文件名與目錄, rm /tmp/1*log 將刪除 /tmp 目錄下所有文件名以 1 開頭,以 log 結(jié)尾的文件。
所有以 . 開頭的文件與目錄都表示是隱藏文件 / 目錄,例如 .vimrc ,例如 .. ,在 ls 時(shí)一般是看不到這些文件與目錄的,如果想要看到,需要使用 ls 的 -a 參數(shù),例如 ls -al 。
Linux下有大量命令/軟件,在此我們僅列舉幾個(gè)可能會(huì)用到的,可以在使用過(guò)程中慢慢熟悉。
ps 命令的作用是顯示進(jìn)程信息的;
| 符號(hào),是個(gè)管道符號(hào),表示ps 和 grep 命令同時(shí)執(zhí)行;
grep 命令是查找(Global Regular Expression Print),能使用正則表達(dá)式搜索文本,然后把匹配的行顯示出來(lái);
ps命令有一些參數(shù):
-e : 顯示所有進(jìn)程
-f : 全格式
-h : 不顯示標(biāo)題
-l : 長(zhǎng)格式
-w : 寬輸出
a :顯示終端上的所有進(jìn)程,包括其他用戶的進(jìn)程。
r :只顯示正在運(yùn)行的進(jìn)程。
u :以用戶為主的格式來(lái)顯示程序狀況。
x :顯示所有程序,不以終端機(jī)來(lái)區(qū)分。
結(jié)果信息從前到后依次是:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep –color=auto dae
Linux中的top命令顯示系統(tǒng)上正在運(yùn)行的進(jìn)程。它是系統(tǒng)管理員最重要的工具之一。被廣泛用于監(jiān)視服務(wù)器的負(fù)載。top命令是一個(gè)交互命令。在運(yùn)行top的時(shí)候還可以運(yùn)行很多命令。
N – 以 PID 的大小的順序排列表示進(jìn)程列表
P – 以 CPU 占用率大小的順序排列進(jìn)程列表
M – 以內(nèi)存占用率大小的順序排列進(jìn)程列表
q – 退出 top
h – 幫助
1 系統(tǒng)運(yùn)行時(shí)間和平均負(fù)載
這些字段顯示:當(dāng)前時(shí)間、系統(tǒng)已運(yùn)行的時(shí)間、當(dāng)前登錄用戶的數(shù)量、相應(yīng)最近5、10和15分鐘內(nèi)的平均負(fù)載。
2 任務(wù)
第二行顯示的是任務(wù)或者進(jìn)程的總結(jié)。進(jìn)程可以處于不同的狀態(tài)。這里顯示了全部進(jìn)程的數(shù)量。除此之外,還有正在運(yùn)行、睡眠、停止、僵尸進(jìn)程的數(shù)量(僵尸是一種進(jìn)程的狀態(tài))。這些進(jìn)程概括信息可以用’t’切換顯示。
3 CPU 狀態(tài)
下一行顯示的是CPU狀態(tài)。 這里顯示了不同模式下的所占CPU時(shí)間的百分比。這些不同的CPU時(shí)間表示:
us, user: 運(yùn)行(未調(diào)整優(yōu)先級(jí)的) 用戶進(jìn)程的CPU時(shí)間
sy,system: 運(yùn)行內(nèi)核進(jìn)程的CPU時(shí)間
ni,niced:運(yùn)行已調(diào)整優(yōu)先級(jí)的用戶進(jìn)程的CPU時(shí)間
wa,IO wait: 用于等待IO完成的CPU時(shí)間
hi:處理硬件中斷的CPU時(shí)間
si: 處理軟件中斷的CPU時(shí)間
st:這個(gè)虛擬機(jī)被hypervisor偷去的CPU時(shí)間(譯注:如果當(dāng)前處于一個(gè)hypervisor下的vm,實(shí)際上hypervisor也是要消耗一部分CPU處理時(shí)間的)。
4 內(nèi)存使用
接下來(lái)兩行顯示內(nèi)存使用率,有點(diǎn)像’free’命令。第一行是物理內(nèi)存使用,第二行是虛擬內(nèi)存使用(交換空間)。
物理內(nèi)存顯示如下:全部可用內(nèi)存、已使用內(nèi)存、空閑內(nèi)存、緩沖內(nèi)存。相似地:交換部分顯示的是:全部、已使用、空閑和緩沖交換空間。
5 各列的意思
PID 進(jìn)程ID,進(jìn)程的唯一標(biāo)識(shí)符
USER 進(jìn)程所有者的實(shí)際用戶名。
PR 進(jìn)程的調(diào)度優(yōu)先級(jí)。這個(gè)字段的一些值是’rt’。這意味這這些進(jìn)程運(yùn)行在實(shí)時(shí)態(tài)。
NI 進(jìn)程的nice值(優(yōu)先級(jí))。越小的值意味著越高的優(yōu)先級(jí)。
VIRT 進(jìn)程使用的虛擬內(nèi)存。
RES 駐留內(nèi)存大小。駐留內(nèi)存是任務(wù)使用的非交換物理內(nèi)存大小。
SHR SHR是進(jìn)程使用的共享內(nèi)存。
S 這個(gè)是進(jìn)程的狀態(tài)。它有以下不同的值:
D – 不可中斷的睡眠態(tài)。
R – 運(yùn)行態(tài)
S – 睡眠態(tài)
T – 被跟蹤或已停止
Z – 僵尸態(tài)
%CPU 自從上一次更新時(shí)到現(xiàn)在任務(wù)所使用的CPU時(shí)間百分比。
%MEM 進(jìn)程使用的可用物理內(nèi)存百分比。
TIME+ 任務(wù)啟動(dòng)后到現(xiàn)在所使用的全部CPU時(shí)間,精確到百分之一秒。
COMMAND 運(yùn)行進(jìn)程所使用的命令。
注意 :不同發(fā)行版的top命令在各種細(xì)節(jié)有不同,如果發(fā)現(xiàn)不同時(shí),請(qǐng)讀你的幫助手冊(cè)和命令內(nèi)的幫助。)
kill、kill-15、kill-9區(qū)別:
執(zhí)行kill(默認(rèn)kill -15)命令,系統(tǒng)會(huì)發(fā)送一個(gè)SIGTERM信號(hào)給對(duì)應(yīng)的程序,大部分程序接收到SIGTERM信號(hào)后,會(huì)先釋放自己的資源,然后再停止。用法kill pid。
kill -15 pid。
kill -9命令,系統(tǒng)給對(duì)應(yīng)程序發(fā)送的信號(hào)是SIGKILL,即exit。exit信號(hào)不會(huì)被系統(tǒng)阻塞,所以kill -9能順利殺掉進(jìn)程。用法kill -9 pid。
tail -n 1000:顯示最后1000行
tail -n +1000:從1000行開始顯示,顯示1000行以后的
head -n 1000:顯示前面1000行
cat a.txt 顯示文件
vim xx.conf 編輯文件
打開文件后,按insert鍵進(jìn)入編輯模式;編輯完后,按esc建退出編輯模式;按shift+冒號(hào)后,輸入wq保存退出,wq!保存強(qiáng)制退出,q不保存退出
在根目錄模糊查找名字含java的文件
服務(wù)器端常有很多壓縮過(guò)的日志文件,當(dāng)需要查找日志中某些特定信息的時(shí)候,為了避免解壓文件,可以使用zgrep,zcat等命令查找、查看壓縮文件中的信息
zgrep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (當(dāng)日)
grep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (非當(dāng)日的壓縮文件)
例如: zgrep 'callMktCamLoad' app.log.2019-12-03-*.gz
rpm包安裝的,可以用 rpm -qa 看到,如果要查找某軟件包是否安裝,用 rpm -qa | grep "軟件或者包的名字"
以deb包安裝的,可以用 dpkg -l 看到。如果是查找指定軟件包,用 dpkg -l | grep "軟件或者包的名字"
yum方法安裝的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "軟件名或者包名"
摘要:Linux指令常用結(jié)構(gòu) :Command [-option] [argument]
Command:即是要運(yùn)行的命令的本身,說(shuō)白了就是一個(gè)程序;
Option:是選項(xiàng)(可選),選項(xiàng)是控制命令運(yùn)行狀態(tài)和行為的(可多個(gè)選項(xiàng)一起,如ls -al);
Argument:是參數(shù)(可選),是命令要操作對(duì)象如文件、路徑、數(shù)據(jù)、目錄等;
在指令的第一部分按[tab]鍵一下為[命令補(bǔ)全],兩下為所有命令選擇;
一、 Linux系統(tǒng)操作指令
1、開關(guān)機(jī)
2、查看系統(tǒng)信息
3、查看系統(tǒng)性能
4、查看磁盤指標(biāo)
二、 Linux目錄文件操作指令
1、目錄文件
2、文件相關(guān)權(quán)限
3、文本處理
三、Linux用戶權(quán)限操作指令
四、Linux壓縮解壓指令
五、Linux軟件安裝指令
1、打開終端輸入一下的命令$crontab ?-e。
2、進(jìn)入選擇editor,直接enter回車。
3、接著我們會(huì)進(jìn)入如下的編輯窗口。
4、在后面填寫*/1 ?* ?* ?* ?* ? ? ? date ? ?~/123,每一分鐘執(zhí)行“?date ? ?~/123”命令,把當(dāng)前時(shí)間寫123文件,這里的時(shí)間間隔可以自己設(shè)置。
5、然后“ctrl+x”進(jìn)行保存,輸入“Y”回車確定。
6、填寫文件名,可以默認(rèn)直接回車。
7、等一分后,我們發(fā)現(xiàn)用戶目錄多個(gè)123文件,打開里面時(shí)間日期,每分鐘都會(huì)呢更新。
擴(kuò)展資料
configure'腳本有大量的命令行選項(xiàng).對(duì)不同的軟件包來(lái)說(shuō),這些選項(xiàng)可能會(huì)有變化,但是許多基本的選項(xiàng)是不會(huì)改變的.帶上'-- help'選項(xiàng)執(zhí)行'configure'腳本可以看到可用的所有選項(xiàng)。
盡管許多選項(xiàng)是很少用到的,但是當(dāng)你為了特殊的需求而configure一個(gè)包時(shí),知道他們的存在是很有益處的.下面對(duì)每一個(gè)選項(xiàng)進(jìn)行簡(jiǎn)略的介紹:
cache-file=FILE
'configure'會(huì)在你的系統(tǒng)上測(cè)試存在的特性(或者bug!).為了加速隨后進(jìn)行的配置,測(cè)試的結(jié)果會(huì)存儲(chǔ)在一個(gè)cache file里.當(dāng)configure一個(gè)每個(gè)子樹里都有'configure'腳本的復(fù)雜的源碼樹時(shí),一個(gè)很好的cache file的存在會(huì)有很大幫助。
help
輸出幫助信息.即使是有經(jīng)驗(yàn)的用戶也偶爾需要使用使用'--help'選項(xiàng),因?yàn)橐粋€(gè)復(fù)雜的項(xiàng)目會(huì)包含附加的選項(xiàng)。例如,GCC包里的'configure'腳本就包含了允許你控制是否生成和在GCC中使用GNU匯編器的選項(xiàng)。
no-create
'configure'中的一個(gè)主要函數(shù)會(huì)制作輸出文件。此選項(xiàng)阻止'configure'生成這個(gè)文件.你可以認(rèn)為這是一種演習(xí)(dry run),盡管緩存(cache)仍然被改寫了。
quiet/--silent
當(dāng)'configure'進(jìn)行他的測(cè)試時(shí),會(huì)輸出簡(jiǎn)要的信息來(lái)告訴用戶正在作什么。這樣作是因?yàn)?configure'可能會(huì)比較慢,沒(méi)有這種輸出的話用戶將會(huì)被扔在一旁疑惑正在發(fā)生什么。使用這兩個(gè)選項(xiàng)中的任何一個(gè)都會(huì)把你扔到一旁。
如果您維護(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)行相同的命令。
通過(guò)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ǔ)庫(kù),然后運(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)窗口。無(wú)論您在控制臺(tái)窗口中輸入什么,都將同時(shí)出現(xiàn)在各個(gè)主機(jī)的XTerm窗口中?;旧?,您可以通過(guò)單一控制臺(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考證