linux文件和目錄處理命令
ls-list directory contents
-a:列出當前目錄下所有文件和目錄,包括隱藏文件(不常用的文件)
-A:列出當前目錄下所有文件和目錄,包括隱藏文件,但不包括.和..
-d:僅列出當前目錄
-f:直接列出目錄內容,不進行排序,默認按照文件名排序
-h:以MB,GB顯示目錄內容,需要與-l配合使用
-i:列出每個文件的inode
-l:以長格式列出目錄內容
cd-change directory
~:進入用戶 的主目錄
-:返回進入本目錄之前所在的目錄
mkdir - make directories 創建不存在的目錄。
常用選項-p 遞歸創建目錄
[root@www1 ~]# ll /data1/
-rw-r--r-- 1 root root 15 5月 5 02:40 1.html
[root@www1 ~]# mkdir -p /data1/cine/var/logs
[root@www1 ~]# ll /data1/cine/var/
drwxr-xr-x 2 root root 4096 5月 24 05:02 logs
[root@www1 ~]# mkdir /data1/
mkdir: 無法創建目錄"/data1/": 文件已存在
rmdir - remove empty directories 刪除一個空的目錄
[root@www1 ~]# rmdir /data1
rmdir: 刪除 "/data1" 失敗: 目錄非空
pwd - print name of current/working directory 查看當前目錄或工作目錄
touch - change file timestamps 更改文件時間戳(文件存在),若不存在則創建文件
mv - move (rename) files 移動文件或更改文件名稱
[root@www1 ~]# mv user.log /data1/ #移動
[root@www1 ~]# ll /data1/
-rw-r--r-- 1 root root 0 5月 10 03:19 user.log
[root@www1 data1]# mv user.log 1.log #更名
[root@www1 data1]# ll
drwxr-xr-x 3 root root 4096 5月 24 05:02 cine
[root@www1 data1]# mv -b /root/users.log ./1.log # 常用選項-b 覆蓋前進行備份
mv:是否覆蓋"./1.log"? y
[root@www1 data1]# ll
-rw-r--r--. 1 root root 427 11月 26 06:24 1.log
-rw-r--r-- 1 root root 0 5月 10 03:19 1.log~
[root@www1 data1]# mv -f /root/a.log ./1.log # -f 直接覆蓋
You have mail in /var/spool/mail/root
[root@www1 data1]# ll
-rw-r--r--. 1 root root 591618 11月 22 2017 1.log
[root@www1 data1]# mv -i 1.html 1.log #-i 交互式詢問是否覆蓋
mv:是否覆蓋"1.log"?
rename - Rename files
rename 源字符串 目標字符串 需要更改的文件
[root@www1 data1]# rename 1 user 1.*
[root@www1 data1]# ll
-rw-r--r-- 1 root root 15 5月 5 02:40 user.html
-rw-r--r--. 1 root root 591618 11月 22 2017 user.log
-rw-r--r-- 1 root root 0 5月 10 03:19 user.log~
rename支持通配符和正則表達式。
basename - strip directory and suffix from filenames顯示文件名和目錄名
dirname - strip non-directory suffix from file name顯示文件或目錄路徑
[root@www1 ~]# dirname nfs
.
[root@www1 ~]# dirname /etc/init.d/nfs
/etc/init.d
tree - list contents of directories in a tree-like format.以樹狀結構列出指定目錄下的文件和子目錄的文件
常用選項-L 數字指定列出目錄樹的深度
[root@www1 ~]# tree -L 1 /
/
├── bin
├── root
├── sbin
├── tmp
├── usr
├── var
rm - remove files or directories 刪除文件或目錄
常用選項
-f 忽略不存在的文件,常用的。
-r 常用於刪除目錄(包括目錄中的文件和子目錄),非常危險。
[root@www1 var]# rm -f logs #刪除一個目錄會報錯,未加-r
rm: 無法刪除"logs": 是一個目錄
[root@www1 var]# rm -rf logs #加入-r後刪除了目錄和目錄下的output.log了
[root@www1 var]# ll
總用量 0
[root@www1 var]#
cp - copy files and directories 復制文件和目錄
常用選項
-a相當於-pdr
-p連同文件屬性一並復制
-d若文件為鏈接文件,則復制連接文件的屬性
-r遞歸復制,常用於目錄
-i交互式詢問,當目標文件存在時是否被覆蓋
[root@www1 ~]# cp output.log /data1/cine/var #只復制文件
[root@www1 ~]# ll /data1/cine/var/
總用量 4
-rw-r--r-- 1 root root 48 5月 24 16:12 output.log
[root@www1 ~]# mkdir yang #為復制目錄做準備
You have mail in /var/spool/mail/root
[root@www1 ~]# touch yang/test.txt
[root@www1 ~]# cp yang /data1/cine/var #復制目錄,不加-r
cp: 略過目錄"yang"
[root@www1 ~]# ll /data1/cine/var/
總用量 4
-rw-r--r-- 1 root root 48 5月 24 16:12 output.log
[root@www1 ~]# cp -r yang /data1/cine/var/ #輔助目錄,加入-r後
You have mail in /var/spool/mail/root
[root@www1 ~]# ll /data1/cine/var/
總用量 8
-rw-r--r-- 1 root root 48 5月 24 16:12 output.log
drwxr-xr-x 2 root root 4096 5月 24 16:14 yang
[root@www1 ~]#
file - determine file type查看文件類型
[root@www1 ~]# file output.log
output.log: UTF-8 Unicode text
[root@www1 ~]# file /etc/init.d/nfs
/etc/init.d/nfs: POSIX shell script text executable
[root@www1 ~]# file /bin/
[root@www1 ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
linux文件和目錄處理命令