九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linux入門手冊

Linux是眾多操作系統(tǒng)之一 , 目前流行的服務(wù)器和 PC 端操作系統(tǒng)有 Linux、Windows、UNIX 等

Linux的創(chuàng)始人 Linus Torvalds 林納斯 (同時(shí)也是git的開發(fā)者)

Linux主要的發(fā)行版:

Ubuntu(烏班圖)、RedHat(紅帽)、CentOS、Debain[蝶變]、Fedora、SuSE、OpenSUSE

unix是怎么來的

理查德·斯托曼發(fā)起的GNU計(jì)劃

  • 在自由的時(shí)代用戶應(yīng)該免費(fèi)享有對(duì)軟件源代碼閱讀、修改的權(quán)利。
  • 軟件公司可以靠提供服務(wù)和訓(xùn)練獲得盈利。

Linux和Unix的關(guān)系

(Redhat又衍生出兩個(gè)版本,redhat和centOS)

Refrences:

www.w3cschool.cn/linux/

c.biancheng.net/linux_tutor…

《鳥哥的Linux私房菜》
shouce.jb51.net/vbird-linux…

1.Linux的文件權(quán)限

在linux中的每個(gè)用戶必須屬于一個(gè)組,不能獨(dú)立于組外。在linux中每個(gè)文件有所有者、所在組、其它組的概念

ls -al(l):

ls -l(別名ll 就可以查看)

從左到又每一列的信息依次為 權(quán)限、 連接數(shù)、 所有者 、 用戶組 、 文件容量 、 修改日期 、 文件名

第一列的十位字母代表的是文件的類型和權(quán)限,第一個(gè)字符代表這個(gè)文件是“目錄、文件或鏈接文件等”含義:

  • d:代表是目錄
  • -:代表是文件
  • l:代表是連接文件
  • b:代表設(shè)備文件里可供存儲(chǔ)的接口設(shè)備
  • c:代表設(shè)備文件里面的串行端口設(shè)備。如鍵盤,鼠標(biāo)等

后邊9個(gè)字符,每3個(gè)字符為一組,“rwx”(可讀、可寫、可執(zhí)行eXecute)這三個(gè)參數(shù)的組合,(rwx3者的順序不能改變,換句話說,第一個(gè)要么是r,要么啥都沒有,不能是w或者x),三個(gè)組合分別代表“文件所有者的權(quán)限”、“同用戶組的權(quán)限”、“其他非本用戶組的權(quán)限”。

權(quán)限的重要性:

  • 系統(tǒng)保護(hù)的功能;
  • 團(tuán)隊(duì)開發(fā)軟件或數(shù)據(jù)共享的功能;

改變文件屬性和權(quán)限:

  • chgrp: 改變文件所屬用戶組(change group) chgrp [-R] users 目錄或文件 : 將這個(gè)路徑下的文件的用戶組改成“users“ 這個(gè)新用戶組一定得是/etc/group下有的,否則會(huì)報(bào)錯(cuò)。 若最后一個(gè)參數(shù)是目錄,則表示只將這個(gè)目錄下的文件的用戶組改成這個(gè)。 R表示若最后一個(gè)參數(shù)是目錄,則將當(dāng)前目錄下的文件連同子目錄下的所有文件的用戶組都改成這個(gè)。
  • chown: 改變文件所有者(change owner) chown [-R] 用戶名 文件或目錄 : 將這個(gè)目錄下的所有文件的所有者都改成這個(gè)用戶名。 這個(gè)用戶名必須是/etc/passwd下有的才行。 這個(gè)命令可以既修改文件主又修改用戶組: chown [-R] 用戶名:用戶組名 目錄/文件(:和 . 都可以) chown [-R] 用戶名.用戶組名 目錄/文件 由于用戶名可以存在小數(shù)點(diǎn),當(dāng)出現(xiàn)含有小數(shù)點(diǎn)的用戶名時(shí),系統(tǒng)會(huì)發(fā)生誤判,所以我們一般都使用:來連接用戶名和用戶組名。 還可以僅修改用戶組名:chown [-R] .用戶組名 目錄/文件
  • chmod: 改變文件的權(quán)限 改變文件的權(quán)限有兩種方法:用數(shù)字或者符號(hào)進(jìn)行權(quán)限的修改 用數(shù)字進(jìn)行權(quán)限的修改 Linux文件的基本權(quán)限有9個(gè),分別是owner、group、others三種身份各有自己的read、write、execute 權(quán)限。在這種方式中,r=4、w=2、x=1,將每一組的三個(gè)值加起來,組成一個(gè)三位數(shù)即可。
  • 例如: ? 文件主:rwx = 4+2+1=7; ? 同組用戶:rwx=4+2+1=7; ? 其他人:---=0+0+0=0; ? 所以命令如下: chmod [-R] 770 文件/目錄 用符號(hào)進(jìn)行權(quán)限的修改 用u、g、o 代表user、group、others三種身份的權(quán)限,a 代表 all,也就是全部的身份。 +(加入),-(除去),=(設(shè)置)。 ? chmod u/g/o/a +/-/= r/w/x 文件/目錄 ?
  • 例子:文件主能夠讀、寫、執(zhí)行;同組用戶和其他用戶能夠讀、執(zhí)行。 ?
  • chmod u=rwx,go=rx 文件名 ? 假設(shè)原先不知道文件的屬性,現(xiàn)在只想讓所有的人能夠執(zhí)行這個(gè)文件,則: ? chmod a+x 文件/目錄 ? 假設(shè)原先不知道文件的屬性,現(xiàn)在只想讓同組用戶和其他用戶無法寫,則: ? chmod go-w 文件/目錄

目錄和文件的權(quán)限意義:

  • 權(quán)限對(duì)文件的意義. r:代表可讀取此文件的實(shí)際內(nèi)容 w:代表可以編輯、新增或者修改文件的內(nèi)容(但是不包含刪除文件) x:代表該文件具有可以被系統(tǒng)執(zhí)行的權(quán)限。<與windows不同,在Linux中判斷一個(gè)文件是否可以執(zhí)行,不是根據(jù)后綴名(如.exe ,.bat,.com),而是和這個(gè)文件是否具有“x”權(quán)限決定的。>
  • 權(quán)限對(duì)目錄的意義 r:代表具有讀取目錄結(jié)構(gòu)列表的權(quán)限(你可以使用ls命令將目錄下的所有列表讀出來) w:這個(gè)權(quán)限對(duì)目錄來說可是很強(qiáng)大的,表示你具有更改該目錄結(jié)構(gòu)列表的權(quán)限 主要有: 新建新的文件與目錄 刪除已經(jīng)存在的文件或者目錄(無論文件的權(quán)限是怎樣的) 將已經(jīng)存在的文件或者目錄重命名 轉(zhuǎn)移該目錄內(nèi)的文件、目錄位置 x:目錄雖然不可以被拿來執(zhí)行,但是目錄的x代表的是用戶能否進(jìn)入該目錄成為工作目錄的用途。(所謂工作目錄就是你當(dāng)下的目錄,也就是時(shí)候,如果目錄不具有x權(quán)限,那么你就不能通過cd命令進(jìn)入到該目錄下工作)。

能不能進(jìn)入某一目錄,只與該目錄的x 權(quán)限有關(guān)。

Linux的單一文件或者目錄的最大容許文件名為255個(gè)字符,包含完整路徑名記(/)的完整文件名為4096個(gè)字符。


2.Linux系統(tǒng)目錄結(jié)構(gòu)

linux的文件系統(tǒng)是采用級(jí)層式的樹狀目錄結(jié)構(gòu),在此結(jié)構(gòu)中的最上層是根目錄“/”,然后在此目錄下再創(chuàng)建其他的目錄。在Linux世界里,一切皆文件

Linux系統(tǒng)目錄結(jié)構(gòu)

登錄系統(tǒng)后,在當(dāng)前命令窗口下輸入 ls / 你會(huì)看到

以下是對(duì)這些目錄的解釋:

/bin bin是Binary的縮寫。這個(gè)目錄存放著最經(jīng)常使用的命令。

/boot 這里存放的是啟動(dòng)Linux時(shí)使用的一些核心文件,包括一些連接文件以及鏡像文件。

/dev dev是Device(設(shè)備)的縮寫。該目錄下存放的是Linux的外部設(shè)備,在Linux中訪問設(shè)備的方式和訪問文件的方式是相同的。

/etc 這個(gè)目錄用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄。

/home 用戶的主目錄,在Linux中,每個(gè)用戶都有一個(gè)自己的目錄,一般該目錄名是以用戶的賬號(hào)命名的。

/lib 這個(gè)目錄里存放著系統(tǒng)最基本的動(dòng)態(tài)連接共享庫,其作用類似于Windows里的DLL文件。幾乎所有的應(yīng)用程序都需要用到這些共享庫。

/lost+found 這個(gè)目錄一般情況下是空的,當(dāng)系統(tǒng)非法關(guān)機(jī)后,這里就存放了一些文件。

/media linux 系統(tǒng)會(huì)自動(dòng)識(shí)別一些設(shè)備,例如U盤、光驅(qū)等等,當(dāng)識(shí)別后,linux會(huì)把識(shí)別的設(shè)備掛載到這個(gè)目錄下。

/mnt 系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載別的文件系統(tǒng)的,我們可以將光驅(qū)掛載在/mnt/上,然后進(jìn)入該目錄就可以查看光驅(qū)里的內(nèi)容了。

/opt 這是給主機(jī)額外安裝軟件所擺放的目錄。比如你安裝一個(gè)ORACLE數(shù)據(jù)庫則就可以放到這個(gè)目錄下。默認(rèn)是空的。

/proc 這個(gè)目錄是一個(gè)虛擬的目錄,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個(gè)目錄來獲取系統(tǒng)信息。這個(gè)目錄的內(nèi)容不在硬盤上而是在內(nèi)存里,我們也可以直接修改里面的某些文件,比如可以通過下面的命令來屏蔽主機(jī)的ping命令,使別人無法ping你的機(jī)器: echo 1 >
/proc/sys/net/ipv4/icmp_echo_ignore_all。

/root 該目錄為系統(tǒng)管理員,也稱作超級(jí)權(quán)限者的用戶主目錄。

/sbin s就是Super User的意思,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序。

/selinux 這個(gè)目錄是Redhat/CentOS所特有的目錄,Selinux是一個(gè)安全機(jī)制,類似于windows的防火墻,但是這套機(jī)制比較復(fù)雜,這個(gè)目錄就是存放selinux相關(guān)的文件的。

/srv 該目錄存放一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)。

