1. 程式人生 > >Linux 基礎命令與文檔樹

Linux 基礎命令與文檔樹

n) 安裝 當前 src lena 系統軟件 tina which 不能

最基礎

  • tab 補全
  • * 通配符
  • ctrl+c 中斷當前進程
  • ctrl+d EOF或者exit
  • shift+page down/up 窗口翻頁

指令/檔案幫助:

  • man page(manual 說明文檔)(man的說明見man man)
  • info page 可讀性更強的man(linux獨有)
  • 程序說明文檔 usr/share/doc

系統狀態:

  • who 當前在線用戶
  • netstat 網絡狀態
  • ps -aux 正在活動的進程
  • ls 即list,列出當前目錄下的文檔/目錄
  • ls -l 列出文檔的同時,還列出其權限等信息
  • ls -a 列出所有文檔,包括隱藏文檔和 . ..

文檔搜索:

  • which 只搜索 PATH 下的所有程序
  • whereis 只查詢特定目錄下的文檔(使用完全匹配),主要是/usr/share/man /usr/src等,可用-l選項查看被查詢的目錄。
  • locate 關鍵字匹配,並且使用預建索引,索引可使用updatedb手動更新。
  • find PATH option action 靈活強大的搜索指令
  • find . -name "*.png" 查找當前目錄下的所有png圖片。

系統控制:

  • shutdown -h now 正常關機(poweroff)
  • shutdown -r now 正常重啟(reboot)
  • systemctl 管理命令
  • tty-x切換:ctrl+alt+f-x
  • 字符集:locale 或 echo $LANG
  • time 指令: 輸出指令執行所用的時間

目錄操作

  • cd (change directory)
  • pwd (print work directory)
  • mkdir -[mp] (make directory)
    • m選項 設定權限rwx...
    • p選項 自動創建多層目錄
  • rmdir -[p] dir_name 刪除空目錄
    • p選項 刪除多層空目錄
  • PATH環境變量:所有的命令,都只會從該變量指定的目錄查找。如果要運行不在$PATH中的程序,需要使用絕對路徑或相對路徑明確指定。

文檔與目錄

  • cp -[aipr] source destination (不同身份的用戶,執行這條指令,結果會有明顯的差別)
    • a選項 遞歸復制所有文件、對link文件復制其本身(不加a的話,默認是復制源文件的,而不是該link文件)
    • i選項 交互模式,執行不可逆操作(覆蓋)時,先行提示
    • p選項 同時復制該文件的所有屬性(權限、所有者、時間)
    • r選項 遞歸復制,用於目錄復制
    • u選項 在目標文檔與源文檔有差異時才復制,常用於備份。
    • cp file1 file2 directory 復制多個文件到一個目錄
  • rm -[fir] file_or_dir
    • f 強制刪除,忽略不存在的檔案,沒有任何提示
    • i 交互模式
    • r 遞歸移除(rmdir的加強版,危險操作)
  • mv -[fiu]
    • f 強制移動,直接覆蓋已有文檔,無提示
    • i 交互模式
    • u 更新模式update,只當 source 比目標文檔更新時才覆蓋。
    • 可一次移動多個文件到某目錄
    • 也用於目錄或文檔的更名
  • touch 新建空文檔/更新已存在文檔的時間

文檔內容查閱

  • cat -n 正序查閱(n表示帶行號)
  • tac 倒敘(cat的反寫)
  • nl 顯示行號
  • more 一頁頁查閱
  • less 滾動查閱,前後都可滾動、還有幾個跳轉查找指令可用
  • head [-n num] file 查看前num行,默認10
  • tail 查看最後num行,用法同上
  • hd 查看binary文檔,默認16進制

文檔與目錄的權限管理

  • r:read w:write x:execute
    • 文檔
      • 文檔的 rwx 控制文檔的可讀寫/執行,但不包括增刪。
    • 目錄的 rwx
      • r 表示可查看目錄內的結構(至於目錄內的內容是否可讀,就是它自己的rwx的事了)
      • w表示可增刪這個目錄內的結構
      • x 表示能以該目錄為當前工作目錄(可 cd 到該目錄)
  • chmod 755 file.sh
    • 僅擁有者可寫,其他人可讀可執行。(創建 shell 腳本時常用 r w x : 4 2 1)
    • 另一種方法是使用 u g o,可讀性更好,但是書寫會麻煩一點點。
    • 第三種方法是使用 a 和 +-= 來設定
  • chown ryan:ryan filename
    • 修改文件擁有者、群組。不同用戶之間交換文件時常用。(例如root要發一個文件給普通用戶)
  • chgrp 僅修改群組時使用
  • umask 檔案預設需要減掉的(掩碼)權限(未理解)
  • chattr [+-=][ai] file 設置隱藏屬性,常用於安全相關的設置
    • a 只能增加內容,不能被刪除、修改
    • i 不可變對象,不能被刪除、修改、改名、創建鏈接、增加內容。
  • lsattr 顯示隱藏屬性

特殊權限屬性:

  • SUID SGID 運行時權限,僅運行時,執行者能擁有的權限。(set user id set group id)
  • sticky bit

Linux 的目錄結構(僅較重要的部分)

  1. /usr (unix software resources) 主要的系統軟件
    • usr/bin 預置的系統軟件,基本都在這裏
    • usr/locale 管理員額外安裝的系統軟件,應安裝在此。(這樣多用戶可通用)
    • usr/share 基本都是只讀文檔,man doc 都在這
    • usr/include c/c++的頭文件
    • usr/src 系統軟件的源代碼,可放置於此。
  2. /var variable,可變目錄,隨著使用增大。
    • var/cache 緩存
    • var/lock 資源鎖
    • var/log 日誌文件
  3. /etc 系統配置文件
    • 全局環境
      • /etc/bash.bashrc
      • /etc/profile
    • 用戶環境
      • ~/.bashrc
      • ~/.profile

Linux 基礎命令與文檔樹