1. 程式人生 > 實用技巧 >學習筆記三:基礎篇Linux基礎

學習筆記三:基礎篇Linux基礎

Linux基礎

直接選擇排序>快速排序>基數排序>歸併排序 >堆排序>Shell排序>氣泡排序=氣泡排序2 =直接插入排序

一、Linux磁碟分割槽表示

Linux中將硬碟、分割槽等裝置均表示為檔案

例如:/dev/hda5

  • dev表示硬體裝置檔案所在的目錄

  • hd表示IDE裝置,sd則表示SCSI裝置 a代表硬碟的序列號,以字母a、b、c表示 5表示分割槽的順序號,以數字1、2、3表示,主分割槽從1開始到4,邏輯分割槽從5開始

二、檔案系統型別

  1. 預設使用的: EXT4:第四代擴充套件檔案系統 SWAP:交換檔案系統

  2. 支援的其他檔案系統型別: FAT16、FAT32、NTFS、XFS、JFS... ...

三、Linux根目錄下各個資料夾的作用

  • /bin 二進位制可執行命令,/ b i n目錄包含了引導啟動所需的命令或普通使用者可能用的命令(可能在引導啟動後)。這些命令都是二進位制檔案的可執行程式( b i n是b i n a r y - -二進位制的簡稱),多是系統中重要的系統檔案。

  • /dev 裝置特殊檔案,即裝置驅動程式,使用者通過這些檔案訪問外部裝置。比如,使用者可以通過訪問/dev/mouse來訪問滑鼠的輸入,就像訪問其他檔案一樣。 /etc 系統管理和配置檔案,其中包括了使用者資訊檔案/etc/passwd,系統初始化檔案/etc/rc等。l i n u x正是*這些檔案才得以正常地執行。

  • /etc/rc.d 啟動的配置檔案和指令碼

  • /home 使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以用~user表示

  • /lib 標準程式設計庫,又叫動態連結共享庫,作用類似windows裡的.dll檔案,/lib目錄是根檔案系統上的程式所需的共享庫,存放了根檔案系統程式執行所需的共享文 件。這些檔案包含了可被許多程式共享的程式碼,以避免每個程式都包含有相同的子程式的副本,故可以使得可執行檔案變得更小,節省空間。

  • /sbin 系統管理命令,這裡存放的是系統管理員使用的管理程式 ,/sbin目錄類似/bin ,也用於儲存二進位制檔案。因為其中的大部分檔案多是系統管理員使用的基本的系統程式,所以雖然普通使用者必要且允許時可以使用,但一般不給普通使用者使用。

  • /tmp 公用的臨時檔案儲存點,目錄存放程式在執行時產生的資訊和資料。但在引導啟動後,執行的程式最好使用 /var/tmp來代替/tmp ,因為前者可能擁有一個更大的磁碟空間。

  • /root 系統管理員的主目錄

  • /mnt 系統提供這個目錄是讓使用者臨時掛載其他的檔案系統。/ mnt目錄是系統管理員臨時安裝( mount )檔案系統的安裝點。程式並不自動支援安裝到 /mnt 。/mnt 下面可以分為許多子目錄,例如/mnt/dosa 可能是使用msdos檔案系統的軟碟機,而/mnt/exta 可能是使用e x t 2檔案系統的軟碟機,/mnt/cdrom 光碟機等。

  • /lost+found 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的檔案(windows下叫什麼.chk)就在這裡

  • /proc 虛擬的目錄,是系統記憶體的對映。可直接訪問這個目錄來獲取系統資訊。

  • /var 某些大檔案的溢位區,比方說各種服務的日誌檔案

  • /boot 目錄存放引導載入器(bootstrap loader)使用的檔案,如l i l o,核心映像也經常放在這裡,而不是放在根目錄中。但是如果有許多核心映像,這個目錄就可能變得很大,這時使用單獨的檔案系統會更好一些。還有一點要注意的是,要確保核心映像必須在i d e硬碟的前1 0 2 4柱面內。

  • /usr 最龐大的目錄,要用到的應用程式和檔案幾乎都在這個目錄。其中包含:

    1. /usr/x11r6 存放x window的目錄

    2. /usr/bin 眾多的應用程式

    3. /usr/sbin 超級使用者的一些管理程式

    4. /usr/doc linux檔案

    5. /usr/include linux下開發和編譯應用程式所需要的標頭檔案

    6. /usr/lib 常用的動態連結庫和軟體包的配置檔案

    7. /usr/man 幫助檔案

    8. /usr/src 原始碼,linux核心的原始碼就放在/usr/src/linux裡

    9. /usr/local/bin 本地增加的命令

    10. /usr/local/lib 本地增加的庫根檔案系統