/sys 這是linux2.6內(nèi)核的一個(gè)很大的變化。該目錄下安裝了2.6內(nèi)核中新出現(xiàn)的一個(gè)文件系統(tǒng) sysfs ,sysfs文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對(duì)進(jìn)程信息的proc文件系統(tǒng)、針對(duì)設(shè)備的devfs文件系統(tǒng)以及針對(duì)偽終端的devpts文件系統(tǒng)。該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個(gè)直觀反映。當(dāng)一個(gè)內(nèi)核對(duì)象被創(chuàng)建的時(shí)候,對(duì)應(yīng)的文件和目錄也在內(nèi)核對(duì)象子系統(tǒng)中被創(chuàng)建。

/tmp 這個(gè)目錄是用來存放一些臨時(shí)文件的。

/usr 這是一個(gè)非常重要的目錄,用戶的很多應(yīng)用程序和文件都放在這個(gè)目錄下,類似與windows下的program files目錄。

/usr/bin:系統(tǒng)用戶使用的應(yīng)用程序。

/usr/sbin:超級(jí)用戶使用的比較高級(jí)的管理程序和系統(tǒng)守護(hù)程序。

/usr/src:內(nèi)核源代碼默認(rèn)的放置目錄。

/var 這個(gè)目錄中存放著在不斷擴(kuò)充著的東西,我們習(xí)慣將那些經(jīng)常被修改的目錄放在這個(gè)目錄下。包括各種日志文件。

在linux系統(tǒng)中,有幾個(gè)目錄是比較重要的,平時(shí)需要注意不要誤刪除或者隨意更改內(nèi)部文件。/etc: 上邊也提到了,這個(gè)是系統(tǒng)中的配置文件,如果你更改了該目錄下的某個(gè)文件可能會(huì)導(dǎo)致系統(tǒng)不能啟動(dòng)。/bin, /sbin, /usr/bin, /usr/sbin: 這是系統(tǒng)預(yù)設(shè)的執(zhí)行文件的放置目錄,比如 ls 就是在/bin/ls 目錄下的。值得提出的是,/bin, /usr/bin 是給系統(tǒng)用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令。 /var: 這是一個(gè)非常重要的目錄,系統(tǒng)上跑了很多程序,那么每個(gè)程序都會(huì)有相應(yīng)的日志產(chǎn)生,而這些日志就被記錄到這個(gè)目錄下,具體在/var/log 目錄下,另外mail的預(yù)設(shè)放置也是在這里。


3.Linux文件與目錄操作

絕對(duì)路徑:

路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個(gè)目錄。

相對(duì)路徑:

路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時(shí),可以寫成: cd ../man 這就是相對(duì)路徑的寫法啦!

目錄的相關(guān)操作

ls(查看文件與目錄)

cd(切換目錄)

pwd(顯示當(dāng)前所在目錄)

mkdir(創(chuàng)建新目錄)

mkdir 【-mp】目錄名稱

加了-p 參數(shù),可以自行創(chuàng)建多層目錄, 加了-m,可以強(qiáng)制設(shè)置屬性。

mkdir testmkdir -p test1/test2/test3/test4*mkdir -m 711 test2(給予新目錄drwx--x--x的權(quán)限)復(fù)制代碼

rmdir(刪除“空”目錄)

rmdir [-p] 目錄名稱(-p 可以連同上層空目錄一起刪除)

rmdir -p test1/test2/test3/test4復(fù)制代碼

cp(復(fù)制文件或目錄)

