Linux經常使用操做命令

1. 前言
2.文件目錄操做
ls——獲取文件目錄屬性
pwd——獲取當前工做目錄路徑
cd——切換工做目錄
tree——顯示目錄結構
file——顯示文件類別等信息
mv——移動文件目錄或修改文件目錄名稱
cp——拷貝文件目錄
scp、sz、rz——文件傳輸
touch、vim、重定向——建立文件
mkdir——建立目錄
rm、rmdir——刪除文件或目錄
ln——建立快捷方式
小測試php

3.打包壓縮文件
gzip/gunzip——gz壓縮解壓相關
zip/unzip——zip打包壓縮相關
bzip2/bunzip2——bz2壓縮相關
xz/unxz——xz壓縮相關
compress/uncompress/zcat——Z壓縮解壓相關
tar——tar包相關
4.文本內容處理
cat、tac——打印文件內容
more、less——分頁查看文本內容
head、tail——從頭或者從尾查看
wc——統計文本內容
nl——計算文件中的行號
grep——文本內容查找
cut——按需分割文件
sort——對文本內容進行排序
uniq——對文本內容進行去重計數
comm——比較兩個文件中的內容
vim——文本內容編輯
sed——文本的過濾和轉換(流處理)html

5.系統信息操做
fdisk、df、du——查看系統磁盤空間信息
lscpu——查看系統cpu配置狀況
free——查看系統內存使用狀況
top——查看系統實時運行狀態
ps——查看當前運行程序信息
kill——殺掉某個進程
date、cal——查看當前系統時間與日曆
bc——系統自帶簡易計算器
ifconfig、ping、route——查看系統網絡信息
wget——從網上下載數據
bg、fg、jobs——讓程序先後臺切換運行
which——查看命令的位置
who、w——查看誰在登錄,在幹什麼
history——查看歷史命令
man——查看命令函數等幫助文檔node

6. 重要備註
alias——命令重命名
|——管道操做符
.bashrc——環境變量設置
screen、nohup——程序不中斷運行linux

7. 小結nginx

總結web


1. 前言正則表達式

類別:算法

  • 1.文件目錄操做
  • 2.打包壓縮文件
  • 3.文本內容處理
  • 4.系統信息操做
  • 5. 其它

overview

 

注意:shell

  • 1. Linux中的大部分命令都是一些單詞的縮寫,只要可以充分理解操做意圖就能巧妙的掌握這些命令。
  • 2. Linux中的命令是大小寫敏感的(如cd和CD不相同)。
  • 3. 終端(Xshell或者窗口模式中的Terminal應用)中 按下回車即爲執行該命令(如 ls 回車, 即爲執行ls命令)。
  • 4. 命令的參數前通常有-或者–,並且參數之間一般是用空格隔開,也有多個參數連在一塊兒的。
  • 4. 熟能生巧、多加練習。
  • 5. Linux命令用法多樣,掌握經常使用便可。

 

學習資料:vim

http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html
http://www.oschina.net/translate/useful-linux-commands-for-newbies
http://www.php100.com/html/webkaifa/Linux/2009/1106/3485.html
http://blog.csdn.net/xiaoguaihai/article/details/8705992
niaoge

 

Linux 重要的幾個熱

  • [Tab] 按鍵具備命令補全的功能——要有意識的常用
  • [Ctrl]-c 按鍵—讓當前的程序『停掉』
  • [Ctrl]-d 按鍵—一般表明着:『鍵盤輸入結束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也能夠用來取代exit
  • [Ctrl]-r 按鍵—能夠打開反向搜索歷史命令功能,能夠用戶根據輸入進行匹配,   回車就表示執行搜索到的命令, 左右鍵表示複製當前搜到的命令到命令行但不執行

 

注:進入終端後會顯示以下默認內容:

 


2.文件目錄操做

ls0

 

基本的文件目錄操做是Linux的基礎知識,若是這些都不能掌握更何談後面的分析。

ls ——獲取文件屬性

ls(list)意思就是列舉出指定文件或目錄的基本屬性(List Directory Contents),下面咱們直接執行ls命令來看下輸出結果。用的最多的Linux命令之一。

ls1

 

