1. 程式人生 > >linux基礎知識整理(備忘)

linux基礎知識整理(備忘)

ubuntu官網下載

Linux 系統目錄結構

/bin:
bin是Binary的縮寫, 這個目錄存放著最經常使用的命令。

/boot:
這裡存放的是啟動Linux時使用的一些核心檔案,包括一些連線檔案以及映象檔案。

/dev :
dev是Device(裝置)的縮寫, 該目錄下存放的是Linux的外部裝置,在Linux中訪問裝置的方式和訪問檔案的方式是相同的。

/etc:
這個目錄用來存放所有的系統管理所需要的配置檔案和子目錄。

/home:
使用者的主目錄,在Linux中,每個使用者都有一個自己的目錄,一般該目錄名是以使用者的賬號命名的。

/lib:
這個目錄裡存放著系統最基本的動態連線共享庫,其作用類似於Windows裡的DLL檔案。幾乎所有的應用程式都需要用到這些共享庫。

/lost+found:
這個目錄一般情況下是空的,當系統非法關機後,這裡就存放了一些檔案。

/mnt:
系統提供該目錄是為了讓使用者臨時掛載別的檔案系統的,我們可以將光碟機掛載在/mnt/上,然後進入該目錄就可以檢視光碟機裡的內容了。

/proc:
這個目錄是一個虛擬的目錄,它是系統記憶體的對映,我們可以通過直接訪問這個目錄來獲取系統資訊。
這個目錄的內容不在硬碟上而是在記憶體裡,我們也可以直接修改裡面的某些檔案,比如可以通過下面的命令來遮蔽主機的ping命令,使別人無法ping你的機器:

/root:
該目錄為系統管理員,也稱作超級許可權者的使用者主目錄。

/sbin:
s就是Super User的意思,這裡存放的是系統管理員使用的系統管理程式。

/srv:
該目錄存放一些服務啟動之後需要提取的資料。

/tmp:
這個目錄是用來存放一些臨時檔案的。

/usr:
這是一個非常重要的目錄,使用者的很多應用程式和檔案都放在這個目錄下,類似於windows下的program files目錄。

/usr/bin:
系統使用者使用的應用程式。

/usr/sbin:
超級使用者使用的比較高階的管理程式和系統守護程式。

/usr/src:
核心原始碼預設的放置目錄。

/var:
這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌檔案。

在 Linux 系統中,有幾個目錄是比較重要的,平時需要注意不要誤刪除或者隨意更改內部檔案。

  • /etc: 上邊也提到了,這個是系統中的配置檔案,如果你更改了該目錄下的某個檔案可能會導致系統不能啟動。

    /bin, /sbin, /usr/bin, /usr/sbin: 這是系統預設的執行檔案的放置目錄,比如 ls 就是在/bin/ls
    目錄下的。

    值得提出的是,/bin, /usr/bin 是給系統使用者使用的指令(除root外的通使用者),而/sbin, /usr/sbin
    則是給root使用的指令。

    /var:
    這是一個非常重要的目錄,系統上跑了很多程式,那麼每個程式都會有相應的日誌產生,而這些日誌就被記錄到這個目錄下,具體在/var/log
    目錄下,另外mail的預設放置也是在這裡。

Ubuntu軟體操作的相關命令

sudo apt-get update 更新源

sudo apt-get install package 安裝包

sudo apt-get remove package 刪除包

sudo apt-cache search package 搜尋軟體包

sudo apt-cache show package 獲取包的相關資訊,如說明、大小、版本等

sudo apt-get install package --reinstall 重新安裝包

sudo apt-get -f install 修復安裝

sudo apt-get remove package --purge 刪除包,包括配置檔案等

sudo apt-get build-dep package 安裝相關的編譯環境

sudo apt-get upgrade 更新已安裝的包

sudo apt-get dist-upgrade 升級系統

sudo apt-cache depends package 瞭解使用該包依賴那些包

sudo apt-cache rdepends package 檢視該包被哪些包依賴

sudo apt-get source package 下載該包的原始碼

sudo apt-get clean && sudo apt-get autoclean 清理無用的包

sudo apt-get check 檢查是否有損壞的依賴

熟練使用 Linux常用的命令

  • ls 檢視檔案資訊

     引數		含義
     -a						顯示指定目錄下所有子目錄與檔案,包括隱藏檔案
     -l						以列表方式顯示檔案的詳細資訊
     -h						配合 -l 以人性化的方式顯示檔案大小
     萬用字元	含義
     *						檔案代表檔名中所有字元
     ls te*				查詢以te開頭的檔案
     ls *html			查詢結尾為html的檔案
     ?					代表檔名中任意一個字元
     ls ?.c				只找第一個字元任意,字尾為.c的檔案
     ls a.?				只找只有3個字元,前2字元為a.,最後一個字元任意的檔案
     []	[”和“]”			將字元組括起來,表示可以匹配字元組中的任意一個。“-”用於表示字元範圍。
     [abc]				匹配a、b、c中的任意一個
     [a-f]					匹配從a到f範圍內的的任意一個字元
     ls [a-f]*					找到從a到f範圍內的的任意一個字元開頭的檔案
     ls a-f						查詢檔名為a-f的檔案,當“-”處於方括號之外失去萬用字元的作用
     \								如果要使萬用字元作為普通字元使用,可以在其前面加上轉義字元。“?”和“*”處於方括號內時不用使用		
     ls \*a				查詢檔名為*a的檔案
    
  • clear clear作用為清除終端上的顯示(類似於DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l” 為字母 )。

  • cd 切換工作目錄

  • pwd 顯示當前路徑

  • mkdir 建立目錄

  • touch 建立檔案

  • rm 刪除檔案

  • cp 複製拷貝

     -r 若給出的原始檔是目錄檔案,則cp將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名。
     -v	顯示拷貝進度
    
  • mv 移動、重新命名

  • tree

  • chmod 修改許可權

  • find

  • grep 文字搜尋 搜尋內容可以是正則表示式

     	^a							行首,搜尋以 m 開頭的行;grep -n '^a' 1.txt
     	 ke$					行尾,搜尋以 ke 結束的行;grep -n 'ke$' 1.txt
    
  • 重定向 >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到檔案的尾部。

  • more 分屏顯示

  • | 管道:一個命令的輸出可以通過管道做為另一個命令的輸入

  • 軟連線、硬連結

  • cat 檢視或者合併檔案內容

  • 歸檔管理:tar
    tar -cvf 檔名
    -c 生成檔案檔案,建立打包檔案 -v 列出歸檔解檔的詳細過程,顯示進度
    -f 指定檔案檔名稱,f後面一定是.tar檔案,所以必須放選項最後

  • 檔案壓縮解壓:gzip
    壓縮:-r 壓縮所有子目錄 gzip -r a.tar a.tar.gz
    解壓:-d 解壓 gzip -d a.tar.gz
    壓縮用法: tar -zcvf a.tar.gz 檔案1,2
    > tar與gzip命令結合使用實現檔案打包、壓縮。
    > tar只負責打包檔案,但不壓縮,用gzip壓縮tar打包後的檔案,其副檔名一般用xxxx.tar.gz
    > 在tar命令中增加一個選項(-z)可以呼叫gzip實現了一個壓縮的功能,實行一個先打包後壓縮的過程

  • 檔案壓縮解壓:bzip2 同gzip原理

     壓縮用法:tar -jcvf 壓縮包包名 檔案...(tar jcvf bk.tar.bz2 *.c)
     解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2