cp [-adfilprsu] 源文件(source) 目標(biāo)文件(destination復(fù)制代碼
  • -a:相當(dāng)于-pdr的意思;
  • -i:若目標(biāo)文件已經(jīng)存在且無法開啟,則刪除后再嘗試一次;
  • -p:連同文件的屬性一起復(fù)制過去,而非使用默認(rèn)屬性(備份常用);
  • -r:遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為;
cp test testtest (將test文件重命名為testtest)cp /var/log/wtmp .(復(fù)制到當(dāng)前目錄.)cp -r /etc/ /tmp(復(fù)制etc目錄下的所有內(nèi)容到/tmp下,權(quán)限可能被改變了)復(fù)制代碼

rm(移除文件或目錄)

rm [-fir] 文件或目錄復(fù)制代碼
  • -f:force的意思,忽略不存在的文件,不會(huì)出現(xiàn)警告信息;
  • -i:互動(dòng)模式,在刪除前會(huì)詢問用戶是否操作;
  • -r:遞歸刪除,危險(xiǎn)
#不能直接刪除目錄,刪除目錄的話需要加-rrm -r /tmp/test (root用戶默認(rèn)會(huì)加入-i參數(shù),詢問,刪除的是test文件,沒有刪除tmp)touch  /tmp/aaa (新建空文件aaa)rm /tmp/aaa(直接刪除文件aaa)復(fù)制代碼

mv(移動(dòng)文件與目錄,或更名)

mv [-fiu] source destination復(fù)制代碼
  • -f:force強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢問而直接覆蓋;
  • -i:若目標(biāo)文件已經(jīng)存在,就會(huì)詢問是否覆蓋;
  • -u:若目標(biāo)文件已經(jīng)存在,且source比較新,才會(huì)更新;
mv aaa test(將文件aaa移動(dòng)到目錄test中)mv test mytest(將test重命名為mytest)mv aaa bbb ccc test(將aaa、bbb、ccc多個(gè)源文件或目錄全部移動(dòng)到test目錄中)復(fù)制代碼

文件內(nèi)容查閱

cat:由第一行開始顯示文件內(nèi)容;

tac:從最后一行開始顯示,可以看出tac是cat的倒寫形式;

nl:顯示的時(shí)候,順便輸出行號(hào);

more:一頁一頁的顯示文件內(nèi)容;

less:與more類似,但是可以往前翻頁;

head:只看開頭幾行;

tail:只看結(jié)尾幾行;

od:以二進(jìn)制的方式讀取文件內(nèi)容

直接查看文件內(nèi)容 cat、tac、nl

cat(concatenate)

cat [-AbEnTv] 文件復(fù)制代碼
  • -A:相當(dāng)于-vET的整合參數(shù),可列出一些特殊字符,而不是空白而已;
  • -b:列出行號(hào),僅針對(duì)非空白行做行號(hào)顯示,空白行不標(biāo)行號(hào);
  • -E:將結(jié)尾用斷行字符 $ 顯示出來;
  • -n:打印出行號(hào),連同空白行也會(huì)有行號(hào),區(qū)別于-b;
  • -T:將Tab按鍵以^T顯示出來;
  • -v:列出一些看不出來的特殊字符

cat -n 文件路徑 | tail -n +5 | head -n 6 // 顯示 5 ~ 10 行的內(nèi)容, 包括5 和10

cat 文件路徑 | head -n 10 | tail -n +5 //同上

tac(反向顯示)

nl(添加行號(hào)打?。?/p>

nl [-bnw] 文件復(fù)制代碼

可翻頁查看文件內(nèi)容 more和less

more(一頁一頁翻動(dòng))

如果文件內(nèi)容較多,more 命令之后,會(huì)繼續(xù)等到后續(xù)操作

  • 空格鍵(Space):向下翻頁;
  • Enter:向下滾動(dòng)一行;
  • /字符串:在當(dāng)前顯示內(nèi)容中,向下查詢該字符串;
  • :f:顯示出文件名以及目前顯示的行數(shù);
  • q:直接離開more,不再顯示該文件內(nèi)容;
  • b:往回翻頁,只對(duì)文件有用,對(duì)管道無用

less(一頁一頁翻動(dòng))

less可以用向上、下按鍵的功能前后翻頁,也可以向上查詢

  • 空格鍵(Space):向下翻頁;
  • [PageDown]:向下翻動(dòng)一頁
  • [PageUp]:向上翻動(dòng)一頁
  • Enter:向下滾動(dòng)一行;
  • /字符串:向下查詢該字符串;
  • ?字符串:向上查詢該字符串;
  • n:重復(fù)前一個(gè)查詢(與/或?有關(guān));
  • N:反向重復(fù)前一個(gè)查詢(與/或?有關(guān));
  • q:直接離開less,不再顯示該文件內(nèi)容;

數(shù)據(jù)選取查看 head和tail

head(取出前面幾行)

head [-n number] 文件(默認(rèn)顯示十行)復(fù)制代碼
  • -n:后邊接數(shù)字,代表顯示幾行的意思;

tail(取出后邊幾行)

tail [-n number] 文件tail [-f] 文件復(fù)制代碼
  • -f:表示持續(xù)監(jiān)測后邊所接的文件內(nèi)容,一般用于查看日志進(jìn)程,按下[ctrl]+c才會(huì)結(jié)束檢測;

touch(修改文件時(shí)間或者創(chuàng)建新文件)

touch [-acdmt] 文件復(fù)制代碼
  • -a:僅修改訪問時(shí)間;
  • -c:僅修改訪問時(shí)間,若該文件不存在則不創(chuàng)建新文件;
  • -d:后面可以接想要修改的日期而不用目前的日期;
  • -m:僅修改mtime;
  • -t:后面可以接想要修改的時(shí)間而不用目前的時(shí)間;

4.vim程序編輯器

在Linux的系統(tǒng)中使用文本編輯器來編輯Linux參數(shù)配置文件是一件相當(dāng)重要的事情,所以至少要熟悉一種文本編輯器。

那為什么一定要學(xué)會(huì)vim呢。因?yàn)椋?/p>

  • 所有的UNIX Like系統(tǒng)都會(huì)內(nèi)置vi文本編輯器,其它的文本編輯器則不一定存在;
  • 很多軟件的編輯接口都會(huì)主動(dòng)調(diào)用vi;
  • vim具有程序編輯的能力,可以主動(dòng)以字體顏色辨別語法的正確性,方便程序設(shè)計(jì);
  • 程序簡單,編輯速度相當(dāng)快速。

vim 鍵盤圖:

vim其實(shí)可以視為vi的高級(jí)版本。

vi的使用

vi共分為3種模式,分別是一般模式、編輯模式和命令行模式。

一般模式

以vi打開一個(gè)文件就直接進(jìn)入一般模式(默認(rèn)的模式)。在這個(gè)模式中, 你可以使用『上下左右』按鍵來移動(dòng)光標(biāo),你可以使用『刪除字符』或『刪除整行』來處理檔案內(nèi)容, 也可以使用『復(fù)制、貼上』來處理你的文件數(shù)據(jù)。

編輯模式

在一般模式中可以進(jìn)行刪除、復(fù)制、粘貼等等的動(dòng)作,但是卻無法編輯文件內(nèi)容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一個(gè)字母之后才會(huì)進(jìn)入編輯模式。注意了!通常在 Linux 中,按下這些按鍵時(shí),在畫面的左下方會(huì)出現(xiàn)『 INSERT 或 REPLACE 』的字樣,此時(shí)才可以進(jìn)行編輯。而如果要回到一般模式時(shí), 則必須要按下『Esc』這個(gè)按鍵即可退出編輯模式。

命令行模式

在一般模式當(dāng)中,輸入『 : / ? 』三個(gè)中的任何一個(gè)按鈕,就可以將光標(biāo)移動(dòng)到最底下那一行。在這個(gè)模式當(dāng)中, 可以提供你『搜尋資料』的動(dòng)作,而讀取、存盤、大量取代字符、離開 vi 、顯示行號(hào)等等的動(dòng)作則是在此模式中達(dá)成的!

一般模式與編輯模式及命令行模式可以互相轉(zhuǎn)換,但編輯模式與命令行模式之間不可以互相轉(zhuǎn)換

按鍵說明

  • 第一部份:一般模式可用的按鈕說明,光標(biāo)移動(dòng)、復(fù)制貼上、搜尋取代等

移動(dòng)光標(biāo)的方法

h 或 向左箭頭鍵(←)

光標(biāo)向左移動(dòng)一個(gè)字符

j 或 向下箭頭鍵(↓)

光標(biāo)向下移動(dòng)一個(gè)字符

k 或 向上箭頭鍵(↑)

光標(biāo)向上移動(dòng)一個(gè)字符

l 或 向右箭頭鍵(→)

光標(biāo)向右移動(dòng)一個(gè)字符

如果你將右手放在鍵盤上的話,你會(huì)發(fā)現(xiàn) hjkl 是排列在一起的,因此可以使用這四個(gè)按鈕來移動(dòng)光標(biāo)。 如果想要進(jìn)行多次移動(dòng)的話,例如向下移動(dòng) 30 行,可以使用 '30j' 或 '30↓' 的組合按鍵, 亦即加上想要進(jìn)行的次數(shù)(數(shù)字)后,按下動(dòng)作即可!

[Ctrl] + [f]

屏幕『向下』移動(dòng)一頁,相當(dāng)于 [Page Down]按鍵 (常用)

[Ctrl] + [b]

屏幕『向上』移動(dòng)一頁,相當(dāng)于 [Page Up] 按鍵 (常用)

[Ctrl] + [d]

屏幕『向下』移動(dòng)半頁

[Ctrl] + [u]

屏幕『向上』移動(dòng)半頁

+

光標(biāo)移動(dòng)到非空格符的下一列

-

光標(biāo)移動(dòng)到非空格符的上一列

n

那個(gè) n 表示『數(shù)字』,例如 20 。按下數(shù)字后再按空格鍵,光標(biāo)會(huì)向右移動(dòng)這一行的 n 個(gè)字符。例如 20 則光標(biāo)會(huì)向后面移動(dòng) 20 個(gè)字符距離。

0 或功能鍵[Home]

這是數(shù)字『 0 』:移動(dòng)到這一行的最前面字符處 (常用)

$ 或功能鍵[End]

移動(dòng)到這一行的最后面字符處(常用)

H

光標(biāo)移動(dòng)到這個(gè)屏幕的最上方那一行的第一個(gè)字符

M

光標(biāo)移動(dòng)到這個(gè)屏幕的中央那一行的第一個(gè)字符

L

光標(biāo)移動(dòng)到這個(gè)屏幕的最下方那一行的第一個(gè)字符

G

移動(dòng)到這個(gè)檔案的最后一行(常用)

nG

n 為數(shù)字。移動(dòng)到這個(gè)檔案的第 n 行。例如 20G 則會(huì)移動(dòng)到這個(gè)檔案的第 20 行(可配合 :set nu)

gg

移動(dòng)到這個(gè)檔案的第一行,相當(dāng)于 1G ??! (常用)

n

n 為數(shù)字。光標(biāo)向下移動(dòng) n 行(常用)

查找與替換

/word

向光標(biāo)之下尋找一個(gè)名稱為 word 的字符串。例如要在檔案內(nèi)搜尋 vbird 這個(gè)字符串,就輸入 /vbird 即可! (常用)

?word

向光標(biāo)之上尋找一個(gè)字符串名稱為 word 的字符串。

n

這個(gè) n 是英文按鍵。代表『重復(fù)前一個(gè)搜尋的動(dòng)作』。舉例來說, 如果剛剛我們執(zhí)行 /vbird 去向下搜尋 vbird 這個(gè)字符串,則按下 n 后,會(huì)向下繼續(xù)搜尋下一個(gè)名稱為 vbird 的字符串。如果是執(zhí)行 ?vbird 的話,那么按下 n 則會(huì)向上繼續(xù)搜尋名稱為 vbird 的字符串!

N

這個(gè) N 是英文按鍵。與 n 剛好相反,為『反向』進(jìn)行前一個(gè)搜尋動(dòng)作。 例如 /vbird 后,按下 N 則表示『向上』搜尋 vbird 。

使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復(fù)的找到一些你搜尋的關(guān)鍵詞!

:n1,n2s/word1/word2/g

n1 與 n2 為數(shù)字。在第 n1 與 n2 行之間尋找 word1 這個(gè)字符串,并將該字符串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 并取代為 VBIRD 則: 『:100,200s/vbird/VBIRD/g』。(常用)

:1,$s/word1/word2/g

從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !(常用)

:1,$s/word1/word2/gc

從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !且在取代前顯示提示字符給用戶確認(rèn) (confirm) 是否需要取代!(常用)

刪除、復(fù)制和粘貼

x, X

在一行字當(dāng)中,x 為向后刪除一個(gè)字符 (相當(dāng)于 [del] 按鍵), X 為向前刪除一個(gè)字符(相當(dāng)于 [backspace] 亦即是退格鍵) (常用)

nx

n 為數(shù)字,連續(xù)向后刪除 n 個(gè)字符。舉例來說,我要連續(xù)刪除 10 個(gè)字符, 『10x』。

dd

剪切游標(biāo)所在的那一行(常用)

D

刪除從當(dāng)前光標(biāo)到光標(biāo)所在行尾的全部字符

ndd

n 為數(shù)字。刪除光標(biāo)所在的向下 n 列,例如 20dd 則是刪除 20 列 (常用)

d1G

刪除光標(biāo)所在到第一行的所有數(shù)據(jù)

dG

刪除光標(biāo)所在到最后一行的所有數(shù)據(jù)

d$

刪除游標(biāo)所在處,到該行的最后一個(gè)字符

d0

那個(gè)是數(shù)字的 0 ,刪除游標(biāo)所在處,到該行的最前面一個(gè)字符

yy

復(fù)制游標(biāo)所在的那一行(常用)

nyy

n 為數(shù)字。復(fù)制光標(biāo)所在的向下 n 列,例如 20yy 則是復(fù)制 20 列(常用)

y1G

復(fù)制游標(biāo)所在列到第一列的所有數(shù)據(jù)

yG

復(fù)制游標(biāo)所在列到最后一列的所有數(shù)據(jù)

y0

復(fù)制光標(biāo)所在的那個(gè)字符到該行行首的所有數(shù)據(jù)

y$

復(fù)制光標(biāo)所在的那個(gè)字符到該行行尾的所有數(shù)據(jù)

p, P

p 為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行貼上,P 則為貼在游標(biāo)上一行! 舉例來說,我目前光標(biāo)在第 20 行,且已經(jīng)復(fù)制了 10 行數(shù)據(jù)。則按下 p 后, 那 10 行數(shù)據(jù)會(huì)貼在原本的 20 行之后,亦即由 21 行開始貼。但如果是按下 P 呢? 那么原本的第 20 行會(huì)被推到變成 30 行。 (常用) 粘貼到光標(biāo)上一行(p),下一行(P)

J

將光標(biāo)所在列與下一列的數(shù)據(jù)結(jié)合成同一列

c

重復(fù)刪除多個(gè)數(shù)據(jù),例如向下刪除 10 行,[ 10cj ]

u

復(fù)原前一個(gè)動(dòng)作。撤銷(常用)

[Ctrl]+r

重做上一個(gè)動(dòng)作。(常用)

這個(gè) u 與 [Ctrl]+r 是很常用的指令!一個(gè)是復(fù)原,另一個(gè)則是重做一次~ 利用這兩個(gè)功能按鍵,你的編輯,嘿嘿!很快樂的啦!

.

不要懷疑!這就是小數(shù)點(diǎn)!意思是重復(fù)前一個(gè)動(dòng)作的意思。 如果你想要重復(fù)刪除、重復(fù)貼上等等動(dòng)作,按下小數(shù)點(diǎn)『.』就好了! (常用)

  • 第二部份:一般模式切換到編輯模式的可用的按鈕說明

進(jìn)入插入或替換的編輯模式

i, I

進(jìn)入插入模式(Insert mode): i 為『從目前光標(biāo)所在處插入』, I 為『在目前所在行的第一個(gè)非空格符處開始插入』。 (常用)

a, A

進(jìn)入插入模式(Insert mode): a 為『從目前光標(biāo)所在的下一個(gè)字符處開始插入』, A 為『從光標(biāo)所在行的最后一個(gè)字符處開始插入』。(常用)

o, O

進(jìn)入插入模式(Insert mode): 這是英文字母 o 的大小寫。o 為『在目前光標(biāo)所在的下一行處插入新的一行』; O 為在目前光標(biāo)所在處的上一行插入新的一行!(常用)

r, R

進(jìn)入取代模式(Replace mode): r 只會(huì)取代光標(biāo)所在的那一個(gè)字符一次;R會(huì)一直取代光標(biāo)所在的文字,直到按下 ESC 為止;(常用)

上面這些按鍵中,在 vi 畫面的左下角處會(huì)出現(xiàn)『--INSERT--』或『--REPLACE--』的字樣。 由名稱就知道該動(dòng)作了吧??!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時(shí), 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔!

[Esc]

退出編輯模式,回到一般模式中(常用)

  • 第三部份:一般模式切換到指令列模式的可用的按鈕說明

進(jìn)命令行的保存、離開等命令

:w

將編輯的數(shù)據(jù)寫入硬盤檔案中(常用)

:w!

若文件屬性為『只讀』時(shí),強(qiáng)制寫入該檔案。不過,到底能不能寫入, 還是跟你對(duì)該檔案的檔案權(quán)限有關(guān)??!

:q

離開 vi (常用)

:q!

若曾修改過檔案,又不想儲(chǔ)存,使用 ! 為強(qiáng)制離開不儲(chǔ)存檔案。

注意一下啊,那個(gè)驚嘆號(hào) (!) 在 vi 當(dāng)中,常常具有『強(qiáng)制』的意思~

:wq

儲(chǔ)存后離開,若為 :wq! 則為強(qiáng)制儲(chǔ)存后離開 (常用)

ZZ

這是大寫的 Z 喔!若檔案沒有更動(dòng),則不儲(chǔ)存離開,若檔案已經(jīng)被更動(dòng)過,則儲(chǔ)存后離開!

:w [filename]

將編輯的數(shù)據(jù)儲(chǔ)存成另一個(gè)檔案(類似另存新檔)

:r [filename]

在編輯的數(shù)據(jù)中,讀入另一個(gè)檔案的數(shù)據(jù)。亦即將 『filename』 這個(gè)檔案內(nèi)容加到游標(biāo)所在行后面

:n1,n2 w [filename]

將 n1 到 n2 的內(nèi)容儲(chǔ)存成 filename 這個(gè)檔案。

:! command

暫時(shí)離開 vi 到指令列模式下執(zhí)行 command 的顯示結(jié)果!例如 『:! ls /home』即可在 vi 當(dāng)中察看 /home 底下以 ls 輸出的檔案信息!

:set nu

顯示行號(hào),設(shè)定之后,會(huì)在每一行的前綴顯示該行的行號(hào)

:set nonu

與 set nu 相反,為取消行號(hào)!

vim的功能

塊選擇

當(dāng)我們按下v或者V或者【Ctrl】+v的時(shí)候,光標(biāo)移動(dòng)過的地方會(huì)開始反白

塊選擇的按鍵意義

v

字符選擇,會(huì)將光標(biāo)經(jīng)過的地方反白選擇!

V

行選擇,會(huì)將光標(biāo)經(jīng)過的行反白選擇!

[Ctrl]+v

區(qū)塊選擇,可以用長方形的方式選擇資料

y

將反白的地方復(fù)制起來

d

將反白的地方刪除掉

多文件編輯

我們可以使用vim后面同時(shí)接好幾個(gè)文件來同時(shí)打開

多文件編輯的按鍵

:n

編輯下一個(gè)檔案

:N

編輯上一個(gè)檔案

:files

列出目前這個(gè) vim 的開啟的所有檔案

多窗口功能

多窗口編輯按鍵

:sp [filename]

開啟一個(gè)新窗口,如果有加 filename, 表示在新窗口開啟一個(gè)新檔案,否則表示兩個(gè)窗口為同一個(gè)檔案內(nèi)容(同步顯示)。

[ctrl]+w+ j[ctrl]+w+↓

按鍵的按法是:先按下 [ctrl] 不放, 再按下 w 后放開所有的按鍵,然后再按下 j (或向下箭頭鍵),則光標(biāo)可移動(dòng)到下方的窗口。

[ctrl]+w+ k[ctrl]+w+↑

同上,不過光標(biāo)移動(dòng)到上面的窗口。

[ctrl]+w+ q

其實(shí)就是 :q 結(jié)束離開啦! 舉例來說,如果我想要結(jié)束下方的窗口,那么利用 [ctrl]+w+↓ 移動(dòng)到下方窗口后,按下 :q 即可離開, 也可以按下 [ctrl]+w+q ??!


5.linux磁盤管理

Linux磁盤管理好壞管理直接關(guān)系到整個(gè)系統(tǒng)的性能問題。

Linux磁盤管理常用三個(gè)命令為df、du和fdisk。

  • df:列出文件系統(tǒng)的整體磁盤使用量
  • du:檢查磁盤空間使用量
  • fdisk:用于磁盤分區(qū)

df

df命令參數(shù)功能: 顯示指定磁盤文件的可用空間。如果沒有文件名被指定,則所有當(dāng)前被掛載的文件系統(tǒng)的可用空間將被顯示 ??梢岳迷撁顏慝@取硬盤被占用了多少空間,目前還剩下多少空間等信息。

語法:

df [-ahikHTm] [目錄或文件名]

選項(xiàng)與參數(shù):

  • -a :列出所有的文件系統(tǒng),包括系統(tǒng)特有的 /proc 等文件系統(tǒng);
  • -k :以 KBytes 的容量顯示各文件系統(tǒng);
  • -m :以 MBytes 的容量顯示各文件系統(tǒng);
  • -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
  • -H :以 M=1000K 取代 M=1024K 的進(jìn)位方式;
  • -T :顯示文件系統(tǒng)類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;
  • -i :不用硬盤容量,而以 inode 的數(shù)量來顯示

將容量結(jié)果以易讀的容量格式顯示出來

[root@www ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/hdc2             9.5G  3.7G  5.4G  41% //dev/hdc3             4.8G  139M  4.4G   4% /home/dev/hdc1              99M   11M   83M  12% /boottmpfs                 363M     0  363M   0% /dev/shm復(fù)制代碼

du

Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對(duì)文件和目錄磁盤使用的空間的查看,還是和df命令有一些區(qū)別的,這里介紹Linux du命令。

語法:

du [-ahskm] 文件或目錄名稱

選項(xiàng)與參數(shù):

  • -a :列出所有的文件與目錄容量,因?yàn)槟J(rèn)僅統(tǒng)計(jì)目錄底下的文件量而已。
  • -h :以人們較易讀的容量格式 (G/M) 顯示;
  • -s :列出總量而已,而不列出每個(gè)各別的目錄占用容量;
  • -S :不包括子目錄下的總計(jì),與 -s 有點(diǎn)差別。
  • -k :以 KBytes 列出容量顯示;
  • -m :以 MBytes 列出容量顯示;

實(shí)例 1

列出目前目錄下的所有文件容量

[root@www ~]# du8 ./test4 <==每個(gè)目錄都會(huì)列出來8 ./test2....中間省略....12 ./.gconfd <==包括隱藏文件的目錄220 . <==這個(gè)目錄(.)所占用的總量復(fù)制代碼

直接輸入 du 沒有加任何選項(xiàng)時(shí),則 du 會(huì)分析當(dāng)前所在目錄的文件與目錄所占用的硬盤空間。

實(shí)例 2

將文件的容量也列出來

[root@www ~]# du -a12      ./install.log.syslog   <==有文件的列表了8       ./.bash_logout8       ./test48       ./test2....中間省略....12      ./.gconfd220     .復(fù)制代碼

實(shí)例 3

檢查根目錄底下每個(gè)目錄所占用的容量

[root@www ~]# du -sm /*7 /bin6 /boot.....中間省略....0 /proc.....中間省略....1 /tmp3859 /usr <==系統(tǒng)初期最大就是他了啦!77 /var復(fù)制代碼

通配符 * 來代表每個(gè)目錄。

與 df 不一樣的是,du 這個(gè)命令其實(shí)會(huì)直接到文件系統(tǒng)內(nèi)去搜尋所有的文件數(shù)據(jù)。

fdisk

fdisk 是 Linux 的磁盤分區(qū)表操作工具。

語法:

fdisk [-l] 裝置名稱

選項(xiàng)與參數(shù):

  • -l :輸出后面接的裝置所有的分區(qū)內(nèi)容。若僅有 fdisk -l 時(shí), 則系統(tǒng)將會(huì)把整個(gè)系統(tǒng)內(nèi)能夠搜尋到的裝置的分區(qū)均列出來。

磁盤格式化

磁盤分割完畢后自然就是要進(jìn)行文件系統(tǒng)的格式化,格式化的命令非常的簡單,使用 mkfs(make filesystem) 命令。

語法:

mkfs [-t 文件系統(tǒng)格式] 裝置文件名

選項(xiàng)與參數(shù):

  • -t :可以接文件系統(tǒng)格式,例如 ext3, ext2, vfat 等(系統(tǒng)有支持才會(huì)生效)

磁盤檢驗(yàn)

fsck(file system check)用來檢查和維護(hù)不一致的文件系統(tǒng)。

若系統(tǒng)掉電或磁盤發(fā)生問題,可利用fsck命令對(duì)文件系統(tǒng)進(jìn)行檢查。

語法:

fsck [-t 文件系統(tǒng)] [-ACay] 裝置名稱

選項(xiàng)與參數(shù):

  • -t : 給定檔案系統(tǒng)的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數(shù)
  • -s : 依序一個(gè)一個(gè)地執(zhí)行 fsck 的指令來檢查
  • -A : 對(duì)/etc/fstab 中所有列出來的 分區(qū)(partition)做檢查
  • -C : 顯示完整的檢查進(jìn)度
  • -d : 打印出 e2fsck 的 debug 結(jié)果
  • -p : 同時(shí)有 -A 條件時(shí),同時(shí)有多個(gè) fsck 的檢查一起執(zhí)行
  • -R : 同時(shí)有 -A 條件時(shí),省略 / 不檢查
  • -V : 詳細(xì)顯示模式
  • -a : 如果檢查有錯(cuò)則自動(dòng)修復(fù)
  • -r : 如果檢查有錯(cuò)則由使用者回答是否修復(fù)
  • -y : 選項(xiàng)指定檢測每個(gè)文件是自動(dòng)輸入yes,在不確定那些是不正常的時(shí)候,可以執(zhí)行 # fsck -y 全部檢查修復(fù)。

磁盤掛載與卸除

Linux 的磁盤掛載使用 mount 命令,卸載使用 umount 命令。

磁盤掛載語法:

mount [-t 文件系統(tǒng)] [-L Label名] [-o 額外選項(xiàng)] [-n] 裝置文件名 掛載點(diǎn)

umount [-fn] 裝置文件名或掛載點(diǎn)

選項(xiàng)與參數(shù):

  • -f :強(qiáng)制卸除!可用在類似網(wǎng)絡(luò)文件系統(tǒng) (NFS) 無法讀取到的情況下;
  • -n :不升級(jí) /etc/mtab 情況下卸除。

6.文件與文件系統(tǒng)的壓縮與打包

在linux環(huán)境中,壓縮文件的擴(kuò)展名大多是.tar, .tar.gz, .tgz, .gz, .Z, .bz2;

Linux支持的壓縮命令很多,且不同的命令所用的壓縮技術(shù)不同,彼此可能無法相互壓縮/解壓文件。

*.Z         compress 程序壓縮的文件;*.zip       zip 程序壓縮的文件;*.gz        gzip 程序壓縮的文件;*.bz2       bzip2 程序壓縮的文件;*.xz        xz 程序壓縮的文件;*.tar       tar 程序打包的數(shù)據(jù),并沒有壓縮過;*.tar.gz    tar 程序打包的文件,其中并且經(jīng)過 gzip 的壓縮*.tar.bz2   tar 程序打包的文件,其中并且經(jīng)過 bzip2 的壓縮*.tar.xz    tar 程序打包的文件,其中并且經(jīng)過 xz 的壓縮復(fù)制代碼

gzip, zcat/zmore/zless/zgrep

gzip [-cdtv#] 文件名 壓縮文件為 *.gz 的文件,使用gzip壓縮后原始文件就不再存在了

  • -c :將壓縮的數(shù)據(jù)輸出到屏幕上,可通過數(shù)據(jù)流重導(dǎo)向來處理;
  • -d :解壓縮的參數(shù);
  • -t :可以用來檢驗(yàn)一個(gè)壓縮文件的一致性~看看文件有無錯(cuò)誤;
  • -v :可以顯示出原文件/壓縮文件的壓縮比等信息;
  • -# :# 為數(shù)字的意思,代表壓縮等級(jí),-1 最快,但是壓縮比最差、-9 最慢,但是壓縮比最好!默認(rèn)是 -6

zcat/zmore/zless/zgrep和cat/more等指令類似,查看、查找壓縮文件

gzip test.txt #壓縮test.txt文件gcat test.gz #查看test.gz文件內(nèi)容gzip -d test.gz #解壓文件,和gunzip效果相同zgrep -n 'http' services.gz #http 這個(gè)關(guān)鍵字在哪幾行g(shù)zip -c test > test.gz #壓縮test,并保留原文件復(fù)制代碼

bzip2, bzcat/bzmore/bzless/bzgrep

bzip2 [-cdkzv#] 文件名 bzip2 則是為了取代 gzip 并提供更佳的壓縮比而來的,用法和gzip幾乎相同

  • -c :將壓縮的過程產(chǎn)生的數(shù)據(jù)輸出到屏幕上!
  • -d :解壓縮的參數(shù)
  • -k :保留原始文件,而不會(huì)刪除原始的文件喔!
  • -z :壓縮的參數(shù) (默認(rèn)值,可以不加)
  • -v :可以顯示出原文件/壓縮文件的壓縮比等信息;
  • -# :與 gzip 同樣的,都是在計(jì)算壓縮比的參數(shù), -9 最佳, -1 最快!

tar

tar 打包指令 , 將多個(gè)文件或目錄包成一個(gè)大文件的指令

  • -c: 建立壓縮檔案
  • -x:解壓
  • -t:查看內(nèi)容
  • -r:向壓縮歸檔文件末尾追加文件
  • -u:更新原壓縮包中的文件

這五個(gè)是獨(dú)立的命令,壓縮解壓都要用到其中一個(gè),可以和別的命令連用但只能用其中一個(gè)。下面的參數(shù)是根據(jù)需要在壓縮或解壓檔案時(shí)可選的。

  • -z:有g(shù)zip屬性的
  • -j:有bz2屬性的
  • -Z:有compress屬性的
  • -v:顯示所有過程
  • -O:將文件解開到標(biāo)準(zhǔn)輸出
  • -f: 使用檔案名字,切記,這個(gè)參數(shù)是最后一個(gè)參數(shù),且是必須的,后面只能接檔案名。
tar -cf all.tar *.jpg #將所有.jpg的文件打成一個(gè)名為all.tar的包,-c是表示產(chǎn)生新的包,-f指定包的文件名tar -rf all.tar *.gif   #將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思tar -uf all.tar logo.gif #更新原來tarall.tarlogo.gif文件tar -tf all.tar #列出all.tar包中所有文件tar -xf all.tar #解出all.tar包中所有文件復(fù)制代碼

總結(jié)

1、*.tar 用 tar -xvf 解壓

2、*.gz 用 gzip -d或者gunzip 解壓

3、.tar.gz和.tgz 用 tar -xzf 解壓

4、*.bz2 用 bzip2 -d或者用bunzip2 解壓

5、*.tar.bz2用tar -xjf 解壓

6、*.Z 用 uncompress 解壓

7、*.tar.Z 用tar -xZf 解壓

8、*.rar 用 unrar e解壓

9、*.zip 用 unzip 解壓

解壓jdk到指定文件夾:

tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java復(fù)制代碼

8.軟件包管理

RPM

RPM概述

RPM(RedHat Package Manager),RedHat軟件包管理工具,類似windows里面的setup.exe

是Linux這系列操作系統(tǒng)里面的打包安裝工具,它雖然是RedHat的標(biāo)志,但理念是通用的。

RPM包的名稱格式: Apache-1.3.23-11.i386.rpm

  • “apache” 軟件名稱
  • “1.3.23-11”軟件的版本號(hào),主版本和此版本
  • “i386”是軟件所運(yùn)行的硬件平臺(tái),Intel 32位微處理器的統(tǒng)稱
  • “rpm”文件擴(kuò)展名,代表RPM包

RPM查詢命令(rpm -qa)

rpm -qa (功能描述:查詢所安裝的所有rpm軟件包)

由于軟件包比較多,一般都會(huì)采取過濾。rpm -qa | grep rpm軟件包

pm -qa |grep firefox  #查詢firefox軟件安裝情況復(fù)制代碼

RPM卸載命令(rpm -e)

rpm -e RPM軟件包

rpm -e --nodeps 軟件包

選項(xiàng)

功能

-e

卸載軟件包

--nodeps

卸載軟件時(shí),不檢查依賴。這樣的話,那些使用該軟件包的軟件在此之后可能就不能正常工作了。

rpm -e firefox #卸載firefox軟件復(fù)制代碼

RPM安裝命令(rpm -ivh)

rpm -ivh RPM包全名

選項(xiàng)

功能

-i

-i=install,安裝

-v

-v=verbose,顯示詳細(xì)信息

-h

-h=hash,進(jìn)度條

--nodeps

--nodeps,不檢測依賴進(jìn)度

YUM

YUM概述

YUM(全稱為Yellow dog Updater, Modified)是一個(gè)在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器?;赗PM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。

YUM的常用命令

yum [-y] [參數(shù)] -y表示對(duì)所有提問都回答“yes”

參數(shù)

功能

install

安裝rpm軟件包

update

更新rpm軟件包

check-update

檢查是否有可用的更新rpm軟件包

remove

刪除指定的rpm軟件包

list

顯示軟件包信息

clean

清理yum過期的緩存

deplist

顯示yum軟件包的所有依賴關(guān)系

修改網(wǎng)絡(luò)YUM源

默認(rèn)的系統(tǒng)YUM源,需要連接國外apache網(wǎng)站,網(wǎng)速比較慢,可以修改關(guān)聯(lián)的網(wǎng)絡(luò)YUM源為國內(nèi)鏡像的網(wǎng)站,比如網(wǎng)易163。

9.linux常用命令

常用快捷鍵

功能

ctrl + c

停止進(jìn)程

ctrl+l

清屏;徹底清屏是:reset

ctrl + q

退出

善于用tab鍵

提示(更重要的是可以防止敲錯(cuò))

上下鍵

查找執(zhí)行過的命令

ctrl +alt

linux和Windows之間切換

幫助命令

man 獲得幫助信息

man [命令或配置文件] (功能描述:獲得幫助信息)

man ls復(fù)制代碼

help 獲得shell內(nèi)置命令的幫助信息

help 命令 (功能描述:獲得shell內(nèi)置命令的幫助信息)

[root@hadoop101 ~]# help cd復(fù)制代碼

文件目錄類

cd 切換目錄

cd:Change Directory切換路徑

參數(shù)

功能

cd 絕對(duì)路徑

切換路徑

cd相對(duì)路徑

切換路徑

cd ~或者cd

回到自己的家目錄

cd -

回到上一次所在目錄

cd ..

回到當(dāng)前目錄的上一級(jí)目錄

cd -P

跳轉(zhuǎn)到實(shí)際物理路徑,而非快捷方式路徑

mkdir 創(chuàng)建新目錄

mkdir [-p] 要?jiǎng)?chuàng)建的目錄

mkdir test  #創(chuàng)建test目錄mkfir -p test/starfish   #創(chuàng)建多級(jí)目錄復(fù)制代碼

rmdir 刪除空目錄

rmdir test/starfish #刪除test下的空文件夾starfish復(fù)制代碼

touch 創(chuàng)建空文件

touch test/helloworld.txt   #test文件夾下創(chuàng)建helloworld.txt文件復(fù)制代碼

cp 復(fù)制文件或目錄

cp [-r] source dest 復(fù)制source文件到dest

cp -r ~/home/sys/tmp/ . #復(fù)制文件夾的所有文件到當(dāng)前目錄復(fù)制代碼

rm 移除文件或目錄

rm [選項(xiàng)] deleteFile (功能描述:遞歸刪除目錄中所有內(nèi)容)

選項(xiàng)

功能

-r

遞歸刪除目錄中所有內(nèi)容

-f

強(qiáng)制執(zhí)行刪除操作,而不提示用于進(jìn)行確認(rèn)。

-v

顯示指令的詳細(xì)執(zhí)行過程

rm -rf dssz/   #遞歸刪除目錄中所有內(nèi)容復(fù)制代碼

mv 移動(dòng)文件與目錄或重命名

mv oldNameFile newNameFile (功能描述:重命名)

mv /temp/movefile /targetFolder (功能描述:移動(dòng)文件)

mv tets.txt test.txt #重命名mv /home/star/test.txt . #移動(dòng)文件到當(dāng)前目錄復(fù)制代碼

cat 查看文件內(nèi)容

cat [-n] 要查看的文件 可顯示行號(hào)查看文件

more 文件內(nèi)容分屏查看器

more指令是一個(gè)基于VI編輯器的文本過濾器,它以全屏幕的方式按頁顯示文本文件的內(nèi)容。more指令中內(nèi)置了若干快捷鍵,詳見操作說明。

more 要查看的文件

操作

功能說明

空白鍵(space)

代表向下翻一頁;

Enter

代表向下翻『一行』;

q

代表立刻離開more ,不再顯示該文件內(nèi)容。

Ctrl+F

向下滾動(dòng)一屏

Ctrl+B

返回上一屏

=

輸出當(dāng)前行的行號(hào)

:f

輸出文件名和當(dāng)前行的行號(hào)

less 分屏顯示文件內(nèi)容

? less指令用來分屏查看文件內(nèi)容,它的功能與more指令類似,但是比more指令更加強(qiáng)大,支持各種顯示終端。less指令在顯示文件內(nèi)容時(shí),并不是一次將整個(gè)文件加載之后才顯示,而是根據(jù)顯示需要加載內(nèi)容,對(duì)于顯示大型文件具有較高的效率。

less 要查看的文件

操作

功能說明

空白鍵

向下翻動(dòng)一頁;

[pagedown]

向下翻動(dòng)一頁

[pageup]

向上翻動(dòng)一頁;

/字串

向下搜尋『字串』的功能;n:向下查找;N:向上查找;

?字串

向上搜尋『字串』的功能;n:向上查找;N:向下查找;

q

離開less 這個(gè)程序;

echo 輸出內(nèi)容到控制臺(tái)

echo [-e] [輸出內(nèi)容] -e: 支持反斜線控制的字符轉(zhuǎn)換

控制字符

作用

\

輸出\本身

\n

換行符

\t

制表符,也就是Tab鍵

[starfish:Technical-Learning$ echo -e 'hello\tworld'hello	world復(fù)制代碼

head 顯示文件頭部內(nèi)容

head用于顯示文件的開頭部分內(nèi)容,默認(rèn)情況下head指令顯示文件的前10行內(nèi)容。

head 文件 (功能描述:查看文件頭10行內(nèi)容)

head -n 5 文件 (功能描述:查看文件頭5行內(nèi)容,5可以是任意行數(shù))

tail 輸出文件尾部內(nèi)容

tail用于輸出文件中尾部的內(nèi)容,默認(rèn)情況下tail指令顯示文件的最后10行內(nèi)容。

tail 文件 (功能描述:查看文件頭10行內(nèi)容)

tail -n 5 文件 (功能描述:查看文件頭5行內(nèi)容,5可以是任意行數(shù))

tail -f 文件 (功能描述:實(shí)時(shí)追蹤該文檔的所有更新)

輸出重定向和>> 追加

ls -l>文件 (功能描述:列表的內(nèi)容寫入文件a.txt中(覆蓋寫))

ls -al >>文件 (功能描述:列表的內(nèi)容追加到文件aa.txt的末尾)

cat 文件1 > 文件2 (功能描述:將文件1的內(nèi)容覆蓋到文件2)

echo “內(nèi)容” >> 文件

2.案例實(shí)操

ls -l>houge.txt #將ls查看信息寫入到文件中ls -l>>houge.txt #將ls查看信息寫入到文件中echo hello>>houge.txt #采用echohello單詞追加到文件中復(fù)制代碼

ln 軟鏈接

軟鏈接也成為符號(hào)鏈接,類似于windows里的快捷方式,有自己的數(shù)據(jù)塊,主要存放了鏈接其他文件的路徑。

ln -s [原文件或目錄] [軟鏈接名] (功能描述:給原文件創(chuàng)建一個(gè)軟鏈接)

history 查看已經(jīng)執(zhí)行過歷史命令

history (功能描述:查看已經(jīng)執(zhí)行過歷史命令)

時(shí)間日期類

date [OPTION]... [+FORMAT]

選項(xiàng)

功能

-d<時(shí)間字符串>

顯示指定的“時(shí)間字符串”表示的時(shí)間,而非當(dāng)前時(shí)間

-s<日期時(shí)間>

設(shè)置系統(tǒng)日期時(shí)間

參數(shù)

功能

<+日期時(shí)間格式>

指定顯示時(shí)使用的日期時(shí)間格式

date 顯示當(dāng)前時(shí)間

date (功能描述:顯示當(dāng)前時(shí)間)

date +%Y (功能描述:顯示當(dāng)前年份)

date +%m (功能描述:顯示當(dāng)前月份)

date +%d (功能描述:顯示當(dāng)前是哪一天)

date '+%Y-%m-%d %H:%M:%S' (功能描述:顯示年月日時(shí)分秒)

date -d '1 days ago' (功能描述:顯示前一天時(shí)間)

date -d '-1 days ago' (功能描述:顯示明天時(shí)間)

cal 查看日歷

cal [具體某一年] (功能描述:不加選項(xiàng),顯示本月日歷)

cal 2019  #顯示2019年日歷復(fù)制代碼

用戶管理命令

Linux系統(tǒng)是一個(gè)多用戶多任務(wù)的操作系統(tǒng),任何一個(gè)要使用系統(tǒng)資源的用戶,都必須首先向系統(tǒng)管理員申請一個(gè)賬號(hào),然后以這個(gè)賬號(hào)的身份進(jìn)入系統(tǒng)。

用戶和組的相關(guān)文件

/etc/passwd文件

用戶(user)的配置文件,記錄用戶的各種信息

每行的含義:用戶名:口令:用戶標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):注釋性描述:主目錄:登錄Shell

/etc/shadow 文件

口令的配置文件

每行的含義:登錄名:加密口令:最后一次修改時(shí)間:最小時(shí)間間隔:最大時(shí)間間隔:警告時(shí)間:不活動(dòng)時(shí)間:失效時(shí)間:保留

/etc/group文件

組(group)的配置文件,記錄Linux包含的組的信息

每行含義:組名:口令:組標(biāo)識(shí)號(hào):組內(nèi)用戶列表

useradd 添加新用戶

useradd 用戶名 (功能描述:添加新用戶)

useradd -g 組名用戶名 (功能描述:添加新用戶到某個(gè)組)

passwd 設(shè)置用戶密碼

passwd 用戶名 (功能描述:設(shè)置用戶密碼)

id 查看用戶是否存在

id 用戶名

cat /etc/passwd 查看創(chuàng)建了哪些用戶

cat /etc/passwd復(fù)制代碼

su 切換用戶

su 用戶名稱 (功能描述:切換用戶,只能獲得用戶的執(zhí)行權(quán)限,不能獲得環(huán)境變量)

su - 用戶名稱 (功能描述:切換到用戶并獲得該用戶的環(huán)境變量及執(zhí)行權(quán)限)

  • 從權(quán)限高的用戶切換到權(quán)限低的用戶,不需要輸入密碼,反之需要。
  • 當(dāng)需要返回到原來用戶時(shí),使用exit指令
  • 如果su – 沒有帶用戶名,則默認(rèn)切換到root用戶

userdel 刪除用戶

userdel 用戶名 (功能描述:刪除用戶但保存用戶主目錄)

userdel -r 用戶名 (功能描述:用戶和用戶主目錄都刪除,刪除用戶的同時(shí),刪除與用戶相關(guān)的所有文件)

who 查看登錄用戶信息

whoami (功能描述:顯示自身用戶名稱)

who am i (功能描述:顯示登錄用戶的用戶名)

sudo 設(shè)置普通用戶具有root權(quán)限

1.添加sysnc360用戶,并對(duì)其設(shè)置密碼。

useradd sysnc360passwd sysnc360復(fù)制代碼

2.修改配置文件

vi /etc/sudoers復(fù)制代碼

修改/etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:

## Allow root to run any commands anywhereroot    ALL=(ALL)     ALLsysnc360   ALL=(ALL)    ALL復(fù)制代碼

或者配置成采用sudo命令時(shí),不需要輸入密碼

## Allow root to run any commands anywhereroot ALL=(ALL) ALLsysnc360 ALL=(ALL) NOPASSWD:ALL復(fù)制代碼

修改完畢,現(xiàn)在可以用sysnc360賬號(hào)登錄,然后用命令sudo ,即可獲得root權(quán)限進(jìn)行操作。

sudo mkdir module  #用普通用戶在/opt目錄下創(chuàng)建一個(gè)文件夾chown atguigu:atguigu module/復(fù)制代碼

usermod 修改用戶

usermod -g 用戶組用戶名

選項(xiàng)

功能

-g

修改用戶的初始登錄組,給定的組必須存在。默認(rèn)組id是1。

usermod -g root starfish #將用戶加入到用戶組復(fù)制代碼

用戶組管理命令

每個(gè)用戶都有一個(gè)用戶組,系統(tǒng)可以對(duì)一個(gè)用戶組中的所有用戶進(jìn)行集中管理。不同Linux 系統(tǒng)對(duì)用戶組的規(guī)定有所不同,

如Linux下的用戶屬于與它同名的用戶組,這個(gè)用戶組在創(chuàng)建用戶時(shí)同時(shí)創(chuàng)建。

用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實(shí)際上就是對(duì)/etc/group文件的更新。

groupadd 新增組

groupadd 組名

groupdel 刪除組

groupdel 組名

groupmod 修改組

groupmod -n 新組名 老組名

groupmod -n sysnc360 starfish #修改sysnc360組名稱為starfish復(fù)制代碼

cat /etc/group 查看創(chuàng)建了哪些組

cat /etc/group復(fù)制代碼

文件權(quán)限操作

chmod 改變權(quán)限

chmod [{ugoa}{+-=}{rwx}] 文件或目錄

chmod [mode=421 ] [文件或目錄]

經(jīng)驗(yàn)技巧

? u:所有者 g:所有組 o:其他人 a:所有人(u、g、o的總和)

r=4 w=2 x=1 rwx=4+2+1=7

chmod u+x test.txt #修改文件使其所屬主用戶具有執(zhí)行權(quán)限chmod g+x test.txt #修改文件使其所屬組用戶具有執(zhí)行權(quán)限chmod u-x,o+x test.txt #修改文件所屬主用戶執(zhí)行權(quán)限,并使其他用戶具有執(zhí)行權(quán)限chmod 777 test.txt #采用數(shù)字的方式,設(shè)置文件所有者、所屬組、其他用戶都具有可讀可寫可執(zhí)行權(quán)限chmod -R 777 test/ #采用數(shù)字的方式,設(shè)置文件所有者、所屬組、其他用戶都具有可讀可寫可執(zhí)行權(quán)限復(fù)制代碼

chown 改變所有者

chown [-r] [最終用戶] [文件或目錄] (功能描述:改變文件或者目錄的所有者)

chgrp 改變所屬組

chgrp [最終用戶組] [文件或目錄] (功能描述:改變文件或者目錄的所屬組)

搜索查找類

find 查找文件或者目錄

find指令將從指定目錄向下遞歸地遍歷其各個(gè)子目錄,將滿足條件的文件顯示在終端。

find [搜索范圍] [選項(xiàng)]

選項(xiàng)

功能

-name<查詢方式>

按照指定的文件名查找模式查找文件

-user<用戶名>

查找屬于指定用戶名所有文件

-size<文件大小>

按照指定的文件大小查找文件。

按文件名:

find opt/ -name *.txt #根據(jù)名稱查找/目錄下的filename.txt文件find opt/ -user test #查找/opt目錄下,用戶名稱為-user的文件find /home -size +204800 #在/home目錄下查找大于200m的文件(+n 大于 -n小于 n等于)復(fù)制代碼

locate快速定位文件路徑

locate指令利用事先建立的系統(tǒng)中所有文件名稱及路徑的locate數(shù)據(jù)庫實(shí)現(xiàn)快速定位給定的文件。Locate指令無需遍歷整個(gè)文件系統(tǒng),查詢速度較快。為了保證查詢結(jié)果的準(zhǔn)確度,管理員必須定期更新locate時(shí)刻。

locate 搜索文件

經(jīng)驗(yàn)技巧:由于locate指令基于數(shù)據(jù)庫進(jìn)行查詢,所以第一次運(yùn)行前,必須使用updatedb指令創(chuàng)建locate數(shù)據(jù)庫。

updatedblocate tmp復(fù)制代碼

grep 過濾查找及“|”管道符

管道符,“|”,表示將前一個(gè)命令的處理結(jié)果輸出傳遞給后面的命令處理

grep [-n] 查找內(nèi)容源文件(-n可顯示行號(hào))

壓縮和解壓類

gzip/gunzip 壓縮

gzip 文件 (功能描述:壓縮文件,只能將文件壓縮為*.gz文件)

gunzip 文件.gz (功能描述:解壓縮文件命令)

經(jīng)驗(yàn)技巧

  • 只能壓縮文件不能壓縮目錄
  • 不保留原來的文件

zip/unzip 壓縮

zip [選項(xiàng)] XXX.zip 將要壓縮的內(nèi)容 (功能描述:壓縮文件和目錄的命令)

unzip [選項(xiàng)] XXX.zip (功能描述:解壓縮文件)

zip選項(xiàng)

功能

-r

壓縮目錄

unzip選項(xiàng)

功能

-d<目錄>

指定解壓后文件的存放目錄

經(jīng)驗(yàn)技巧

zip 壓縮命令在window/linux都通用,可以壓縮目錄且保留源文件。

tar 打包

tar [選項(xiàng)] XXX.tar.gz 將要打包進(jìn)去的內(nèi)容 (功能描述:打包目錄,壓縮后的文件格式.tar.gz)

選項(xiàng)

功能

-c

產(chǎn)生.tar打包文件

-v

顯示詳細(xì)信息

-f

指定壓縮后的文件名

-z

打包同時(shí)壓縮

-x

解包.tar文件

tar -zcvf houma.tar.gz aa.txt bb.txt #壓縮文件aa和bbtar -zcvf test.tar.gz test/ #壓縮目錄tar -zxvf test.tar.gz #解壓到當(dāng)前目錄tar -zxvf test.tar.gz -C /opt #解壓到指定目錄復(fù)制代碼

磁盤分區(qū)類

df 查看磁盤空間使用情況 df: disk free 空余硬盤

df 選項(xiàng)(功能描述:列出文件系統(tǒng)的整體磁盤使用量,檢查文件系統(tǒng)的磁盤空間占用情況)

選項(xiàng)

功能

-h

以人們較易閱讀的GBytes, MBytes, KBytes 等格式自行顯示;

df -h #查看磁盤使用情況du -h /目錄  #查詢指定目錄的磁盤占用情況復(fù)制代碼

fdisk 查看分區(qū)

fdisk -l (功能描述:查看磁盤分區(qū)詳情,該命令必須在root用戶下才能使用)

功能說明

  • Linux分區(qū)(類比wins的C,D,E盤)
    • Device:分區(qū)序列
    • Boot:引導(dǎo)
    • Start:從X磁柱開始
    • End:到Y(jié)磁柱結(jié)束
    • Blocks:容量
    • Id:分區(qū)類型ID
    • System:分區(qū)類型

mount/umount 掛載/卸載

對(duì)于Linux用戶來講,不論有幾個(gè)分區(qū),分別分給哪一個(gè)目錄使用,它總歸就是一個(gè)根目錄、一個(gè)獨(dú)立且唯一的文件結(jié)構(gòu)。

Linux中每個(gè)分區(qū)都是用來組成整個(gè)文件系統(tǒng)的一部分,它在用一種叫做“掛載”的處理方法,它整個(gè)文件系統(tǒng)中包含了一整套的文件和目錄,并將一個(gè)分區(qū)和一個(gè)目錄聯(lián)系起來,要載入的那個(gè)分區(qū)將使它的存儲(chǔ)空間在這個(gè)目錄下獲得。

mount [-t vfstype] [-o options] device dir(功能描述:掛載設(shè)備)

umount設(shè)備文件名或掛載點(diǎn) (功能描述:卸載設(shè)備)

參數(shù)

功能

-t vfstype

指定文件系統(tǒng)的類型,通常不必指定。mount 會(huì)自動(dòng)選擇正確的類型。常用類型有:光盤或光盤鏡像:iso9660DOS fat16文件系統(tǒng):msdosWindows 9x fat32文件系統(tǒng):vfatWindows NT ntfs文件系統(tǒng):ntfsMount Windows文件網(wǎng)絡(luò)共享:smbfsUNIX(LINUX) 文件網(wǎng)絡(luò)共享:nfs

-o options

主要用來描述設(shè)備或檔案的掛接方式。常用的參數(shù)有:loop:用來把一個(gè)文件當(dāng)成硬盤分區(qū)掛接上系統(tǒng)ro:采用只讀方式掛接設(shè)備rw:采用讀寫方式掛接設(shè)備? iocharset:指定訪問文件系統(tǒng)所用字符集

device

要掛接(mount)的設(shè)備

dir

設(shè)備在系統(tǒng)上的掛接點(diǎn)(mount point)

進(jìn)程線程類

  1. 在LINUX中,每個(gè)執(zhí)行的**程序(代碼)**都稱為一個(gè)進(jìn)程。每一個(gè)進(jìn)程都分配一個(gè)ID號(hào)。
  2. 每一個(gè)進(jìn)程,都會(huì)對(duì)應(yīng)一個(gè)父進(jìn)程,而這個(gè)父進(jìn)程可以復(fù)制多個(gè)子進(jìn)程。例如www服務(wù)器。
  3. 每個(gè)進(jìn)程都可能以兩種方式存在的。前****臺(tái)后臺(tái),所謂前臺(tái)進(jìn)程就是用戶目前的屏幕上可以進(jìn)行操作的。后臺(tái)進(jìn)程則是實(shí)際在操作,但由于屏幕上無法看到的進(jìn)程,通常使用后臺(tái)方式執(zhí)行[sshd , crond]。
  4. 一般系統(tǒng)的服務(wù)都是以后臺(tái)進(jìn)程的方式存在,而且都會(huì)常駐在系統(tǒng)中。直到關(guān)機(jī)才才結(jié)束。

ps 查看當(dāng)前系統(tǒng)進(jìn)程狀態(tài)

ps:process status 進(jìn)程狀態(tài)

ps aux | grep xxx (功能描述:查看系統(tǒng)中所有進(jìn)程)

ps -ef| grep xxx (功能描述:可以查看子父進(jìn)程之間的關(guān)系)

選項(xiàng)

功能

-a

選擇所有進(jìn)程

-u

顯示所有用戶的所有進(jìn)程

-x

顯示沒有終端的進(jìn)程

3.功能說明

(1)ps aux顯示信息說明

  • USER:該進(jìn)程是由哪個(gè)用戶產(chǎn)生的
  • PID:進(jìn)程的ID號(hào)
  • %CPU:該進(jìn)程占用CPU資源的百分比,占用越高,進(jìn)程越耗費(fèi)資源;
  • %MEM:該進(jìn)程占用物理內(nèi)存的百分比,占用越高,進(jìn)程越耗費(fèi)資源;
  • VSZ:該進(jìn)程占用虛擬內(nèi)存的大小,單位KB;
  • RSS:該進(jìn)程占用實(shí)際物理內(nèi)存的大小,單位KB;
  • TTY:該進(jìn)程是在哪個(gè)終端中運(yùn)行的。其中tty1-tty7代表本地控制臺(tái)終端,tty1-tty6是本地的字符界面終端,tty7是圖形終端。pts/0-255代表虛擬終端。
  • STAT:進(jìn)程狀態(tài)。常見的狀態(tài)有:R:運(yùn)行、S:睡眠、T:停止?fàn)顟B(tài)、s:包含子進(jìn)程、+:位于后臺(tái)
  • START:該進(jìn)程的啟動(dòng)時(shí)間
  • TIME:該進(jìn)程占用CPU的運(yùn)算時(shí)間,注意不是系統(tǒng)時(shí)間
  • COMMAND:啟動(dòng)進(jìn)程所用的命令和參數(shù),如果過長會(huì)被截?cái)囡@示

