Linux命令整理

一、Linux簡介

1、什么是Linux

1.1、Linux操作系統:指GUN/Linux,采用Linux內核的GUN操作系統。

1.2、嚴格說的話,Linux不是一個操作系統,Linux只是一個操作系統的內核。內核建立了計算機軟件與硬件之間通訊的平臺,內核提供系統服務,比如文件管理、虛擬內存、設備I/O等。

2、Linux發行版本

(1)、RedHat,(2)、CentOS,(3)、Ubuntu,(4)、SUSE、(5)、Debain

3、遠程登錄

通過ssh服務實現遠程登錄Linux系統,默認ssh服務端口號為22。Windows系統上遠程登錄客戶端有:Xshell、SecureCRT等。

二、Linux基本使用

1、用戶與身份

1.1 root用戶

root用戶的根目錄:/root

1.2普通用戶

普通用戶的家目錄:/home/zfsky

1.3切換用戶:su用戶名

?root到普通用戶:su zfsky無需密碼。

?普通用戶到root:su root需輸入密碼。

1.4查看用戶用戶組

?whoami:查看當前登錄的用戶名

?groups:查看當前登錄用戶的組內成員

?groups zfsky:查看zfsky用戶所在的組以及組內成員

?cat /etc/passwd:查看系統存在的所有用戶名

格式:root:x:0:0:root:/root:/bin/bash

l第一字段:用戶名

l第二字段:口令,映射到/etc/shadow文件中

l第三字段:UID

l第四字段:GID

l第五字段:用戶名全稱

l第六字段:用戶的主目錄所在位置

l第七字段:用戶所用shell的類型

?cat /etc/groups:查看系統存在的所有用戶組

2、系統目錄結構

2.1 /root

根分區,只有root用戶對此目錄擁有寫權限。

2.2 /bin

用戶可執行文件,此目錄包含二進制可執行文件以及所有用戶的常用命令(如:ls , cp等)。

2.3 /sbin

系統可執行文件,此目錄中的命令主要供系統管理員使用(如:iptables、reboot等)。

2.4 /etc

配置文件,包含所有應用程序的配置文件,也包含啟動、關閉某個特定程序的腳本。

2.5 /dev

設備文件,包含設備文件(在Linux中,一切都被看做文件:終端設備、USB、磁盤等等都被看做文件)。

2.6 /proc

進程信息,所有系統進程的信息都包含在/proc目錄中。

2.7 /var

變量文件,/var是一個可增長的目錄,包含變量文件(如,/var/log系統日志、/var/mail郵件)。

2.8 /usr

用戶程序,為用戶應用程序存放可執行文件、源代碼和文檔。

2.9 /home

用戶主目錄,用于存放用戶的私人文件。

2.10 /boot

啟動加載文件,系統啟動時需要加載的文件。

2.11 /lib

系統庫文件,/bin和/sbin中的可執行文件需要/lib中庫文件的支持,庫文件通常以"ld"或"ld*.so"的形式命名。

2.12 /opt

可選應用,用于安裝獨立軟件商的可選應用。

2.13 /mnt

掛載目錄,系統管理員可用于臨時掛載文件系統。

2.14 /media

可移動媒體設備,掛載可移動媒體設備。

2.15 /src

src表示服務,用于服務器的所有服務數據存儲在此目錄中。

3、目錄的基本操作

?ls命令:列出目錄的內容

l語法:ls [選項] [目錄或文件夾]

l顏色含義:

2藍色:目錄

2綠色:可執行文件

2紅色:壓縮文件

2淺藍色:鏈接文件

2灰色:其他文件

?cd命令:改變工作目錄

l語法:cd [

directory ]

?pwd命令:顯示當前工作目錄的絕對路徑

l語法:pwd

?mkdir命令:創建目錄

語法:mkdir [選項] dirname

?rmdir命令:刪除空目錄

l語法:rmdir [選項] dirname

4、文件的基本操作

