一、Linux上的文件管理類命令,及常用的使用方法
1.ls:list, 列出指定目錄下的內容
常用選項:
ls: list, 列出指定目錄下的內容
ls [OPTION]… [FILE]…
-a: 顯示所有文件,包括隱藏文件;
-A:顯示除.和..之外的所有文件;
-l: –long, 長格式列表,即顯示文件的詳細屬性信息;
-h, –human-readable:對文件大小單位換算;換算后結果可能會非精確值;
-d:查看目錄自身而非其內部的文件列表;
-r: reverse, 逆序顯示;
-R: recursive,遞歸顯示;
2.pwd:printing working directory 顯示工作目錄
3.mkdir:make directories
常用選項:
mkdir [OPTION]… DIRECTORY…
-p: 自動按需創建父目錄;
-v: verbose,顯示詳細過程;
-m MODE:直接給定權限;
4.rmdir:remove empty directories
常用選項:
rmdir [OPTION]… DIRECTORY…
-p:刪除某目錄后,如果其父目錄為空,則一并刪除之;
-v: 顯示過程;
5.touch:change file timestamps
常用選項:
touch [OPTION]… FILE…
-c: 指定的文件路徑不存在時不予創建;
-a: 僅修改access time;
-m:僅修改modify time;
-t :使用指定的時間值作為指定文件相應時間戳記的新值
6.cp:復制文件和目錄
常用選項:
-i:交互式復制,即覆蓋之前提醒用戶確認;
-f:強制覆蓋目標文件;
-r, -R:遞歸復制目錄;
-d:復制符號鏈接文件本身,而非其指向的源文件;
-a:-dR –preserve=all, archive,用于實現歸檔;
7.mv:移動 (改名) 文件
常用選項:
-i:交互式;
-f:–force覆蓋前永不提示
8.rm:remove
常用選項:
-i:interactive
-f:force
-r: recursive
刪除目錄:rm -rf /PATH/TO/DIR
危險操作:rm -rf /*
9.查看文件命令
cat:concatenate文件文本查看工具;
tac:文件文本查看工具
more:more FILE 特點:翻屏至文件尾部后自動退出;
less:同more命令
head:查看文件的前n行 如:~]# FILE -n #
tail:查看文件的后n行 如:~]#FILE-n #
10.ln:文件之間建立連接
ln -s /etc/php.ini php.soft 生成軟鏈接文件
ln /etc/php.ini php.hard 生成硬鏈接文件
11.du -sh / 統計根目錄的大小
12.file:確定文件類型
二、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
1.命令執行狀態返回值
命令執行的狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失?。?-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;
例如:
[root@ronny1 ~]# ll /tmp/issue
-rw-r–r–. 1 root root 0 7月 13 22:55 /tmp/issue
[root@ronny1 ~]# echo $?
0
[root@ronny1 ~]# ll /tmp/iss
ls: 無法訪問/tmp/iss: 沒有那個文件或目錄
[root@ronny1 ~]# echo $?
2
2.命令行展開所涉及的內容
命令行展開
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
例如:
(1)
[root@ronny1 tmp]# pwd
/tmp
[root@ronny1 tmp]# cd ~
[root@ronny1 ~]# pwd
/root
[root@ronny1 ~]#
(2)
[root@ronny1 ~]# ll /tmp/x
總用量 4
-rw-r–r–. 1 root root 215 7月 14 15:03 issue
drwxr-xr-x. 2 root root 6 7月 12 15:45 y2
[root@ronny1 ~]# mkdir -pv /tmp/x/{a,b}_{c,d}
mkdir: 已創建目錄 “/tmp/x/a_c”
mkdir: 已創建目錄 “/tmp/x/a_d”
mkdir: 已創建目錄 “/tmp/x/b_c”
mkdir: 已創建目錄 “/tmp/x/b_d”
[root@ronny1 ~]# ll /tmp/x
總用量 4
drwxr-xr-x. 2 root root 6 7月 14 22:28 a_c
drwxr-xr-x. 2 root root 6 7月 14 22:28 a_d
drwxr-xr-x. 2 root root 6 7月 14 22:28 b_c
drwxr-xr-x. 2 root root 6 7月 14 22:28 b_d
-rw-r–r–. 1 root root 215 7月 14 15:03 issue
drwxr-xr-x. 2 root root 6 7月 12 15:45 y2
[root@ronny1 ~]#
三、使用命令行展開功能來完成以下練習
1.創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@ronny1 ~]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已創建目錄 “/tmp/a_c”
mkdir: 已創建目錄 “/tmp/a_d”
mkdir: 已創建目錄 “/tmp/b_c”
mkdir: 已創建目錄 “/tmp/b_d”
2.創建/tmp/mylinux目錄下的:
[root@ronny1 ~]# mkdir -pv /tmp/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}}
mkdir: 已創建目錄 “/tmp/mylinux”
mkdir: 已創建目錄 “/tmp/mylinux/bin”
mkdir: 已創建目錄 “/tmp/mylinux/boot”
mkdir: 已創建目錄 “/tmp/mylinux/boot/grub”
mkdir: 已創建目錄 “/tmp/mylinux/dev”
mkdir: 已創建目錄 “/tmp/mylinux/etc”
mkdir: 已創建目錄 “/tmp/mylinux/etc/rc.d”
mkdir: 已創建目錄 “/tmp/mylinux/etc/rc.d/init.d”
mkdir: 已創建目錄 “/tmp/mylinux/etc/sysconfig”
mkdir: 已創建目錄 “/tmp/mylinux/etc/sysconfig/network-scripts”
mkdir: 已創建目錄 “/tmp/mylinux/lib”
mkdir: 已創建目錄 “/tmp/mylinux/lib/modules”
mkdir: 已創建目錄 “/tmp/mylinux/lib64”
mkdir: 已創建目錄 “/tmp/mylinux/proc”
mkdir: 已創建目錄 “/tmp/mylinux/sbin”
mkdir: 已創建目錄 “/tmp/mylinux/sys”
mkdir: 已創建目錄 “/tmp/mylinux/tmp”
mkdir: 已創建目錄 “/tmp/mylinux/usr”
mkdir: 已創建目錄 “/tmp/mylinux/usr/local”
mkdir: 已創建目錄 “/tmp/mylinux/usr/local/bin”
mkdir: 已創建目錄 “/tmp/mylinux/usr/local/sbin”
mkdir: 已創建目錄 “/tmp/mylinux/var”
mkdir: 已創建目錄 “/tmp/mylinux/var/lock”
mkdir: 已創建目錄 “/tmp/mylinux/var/log”
mkdir: 已創建目錄 “/tmp/mylinux/var/run”
[root@ronny1 ~]# tree /tmp/mylinux/
/tmp/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
24 directories, 0 files
四、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息
1.文件數據是由2個部分組成:
(1).數據-data
(2).元數據-metadata(當你用ls -l 命令 或者ll命令時,列出的信息就是元數據。
2.使用stat查看,如下:
[root@localhost ~]# stat /tmp/
File: ‘/tmp/’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd00h/64768d Inode: 67160136 Links: 17
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:tmp_t:s0
Access: 2017-07-14 02:21:49.746629085 -0400
Modify: 2017-07-14 11:05:21.984956234 -0400
Change: 2017-07-14 11:05:21.984956234 -0400
stat命令列出的元數據信息:
size 表示文件的理論長度,單位是字節
Block 與 IO Block 的乘積是文件所占的實際大小,在linux下文件所占的空間分配,最小的單位是塊(Bolck),而塊的大小與塊的數量,決定了文件實際占用的磁盤空間.
Device 表示內核對該設備的編號
Inode 是內核為每一個文件分配的標志
Links 表示文件名指向的inode節點的數量
Access:(0755/-rwxr-xr-x) 表示了訪問權限,以及文件類型
uid: 表示了文件所有者,包括了系統為所有者分配的數值id
gid: 表示了文件組,包括了系統為組分配的數值id
接下來有三個時間通常被叫做文件的Access, Modify, Change:
文件時間信息
縮寫全稱名稱描述
eaccess time訪問時間文件數據每次被閱讀后所記錄的時間
modify time修改時間文件內容數據被修改后記錄的時間
change time改變時間文件的inode節點信息被改變后記錄的時間
3.touch命令:
touch – change file timestamps
touch [OPTION]… FILE…
-c: 指定的文件路徑不存在時不予創建;
-a: 僅修改access time;
-m:僅修改modify time;
-t :使用指定的時間值作為指定文件相應時間戳記的新值
原創文章,作者:N27_ronny,如若轉載,請注明出處:http://www.www58058.com/80448
個人非常喜歡這種風格的文章,內容也很棒,再接再勵。