linux基礎命令1

一、su命令與su -命令

    su只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而su -連用戶和Shell環境一塊兒切換成root身份了。只有切換了Shell環境纔不會出現PATH環境變量錯誤,報command not found的錯誤。node

    su切換成root用戶之後,pwd一下,發現工做目錄仍然是普通用戶的工做目錄;而用su -命令切換之後,工做目錄變成root的工做目錄了linux

二、uname命令

uname              查看內核名稱shell

uname -s         同上(s:kernel-name)後端

uname -r           查看內核發行版本(r:kernel-release)緩存

uname -v         查看內核創建時間與cpu架構(v:kernel-version)服務器

uname -n         查看主機名(n:nodename)架構

uname -m        查看硬件名稱 i686=32 X86_64=64(m:machine)app

uname -i          查看硬件平臺名稱(硬件i686是屬於硬件平臺i386系列的)(i:hardware-platform)dom

uname -o         查看操做系統(o:operating-system)tcp

uname -p         查看處理器類型(p:processer)

uname -a         查看全部信息

三、tar命令

-c:             建立新的tar文件(c:create)

-x:           解開tar文件(x:extract)

-t:           列出tar文件中包含的文件的信息(t:list)

-r:           附加新的文件到tar文件中(r:append)

-u:          用已打包的文件的較新版本更新tar文件(u:update)

    這五個是獨立的命令,壓縮解壓都要用到其中一個,能夠和別的命令連用但只能用其中一個。下面的參數是根據須要在壓縮或解壓檔案時可選的。

 

-d:              查看文件與歸檔文件的不一樣(d:diff/compare)

-z:           調用gzip執行壓縮或解壓縮(.gz)

-j:            調用bzip2執行壓縮或解壓縮(.bz2)

-Z:          調用compress執行壓縮或解壓縮(.Z)

-v:           列出每一步處理涉及的文件的信息,只用一個「v」時,僅列出文件名,使用兩個「v」時,列出權限、全部者、大小、時間、文件名等信息。(v:verbose)

-O:                   將文件解開到標準輸出(O:to-stdout)

-k:              不覆蓋文件系統上已有的文件(k: keep-old-files)

 

下面的參數-f是必須的

-f:             [主機名:]文件名 指定要處理的文件名。能夠用「-」表明標準輸出或標準輸入(f:file)

 

tar -cf all.tar *.jpg

這條命令是將全部.jpg的文件打成一個名爲all.tar的包。-c是表示產生新的包,-f指定包的文件名。

 

tar -rf all.tar *.gif

這條命令是將全部.gif的文件增長到all.tar的包裏面去。-r是表示增長文件的意思。

 

tar -uf all.tar logo.gif

這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

 

tar -tf all.tar

這條命令是列出all.tar包中全部文件,-t是列出文件的意思

 

tar -xf all.tar

這條命令是解出all.tar包中全部文件,-t是解開的意思

 

壓縮

tar –cvf  jpg.tar  *.jpg               //將目錄裏全部jpg文件打包成jpg.tar

tar –czf  jpg.tar.gz  *.jpg       //將目錄裏全部jpg文件打包成jpg.tar後,而且將其用gzip壓縮,生成一個gzip壓縮過的包,命名爲jpg.tar.gz

tar –cjf  jpg.tar.bz2  *.jpg        //將目錄裏全部jpg文件打包成jpg.tar後,而且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名爲jpg.tar.bz2

tar –cZf jpg.tar.Z *.jpg                //將目錄裏全部jpg文件打包成jpg.tar後,而且將其用compress壓縮,生成一個umcompress壓縮過的包,命名爲jpg.tar.Z

rar a jpg.rar  *.jpg                             //rar格式的壓縮,須要先下載rar for linux

zip  jpg.zip  *.jpg                            //zip格式的壓縮,須要先下載zip for linux

 

解壓

tar -xvf  file.tar                                 //解壓 tar包

tar -xzvf  file.tar.gz                          //解壓tar.gz

tar -xjvf file.tar.bz2                          //解壓 tar.bz2

tar –xZvf  file.tar.Z                    //解壓tar.Z

unrar e file.rar                                     //解壓rar

unzip file.zip                                         //解壓zip

 