?文件的移動:mv命令

l功能:為文件或目錄改名或將文件或目錄由一個目錄移到另一個目錄。

l語法:mv [選項]源文件或目錄目標文件或目錄

?文件的復制:cp命令

l功能:將給出的文件或目錄拷貝到另一個文件或目錄中。

l語法:cp [選項]源文件或目錄目標文件或目錄

?文件的刪除:rm命令

l功能:刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下所有文件及子目錄均刪除。

l語法:rm [選項]文件...

5、文件操作權限

?每個文件或目錄的操作權限都有三組,每組用三位表示:文件屬主的讀、寫和執行權限;屬主同組用戶的讀、寫和執行權限;系統中其他用戶的讀、寫和執行權限。

?chmod命令:改變文件或目錄的操作權限

l兩種用法:一種是包含字母和操作符表達式的文字設定法,一種是包含數字的數字設定法。

l具體的權限:【1】可讀r:4;【2】可寫w:2;【3】可執行x:1。

6、更改文件或目錄的屬主/組

?文件與目錄的歸屬是指文件與目錄的所有者與所屬的組。

?chgrp命令:改變文件或目錄所屬的組。

l語法:chgrp [選項] group

filename

?chown命令:改變文件或目錄屬主和屬組。

l語法:chmod [選項]用戶或組文件

三、文件管理

1、目錄操作

?cd切換目錄

2、文件操作

?創建文件夾:mkdir

lmkdir文件夾名:創建當前目錄下的文件夾

lmkdir a b c:同時創建多個并列文件夾

lmkdir -p /usr/local/zff創建指定路徑下的文件夾(如果創建的文件夾的父目錄不存在,連同父目錄一塊創建)

?刪除文件夾:rmdir

lrmdir文件夾名:刪除單個文件夾

lrmdir dirname1 dirname2 :刪除多個文件夾

lrmdir /usr/local/dirname刪除目錄層級下的文件夾

lrmdir -p /usr/local/dirname刪除帶層級的全部目錄

?創建文件:vi/touch

lvi/vim/touch file.txt:創建/編輯文件

?刪除文件:rm -rf

lrm -rf filename

?文件查找:find——根據文件的屬性進行查找,如文件名,文件大小,所有者,所屬組,是否為空,訪問時間,修改時間等。

lfind / -name "test":查找系統中以test命名的文件或文件夾

lfind /home -name a*.log -o -name b*:查找home目錄下以a或b開頭的文件

lfind /home -user root:查找home目錄下屬主為root的文件或文件夾

l按照文件的更改時間來查找文件,-n表示文件更改時間距現在n時間以內,+n表示文件更改時間距現在n時間以前

?查看文件

lcat:一次性查看文本,適用于文本內容比較少

2cat filename:一次性查看文本的全部內容

2cat filename1 filename2:一次性查看多個文本的內容

2cat -n filename:查看文本,并對輸出的所有行編號

2cat -b filename:查看文本,并對輸出的非空行編號

lmore:用于分頁顯示文本,適用于文本內容較多

2more -num filename:制定屏幕的行數

2more +num filename:從行號num開始顯示

2more +/pattern filename:從字串(pattern)第一次出現行的前兩行開始顯示

2more -s filename:重復的空行壓縮成一個空行

注:SPACE:顯示接下來的k行文本

Q/q:退出

lless:用于分頁顯示文本,適用于文本內容較多

2less -N fileneme:顯示每行的行號

2less -s filename:顯示連續空行為一行

2less -i filename:忽略搜索時的大小寫

2less -m filename:顯示類似more命令的百分比

2less運行時可以輸入的命令有:

u空白鍵:向下翻動一頁

u[pagedown]:向下翻動一頁

u[pageup]:向上翻動一頁

u/字串:向下搜尋『字串』

u?字串:向上搜尋『字串』

un:重復前一個搜尋(與/或?有關)

uN:反向的重復前一個搜尋(與/或?有關)