(2)ps -ef顯示信息說明

  • UID:用戶ID
  • PID:進(jìn)程ID
  • PPID:父進(jìn)程ID
  • C:CPU用于計(jì)算執(zhí)行優(yōu)先級(jí)的因子。數(shù)值越大,表明進(jìn)程是CPU密集型運(yùn)算,執(zhí)行優(yōu)先級(jí)會(huì)降低;數(shù)值越小,表明進(jìn)程是I/O密集型運(yùn)算,執(zhí)行優(yōu)先級(jí)會(huì)提高
  • STIME:進(jìn)程啟動(dòng)的時(shí)間
  • TTY:完整的終端名稱
  • TIME:CPU時(shí)間
  • CMD:啟動(dòng)進(jìn)程所用的命令和參數(shù)

如果想查看進(jìn)程的CPU占用率和內(nèi)存占用率,可以使用aux;

如果想查看進(jìn)程的父進(jìn)程ID可以使用ef;

ps aux|grep javaps -ef|grep tomcat復(fù)制代碼

kill 終止進(jìn)程

kill [-9] 進(jìn)程號(hào) (功能描述:通過進(jìn)程號(hào)殺死進(jìn)程,-9表示強(qiáng)迫進(jìn)程立即停止)

killall 進(jìn)程名稱 (功能描述:通過進(jìn)程名稱殺死進(jìn)程,也支持通配符,這在系統(tǒng)因負(fù)載過大而變得很慢時(shí)很有用)