一、*.tar                                      用 tar –xvf 解壓

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

三、*.tar.gz和*.tgz        用 tar –xzf 解壓

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

五、*.tar.bz2                       用tar –xjf 解壓

六、*.Z                                 用 uncompress 解壓

七、*.tar.Z                          用tar –xZf 解壓

八、*.rar                                      用 unrar e解壓

九、*.zip                                       用 unzip 解壓

四、yum命令

yum的命令形式通常是以下:yum  [options]  [command]  [package ...]

其中的[options]是可選的。[command]爲所要進行的操做,[package ...]是操做的對象。

option選項:

         -h                                  幫助(h:help)

         -q                                靜默執行,不顯示安裝的過程(q:quiet)

  -t                                 忽略錯誤(t:tolerant)

  -R                                 [分鐘] 設置等待時間(r:randomwait)

  -y                                  當安裝過程提示選擇所有爲"yes"(y:assumeyes)

  --skip -broken           忽略依賴問題

  --nogpgcheck           忽略GPG驗證

一、安裝

yum install 所有安裝

yum install package1 安裝指定的安裝包package1

yum groupinsall group1 安裝程序組group1

二、更新和升級

yum update 所有更新

yum update package1 更新指定程序包package1

yum check-update 檢查可更新的程序

yum upgrade package1 升級指定程序包package1

yum groupupdate group1 升級程序組group1

三、查找和顯示

yum info package1 顯示安裝包信息package1

yum list 顯示全部已經安裝和能夠安裝的程序包

yum list package1 顯示指定程序包安裝狀況package1

yum groupinfo group1 顯示程序組group1信息yum search string 根據關鍵字string查找安裝包

四、刪除程序

yum remove | erase package1 刪除程序包package1

yum groupremove group1 刪除程序組group1

yum deplist package1 查看程序package1依賴狀況

五、清除緩存

yum clean packages 清除緩存目錄下的軟件包

yum clean headers 清除緩存目錄下的 headers

yum clean oldheaders 清除緩存目錄下舊的 headers

yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers

 

安裝軟件:                       yum install *.rpm

刪除軟件:                       yum remove *.rpm或者yum erase *.rpm

升級軟件:                       yum upgrade *或者yum update *

查詢信息:                       yum info *

搜索軟件:                       yum search *

顯示軟件包依賴關係:yum deplist *

五、sudo命令

sudo [-bhHpV][-s ][-u <用戶>][指令]

參數

  -b  在後臺執行指令。(b:backgroud)

  -h  顯示幫助。(h:help)

  -H  將HOME環境變量設爲新身份的HOME環境變量。(H:HOME)

  -k  結束密碼的有效期限,也就是下次再執行sudo時便須要輸入密碼。(k:kill)

  -l  列出目前用戶可執行與沒法執行的指令。(l:list)

  -p  改變詢問密碼的提示符號。(p:prompt)

  -s  執行指定的shell。(s:shell)

  -u  以指定的用戶做爲新的身份。若不加上此參數,則預設以root做爲新的身份。(u:user)

  -v  延長密碼有效期限5分鐘。(v:validate)

  -V  顯示版本信息。(V:version)

  -S  從標準輸入流替代終端來獲取密碼(S:stdin)

六、查看使用某端口的進程

lsof  -i:8090

netstat -ap|grep 8090

七、nohup

用途:不掛斷地運行命令。

語法:nohup Command [ Arg … ] [ & ]

  不管是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。

  若是當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。

  若是沒有文件能建立或打開以用於追加,那麼 Command 參數指定的命令不可調用。

退出狀態:該命令返回下列出口值:   

  126 能夠查找但不能調用 Command 參數指定的命令。   

  127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。   

  不然,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。

八、linux特殊符號

一、#與$

#管理員  $普通用戶

二、~

~+ 當前的工做目錄,這個符號表明當前的工做目錄,她和內建指令 pwd的做用是相同的。

~- 上次的工做目錄,這個符號表明上次的工做目錄。

三、''單引號

    被單引號用括住的內容,將被視爲單一字串。在引號內的表明變數的$符號,沒有做用,也就是說,他被視爲通常符號處理,防止任何變量替換。