uq:離開less這個程序

lhead:用于顯示文件文字區塊

2head filename:默認顯示文件前10行

2head -v filename:顯示文件名

2head -q filename:隱藏文件名

2head -n num filename:顯示前num行文字

2head -n -num filename:顯示除了文件最后num行外的所有內容

2head -c num filename:顯示文件前num個字節的內容

2head -c -num filename:顯示除了文件最后num個字節外的所有內容

ltail:用于顯示文件文字區塊

2tail filename:默認顯示文件尾部10行

2tail -num filename/tail -n num filename:顯示尾部num行

2tail -100f filename:動態顯示最新100行內容

注:tail常被用來查看最新的日志信息,我們就可以用tail -f來實時查看日志信息。

lgrep:根據文件的內容進行查找,會對文件的每一行按照給定的模式(patter)進行匹配查找。

2grep 'mysql' my.cnf:在my.cnf中查找含有mysql的字段

2grep -n 'mysql' my.cnf:在my.cnf中查找含有mysql的字段,同時顯示出行號

lcut:選取命令,就是:將一段數據經過分析,取出我們想要的內容。一般來說,選取信息通常是針對“行”來進行分析的,并不是整篇信息分析。

2cut命令從文件的每一行剪切字節、字符和字段并將這些字節、字符和字段寫至標準輸出。

如果不指定File參數,cut命令將讀取標準輸入。必須指定-b、-c或-f標志之一。

2cut命令參數:

u-b:以字節為單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指定了-n標志。

u-c:以字符為單位進行分割。

u-d:自定義分隔符,默認為制表符。

u-f:與-d一起使用,指定顯示哪個區域。

u-n:取消分割多字節字符,僅和-b標志一起使用。如果字符的最后一個字節落在由-b標志的List參數指示的
范圍之內,該字符將被寫出;否則,該字符將被排除。

2cut常用命令:

uhttp://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html

l注意:Linux中head、tail、grep、cut、wc、sort等命令

四、用戶和用戶組管理

1、用戶管理

?新增用戶

luseradd :添加用戶

lpasswd :設置用戶密碼

?刪除用戶

luserdel :僅刪除用戶

luserdel -r :刪除用戶及用戶的目錄文件

?查看用戶:cat

/etc/passwd

2、用戶組管理

?添加用戶組

lgroupadd :添加用戶組

lpasswd :設置用戶組密碼

?刪除用戶組

lgroupdel

?設定用戶組密碼

lgpasswd

?取消用戶組密碼

lgpasswd -r

?添加用戶組成員

lgpasswd -a :添加的要存在

?刪除用戶組成員

lgpasswd -d

?查看用戶組

lcat /etc/group

五、系統管理

1、進程管理

?ps命令:Process Status,用來顯示當前進程的狀態,通過ps命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等。

llinux上進程有5種狀態:

2運行(正在運行或在運行隊列中等待),狀態碼:R

2中斷(休眠中,受阻,在等待某個條件的形成或接受到信號),狀態碼:S

2不可中斷(收到信號不喚醒和不可運行,進程必須等待直到有中斷發生),狀態碼:D

2僵死(進程已終止,但進程描述符存在,直到父進程調用wait4()系統調用后釋放),狀態碼:Z

2停止(進程收到SIGSTOP,

SIGSTP, SIGTIN, SIGTOU信號后停止運行運行):T

lps [參數]

2a顯示所有進程

2-A/-e顯示所有進程

2c顯示進程的真實名稱

2f顯示程序間的關系

2u指定用戶的所有進程

2-au顯示較詳細的資訊

2-aux顯示所有包含其他使用者的進程

2--lines<行數>每頁顯示的行數

lps常用命令:

2ps -A:顯示所有進程信息

2ps - ef:顯示所有進程信息,連同命令行

2ps u root:顯示指定用戶信息

2ps -ef | grep mysql:ps與grep組合用法,查找特定進程

2ps aux:列出目前所有的正在內存當中的程序

