bash的基本特性:
1.命令補全
2.路徑補全
3.命令執行狀態結果
命令執行的狀態結果
bash通過狀態返回值來輸出此結果
成功:0
失敗:1-255
在命令執行完成後,其狀態返回值保存於bash的特殊變量 $?中,立即輸出 “echo $?”,可查看最近那條命令的狀態結果,
命令正常執行時,有點還有命令返回值,根據命令及其功能不同,結果各不相同。
引用命令的執行結果:$(COMMAND)或·COMMAND·
4.引用
單引號
雙引號
反引號
5.快捷鍵
ctrl+l:清屏;相當於clear命令
ctrl+c:取消命令的執行
ctrl+a:會移動到命令行的最前面
ctrl+e:會移動到命令行的最後面
ctrl+u:會刪除到行首
ctrl+k:會刪除到行尾
arrow ctrl+b ctrl+f 會向左或向右移動一個字符
esc+b :光標左移一個單詞 按鍵鬆手
esc+f:光標右移一個單詞 按鍵鬆手
ctrl+d:刪除光標後一個字符
文本操作命令:
目錄管理類的命令:
1.mkdir:make directory
make [options] .../PATH/TO/FILE..
-p:遞歸創建,按需創建父目錄
-v:顯示創建的過程信息 配合-p使用
-m MODE:創建目錄時指定權限,否則爲默認權限
注意:路徑基名方爲命令的作用對象,基名之前的路徑必須的存在
問題:
1.如何創建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,
[root@wen-7 tmp]# mkdir -pv /tmp/x/{y1/{a,b},y2}mkdir: 已創建目錄 "/tmp/x"mkdir: 已創建目錄 "/tmp/x/y1"mkdir: 已創建目錄 "/tmp/x/y1/a"mkdir: 已創建目錄 "/tmp/x/y1/b"mkdir: 已創建目錄 "/tmp/x/y2"
2. 如何創建 a_c,a_d,b_c,b_d
[root@wen-7 ~]# mkdir -pv {a_{c,d},b_{c,d}}mkdir: 已創建目錄 "a_c"mkdir: 已創建目錄 "a_d"mkdir: 已創建目錄 "b_c"mkdir: 已創建目錄 "b_d"
3.創建如下目錄結構
/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}[root@wen-7 tmp]# tree /tmp/mysysroot//tmp/mysysroot/├── bin├── etc│ └── sysconfig│ └── network-scripts├── sbin├── usr│ ├── bin│ ├── lib│ ├── lib64│ ├── local│ │ ├── bin│ │ ├── etc│ │ ├── lib│ │ └── sbin│ └── sbin└── var ├── cache ├── log └── run
tree命令:
tree [options] /PATH/TO..
-L #:指定要顯示的層級
-d:只顯示目錄
-p:打印文件的權限
-D:顯示文件時間
[root@wen-7 tmp]# tree -L 1 //├── bin -> usr/bin├── boot├── dev├── etc├── home├── lib -> usr/lib├── lib64 -> usr/lib64├── media├── mnt├── opt├── proc├── root├── run├── sbin -> usr/sbin├── srv├── sys├── tmp├── usr└── var
2.rmdir:remove empty directory
rmdir [OPTION]... DIRECTORY...
-p:刪除其某目錄後,如果其伏魔錄爲空,則一併刪除。次選項慎用
-v: -v:顯示創建的過程信息 配合-p使用
注意: 只用於刪除空目錄
文本查看類命令:
分屏查看命令:
1.more:
more FILE
翻屏至文件尾部自動退出
2.less:
less FILE
可以前後翻屏,按q退出
3.head:
查看文件的前n行
head [OPTION]... [FILE]...
-n #:指定查看行數,或省略n
-#:
4.tail:
查看文件的後n行
head [OPTION]... [FILE]...
-n #:指定查看行數,或省略n
-#: 例: tail -20
-f:查看文件尾部內容結束不退出,跟隨顯示新增的行 按ctrl+c退出
5.stat:
stat [OPTION]... [FILE]... 看到的是文件元數據
[root@wen-7 tmp]# stat /etc/issue
文件:"/etc/issue"
大小:41 塊:8 IO 塊:4096 普通文件
設備:fd00h/64768d Inode:38424098 硬鏈接:1
權限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近訪問:2016-07-27 08:51:42.424658209 +0800
最近更改:2016-07-26 09:47:25.763319552 +0800
最近改動:2016-07-26 09:47:25.765319604 +0800
創建時間:-
6.touch:
touch - change file timestamps
touch [options] ..file..
c:指定的文件路徑不存在時不予創建
-a:僅修改access time;對二進制文件來說,執行相當於讀取
-m:僅修改 modify tinme;
-t STAMP:指定日期,格式爲年月日小時分鐘秒 [YYMMDDHHmmss]
-d yesterday;指定昨天日期
[root@wen-7 tmp]# touch -m -t 1607271710.32 /etc/issue[root@wen-7 tmp]# stat /etc/issue 文件:"/etc/issue" 大小:41 塊:8 IO 塊:4096 普通文件設備:fd00h/64768d Inode:38424098 硬鏈接:1權限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)最近訪問:2016-07-27 08:51:42.424658209 +0800最近更改:2016-07-27 17:10:32.000000000 +0800最近改動:2016-07-27 17:11:01.965668196 +0800創建時間:-
文件管理工具:cp,mv,rm
1.cp命令 :cory
源文件:目標文件
單源複製:cp [OPTION]...[-T] SOURCE DEST
如果DEST不存在,則實現創建目標文件,並複製塬文件的數據流至DEST中;複製並改名;如需保留源文件屬性,使用cp -a選項。
如果DEST存在,
如果DEST是非目錄文件,則覆蓋目標文件,建議用-i選項
如果DEST是目錄文件,先在DEST目錄下創建一個與源文件同名的文件,並複製其數據流
多源複製:cp [OPTION]... SOURCE ...DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE ...
如果DEST不存在,錯誤;
如果DEST存在,
如果DEST是非目錄文件,錯誤;
如果DEST是目錄文件,分別複製每個文件至目標目錄,並保持原名
目錄:
如果DEST不存在,創建DEST,並把源文件夾內的所有文件複製到DEST中;
如果DEST存在,
如果DEST是非目錄文件,錯誤;
如果DEST是目錄文件,文件夾原名複製到 DEST下,作爲DEST的子目錄
常用選項:
-i:交互式複製,提醒用戶是否覆蓋
-f:強制覆蓋目標文件
-r,R:遞歸複製目錄至目標位置
-d:複製符號鏈接文件本身,而非其指向的源文件
-a: 用於實現歸檔
--preserv=
mode:權限
ownership:屬主和屬組
timestaps:時間戳
context:安全標籤
xattr:擴展屬性
links:符號鏈接
all:上述所有屬性
注意:覆蓋於重新創建並不一樣,覆蓋保留原有文件的屬性,cp過來重新的文件是源文件的屬性
2. mv命令:move
語法:mv [OPTION]...[-T] SOURCE DEST
mv [OPTION]... SOURCE ...DIRECTORY
mv[OPTION]... -t DIRECTORY SOURCE ...
目標是目錄
常用選項:
-i:交互式複製,提醒用戶是否覆蓋
-f:強制移動目標文件
-r,R:遞歸移動目錄至目標位置
rm命令:remove 移除 ####非常危險
語法:rm [file]
常用選項:
-i:交互式複製,提醒用戶是否覆蓋
-f:強制刪除目標文件
-r,R:遞歸刪除目標
注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄(模擬回收站)