pstree 查看進(jìn)程樹

pstree [選項(xiàng)]

選項(xiàng)

功能

-p

顯示進(jìn)程的PID

-u

顯示進(jìn)程的所屬用戶

Pstree -p #用樹狀的形式顯示進(jìn)程的pid Pstree –u #用樹狀的形式進(jìn)程的用戶id復(fù)制代碼

服務(wù)管理

服務(wù)(service) 本質(zhì)就是進(jìn)程,但是是運(yùn)行在后臺(tái)的,通常都會(huì)監(jiān)聽某個(gè)端口,等待其它程序的請求,比如(mysql , sshd 防火墻等),因此我們又稱為守護(hù)進(jìn)程

service管理指令:

service 服務(wù)名 [start | stop | restart | reload | status]

在CentOS7.0后 不再使用service ,而是 systemctl

service iptables status #查看當(dāng)前防火墻的狀況service iptables stop #關(guān)閉或者啟用防火墻后,立即生效(臨時(shí)生效,重啟后恢復(fù))service iptables start復(fù)制代碼

服務(wù)的運(yùn)行級(jí)別(runlevel):

查看或者修改默認(rèn)級(jí)別: vi /etc/inittab

Linux系統(tǒng)有7種運(yùn)行級(jí)別(runlevel):常用的是級(jí)別3和5

  • **運(yùn)行級(jí)別0:**系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)為0,否則不能正常啟動(dòng)
  • **運(yùn)行級(jí)別1:**單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸
  • **運(yùn)行級(jí)別2:**多用戶狀態(tài)(沒有NFS),不支持網(wǎng)絡(luò)
  • **運(yùn)行級(jí)別3:**完全的多用戶狀態(tài)(有NFS),登陸后進(jìn)入控制臺(tái)命令行模式
  • **運(yùn)行級(jí)別4:**系統(tǒng)未使用,保留
  • **運(yùn)行級(jí)別5:**X11控制臺(tái),登陸后進(jìn)入圖形GUI模式
  • 運(yùn)行級(jí)別6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng)