uUSER:該process所屬的使用者

uPID:該process的編號

u%CPU:該process使用掉的CPU資源百分比

u%MEM:該process所占用的物理內存百分比

uVSZ:該process使用掉的虛擬內存量(Kbytes)

uRSS:該process占用的固定的內存量(Kbytes)

uTTY:該process是在哪個終端機上面運作,若與終端機無關,則顯示?,另外,tty1-tty6是本機上面的登入者程序,若為pts/0等,則表示為由網絡連接進主機的程序。

uSTAT:該程序目前的狀態

uSTART:該process被觸發啟動的時間

uTIME:該process實際使用CPU運作的時間

uCOMMAND:該程序的實際指令

2根據CPU使用來升序排序:ps aux --sort -pcpu

2根據內存使用來升序排序:ps aux --sort -pmem

2ps與head、less等組合:ps aux |

head -n 20、ps aux | less

2如果想要查看現在有誰登入了服務器:ps -eo pid,user,args,參數-e顯示所有進程信息,-o參數控制輸出。Pid,User和Args參數顯示PID,運行應用的用戶和該應用。

2我們可以將ps命令和watch命令結合起來,動態顯示系統進程信息。這么種情況:

watch -n 1 ‘ps -aux --sort -pmem, -pcpu,通過CPU和內存的使用率來篩選進程,并且希望結果能夠每秒刷新一次。這樣與top相比,使用ps的好處是你能夠定義顯示的字段,你能夠選擇你想查看的字段。

?top命令:實時顯示系統中各個進程的資源占用狀況,包括進程ID、內存占用率、CPU占用率等

ltop

[參數]

2-d

<時間>:設置間隔時間

2-u <用戶名>:指定用戶名

2-p <進程號>:指定進程

2-n <次數>:循環顯示的次數

ltop常用命令:

2top

2top -d 5 / top -u root /top -p 22 /top -n 10

2top交互命令:

uk終止一個進程

uq退出程序

us改變兩次刷新之間的延遲時間(單位為s)。如果有小數,就換算成ms。輸入0值則系統將不斷刷新,默認值是5?s

uM根據駐留內存大小進行排序

uP根據CPU使用百分比大小進行排序

uT根據時間/累計時間進行排序

?kill命令:結束進程

lkill pid:結束進程

lkill -9 pid:強制結束進程

?netstat:用于顯示各種網絡相關信息

netstat的輸出結果可以分為兩個部分:

一個是Active Internet connections,稱為有源TCP連接,其中"Recv-Q"和"Send-Q"指的是接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。

一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網絡套接字一樣,但是只能用于本機通信,性能可以提高一倍)。Proto顯示連接使用的協議,RefCnt表示連接到本套接口上的進程號,Types顯示套接口的類型,State顯示套接口當前的狀態,Path表示連接到套接口的其它進程使用的路徑名。

lnetstat命令常用參數:

2-a:顯示所有選項,默認不顯示LISTEN相關

2-t:僅顯示tcp相關選項

2-u:僅顯示udp相關選項

2-n:拒絕顯示別名,能顯示數字的全部轉化成數字。

2-l:僅列出有在Listen (監聽)的服務狀態

2-p:顯示建立相關鏈接的程序名

2-s:按各個協議進行統計

2-c:每隔一個固定時間,執行該netstat命令。

2提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到

lnetstat常用命令:

2列出所有端口:netstat -a

2列出所有tcp/udp端口:netstat -at /netstat -ut

2只顯示監聽端口:netstat -l

2netstat輸出中顯示PID和進程名稱:netstat-p

2持續輸出netstat信息:netstat -c :默認每秒更新1次

2找出程序運行的端口:netstat -ap | grep ssh

2找出運行在指定端口的進程:netstat -apn |grep 80/netstat -apn | grep ':80'

l舉例場景:服務器上Tomcat 8080端口起不來,老提示端口已經被占用

