Filesystem Hierarchy Standard(文件系統層次化標準)
-/boot: 系統啓動相關的文件,如內核、initrd,以及grub(bootloader)
-/dev: 設備文件
-/etc:配置文件
-/home:用戶的家目錄,每一個用戶的家目錄通常默認爲/home/USERNAME
-/root:管理員的家目錄;
-/lib:庫文件
-/media:掛載點目錄,移動設備
-/mnt:掛載點目錄,額外的臨時文件系統
-/opt:可選目錄,第三方程序的安裝目錄
-/proc:僞文件系統,內核映射文件
-/sys:僞文件系統,跟硬件設備相關的屬性映射文件
-/tmp:臨時文件, /var/tmp
-/var:可變化的文件
-/bin: 可執行文件, 用戶命令
-/sbin:管理命令
系統操作命令:
type:顯示命令類型
-t:輸出“file”、“alias”或者“builtin”,分別表示給定的指令爲“外部指令”、“命令別名”或者“內部指令”;
-p:如果給出的指令爲外部指令,則顯示其絕對路徑;
-a:在環境變量“PATH”指定的路徑中,顯示給定指令的信息,包括命令別名
練習:
help 命令:用於顯示內部命令的幫助信息
-s:輸出短格式的幫助信息。僅包括命令格式。
練習:展示cd 後面可接的選項
man:幫助手冊manual,顯示外部命令的幫助手冊,功能等同help
-a:在所有的man幫助手冊中搜索;
-f:等價於whatis指令,顯示給定關鍵字的簡短描述信息;
-P:指定內容時使用分頁程序;
-M:指定man手冊搜索的路徑
若沒有此命令,安裝:yum install man man-pages -y
練習:
whereis : 定位命令位置
file:文件類型
echo:打印到標準輸出
舉例:echo "hello world"
$PATH: 輸出環境變量:路徑
cat /etc/profile :輸出此文件
》 這個文件是一些人機交互的配置,不要亂動 ,(bash啓動(交互方式))
ps :顯示當前進程列表
-ef:顯示所有進程列表
echo $$ :當前shell的PID
hash -r :清除緩存
shell文件:是一個bash(程序)
/etc/profile:是bash(程序)的配置文件
source a.sh :執行這個bash(程序),在當前bash環境下讀取並執行FileName中的命令
練習:
df:顯示磁盤使用情況,默認顯示單位爲KB
選項:
-h :以可讀性較高的方式來顯示信息,格式化
du:du會顯示指定的目錄或文件所佔用的磁盤空間。
: du -sh :顯示當前目錄總的大小
: du -a :顯示當前目錄下所有文件的大小
stat 文件名:輸出文件的元數據(屬性:大小,修改時間等屬性)
練習:
touch 文件名 :觸摸文件
對於已經存在的文件,會修改文件的元數據(修改時間等屬性)
對於未存在的文件,會創建文件
文件操作命令
cat : 輸出文件內容,打印到屏幕上,並退出。
缺點:內容比較多時展示不全
more 文件A : 輸出內容,分屏展示,空格鍵切一屏,回車下一行
less 文件A : 道理同上
head -10 文件A :顯示前10行
tail -10 文件A : 顯示後10行
| :管道,左右都爲命令,原理爲先執行左邊的,然後在左邊的基礎上執行右邊的
練習:顯示文件的第八行內容,先輸出前8行,再在此基礎上輸出最後一行。
vim 文件A: 打開文件A,進入編輯模式
按i : 進入輸入模式
按Esc: 進入編輯模式
shift+: : 進入末行模式
vim +3 文件A : 打開文件A,並把光標定位到第三行
vim +/PATTERN : 打開文件,定位至第一次被PATTERN匹配到的行的行首
ZZ: 編輯模式,保存並退出 不需要冒號,
編輯模式下:
i : 在當前光標字符的前面轉成輸入模式
a : 在當前光標字符的後面轉成輸入模式
o : 在當前光標所在行的下方,新建一行,並轉爲輸入模式
O :大寫的o,在當前光標所在行的上方,新建一行,並轉爲輸入模式
編輯模式下:
移動光標:
h: 左;j: 下;k: 上;l: 右
單詞
w: 移至下一個單詞的詞首
e: 跳至當前或下一個單詞的詞尾
b: 跳至當前或前一個單詞的詞首
行內
0: 絕對行首
^: 行首的第一個非空白字符
$: 絕對行尾
行間
G:文章末尾
3G:第3行
gg:文章開頭
翻屏
ctrl:f,b
刪除&替換單個字符
x:刪除光標位置字符
3x:刪除光標開始3個字符
r:替換光標位置字符
刪除命令(相當於剪切) : d
dw:刪除一個單詞
dd:刪除一行
複製粘貼:
yw :複製一個單詞
yy :複製一行
p : 粘貼
編輯模式下:
撤銷&重做
u : 撤銷上一個操作
ctrl+r : 重新執行上一個已撤銷的操作
. : 再次執行上個操作
末行模式下:快捷鍵: shift+:
set nu : 顯示行號
set nonu : 不顯示行號
set readonly : 設置只讀
末行模式下:
查找某字符的位置 : /
/abc : 查找abc的位置 按n 查看上一個 按N查看下一個
末行模式下:
替換:
s/abc/123/gi : 將當前光標行abc全部替換成123
g : 替換當前行全部
i :不區分大小寫
正則表達式
grep:強大的文本搜索工具,顯示匹配行
v:反顯示
e:使用擴展正則表達式,指定字符串作爲查找文件內容的範本樣式
匹配操作符
\ :轉義字符
. :匹配任意單個字符
[1249a],[^12],[a-k] :字符序列單字符佔位
^ :行首
$ : 行尾
\<,\> :單詞首尾邊界
| : 連接操作符
(,) :選擇操作符
\n :反向引用
重複操作符:
? 匹配0到1次。
* 匹配0到多次。
+ 匹配1到多次。
{n} 匹配n次。
{n,} 匹配n到多次。
{n,m} 匹配n到m次。
舉例
51 grep "a" test
52 grep "a\{3\}" test
53 grep "\<aaa" test
54 grep "\<aaa\>" test
55 grep "b" test
56 grep "b\{2,3\}" test
57 clear
58 cat test
59 grep "god" test
60 grep "godgood" test
61 grep "god*good" test
62 grep "god.*good" test
63 grep "god.*good.*god.*good" test
64 grep "god.*good+" test
65 grep "\(god.*good\)+" test
66 grep "\(god\).*good.*\1" test
67 grep "\(god\).*\(good\).*\1.*\2" test
68 vi test
69 grep "\(god\).*\(good\).*\1.*\2" test
70 grep "\(god\).*\(good\).*\2.*\1" test
高級命令
sed :查找、替換
cut :用來顯示行中的指定部分,刪除文件中指定字段,連接兩個或多個文件
sort: 給文件內容排序輸出
wc :用來計算數字。利用wc指令我們可以計算文件的Byte數、字數或是列數,若不指定文件名稱,或是所給予的文件名爲“-”,則wc指令會從標準輸入設備讀取數據。
awk: 重要 ,必須掌握