Linux中文件的相對路徑和絕對路徑
絕對路徑:
以正斜杆開始
完整的文件路徑位置
可用於任何想指定的一個文件名
相對路徑:
不以斜線開始
指定相對於當前工作目錄或某目錄的位置
可以作爲一個簡短的形式指定一個文件名
cd 改變目錄
使用絕對路徑或者相對路徑
cd /etc/sysconfig/network-scripts
cd sysconfig/network-scripts
切換至父目錄
cd ..
切換至當前用戶主目錄
cd
切換至以前的工作目錄
cd -
相關環境變量
PWD:保存了上次目錄路徑
OLDPWD:上次所在目錄路徑
查看文件狀態stat
文件: 文件屬性 元數據(metadata)
數據(data)
時間戳:
access time:訪問時間,atime 讀取文件內容
modify time:修改時間,mtime 改變文件內容(數據)
change time:改變數據,ctime 元數據發生改變
文件通配符
* 匹配零個或多個字符 [:digit:] 匹配任意的數字相當於0-9
? 匹配任何單個字符 [:alpha:] 匹配所有的大小寫字母
~ 當前用戶家目錄 [:upper:] 匹配所有的大寫字母
~username 用戶家目錄 [:lower:] 匹配所有的小寫字母
~+ 當前工作目錄 [:blank:] 水平空白字符
~- 前一個工作目錄 [:alnum:] 匹配所有字母和數字
[0-9] 匹配數字範圍 [:punct:] 標點符號
[a-z] 匹配字母 遵循的順序是[aAbBcC...xXyYzZ] [:space:] 水平或垂直空白字符
[A-Z] 大寫字母 [:cntrl:] 控制(非打印)字符
[wxy] 匹配列表中的任何一個字符 [:print:] 可打印字符
[^wxy] 匹配列表中所有字符之外的字符 [:graph:] 圖形字符
[:xdigit:] 十六進制字符
touch命令
touch [option]...file...
-a 僅改變 atime
-m 僅改變 mtime
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
-c 如果文件不存在,則不予創建
複製文件和目錄cp
cp [OPTION]...[-T] SOURCE DEST
cp [OPTION]...SOURCE...DIRECTORY
cp [OPTION]...-t DIRECTORY SOURCE...
cp SRC DEST
SRC是文件:
如果目標不存在,新建DEST,並將SRC中內容填充之DEST中
如果目標存在:
如果DEST是文件,將SRC中的內容覆蓋至DEST中
如果DEST是目錄,在DEST下新建與原文件同名文件,並將SRC中內容填充之新文件中
cp SRC...DEST
SRC...: 多個文件
DEST必須存在,且爲目錄,其他情況皆出錯
cp SRC DEST
SRC 是目錄:此時使用-r選項
如果DEST不存在,則創建指定目錄,複製SRC中所有文件至DEST中
如果DEST存在:
如果DEST是文件,則報錯
cp [OPTIONS]
-i 交互式
-r -R 遞歸複製目錄及內部的所有內容
-a 歸檔,相當於-dR --preserv=all
-d --no-dereference --preserv=links 不復制原文件,只複製鏈接文件
--preserv=:
mode
ownership
timestamp
links
xattr
context
all
-p 等同 --preserv=mode,ownership,timestamp
-v --version
-f --force
別名命令
顯示當前shell進程多有可以使用的命令別名:alias
bash進程重新讀取配置文件
source /path . /path
撤銷別名 unalias
unalias [-a] name [name...]
如果別名與原命令重名,如果想使用原命令
"\COMMAND"
`COMMAND`(反引號)
絕對路徑
移動和重命名文件 mv
mv [OPTION]...[-T] SOURCE DEST
mv [OPTION]...SOURCE...DIRECTORY
mv [OPTION]...-t DIRECTORY SOURCE...
-i 交互式
-f 強制性
刪除 rm
-i 交互式
-f 強勢刪除
-r 遞歸
--no-preserv-root
目錄操作
tree 顯示目錄樹
-d 只顯示目錄
-L(level) 指定顯示的層級數目
-P(pattern) 只顯示由指定pattern匹配到的路徑
mkdir 創建目錄
-p 可自動創建所需的各級目錄
-v 顯示詳細信息
-m(mode) 創建目錄是指定權限
rmdir 刪除空目錄
-p 遞歸刪除父目錄
-v 顯示詳細信息
13. 標準輸入和輸出
程序:數據+指令
讀入數據:Input
輸出數據:Output
打開的文件都有一個fd:file descriptor(文件描述符)
標準輸入(STDIN): 0 默認接受來自鍵盤的輸入
標準輸出(STDOUT): 1 默認顯示到終端窗口
標準錯誤輸出(STDERR): 2 默認顯示到終端窗口
I/O重定向:改變默認位置
<:把STDIN重定向到文件
>: 把STDOUT重定向到文件
2>: 把STDERR重定向到文件
&>: 把所有輸出重定向到文件 等同於2>&1
>: 文件內容會被覆蓋
set -C:禁止將內容覆蓋已有文件,但可追加強制覆蓋:>|
set +C:允許覆蓋
>>: 原有內容基礎上,追加內容
2>: 覆蓋重定向錯誤輸出數據流
2>>:追加重定向錯誤輸出數據流
&>: 覆蓋重定向
&>>: 追加重定向
find /etc -name passwd 2> /dev/null
(): 合併多個程序的STDOUT
(cal 2015; cal 2016 ) >all.txt