四、""雙引號

    被雙引號用括住的內容,將被視爲單一字串。它防止通配符擴展,但容許變量擴展。這點與單引數的處理方式不一樣

五、''倒引號

    在前面的單雙引號,括住的是字串,但若是該字串是一列命令列,會怎樣?答案是不會執行。要處理這種狀況,咱們得用倒單引號來作

六、\ 倒斜線

    在交互模式下的escape 字元,有幾個做用;放在指令前,有取消 aliases的做用;放在特殊符號前,則該特殊符號的做用消失;放在指令的最末端,表示指令鏈接下一行。

七、| 管道 (pipeline)

    是 UNIX 系統,基礎且重要的觀念。連結上個指令的標準輸出,作爲下個指令的標準輸入。

八、& 後臺工做

單一個& 符號,且放在完整指令列的最後端,即表示將該指令列放入後臺中工做。

九、-

在 GNU 指令中,若是單獨使用 - 符號,不加任何該加的文件名稱時,表明"標準輸入"的意思。這是 GNU指令的共通選項。譬以下例
tar xpvf -
這裏的 - 符號,既表明從標準輸入讀取資料。
不過,在 cd 指令中則比較特別
cd -
這表明變動工做目錄到"上一次"工做目錄。

十、%

${parameter%word}${parameter%%word}
一個 % 表示最短的 word 匹配,兩個表示最長的 word 匹配。

十一、^

這個符號在規則表達式中,表明行的 "開頭" 位置,在[]中也與"!"(歎號)同樣表示「非」

十二、<

使cmd命令從file讀入

1三、<<

從命令行讀取輸入,直到一個與text相同的行結束。除非使用引號把輸入括起來,此模式將對輸入內容進行shell變量替換。若是使用<<- ,則會忽略接下來輸入行首的tab,結束行也能夠是一堆tab再加上一個與text相同的內容

1四、<<<

把word(而不是文件word)和後面的換行做爲輸入提供給cmd。

1五、<>

以讀寫模式把文件file重定向到輸入,文件file不會被破壞。僅當應用程序利用了這一特性時,它纔是有意義的。

1六、>|

功能同>,但即使在設置了noclobber時也會覆蓋file文件,注意用的是|而非一些書中說的!,目前僅在csh中仍沿用>!實現這一功能。

1七、:> filename

 把文件"filename"截斷爲0長度.# 若是文件不存在, 那麼就建立一個0長度的文件(與'touch'的效果相同).

1八、>&n

把輸出送到文件描述符n
1九、m>&n 

把輸出重定向到文件符m的信息重定向到文件描述符n
20、cmd >&-

關閉標準輸出
2一、cmd <&n 

輸入來自文件描述符n
2二、cmd m<&n 

m來自文件描述各個n
2三、cmd <&-

關閉標準輸入
2四、cmd <&n-

移動輸入文件描述符n而非複製它。(須要解釋)
2五、cmd >&n-

移動輸出文件描述符 n而非複製它。(須要解釋)
注意:>&實際上覆制了文件描述符,這使得cmd > file 2>&1與cmd 2>&1 >file的效果不同。

九、ps

-w 顯示加寬能夠顯示較多的資訊

-aux 顯示全部包含其餘使用者的行程

 

1)ps a 顯示現行終端機下的全部程序,包括其餘用戶的程序。

2)ps -A 顯示全部進程。

3)ps c 列出程序時,顯示每一個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。

4)ps -e 此參數的效果和指定"A"參數相同。

5)ps e 列出程序時,顯示每一個程序所使用的環境變量。

6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關係。

7)ps -H 顯示樹狀結構,表示程序間的相互關係。

8)ps -N 顯示全部的程序,除了執行ps指令終端機下的程序以外。

9)ps s 採用程序信號的格式顯示程序情況。

10)ps S 列出程序時,包括已中斷的子程序資料。

11)ps -t<終端機編號>  指定終端機編號,並列出屬於該終端機的程序的情況。

12)ps u  以用戶爲主的格式來顯示程序情況。

13)ps x  顯示全部程序,不以終端機來區分。

 

14)ps -aux 最經常使用的方法,而後再利用一個管道符號導向到grep去查找特定的進程,而後再對特定的進程進行操做。

