linux基礎知識整理(備忘)
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