上面的圖中列舉了文件和目錄的基本屬性,包括權限(r-read, w-write,x-executive),d-Directory。

下面詳細介紹下文件及目錄的權限屬性:

-rw-r–r–

  • 第一個字符爲文件類型(-爲普通文件;d爲目錄(能夠理解爲特殊的文件);l表示這是一個符號連接文件,實際上它指向另外一個文件;b、c分別表示區塊設備和其餘的外圍設備,是特殊類型的文件;s、p:這些文件關係到系統的數據結構和管道,一般不多見到。)
  • 第2~10個字符當中的每3個爲一組,左邊三個字符表示全部者權限,中間3個字符表示與全部者同一組的用戶的權限,右邊3個字符是其餘用戶的權限。這三個一組共9個字符,表明的意義以下:

r(Read,讀取):對文件而言,具備讀取文件內容的權限;對目錄來講,具備瀏覽目錄的權限。
w(Write,寫入):對文件而言,具備新增、修改文件內容的權限;對目錄來講,具備刪除、移動目錄內文件的權限。
x(eXecute,執行):對文件而言,具備執行文件的權限;對目錄了來講該用戶具備進入目錄的權限。

  • 權限除了能夠用字母表示外,還能夠用對應的數字表示:

文件和目錄的權限表示,是用rwx這三個字符來表明全部者、用戶組和其餘用戶的權限。有時候,字符彷佛過於麻煩,所以還有另一種方法是以數字來表示權限,並且僅需三個數字。
r: 對應數值4
w: 對應數值2
x:對應數值1
-:對應數值0

其實很簡單,咱們將rwx當作二進制數(不懂的話百度),若是有則有1表示,沒有則有0表示,那麼rwx r-x r- -則能夠表示成爲:111 101 100,再將其每三位轉換成爲一個十進制數,就是754。

ls命令格式及參數:

其它更詳細的參數:

ls2ls3

 

應用舉例:

 

pwd——獲取當前工做目錄

直接運行pwd便可

cd——切換工做目錄

cd(change directory) 就是切換當前工做目錄的意思。

使用示例:

tree——顯示目錄結構

file——顯示文件類別等信息

mv——移動文件目錄或修改文件目錄名稱

move (rename) files, 同時具有移動和重命名的功能。用的最多的Linux命令之一。

 

 

cp——拷貝文件目錄

copy files and directories, 複製文件或目錄。用的最多的Linux命令之一。

使用示例:

scp、sz、rz——文件傳輸

scp、sz、rz是一組提供文件傳輸功能的命令,其中scp(secure copy)主要是針對遠程服務器之間的拷貝,而sz(send)是從服務器上將文件下載到本地電腦,而rz(receive)則是將本地電腦上的文件傳輸到服務器相應的路徑,有的服務器上不必定自帶了sz rz功能,須要利用root帳戶安裝相應的軟件lrzsz.x86_64(yum install lrzsz.x86_64)。

scp通常的格式是  scp [參數]  [[user@]host1:]file1 [[user@]host2:]file2, 其中參數部分和cp相似,像最經常使用的-r

sz 後面直接跟文件便可從服務器上進行下載,以下:

rz 在終端敲入rz後會彈出文件選擇器對話框(注:本地須要上傳的文件最好不要存放在中文路徑,不然會出錯)

scp在服務器之間進行數據的傳輸頗有效,rz sz則在與服務器進行小文件的傳輸不少效,大數據的傳輸可使用一些專業的傳輸軟件,如filezilla、winscp等。

touch、vim、重定向——建立文件

上面講了不少與文件相關的命令,那麼如何去建立一個文件呢?(比如windows下單擊郵件->New->New Documents txt)。Linux中有不少建立文件的方式,下面介紹幾種。

touch——change file timestamps,touch的主要用途是改變文件的時間戳,但同時也是能夠去建立一個空白的文本文件。

使用示例:

vim——Vi IMproved, a programmers text editor, 是vi的一個升級版,強大功能的文本編輯工具,和咱們普通的視窗編輯器不一樣,用熟練了後效率會很高。vim能夠建立一個空白的文檔,也能夠打開編輯多個文檔,多以是指令的方式來完成相應的操做。這裏簡單說起下利用vim 建立一個文檔。