15)查看運行的後臺進程

(1)jobs -l

(2)ps -ef

注:

  用ps -def | grep查找進程很方便,最後一行老是會grep本身,用grep -v參數能夠將grep命令排除掉

16)查看到進程id以後,使用netstat命令查看其佔用的端口

netstat -nap|grep 7779

17)顯示某個用戶的進程

ps -f -u nova,neutron

18)經過進程名或者進程id顯示進程

ps -C neutron-server

# -C 只能搜索名爲neutron-server的進程(徹底匹配),不能使用部分搜索或者通配符,例如 ps -C neutron 就不會顯示neutron-server進程。所以部分匹配用 ps -ef | grep neutron

19)利用 cpu 或者內存使用量對進程排序

ps aux --sort=-pcpu,+pmem

# 首先以 cpu 使用量排序呢, 若是 cpu 使用量相同,則之內存使用量排序。

20)用ps命令實時顯示進程信息

watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'

十、防火牆

一、臨時生效,重啓時效

開啓防火牆              service iptables start

關閉防火牆              service iptables stop

查看狀態                   service iptables status

二、永久生效

開啓防火牆              chkconfig  iptables  on

關閉防火牆              chkconfig  iptables  off

查看狀態                   chkconfig  iptables  --list

三、ipv6

開啓防火牆              chkconfig  ip6tables  on

關閉防火牆              chkconfig  ip6tables  off

查看狀態                   chkconfig  ip6tables  --list

十一、find

一、按照文件名查找

find 目錄 -name httpd.conf  #在目錄下文件httpd.conf

2.按照文件特徵查找

一、find / -amin -10

查找在系統中最後10分鐘訪問的文件(access time)

二、find / -atime -2

# 查找在系統中最後48小時訪問的文件

三、find / -empty

# 查找在系統中爲空的文件或者文件夾

四、find / -group cat

# 查找在系統中屬於 group爲cat的文件

五、find / -mmin -5   

# 查找在系統中最後5分鐘裏修改過的文件(modify time)

六、find / -mtime -1   

#查找在系統中最後24小時裏修改過的文件

七、find / -user fred   

#查找在系統中屬於fred這個用戶的文件

八、find / -size +10000c  

#查找出大於10000字節的文件(c:字節,w:雙字,k:KB,M:MB,G:GB)

九、find / -size -1000k   

#查找出小於1000KB的文件

3.使用混合查找方式查找文件

參數有: !,-and(-a),-or(-o)。

一、find /tmp -size +10000c -and -mtime +2

#在/tmp目錄下查找大於10000字節並在最後2分鐘內修改的文件

二、find / -user fred -or -user george   

#在/目錄下查找用戶是fred或者george的文件文件

三、find /tmp ! -user panda  

#在/tmp目錄中查找全部不屬於panda用戶的文件

十二、man手冊說明

1是普通命令

2是系統調用,如open,write之類的(經過這個,至少能夠很方便的查到調用這個函數,須要加什麼頭文件)

3是庫函數,如printf,fread

4是特殊文件,也就是/dev下的各類設備文件

5是指文件的格式,好比passwd,就會說明這個文件中各個字段的含義

6是給遊戲留的,又各遊戲本身定義

7是附件還有一些變量,好比向environ這種全局變量在這裏就有說明

8是系統管理用的命令,這些命令只能由root使用

十二、scp

linux遠程拷貝在A服務器上操做

12-一、將B服務器上/home/lk/目錄下全部的文件所有複製到本地的/root目錄下

scp -r root@43.224.34.73:/home/lk  /root

12-二、將A服務器上/root/lk/目錄下全部的文件所有複製到B的/home/lk/cpfile目錄下

scp -r /root/lk root@43.224.34.73:/home/lk/cpfile

1三、ln

它的功能是爲某一個文件或目錄在另一個位置創建一個同步的連接,相似Windows下的超級連接。

用法:

ln -s 源文件目標文件 

刪除連接    rm -rf   symbolic_name   注意不是

rm -rf   symbolic_name/ 

1四、添加指定端口到防火牆

iptables -I INPUT -p udp --dport 161 -j ACCEPT

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

相關文章
相關標籤/搜索