開機(jī)的流程說明:

開機(jī)--》BIOS-》/boot----》 init進(jìn)程 ------》 運(yùn)行級(jí)別-----》運(yùn)行對(duì)應(yīng)的服務(wù)

chkconfig指令

通過chkconfig命令可以給每個(gè)服務(wù)的各個(gè)運(yùn)行級(jí)別設(shè)置自啟動(dòng)/關(guān)閉

基本語法

1) 查看服務(wù) chkconfig --list|grep xxx

2) chkconfig 服務(wù)名 --list

  1. chkconfig --level 5 服務(wù)名 on/off [可以指定某個(gè)服務(wù),某各個(gè)運(yùn)行級(jí)別,開啟或關(guān)閉]
chkconfig –level 1 sshd off/on #sshd 服務(wù)在 1 運(yùn)行級(jí)別 off復(fù)制代碼
  1. chkconfig 服務(wù)名 on/off
chkconfig iptables off # iptables 徹底關(guān)閉 ,不管是哪個(gè)級(jí)別都關(guān)閉chkconfig --list #顯示當(dāng)前系統(tǒng)所有服務(wù)的各個(gè)運(yùn)行級(jí)別的運(yùn)行狀態(tài) 復(fù)制代碼

top 查看系統(tǒng)健康狀態(tài)