重定向——咱們默認運行的一些命令,其輸出結果(包括標準正確輸出標準錯誤輸出)通常是直接輸出到屏幕上去的,有時咱們但願把這些結果存在文件中,這就涉及到告終果的重定向輸出。

mkdir——建立目錄

mkdir——看着英文縮寫就應該知道該命令的意思了(make directory)常見文件夾。linux mkdir 命令用來建立指定的名稱的目錄,要求建立目錄的用戶在當前目錄中具備寫權限,而且指定的目錄名不能是當前目錄中已有的目錄。用的最多的Linux命令之一。

使用示例:

rm、rmdir——刪除文件或目錄

rm——remove files and directory, 刪除文件和目錄,用的最多的Linux命令之一。

  • 該命令的功能爲刪除一個目錄中的一個或多個文件或目錄,它也能夠將某個目錄及其下的全部文件及子目錄均刪除。對於連接文件,只是刪除了連接,原有文件均保持不變。
  • rm是一個危險的命令,使用的時候要特別小心,尤爲對於新手

 

使用示例:

rmdir——remove empty directory 主要是用來刪除空目錄的,能夠用rm –r dir 來替代。

ln——建立快捷方式

  • ln是linux中又一個很是重要命令,它的功能是爲某一個文件在另一個位置創建一個同步的連接.當咱們須要在不一樣的目錄,用到相同的文件時,咱們不須要在每個須要的目錄下都放一個必須相同的文件,咱們只要在某個固定的目錄,放上該文件,而後在 其它的目錄下用ln命令連接(link)它就能夠,沒必要重複的佔用磁盤空間
  • 分爲硬鏈接軟連接

鏈接也是實現數據共享,避免數據冗餘的一種方法。
軟連接:
1.軟連接,以路徑的形式存在。相似於Windows操做系統中的快捷方式
2.軟連接能夠 跨文件系統 ,硬連接不能夠
3.軟連接能夠對一個不存在的文件名進行連接
4.軟連接能夠對目錄進行連接

硬連接:
1.硬連接,以文件副本的形式存在。但不佔用實際空間。
2.不容許給目錄建立硬連接
3.硬連接只有在同一個文件系統中才能建立

使用示例:

 

小測試

從本地電腦上傳一個txt文件到服務器,將該txt文件修改成example.txt,建立example目錄並將example.txt移動到該目錄。查看該文件的文件類別信息,拷貝一個example.txt並命名爲example.copy.txt。最後刪除example目錄及其所包含的全部內容。

part1


 

3.打包壓縮文件

文件及目錄的打包壓縮可使文檔更加整潔和減小磁盤存儲,如window上的zip,rar等相似。壓縮的算法有不少種,也對應下面不一樣的命令,可是基本的參數都很類似。

gzip/gunzip——gz壓縮解壓相關

最簡單用法(通常壓縮文件後綴名爲gz):

解壓:gunzip somefile.gz,或者,gzip –d somefile.gz

壓縮:gzip somefile

gzip

使用示例:

gunzip

使用示例:

zip/unzip——zip打包壓縮相關

上述介紹的gzip只是壓縮但並不能對多個文件或者文件夾打包,zip具備打包和壓縮功能,這和咱們在windows上常見的zip是同樣的,這種文件在windows和linux上是通用的,後綴名通常爲zip。(package and compress (archive) files)

使用語法: zip some.zip  addfile1 addfile2 adddir1

使用示例:

 

使用示例:

bzip2/bunzip2——bz2壓縮相關

與上述的zip不一樣,bzip2只能壓縮而不提供打包功能,這與gzip相同。(a block-sorting file compressor),通常後綴名爲.bz2。

最簡單語法:

壓縮:bzip2  [參數] file1 file2

解壓:bunzip2 file.bz2

使用示例:

xz/unxz——xz壓縮相關

xz壓縮用的相對少一點,用法和bzip二、gz差很少。(a general-purpose data compression tool with command  line  syntax  similar  to  gzip(1)  and bzip2(1).)

使用示例:

compress/uncompress——Z壓縮解壓相關

