1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
文件管理類命令:cat,tac,head,tail,more,less
分屏查看命令:more,less
more:
more FILE
特點,翻盤至文件尾部后自動退出
less FILE
head:查看文件的前n行
head [options] FILE
-n 數字
-數字
tail:查看文件的后n行
tail [options] FILE
-n 數字
-數字
-f:查看文件尾部內容結束后不退出,跟隨顯示新增的行
stat:顯示文件或文件系統的狀態
stat FILE…
文件:兩類數據
元數據:metadata
數據:data
時間戳:
Access: 2018-05-25 05:05:05.833441684 +0800
Modify: 2018-05-25 05:04:12.441441773 +0800
Change: 2018-05-25 05:04:12.441441773 +0800
touch:修改文件的時間戳
touch [OPTION]… FILE…
-c:指定的文件路徑不存在時不予創建
-a:僅修改access
-m:僅修改modify
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
例子: touch -m -t 0212030303.03 (2002年12月03日03:03:03)
cp:copy
源文件–目標文件
單源復制:cp [OPTION]… [-T] SOURCE DEST
多源復制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
單源復制:cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在,則事先創建此文件,并復制源文件的數據流至DEST中
如果DEST存在:
如果DEST是非目錄文件,則覆蓋目標文件
如果DEST是目錄文件,則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流
多源復制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在,錯誤;
如果DEST存在:
如果DEST是非目錄文件,錯誤
如果DEST是目錄文件,分表復制每個文件至目標目錄中,并保持原名
常用選項:
-i:交互式復制,即覆蓋之前提醒用戶確認
-f:強制覆蓋目標文件
-r:遞歸復制文件
-d:復制符號鏈接文件本身,而非其指向的源文件
-a:-dR –preserve=all,archive ,用于實現歸檔
–preserv=
mode:權限
ownership:屬主和屬組
timestamps:時間戳
context:安全標簽
xattr:拓展屬性
links:符號鏈接
all:上述所有屬性
mv:move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項:
-i:交互式
-f:強制性
rm:remove(刪除文件)
rm [OPTION]… FILE…
常用選項:
-i:交互式
-r:recursive
-f:強制性
刪除目錄:rm -rf /PATH/TO/DIR ,注意切勿隨便使用
注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄(模擬回收站)
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash的基礎特性之一:
命令歷史:shell進程會在其會話中保存此前用戶提交執行過的命令
~]#history
定制history的功能,可通過環境變量實現
HISTSIZE:shell進程可保留的命令歷史的條數
HISTFILE:持久保存命令歷史的文件, “.bash_history”
HISTFILESIZE:命令歷史文件的大小
命令用法:
history [-c] [-d offset] [n]
or history -anrw [filename]
or history -ps arg [arg…]
-c:清空命令歷史
-d offset:刪除指定命令歷史
-r:從文件讀取命令歷史至歷史列表中
-w:把歷史列表中的命令追加至歷史文件中
history +數字:顯示最近的“數字”條命令
調用命令歷史列表中的命令:
!+數字:再一次執行歷史列表中的第“數字”條命令
?。。涸僖淮螆绦猩弦粭l命令
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令
注意:命令的重復執行有時候需要依賴于冪等性
調用上一條命令的最后一個參數:
快捷鍵:ESC ,.
字符串:!$
控制命令歷史記錄的方式:
環境變量:HISTCONTROL
ignoredups:忽略重復的命令
ignorespace:忽略以空白字符開頭的命令
ignoreboth:以上兩者同時生效
修改變量的值: NAME=’VALUE’,此修改只對當前shell有效
bash的基礎特性之二:
命令補全:shell程序在接收到用戶執行命令的請求,分析完成之后,最左側的字符會被當作命令
命令查找機制:
查找內部命令
根據PATH環境變量中設定的目錄,自左而右逐個搜索目錄下的文件名
給定的打頭字符串如果能唯一標識某命令程序文件,則直接補全;
不能唯一標識某命令程序文件,再擊tab鍵一次,會給出列表
路徑補全:
在給定的起始路徑下,以對應路徑下的打頭字符串來逐一匹配起始路徑下的每個文件
tab:
如果能唯一標識某命令程序文件,則直接補全;
不能唯一標識某命令程序文件,再擊tab鍵一次,會給出列表
bash的基礎特性之三:命令行展開
~:自動展開為用戶的家目錄,或指定用戶的家目錄
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑
例如:/tmp/{a,b}相當于/tmp/a /tmp/b
bash的基礎特性之四:命令的執行狀態結果
命令執行的狀態結果:
bash通過狀態返回值來輸出此結果
成功:0
失敗:1-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量”$?”中, ~]#echo $?
命令正常執行時,有的還會有命令返回值,根據命令及其功能不同,結果各不相同
引用命令的執行結果:
$(COMMAND) 或`COMMAND`
bash的基礎特性之五:引用
強引用:‘’
弱引用:“”
命令引用:“(~位置)
bash的基礎特性之六:快捷鍵
Ctrl+a:跳轉至命令行行首
Ctrl+e:跳轉至命令行行尾
Ctrl+u:刪除行首至光標所在處之間的所有字符
Ctrl+k:刪除光標所在處至行尾的所有字符
Ctrl+l:清屏,相當于clear命令
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# mkdir a_c a_d b_c b_d
[root@localhost tmp]# ll
(2)、創建/tmp/mylinux目錄下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
[root@localhost ~]# mkdir -p /tmp/mylinux
[root@localhost ~]# cd /tmp/mylinux/
[root@localhost mylinux]# mkdir -p bin dev lib64 proc sbin sys tmp var lock log run
[root@localhost mylinux]# mkdir -p boot/grub
[root@localhost mylinux]# mkdir -p lib/modules
[root@localhost mylinux]# mkdir -p etc/rc.d/init.d etc/sysconfig etc/network-scripts
[root@localhost mylinux]# mkdir -p usr/local usr/bin usr/sbin
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99452