2第一步:ps -aux | grep tomcat

發現并沒有8080端口的Tomcat進程。

2第二步:使用命令:netstat –apn

查看所有的進程和端口使用情況:最后一欄是PID/Program

name,發現8080端口被PID為9658的Java進程占用。

2第三步:使用:ps -aux | grep java或者直接使用:ps -aux | grep pid查看,就可以明確知道8080端口是被哪個程序占用了!最后判斷是否使用KILL命令干掉!參見:http://www.cnblogs.com/benio/archive/2010/09/15/1826728.html

lnetstat參見:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

?sync:強制將內存中的文件緩沖內容寫到磁盤

lLinux/Unix系統中,在文件或數據處理過程中一般先放到內存緩沖區中,等到適當的時候再寫入磁盤,以提高系統的運行效率。sync命令則可用來強制將內存緩沖區中的數據立即寫入磁盤中。用戶通常不需執行sync命令,系統會自動執行update或bdflush操作,將緩沖區的數據寫入磁盤。只有在update或bdflush無法執行或用戶需要非正常關機時,才需手動執行sync命令。

llinux系統為了提高讀寫磁盤的效率,會先將數據放在一塊buffer中。在寫磁盤時并不是立即將數據寫到磁盤中,而是先寫入這塊buffer中了。此時如果重啟系統,就可能造成數據丟失。sync命令用來flush文件系統buffer,這樣數據才會真正的寫到磁盤中,并且buffer才能夠釋放出來,flush就是用來清空buffer。sync命令會強制將數據寫入磁盤中,并釋放該數據對應的buffer,所以常常會在寫磁盤后輸入sync命令來將數據真正的寫入磁盤。如果不去手動的輸入sync命令來真正的去寫磁盤,linux系統也會周期性的去sync數據。

2、磁盤管理

?磁盤管理:df查看磁盤使用情況,du查看目錄/文件大小

ldf:用來檢查linux服務器的文件系統的磁盤空間占用情況。我們可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。

2df -a:顯示所有文件系統的磁盤使用情況

2df -h:以人類易讀的格式輸出

2df -h /dev/sda1:顯示特定文件系統已使用的空間

2df -T:顯示所有文件系統的類型

2df -k:按塊大小輸出文件系統磁盤使用情況

2df -h --total:顯示所有文件系統的磁盤使用情況匯總

2df -t ext4:顯示特定文件系統類型的信息

2df -x ext4:用來在輸出中排出某些文件系統類型

2參考:https://linux.cn/article-6466-1.html

ldu:檢查目錄或者文件所占空間

du與df命令不同的不同du命令是查看當前指定文件或目錄(會遞歸顯示子目錄)占用磁盤空間大小。

2du?all.log:顯示指定文件所占空間

2du /zff/installpkg:查看指定目錄的所占空間

2du -ah log:文件和目錄都顯示

2du?log1.tar.gz?log2.tar.gz:顯示多個文件所占空間

2du?-c /var/log /usr/local:顯示幾個文件或目錄各自占用磁盤空間的大小,還統計它們的總和

2du -s:只顯示總和的大小

2du | sort?-nr | more:按照空間大小排序

2du?-h??--max-depth=1:輸出當前目錄下各個子目錄所使用的空間

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,196評論 2 33
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,419評論 9 467
  • (一)基本命令 命令格式: 命令 參數 1.ls 顯示文件名,等同于dos下dir命令 命令格式:ls [opti...
    飛羽孟德閱讀 1,917評論 0 3
  • 十六國時期的胡夏國在公元426年被北魏攻陷都城,皇帝被俘,而這兩個國家的紛爭幾乎從一百年前就已經開始了。 公元32...
    寒七琪閱讀 729評論 0 0
  • 最近寫東西不再那么勤快,是因為不想給自己設立目標了。之前有著在簡書上兩萬字的目標,所以就比較廢寢忘食,對于一個寶媽...
    落英冰封閱讀 206評論 0 3