compress 是一個至關古老的 unix 檔案壓縮指令,壓縮後的檔案會加上一個 .Z 延伸檔名以區別未壓縮的檔案,壓縮後的檔案能夠以 uncompress 解壓。若要將數個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。因爲 gzip 能夠產生更理想的壓縮比例,通常人多已改用 gzip 爲檔案壓縮工具。

有的服務器上可能只有它的幫助文檔,可是並無其命令。(需root用戶安裝:yum install ncompress.x86_64)

使用示例:

tar——tar包相關
tar是很是重要打包壓縮命令,由於它能夠打包解包,並且還能夠調用其它命令來進行壓縮,是一個綜合性的命令。
單純的tar是打包而不是壓縮
解包:tar -xvf somefile.tar,
打包:tar -cvf somefile.tar dir_or_file_list

使用示例:

你們可能會問,windows下經常使用的rar在linux下有對應的命令嗎?因爲rar在Linux不經常使用因此不自帶rar相關的命令,須要另外安裝,這裏就不講解了。

compress

 


4.文本內容處理

前兩節講解的主要是如何對文件系統的中的文件和目錄進行操做(包括瀏覽、建立、打包、壓縮等),那麼這節就要講解下如何去文件的內容進行操做(包括查看、統計、搜索、編輯等)。

cat、tac——打印文件內容

cat – concatenate files and print on the standard output
tac – concatenate and print files in reverse

使用示例:

more、less——分頁查看文本內容

more命令,功能相似 cat ,cat命令是整個文件的內容從上到下顯示在屏幕上。 more會以一頁一頁的顯示方便使用者逐頁閱讀,並且還有搜尋字串的功能 。more命令從前向後讀取文件,所以在啓動時就加載整個文件。

more 命令格式:

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file … ]

more 經常使用操做命令(用more打開文件後,操做鍵盤):
Enter    向下n行,須要定義。默認爲1行
Ctrl+F   向下滾動一屏
空格鍵  向下滾動一屏
Ctrl+B  返回上一屏
=       輸出當前行的行號
:f     輸出文件名和當前行的行號
V      調用vi編輯器
!命令   調用Shell,並執行命令
q       退出more

使用示例:

less – opposite of more, 應該說是linux正統查看文件內容的工具,功能極其強大。less 的用法比起 more 更加的有彈性。若使用了 less 時,就可使用 [pageup] [pagedown等按鍵的功能來往前日後翻看文件,更容易用來查看一個文件的內容!除此以外,在 less 裏頭能夠擁有更多的搜索功能,不止能夠向下搜,也能夠向上搜

less 命令格式:

less [參數]  文件(s)

less 經常使用操做命令(用less打開文件後,操做鍵盤):

less 與 more 相似,但使用 less 能夠隨意瀏覽文件,並且 less 在查看以前不會加載整個文件。

/字符串:向下搜索「字符串」的功能
?字符串:向上搜索「字符串」的功能
n:重複前一個搜索(與 / 或 ? 有關)
N:反向重複前一個搜索(與 / 或 ? 有關)
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]:   向上翻動一頁

附加備註

1.全屏導航
ctrl + F – 向前移動一屏
ctrl + B – 向後移動一屏
ctrl + D – 向前移動半屏
ctrl + U – 向後移動半屏

2.單行導航
j – 向前移動一行
k – 向後移動一行

3.其它導航
G – 移動到最後一行
g – 移動到第一行
q / ZZ – 退出 less 命令

4.其它有用的命令
v – 使用配置的編輯器編輯當前文件
h – 顯示 less 的幫助文檔
&pattern – 僅顯示匹配模式的行,而不是整個文件

head、tail——從頭或者從尾查看

head – output the first part of files
tail – output the last part of files
head 用來顯示檔案的開頭至標準輸出中,默認head命令打印其相應文件的開頭10
tail 命令從指定點開始將文件寫到標準輸出。

使用tail命令的-f選項能夠方便的查閱正在改變的日誌文件, tail -f filename會把filename裏最尾部的內容顯示在屏幕上,而且不但刷新,使你看到最新的文件內容。

wc——統計文本內容

此wc非彼wc,wc – print newline, word, and byte counts for each file, 打印每一個文件的行數、字數、字節數。

wc [OPTION]… [FILE]