四、Linux快捷鍵和命令列

  1. Ctrl+Alt+F1 圖形化介面

  2. Ctrl+Alt+F2 切換到字元命令列介面

  3. 命令的執行依賴於直譯器程式(例如:/bin/bash)

  4. 命令分類:

    • 內部命令:屬於shell直譯器的一部分

    • 外部命令:獨立於shell直譯器之外的程式檔案

  5. 命令格式:命令字 [選項] [引數]

    • 選項:用於調節命令的具體功能

    • 以“-”引導短格式選項(單個字元),例如“-l”

    • 以“--”引導長格式選項(多個字元),例如“--color”

    • 多個短格式選項可以寫在一起,只用一個“-”引導,例如“-al”

  6. Ctrl+U 清空至行首 ;+K 清空至行尾 ;+L 清屏 ;+C 取消此次命令編輯

  7. --help 查詢某個命令的幫助

  8. uname -r 檢視系統核心 ;

    • -a 檢視核心詳細資訊

  9. which +某個命令 查詢命令做關聯的目錄

  10. hostname 檢視當前主機名

  11. ifconfig 檢視ip地址

  12. ls -l 檢視當前目錄檔案 -R 遞迴檢視 rwx分別代表讀寫可執行 l代表連結檔案(相當於快捷方式) 如:rwxr-xr- - 每三個一組從左到右分別代表 該檔案建立者許可權、建立者使用者組中其他使用者許可權、其他普通使用者許可權

  13. chmod 許可權數字(如777) 檔名 其中r為4,w為2,x為1

  14. cat /proc/cpuinfo 檢視cpu資訊

  15. cat /proc/meminfo 檢視記憶體資訊

  16. halt 、shutdown -h now 、poweroff 關機

  17. reboot、shutdown -r now 重啟

  18. du [選項] [目錄或檔名] 統計目錄及檔案的空間佔用情況

    • -a:統計時包括所有檔案,而不是隻統計目錄 ;

    • -h:以更容讀的位元組單位(K、M等)顯示資訊 ;

    • -s:只統計每個引數所佔用空間總的大小 ;

  19. mkdir [-p] [/路徑/] [目錄名] 建立新的目錄

    • [-p] 是遞迴建立

  20. touch 檔名... 新建空檔案,或更新時間標記

  21. ln [-s] [原始檔或目錄...] [連結檔案或目標目錄] 建立連線檔案

  22. cp 複製檔案或目錄

    • -r:遞迴複製整個目錄樹 ;

    • -p:保持原檔案的屬性不變;

    • -f:強制覆蓋目標同名檔案和目錄;

    • -i:需要覆蓋檔案或目錄時進行提醒

  23. rm 刪除檔案或目錄

    • -f:強行刪除檔案或目錄,不進行提醒 ;

    • -i:刪除檔案後目錄時提醒使用者確認 ;

    • -r:遞迴刪除

  24. mv 移動檔案或目錄

  25. find 查詢檔案或目錄

    • -name:按檔名稱查詢;

    • -size:按檔案大小查詢;

    • -user:按檔案屬主查詢;

    • -type:按檔案型別查詢

  26. cat 顯示出檔案的全部內容

    • -n 給輸出的所有行加上編號

    • cat 1 2 > 3 合併檔案

  27. wc 統計檔案中單詞數量、位元組數、行數

    • -l 統計行數

    • -w 統計單詞數

    • -c 統計字元數

    • wc sdxh.txt 會出現 2 4 26 其中2是行數,4是單詞數,26是字元數

    • history 檢視歷史命令

  28. 壓縮命令

    • gzip 檔名 壓縮檔案 格式為字尾有.gz

    • bzip2 檔名 壓縮成的檔名 格式為字尾有.bz2 它相對於gzip壓縮率更高

    • -d 釋放壓縮檔案

  29. tar 歸檔命令,釋放歸檔檔案,沒有壓縮功能

    • 格式:tar 選項 歸檔檔名 原檔案或目錄

    • -c 建立歸檔檔案 副檔名為.tar

    • -v 輸出詳細資訊

    • -f 表示使用歸檔檔案 如:-cvf 建立歸檔檔案

    • tar -cvf 4.tar 1 2 3 將檔案1 2 3打包歸檔為4.tar

    • tar -xvf 4.tar 解包歸檔檔案4.tar 如:-xvf 解包歸檔檔案

    • -x 解開歸檔檔案

    • -t 列表檢視包內檔案(不釋放解包)

    • tar -tvf 4.tar -r 追加TAR檔案至歸檔結尾

    • tar -rvf 4.tar 5 把5加入4.tar

    • -p 解包時保留原始檔案及目錄的許可權

    • -C 解包時指定釋放的目標資料夾

    • -z 呼叫gzip程式 進行解壓或壓縮

    • -j 呼叫bzip2程式 進行解壓或壓縮

    • 如:tar -cvzf test.tar.gz 或 tar -xvzf test.tar.gz -C /user/src

  30. apt-get install xxx(軟體名)連網條件下從資源庫安裝軟體包資源

  31. uesradd 新增使用者賬號

    • -u:指定UID標記號

    • -e:指定賬號失效時間

    • -g:指定使用者的基本組名(或UID號)

    • -G:指定附加組名(或GID號)

    • -M:不為使用者建立並初始化宿主目錄

    • -s:指定使用者的登入shell

  32. su 切換使用者

  33. userdel 刪除使用者賬號 加-r連同家目錄一起刪除