top與ps命令很相似。它們都用來顯示正在執(zhí)行的進(jìn)程。top與ps最大的不同之處,在于top在執(zhí)行一段時(shí)間可以更新正在運(yùn)行的的進(jìn)程(默認(rèn)每3秒變化一次)

top [選項(xiàng)]

選項(xiàng)

功能

-d 秒數(shù)

指定top命令每隔幾秒更新。默認(rèn)是3秒在top命令的交互模式當(dāng)中可以執(zhí)行的命令:

-i

使top不顯示任何閑置或者僵死進(jìn)程。

-p

通過指定監(jiān)控進(jìn)程ID來僅僅監(jiān)控某個(gè)進(jìn)程的狀態(tài)。

操作

功能

P

以CPU使用率排序,默認(rèn)就是此項(xiàng)

M

以內(nèi)存的使用率排序

N

以PID排序

q

退出top

查詢結(jié)果字段解釋

第一行信息為任務(wù)隊(duì)列信息

內(nèi)容

說明

12:06:46

系統(tǒng)當(dāng)前時(shí)間

up 1 day, 13:32

系統(tǒng)的運(yùn)行時(shí)間,本機(jī)已經(jīng)運(yùn)行1天13小時(shí)32分鐘

2 users

當(dāng)前登錄了兩個(gè)用戶