使用示例:

nl——計算文件中的行號

nl命令在linux系統中用來計算文件中行號。nl 能夠將輸出的文件內容自動的加上行號!其默認的結果與 cat -n 有點不太同樣, nl 能夠將行號作比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能。

nl [選項]… [文件]…

使用示例:

grep——文本內容查找

  • Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是全部用戶。
  • grep的工做方式是這樣的,它在一個或多個文件中搜索字符串模板。若是模板包括空格,則必須被引用,模板後的全部字符串被看做文件名。搜索的結果被送到標準輸出,不影響原文件內容。
  • grep可用於shell腳本,由於grep經過返回一個狀態值來講明搜索的狀態,若是模板搜索成功,則返回0,若是搜索不成功,則返回1,若是搜索的文件不存在,則返回2。咱們利用這些返回值就可進行一些自動化的文本處理工做。
  • grep [option] pattern file

 

其中-c -i -v -n 較經常使用。

使用示例:

grep在後面的平常操做中使用的很頻繁,必須掌握。
cut——按需分割文件

cut是一個選取命令,就是將一段數據通過分析,取出咱們想要的。通常來講,選取信息一般是針對「行」來進行分析的,並非整篇信息分析的。cut 命令從文件的每一行剪切字節、字符和字段並將這些字節、字符和字段寫至標準輸出。若是不指定 File 參數,cut 命令將讀取標準輸入。必須指定 -b、-c 或 -f 標誌之一。

使用示例:

sort——對文本內容進行排序

sort – sort lines of text files, 對文本內容按行或者(某一個字段進行排序),sort將文件的每一行做爲一個單位,相互比較,比較原則是從首字符向後,依次按ASCII碼值進行比較,最後將他們按升序(默認)輸出。

sort [OPTION]… [FILE]…

其中的-k -n -r都很重要。

使用示例:

 

uniq——對文本內容進行去重計數

uniq – report or omit repeated lines, 報告或者刪除重複的行,接受的輸入文件必須是已經排序了的。

uniq [OPTION]… [INPUT [OUTPUT]]

 

comm——比較兩個文件中的內容

comm – compare two sorted files line by line, 按行比較兩個已經排好序的文件。主要是用來找文件間的共同行或者獨有行。

comm [OPTION]… FILE1 FILE2

使用示例:

vim——文本內容編輯

  • vim – Vi IMproved, a programmers text editor, vim 是Linux上一款十分強大的文本編輯工具,不一樣於咱們經常使用的記事本等可視化編輯工具,大部分操做是經過相應的命令來完成的,剛開始可能會不習慣,熟悉後會提升工做效率。
  • vim配有衆多參數,咱們只需掌握其中經常使用的幾種。
  • vim在使用過程當中有三種模式:

通常模式:在Linux終端中輸入「vim 文件名」就進入了通常模式,但不能輸入文字。

編輯模式:在通常模式下按i就會進入編輯模式,此時就能夠寫程式,按Esc可回到通常模式。

末行命令模式:在通常模式下按就會進入命令模式,左下角會有一個冒號出現,此時能夠敲入命令並執行。

vim的功能遠不止這些,具體能夠看下相應的博客。

http://www.cnblogs.com/tzhangofseu/archive/2011/12/17/2290955.html

http://blog.sina.com.cn/s/blog_50d43ad50100osd6.html

vim打開文件

vim somefile

編輯模式指令

i 在光標前進入 I 在行首進入
a 在光標後進入 A 在行末進入
o 在光標所在行的下一行行首進入 O 在光標所在行的上一行行首進入
cw 修改一個單詞 dw 刪除一個單詞
dd 刪除一行 u 撤銷上一次操做
CTRL+r 從新上一次操做 GG 光標快速回到文件底部
gg 光標快速回到文件首部 4dd 刪除光標所在行開始的4行
p 在光標下一行進行粘貼 yy 複製一行
d$ 刪除光標後面的字符都行末    

鍵盤上的HOME END等快捷鍵依舊起做用

行命令模式

q 退出 q! 強制退出
w 保存 wq 保存並退出
wq! 強制保存並退出 set nonu 不顯示行數
set autoindent 自動對齊 set noautoindent 取消自動對齊
1,5s/mail/gmail/g 全局替換(1-5行) 1,$s/mail/gmail/g 全局替換

