一 Linux的文件系統linux
與Windows不一樣,Linux採用/ 爲全部文件的入口,經過/ 創建掛載關係,進而訪問數據。爲了統一不一樣發行版的文件系統,進而linux有了LBS規範下的FHS(文件系統層級結構標準)。而/目錄下的文件是按照特定機制組織的而且有特定含義。git
/boot: 引導文件存放目錄;
/bin: binary,供用戶使用的基本的命令;開機就會用到的命令;
/sbin:管理類命令;
/lib: 基本共享庫;內核模塊;
/lib64:x86_64系統的共享庫;
/etc:配置文件目錄;
/home/USERNAME: 普通用主目錄的默認位置;
/root: 管理員的主目錄;
/media:便攜式移動設備;
/mnt:臨時文件系統掛載點;
/opt: 可選目錄,默認第三方軟件的安裝位置;
/dev:devices,設備文件
b:塊設備
c: 字符設備
/proc:
僞文件系統;用於輸出內核與進程的相關信息;
/sys:
僞文件系統;
/srv:services,系統服務的中間數據;
/tmp:臨時文件目錄;
/usr:全局共享,只讀文件;
bin:保證系統提供基本功能;
sbin
lib
lib64
include: C程序的頭文件;
share:結構化的獨立數據
doc, man
local:如今經常使用的第三方程序的安裝位置;
bin
sbin
lib
lib64
etc
share
/var:可變數據存放
cache:應用程序緩存數據
lib:應用程序的狀態信息數據
local:專用於爲/usr/local下的應用程序存儲可變數據;
lock:鎖文件
log:日誌文件
opt:專用於/opt
spool:應用程序的數據池;
run:運行中的進程的相關數據;一般用守護進程 的pid文件;緩存
二 linux 文件類型bash
d: 目錄文件
b: 塊設備文件
c: 字符設備文件
l: 符號連接文件
p: 命名管道文件
s:套接字文件ide
三 bash特性spa
(1) 命令歷史
bash會記錄此前用戶執行的命令;命令行
history命令:
-c:清空命令歷史;
-d #: 刪除歷史中第#條的命令;
history #: 顯示最近執行的#條命令; 日誌
調用過去執行過的命令:
!#:調用歷史中的第#條命令;
!!: 重複執行上一條命令 排序
(2) 命令補全
命令搜索機制:
hash>內建命令路徑>外檢命令路徑
按TAB 搜索與輸入字母惟一匹配的命令 進程
(3) 路徑補全
根據用戶輸入的路徑在其上級目錄搜索指定字符開頭的文件
若是惟一:直接補全;
兩次Tab,列出全部符合條件的文件;
(4) 命令行展開的功能
~: 展開爲當前用戶的主目錄;
~USERNAME:展開爲指定用戶的根目錄;
{}:可承載一個以逗號分隔的列表,並其展開爲多個路徑;
/var/{log,cache,run} = /var/log /var/cache /var/run
(5) 命令的執行結果狀態,由bash追蹤和保存
成功:0
失敗:1-255
(6) 命令別名
alias/unalias
alias: 查看全部已經定義別名;
alias NAME=COMMAND:定義別名;
若是別名同原命令名,想直接執行原命令,則需使用\COMMAND
unalias NAME: 撤消別名;
(7) glob
文件名「通配」
*:匹配任意長度的任意字符;
?:匹配任意單個字符;
[]: 匹配指定範圍內的任意單個字符;
[^]:匹配範圍外的任意單個字符;
字符集合:
[:lower:]
[:upper:]
[:alnum:]
[:digit:]
[:space:]
[:punct:]
[:alnum:]
(8) 組合鍵
Ctrl+l:清屏
Ctrl+a: 切換至命令行首
Ctrl+e:切換至命令行尾
Ctrl+c:取消命令執行
Ctrl+u:刪除光標所在處至行首的內容;
Ctrl+k: 刪除光標所在處至行尾的內容;
(9) IO重定向和管道
I/O重定向:
輸入重定向
輸出重定向:
COMMAND > NEW_POS, COMMAND >> NEW_POS
>:覆蓋重定向;
>>:追加劇定向;
錯誤重定向:
2>:覆蓋
2>>:追加
管道:
第一條命令的輸出結果爲第二條命令的輸入
四 文件處理命令
(1) wc:單詞,字符統計
wc [OPTION]... FILE...
-l: 顯示行數
-w: 顯示單詞數
(2) cut:剪切文本
cut OPTION... [FILE]...
-d: 指明分隔符;-d' ', -d:
-f:指明要顯示的字段
#:
#-#:1-3
#,#: 1,3,7
(3)sort:排序
sort [OPTION]... [FILE]...
-r: 逆序
-f: 忽略字符大小寫
-u: 排序後去重
-t CHAR: 指明分隔符
-k #: 字段
-n: 表示以數值大小排序
(4) uniq:區分 uniq [OPTION]... [FILE]... -c: 顯示每行重複的次數; -d: 只顯示重複過的行; -u: 只顯示未曾重複的行; 常與sort結合使用管道