load average: 0.00, 0.00, 0.00

系統(tǒng)在之前1分鐘,5分鐘,15分鐘的平均負(fù)載。一般認(rèn)為小于1時(shí),負(fù)載較小。如果大于1,系統(tǒng)已經(jīng)超出負(fù)荷。

第二行為進(jìn)程信息

Tasks: 95 total

系統(tǒng)中的進(jìn)程總數(shù)

1 running

正在運(yùn)行的進(jìn)程數(shù)

94 sleeping

睡眠的進(jìn)程

0 stopped

正在停止的進(jìn)程

0 zombie

僵尸進(jìn)程。如果不是0,需要手工檢查僵尸進(jìn)程

第三行為CPU信息

Cpu(s): 0.1%us

用戶模式占用的CPU百分比

0.1%sy

系統(tǒng)模式占用的CPU百分比

0.0%ni

改變過優(yōu)先級(jí)的用戶進(jìn)程占用的CPU百分比

99.7%id

空閑CPU的CPU百分比

0.1%wa

等待輸入/輸出的進(jìn)程的占用CPU百分比

0.0%hi

硬中斷請求服務(wù)占用的CPU百分比

0.1%si

軟中斷請求服務(wù)占用的CPU百分比

0.0%st

st(Steal time)虛擬時(shí)間百分比。就是當(dāng)有虛擬機(jī)時(shí),虛擬CPU等待實(shí)際CPU的時(shí)間百分比。

第四行為物理內(nèi)存信息

Mem: 625344k total

物理內(nèi)存的總量,單位KB

571504k used

已經(jīng)使用的物理內(nèi)存數(shù)量

53840k free

空閑的物理內(nèi)存數(shù)量,我們使用的是虛擬機(jī),總共只分配了628MB內(nèi)存,所以只有53MB的空閑內(nèi)存了

65800k buffers

作為緩沖的內(nèi)存數(shù)量

第五行為交換分區(qū)(swap)信息

Swap: 524280k total

交換分區(qū)(虛擬內(nèi)存)的總大小

0k used

已經(jīng)使用的交互分區(qū)的大小

524280k free

空閑交換分區(qū)的大小

409280k cached

作為緩存的交互分區(qū)的大小

top -d 1top -itop -p 2575# 執(zhí)行上述命令后,可以按P、M、N對(duì)查詢出的進(jìn)程結(jié)果進(jìn)行排序。復(fù)制代碼

netstat 顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息和端口占用情況

netstat -anp |grep 進(jìn)程號(hào)(功能描述:查看該進(jìn)程網(wǎng)絡(luò)信息)

netstat -nlp | grep 端口號(hào) (功能描述:查看網(wǎng)絡(luò)端口號(hào)占用情況)

選項(xiàng)

功能

-an

按一定順序排列輸出

-p

表示顯示哪個(gè)進(jìn)程在調(diào)用

netstat -anp | grep java #通過進(jìn)程號(hào)查看該進(jìn)程的網(wǎng)絡(luò)信息netstat -nlp | grep 20670 #查看某端口號(hào)是否被占用復(fù)制代碼

crond 系統(tǒng)定時(shí)任務(wù)

crond 服務(wù)管理

service crond restart #重新啟動(dòng)crond服務(wù)復(fù)制代碼

crontab 定時(shí)任務(wù)設(shè)置

crontab [選項(xiàng)]

選項(xiàng)

功能

-e

編輯crontab定時(shí)任務(wù),會(huì)打開vim編輯你的工作

-l

查詢crontab任務(wù)

-r

刪除當(dāng)前用戶所有的crontab任務(wù)

項(xiàng)目

含義

范圍

第一個(gè)“*”

一小時(shí)當(dāng)中的第幾分鐘

0-59

第二個(gè)“*”

一天當(dāng)中的第幾小時(shí)

0-23

第三個(gè)“*”

一個(gè)月當(dāng)中的第幾天

1-31

第四個(gè)“*”

一年當(dāng)中的第幾月

1-12

第五個(gè)“*”

一周當(dāng)中的星期幾

0-7(0和7都代表星期日)

特殊符號(hào)

含義

*

代表任何時(shí)間。比如第一個(gè)“*”就代表一小時(shí)中每分鐘都執(zhí)行一次的意思。

,

代表不連續(xù)的時(shí)間。比如“0 8,12,16 * * * 命令”,就代表在每天的8點(diǎn)0分,12點(diǎn)0分,16點(diǎn)0分都執(zhí)行一次命令

-

代表連續(xù)的時(shí)間范圍。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5點(diǎn)0分執(zhí)行命令

*/n

代表每隔多久執(zhí)行一次。比如“*/10 * * * * 命令”,代表每隔10分鐘就執(zhí)行一遍命令

時(shí)間

含義

45 22 * * * 命令

在22點(diǎn)45分執(zhí)行命令

0 17 * * 1 命令

每周1 的17點(diǎn)0分執(zhí)行命令

0 5 1,15 * * 命令

每月1號(hào)和15號(hào)的凌晨5點(diǎn)0分執(zhí)行命令

40 4 * * 1-5 命令

每周一到周五的凌晨4點(diǎn)40分執(zhí)行命令

*/10 4 * * * 命令

每天的凌晨4點(diǎn),每隔10分鐘執(zhí)行一次命令

0 0 1,15 * 1 命令

每月1號(hào)和15號(hào),每周1的0點(diǎn)0分都會(huì)執(zhí)行命令。注意:星期幾和幾號(hào)最好不要同時(shí)出現(xiàn),因?yàn)樗麄兌x的都是天。非常容易讓管理員混亂。

FAQ

  • 統(tǒng)計(jì)/home文件夾下文件的個(gè)數(shù) ls –l /home/ | grep “^-” | wc -l
  • 統(tǒng)計(jì)/home文件夾下目錄的個(gè)數(shù) ls –l /home/ | grep “^d” | wc -l
  • 統(tǒng)計(jì)/home文件夾下文件的個(gè)數(shù),包括子文件夾里的 ls –lR /home/ | grep “^-” | wc -l
  • 統(tǒng)計(jì)/home文件夾下目錄的個(gè)數(shù),包括子文件夾里的 ls –lR /home/ | grep “^d” | wc -l
  • 如何查看當(dāng)前系統(tǒng)都有哪些進(jìn)程 ps -aux 或者ps -elf
  • 如何查看系統(tǒng)都開啟了哪些端口? netstat -lnp
  • 平時(shí)用到哪些Linux命令 ps、grep、tar、touch、pwd
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
探秘linux-Linux基礎(chǔ)之權(quán)限管理
LINUX命令大全
安卓Android系統(tǒng)超級(jí)終端命令行大全
Linux必學(xué)的60個(gè)命令(5)
西都望眼社區(qū)-一份linux筆試題目
第三章 Linux基本命令
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服