sed——文本的過濾和轉換(流處理)

sed – stream editor for filtering and transforming text

sed [-nefr] [動做] 文件

 

  • 動做:

動做說明: [n1[,n2]]function n1, n2 :不見得會存在,通常表明『選擇進行動做的行數』,舉例來講,若是個人動做是須要在 10 到 20 行之間進行的,則是『 10,20[動做行爲] 』 ,不設置n1 和 n2 則表示是對整個流進行處理。

  • Function

a :新增, a 的後面能夠接字串,而這些字串會在新的一行出現(目前的下一行)~

c :取代, c 的後面能夠接字串,這些字串能夠取代 n1,n2 之間的行!

d :刪除,由於是刪除啊,因此 d 後面一般不接任何咚咚;

i :插入, i 的後面能夠接字串,而這些字串會在新的一行出現(目前的上一行);

p :列印,亦即將某個選擇的數據印出。一般 p 會與參數 sed -n 一塊兒運行~

s :取代,能夠直接進行取代的工做哩!一般這個 s 的動做能夠搭配正規表示法!例如 1,20s/old/new/g 就是啦! 其中g爲全行匹配替換

 

使用示例:

sed


5.系統信息操做
fdisk、df、du——查看系統磁盤空間信息

  • fdisk 命令是root用戶用來查看系統分區狀況和修改分區的命令
  • df – report file system disk space usage,報告磁盤使用狀況
  • du – estimate file space usage,估計文件空間使用狀況

df –h 以人類易懂的方式顯示磁盤使用狀況

du ./ -h以人類易懂的方式顯示當前路徑下的文件大小狀況(明細)

du ./ -sh以人類易懂的方式彙總當前路徑下的文件大小狀況

http://www.cnblogs.com/peida/archive/2012/12/07/2806483.html

http://www.cnblogs.com/peida/archive/2012/12/10/2810755.html

使用示例:

lscpu——查看系統cpu配置狀況

lscpu – display information about the CPU architecture

使用示例:

free——查看系統內存使用狀況

Display amount of free and used memory in the system, 顯示系統中的中內存和使用的內存。

使用示例:

top——查看系統實時運行狀態

有時咱們很關心繫統正在運行什麼程序以及系統如今的存儲內存消耗等,這時就須要top命令來實時監測系統信息。首先來看下top命令的界面,也就是系統的一些狀態信息:

top

任務區域中每列的具體含義:

PID — 進程id

USER — 進程全部者

PR — 進程優先級

NI — nice值。負值表示高優先級,正值表示低優先級

VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES

RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA

SHR — 共享內存大小,單位kb

S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/中止 Z=殭屍進程

%CPU — 上次更新到如今的CPU時間佔用百分比

%MEM — 進程使用的物理內存百分比

TIME+ — 進程使用的CPU時間總計,單位1/100秒

COMMAND — 進程名稱(命令名/命令行)

 

top命令運行後的相關指令:

針對top命令掌握經常使用的幾個指令便可,如b,c,1等,更多信息請看下面的這篇博客:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html
ps——查看當前運行程序信息

ps – report a snapshot of the current processes. 報告當前進程的快照。ps命令是Process Status的縮寫。

ps [options]

使用示例:

kill——殺掉某個進程

有時須要終止一些錯誤程序的運行就須要利用到kill命令,看其單詞意思就知道它的功能。

格式:

kill [ -s signal | -p ] [ -a ] pid …

kill -l [ signal ]

使用示例:

date、cal——查看當前系統時間與日曆

date和cal命令平時使用的也不是不少,但有時能夠用來計算程序運行花了多長時間,這裏簡單介紹下:

date – print or set the system date and time

cal – displays a calendar

 

date [參數]… [+格式]

cal [-smjy13] [[[day] month] year]

 

詳細內容可參考下面的博客:

http://www.cnblogs.com/peida/archive/2012/12/13/2815687.html

http://www.cnblogs.com/peida/archive/2012/12/14/2817473.html

 

使用示例:

bc——系統自帶簡易計算器