五、vi編輯器

  1. 基本語法:vi [-options] [+[n]] [file]

    • -r 用於恢復系統突然崩潰時正在編輯的檔案

    • -R 用於以只讀方式開啟檔案

    • +n 用來指明進入vi後直接位於檔案的第n行,如果不指定n,則位於最後一行

  2. :set nu 顯示行號

  3. 搜尋和替換:在命令模式下

    • /string 向前搜尋指定字串

    • n 搜尋指定字串的下一個出現位置

    • :%s/old/new/g 全文替換指定字串

    • :n1,n2s/old/new/g 在一定範圍內替換指定字串

六、安裝、升級、解除安裝RPM包

  1. 安裝或升級RPM軟體

    • rpm [選項] RPM包軟體…

    • 用法:不同選項適用於不同情況

      • -i:安裝一個新的rpm包

      • -U:升級某個rpm軟體,若未安裝則進行安裝

      • -F:更新某個rpm軟體,若未安裝則放棄安裝

      • -e 軟體名 :解除安裝指定RPM軟體

      • -vh :顯示安裝程式

七、Linux系統網路配置

  1. ifconfig 檢視所有活動的網路介面資訊,命令後可以加網路卡型別來指定

  2. 網路卡型別:

    • eth0:乙太網

    • lo:(虛擬)環回裝置

    • ppp0:使用PPP協議的串列埠裝置(通常指調變解調器)

    • tr0:令牌環

    • fddi0:光纖

  3. route 設定路由記錄

    • 刪除路由表中的預設閘道器記錄:route del default gw IP地址

    • 向路由表中新增預設閘道器記錄:route add default IP地址

    • 新增到指定網段的路由記錄:route add -net 網段地址/24 gw IP地址

    • 刪除指定網段的路由記錄:route del -net 網段地址

  4. 網路介面配置檔案:/etc/sysconfig/network-scripts/ 目錄下

    • ifcfg-eth0:第一塊乙太網絡卡配置檔案

    • ifcfg-eth1:第二塊乙太網絡卡配置檔案

  5. hostname 檢視主機名

  6. netstat 檢視網路連線情況

    • -a:顯示所有活動連結

    • -n:以數字形式顯示

    • -p:顯示程式資訊

    • -t:檢視TCP協議相關資訊

    • -u:檢視UDP協議相關資訊

    • -r:顯示路由表資訊

    • 例:netstat -anpt | grep:21 檢視21埠資訊

  7. 重啟network網路服務:service network restart

  8. 禁用、啟用埠:

    • ifdown eth0

    • ifup eth0