本章命令(共9個):linux
輸出重定向 |
輸入重定向 |
管道符 |
通配符 |
三種引號 |
軟鏈接 |
硬連接 |
根「/」 |
絕對路徑vs相對路徑 |
1.輸出重定向
做用:通常命令的輸出都會顯示在終端中,有些時候須要將一些命令的執行結果想要保存到文件中進行後續的分析/統計,則這時候須要使用到的輸出重定向技術。
- 覆蓋輸出 >:會覆蓋掉原先的文件內容 (1>)
- 追加輸出 >>:不會覆蓋原始文件內容,會在原始內容末尾繼續添加(1>>)
- 錯誤輸出 2>:會覆蓋掉原先的文件內容
- 錯誤追加輸出 2>>:會覆蓋掉原始文件內容,會在原始內容末尾繼續添加
- 將標準輸出與錯誤輸出共同寫入到文件中 &>:覆蓋原有內容
- 將標準輸出與錯誤輸出共同寫入到文件中 &>>:追加到原有內容的後面
用法:
╭─root@localhost.localdomain ~/2
╰─➤ echo "hello" > fil1 #會覆蓋原文件內容(標準輸出)
╭─root@localhost.localdomain ~/2
╰─➤ echo good >> fil1 #不覆蓋原文件內容 (標準輸出)
╭─root@localhost.localdomain ~/2
╰─➤ cd fil2 &>> fil1 #不覆蓋原文件內容(標準與錯誤輸出)
╭─root@localhost.localdomain ~/2
╰─➤ cat fil1
hello
good
cd: 沒有那個文件或目錄: fil2
2.輸入重定向
做用:工做中沒吊用,瞭解便可,輸入重定向的做用是把文件直接導入到命令中。
3.管道符
做用:管道命令符「 | 」的做用是把前一個命令本來要輸出到屏幕的標準正常數據看成是後一個命令的標準輸入。
╭─root@cjk ~/2
╰─➤ cat /etc/passwd | wc -l
43
4.通配符
做用:通配符就是通用的匹配信息的符號;
- 星號(*)表明匹配零個或多個字符(能夠爲0個)
- 問號(?)表明匹配單個字符(單個字符必須存在)
- 中括號內加上數字[0-9]表明匹配0~9之間的單個數字的字符,
- 中括號內加上字母[abc]則是表明匹配a、b、c三個字符中的任意一個字符。
╭─root@cjk ~/2
╰─➤ ls
1abc 1abcde 2abc 2abcde 3abc 3abcde 4abc 4abcde 5abc 5abcde
╭─root@cjk ~/2
╰─➤ ls *a
zsh: no matches found: *a
╭─root@cjk ~/2
╰─➤ ls *a*
1abc 1abcde 2abc 2abcde 3abc 3abcde 4abc 4abcde 5abc 5abcde
╭─root@cjk ~/2
╰─➤ ls ?a??
1abc 2abc 3abc 4abc 5abc
╭─root@cjk ~/2
╰─➤ ls [1..9]abc
1abc
╭─root@cjk ~/2
╰─➤ ls [1-9]abc
1abc 2abc 3abc 4abc 5abc
╭─root@cjk ~/2
╰─➤ ls 1ab[cde]
1abc
5.三種引號
做用:
- 單引號(''):轉義其中全部的變量爲單純的字符串;
- 雙引號(""):對其中變量進行解釋處理;
- 反引號(``):把其中的命令執行後返回結果;
╭─root@cjk ~/2
╰─➤ fda=cjk
╭─root@cjk ~/2
╰─➤ echo 'hello $fda' #不解釋
hello $fda
╭─root@cjk ~/2
╰─➤ echo "hello $fda" #解釋
hello cjk
╭─root@cjk ~/2
╰─➤ name=`ls /root` #執行命令
╭─root@cjk ~/2
╰─➤ echo $name
2
anaconda-ks.cfg
initial-setup-ks.cfg
6.軟鏈接
【軟連接至關於快捷方式,硬連接至關於複製粘貼】
╭─root@cjk ~/2
╰─➤ ln -s 1 ruan1 #爲源文件「1」建立軟鏈接「ruan1」 ln -s
╭─root@cjk ~/2
╰─➤ ls
1 ruan1
╭─root@cjk ~/2
╰─➤ echo "hello" >> ruan1 #寫入內容進軟鏈接
╭─root@cjk ~/2
╰─➤ cat 1
hello #源文件內容同步
╭─root@cjk ~/2
╰─➤ rm 1 #刪除源文件
╭─root@cjk ~/2
╰─➤ cat ruan1
cat: ruan1: 沒有那個文件或目錄
╭─root@cjk ~/2
╰─➤ ls
ruan1 ---->特殊顯示(變背景)說明源文件已被刪除的軟鏈接
╭─root@cjk ~/2
╰─➤ touch 1 #建立一個同名源文件
╭─root@cjk ~/2
╰─➤ cat ruan1 #自動鏈接並清空原內容
╭─root@cjk ~/2
╰─➤
7.硬連接
【軟連接至關於快捷方式,硬連接至關於複製粘貼】
╭─root@cjk ~/2
╰─➤ ln 2 ying2 #爲源文件「2」建立硬連接「ying2」
╭─root@cjk ~/2
╰─➤ ls
1 2 ruan1 ying2
╭─root@cjk ~/2
╰─➤ echo "good" >>ying2 #寫入內容進硬連接
╭─root@cjk ~/2
╰─➤ cat 2
good #源文件同步
╭─root@cjk ~/2
╰─➤ rm 2 #刪除源文件
╭─root@cjk ~/2
╰─➤ cat ying2
good #硬連接無影響
8.根「/」
一切從根「/」起
Linux系統中常見的目錄名稱以及相應內容:
/boot |
開機所需文件—內核、開機菜單以及所需配置文件等 |
/dev |
以文件形式存聽任何設備與接口 |
/etc |
配置文件 |
/home |
用戶主目錄 |
/bin |
存放單用戶模式下還能夠操做的命令 |
/lib |
開機時用到的函數庫,以及/bin與/sbin下面的命令要調用的函數 |
/sbin |
開機過程當中須要的命令 |
/media |
用於掛載設備文件的目錄 |
/opt |
放置第三方的軟件 |
/root |
系統管理員的家目錄 |
/srv |
一些網絡服務的數據文件目錄 |
/tmp |
任何人都可使用的「共享」臨時目錄 |
/proc |
虛擬文件系統,例如系統內核、進程、外部設備及網絡狀態等 |
/usr/local |
用戶自行安裝的軟件 |
/usr/sbin |
Linux系統開機時不會使用到的軟件/命令/腳本 |
/usr/share |
幫助與說明文件,也可放置共享文件 |
/var |
主要存放常常變化的文件,如日誌 |
/lost+found |
當文件系統發生錯誤時,將一些丟失的文件片斷存放在這裏 |
proc 文件系統能夠被用於收集有用的關於系統和運行中的內核的信息。下面是一些重要的文件:
- /proc/cpuinfo - CPU 的信息(型號, 家族, 緩存大小等)
- /proc/meminfo - 物理內存、交換空間等的信息
- /proc/mounts - 已加載的文件系統的列表
- /proc/devices - 可用設備的列表
- /proc/filesystems - 被支持的文件系統
- /proc/modules - 已加載的模塊
- /proc/version - 內核版本
- /proc/cmdline - 系統啓動時輸入的內核命令行參數
9.絕對路徑vs相對路徑
- 在Linux系統中另外還有一個重要的概念—路徑。
- 路徑指的是如何定位到某個文件,分爲絕對路徑與相對路徑。
- 絕對路徑指的是從根目錄(/)開始寫起的文件或目錄名稱
- 相對路徑則指的是相對於當前路徑的寫法。