bc是一個很實用的命令,簡易的計算器程序。

bc – An arbitrary precision calculator language

用法:bc [ -hlwsqv ] [long-options] [ file … ]

運算符: + – / * % ^

調用標準數學庫:s(x)、c(x)、a(x)、l(x)、e(x) 三角函數 指數函數等。

設置結果保留位數:啓動bc後, 鍵入scale=4回車 設置4位小數點,

退出bc:quit

使用示例:

ifconfig、ping、route——查看系統網絡信息

這些命令主要是用來查看系統的網絡信息,通常是系統管理員須要掌握的,這裏簡單瞭解下:

  • ifconfig – configure a network interface
  • ping, ping6 – send ICMP ECHO_REQUEST to network hosts
  • route – show / manipulate the IP routing table

使用示例:

wget——從網上下載數據

有人可能會問如何在Linux上從網絡上下載一下文件什麼的呢,Linux下有不少這樣的命令,這裏介紹下經常使用的wget命令。這裏你們掌握了這個命令後,就不用在windows下下載,再從windows上傳到服務器 這麼麻煩了。好比後面作RNA-seq分析須要用到的tophat軟件,其下載地址爲 http://ccb.jhu.edu/software/tophat/downloads/tophat-2.0.14.Linux_x86_64.tar.gz,那麼如何直接下載到服務器呢?

使用示例:

bg、fg、jobs——讓程序先後臺切換運行

  • 有時候某個命令的運行時間過長,咱們想讓這個程序在後臺運行,同時將標準輸出標準錯誤輸出重定向到文件,咱們就能夠利用前臺的操做窗口進行其它操做,這時就須要將前臺運行的程序切換到後臺運行(比如把windows上播放視頻的程序從桌面的最上面窗口縮小到後臺運行,咱們能夠在桌面上運行其它程序,好比編輯word等。)(bg 等同於在程序最後面添加 後回車)
  • 有時候又想看看後臺到底有多少程序在運行呢?(jobs
  • 有時候又想把後臺運行的程序切換到前臺運行,實時觀察運行狀態。(fg

  • bg:

回車運行某個程序
[Ctrl + z]
參看 stopped前面的 job id, 如 1 2 3等

bg job-id : #[bg 1 回車]

  • jobs:

jobs 查看當前被推至後臺運行的程序

  • fg:

fg job-id # [fg 1 回車]    將job id 爲1 的後臺程序切換至前臺運行

使用示例:

bg1

 

bg2
which——查看命令的位置

which命令是用來查看某個命令的具體位置是在哪裏,好比pwd命令實際上是位於/bin/pwd。
使用方法:which [參數] 命令,這簡單介紹下-a參數,即列舉出全部符合條件的命令的位置,由於有可能系統有多個同命令的命令,只是所在目錄不一樣,後面會在環境變量中介紹。

who、w——顯示誰在登錄、在幹什麼
who – show who is logged on
w – Show who is logged on and what they are doing.
這個命令用的也不是不少,若是你關係系統的運行狀況則可使用該命令查看下。

使用示例:

 

history——查看歷史命令

在Linux中能夠經過上下鍵來一條條地翻閱歷史命令,history看名稱我就能夠猜到它是用於查看歷史記錄的,能夠顯示指定條數的歷史命令,首先來看下經常使用的幾個參數:

例子:

你們能夠結合後面講到的管道操做符 和 grep等命令來在history結果中搜索想要的歷史命令。

man——查看命令函數等幫助文檔

man – format and display the on-line manual pages, 主要是用來顯示一些命令和函數等的幫助文檔。

man [參數] name

使用示例:

 

 

all

6. 重要備註

alias——命令重命名
alias 爲系統內置命令,用來簡化負責的操做或者組合,依我的習慣不一樣,別名能夠本身定。
好比,咱們常常要利用ls -lh命令來查看文件及目錄的一些狀況,可是每次都這麼輸入就很麻煩,那有沒有一個簡單的辦法來解決這個問題呢? alias就行:

|——管道操做符

管道操做符 | ,道是Linux中很重要的一種通訊方式, 是把一個程序的輸出直接鏈接到另外一個程序的輸入用於串聯一系列的操做,好比:

.bashrc——環境變量設置

環境變量——讓它知道,別讓它來猜

  • 系統環境變量就是系統中一些約定俗稱的變量,系統經過這些變量的值來搜索一些東西,比如冰箱(Fridge)是一個環境變量,裏面的物品是一些元素(Element),咱們能夠根據本身的需求在冰箱中去搜索本身想要的東西。
  • Linux 內置環境變量:

 

 

  • 經過echo命令來顯示變量內容

 

 

  • 經過export命令來設置臨時變量(通常是在本次登錄有效,關閉鏈接後該變量消失)

 

 

而每一個用戶主目錄下都有一個.bashrc隱藏文件(不一樣Linux發行版其文件名稱可能不同)用來記錄用戶的環境變量配置(不止環境變量配置),當用戶登陸遠程服務器時,系統會自動經過執行這個文件來完成會話的一些基本環境配置(也能夠利用source ~/.bashrc 來臨時更新環境配置)。因此能夠將export命令寫入.bashrc文件來保證每次登錄時都能設置變量。
~/.bashrc文件中存放的其實就是一些shell命令
export命令用來設置相應的環境變量, #開頭的行表示是註釋信息
從新登陸或者執行 source ~/.bashrc來應用修改後的配置

screen、nohup——程序不中斷運行
程序持續運行——別讓我被kill

  • 不少朋友可能在實際的linux服務器管理工做中,常常會爲一些長時間運行的任務而頭疼,當有事離開咱們關掉了鏈接終端斷開SSH,剛纔運行着的程序也自動被中斷。下面就介紹下如何讓咱們的程序在斷開SSH後繼續在後行運行的方法。
  • 問題1:爲何ssh一關閉,程序就再也不運行了?

元兇:SIGHUP 信號
答案:關掉窗口/斷開鏈接會使得正在運行的程序死掉

  • 問題2:使用後臺運行命令&  可否將程序擺脫ssh進程組控制呢  也就是ssh關閉,後臺程序繼續運行?

咱們作一個試驗:

利用ctrl+d 註銷之後 再進入系統  會不會看見這個命令再運行?
答案是  :命令被停止了!!


那麼怎麼去解決上述問題呢?
1、使用nohup讓程序在後臺繼續運行
經常使用命令格式:
nohup ./home/nginx.sh &
注:若是運行成功剛默認會將標準輸出重定向到當前目錄的nohup.out文件中,查看此文件,能夠了解運行的進度;
也能夠重定向標準輸出標準錯誤輸出:
nohup somepragram [options] >log 2>errlog &

2、使用screen讓程序在後臺執行

screen是一個能夠在多個進程之間多路利用(複用)一個物理終端的窗口管理器。screen中有會話的概念,用戶能夠在一個screen會話中建立多個screen窗口,在每個screen窗口中就像操做一個真實的telnet/SSH鏈接窗口那樣

  • 建立screen會話

screen -S wordname #建立一個名爲wordname的會話

  • 暫時離開,保留screen會話中的任務或程序

當須要臨時離開時(會話中的程序不會關閉,仍在運行)能夠用快捷鍵Ctrl+a+d(即按住Ctrl,依次再按a,d)

  • 列出當前的會話列表

screen ls

  • 恢復screen會話

當回來時能夠再執行執行:

screen -r wordname  # 或者screen -r screen-id
便可恢復到離開前建立的會話的工做界面。

  • 關閉screen會話

執行:exit  #或者ctrl + D

  • 遠程演示

首先在服務器上執行screen -S test建立一個screen的會話,觀衆能夠連接到 遠程服務器執行screen -x test 這樣觀衆的屏幕上就會出現和演示者同步的內容。


7. 小結

經過上面一系列的生物信息學經常使用Linux操做命令的講解,相信你們對生物信息學的基本分析環境有了一個認識,你們也能體會將命令分門別類的學習效果更加明顯。你們在學習的過程當中也要逐步學會各類命令間的共同之處,這樣能夠觸類旁通,舉一反三。關鍵的一點仍是要多加練習,慢慢領會各類命令的功能與使用訣竅。

 

From:http://www.iwhgao.com/2-4-linux%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4/

相關文章
相關標籤/搜索