文件及目錄操作 - mkdir、mv
1、mkdir:創建目錄
mkdir命令的功能說明
mkdir
命令用於創建目錄,默認情況下,要創建的目錄已存在,會提示文件存在,不會繼續創建目錄。mkdir命令的語法格式
mkdir
[OPTION]... DIRECTORY...mkdir
[參數選項] [目錄]mkdir命令的選項說明
mkfir
選項就幾個,表1爲mkdir
命令的參數及說明:表1:
mkdir
命令的參數及說明
參數選項 | 解釋說明(帶*的爲重點) |
---|---|
-p | 遞歸創建目錄,如果目錄事先存在,也不會報錯* |
-m | 設置新創建的目錄的默認目錄對應的權限 |
-v | 顯示創建的過程 |
mkdir命令的實踐操作
範例1: 不使用任何參數創建目錄
[root@oldboyedu ~]# cd /data/
[root@oldboyedu /data]# tree -d <-->沒有任何目錄
.
0 directories
[root@oldboyedu /data]# mkdir test <-->創建一個test目錄
[root@oldboyedu /data]# tree -d <-->再次查看,發現已經創建好了
.
└── test
1 directory
[root@oldboyedu /data]# mkdir test <-->再創建一次,提醒已經存在
mkdir: cannot create directory ‘test’: File exists
範例2: 使用
-p
參數遞歸創建目錄
[root@oldboyedu /data]# mkdir oldboy/oldgirl <-->創建oldboy下的oldgirl,業務沒有oldboy,所以報錯
mkdir: cannot create directory ‘oldboy/oldgirl’: No such file or directory
[root@oldboyedu /data]# mkdir -p oldboy/oldgirl <-->使用 -p 參數,就可以創建了
[root@oldboyedu /data]# tree -d <-->查看結果(也可先創建oldboy,在創建oldgirl,不推薦)
.
├── oldboy
│ └── oldgirl
└── test
3 directories
範例3: 加
-v
參數顯示創建目錄的過程(沒什麼實際用途)
[root@oldboyedu /data]# mkdir -pv oldboy2/test
mkdir: created directory ‘oldboy2’
mkdir: created directory ‘oldboy2/test’
範例3: 創建目錄時可使用
-m
參數設置目錄的默認權限
[root@oldboyedu /data]# mkdir dir1
[root@oldboyedu /data]# ls -ld dir1/
drwxr-xr-x 2 root root 6 Apr 6 17:23 dir1/ <-->目錄的默認權限是755
[root@oldboyedu /data]# mkdir -m 333 dir2
[root@oldboyedu /data]# ls -ld dir2
d-wx-wx-wx 2 root root 6 Apr 6 17:23 dir2 <-->權限已經發生變法了
2、mv:移動或重命名文件
mv命令的功能說明
mv
命令用於移動或重命名文件。mv命令的語法格式
mv
[OPTION]... SOURCE... DIRECTORYmv
[參數選項] [源文件或目錄] [目標文件或目錄]mv命令的選項說明
mv
選項就幾個,表1爲mv
命令的參數及說明:表1:
mv
命令的參數及說明
參數選項 | 解釋說明(帶*的爲重點) |
---|---|
-f | 若目標文件已經存在,不會詢問是否覆蓋 |
-i | 若目標文件已經存在,就會詢問是否覆蓋 |
-n | 不覆蓋已經存在的文件 |
-t | 指定mv的目標目錄,此時目標目錄在前,源文件在後 |
-u | 在源文件比目標文件新,或目標文件不存在時才移動 |
mv命令的實踐操作
範例1: 給文件改名字
[root@oldboyedu /test]# ls
dir1 dir2 dir3 file1.txt file2.txt file3.txt
[root@oldboyedu /test]# mv file3.txt file4.txt <-->若目標文件不存在,重命名
[root@oldboyedu /test]# ls
dir1 dir2 dir3 file1.txt file2.txt file4.txt
[root@oldboyedu /test]# mv file2.txt file4.txt <-->若目標文件存在,則會提示
mv: overwrite ‘file4.txt’? y <-->y表示確認,n表示不同意
[root@oldboyedu /test]# alias mv <-->之所以會提示,是因爲系統做了別名
alias mv='mv -i'
[root@oldboyedu /test]# ls
dir1 dir2 dir3 file1.txt file4.txt
[root@oldboyedu /test]# \mv file1.txt file4.txt <-->取消別名的方法
[root@oldboyedu /test]# ls
dir1 dir2 dir3 file4.txt
範例2: 移動文件
移動單個文件
[root@oldboyedu /test]# ls dir1/
sub1
[root@oldboyedu /test]# mv file4.txt dir1/
[root@oldboyedu /test]# ls dir1/
file4.txt sub1
移動多個文件
[root@oldboyedu /test]# ls dir1/
file4.txt sub1
[root@oldboyedu /test]# ls
dir1 dir2 dir3
[root@oldboyedu /test]# touch file1.txt file2.txt
[root@oldboyedu /test]# mv file1.txt file2.txt dir1/
[root@oldboyedu /test]# ls dir1/
file1.txt file2.txt file4.txt sub1
範例3: 將源文件和目標文件調換移動文件到目錄(
-t
參數)
[root@oldboyedu /test]# ls
dir1 dir2 dir3
[root@oldboyedu /test]# ls dir1/
file1.txt file2.txt file4.txt sub1
[root@oldboyedu /test]# mv dir1/file* . <-->還原實驗環境
[root@oldboyedu /test]# ls dir1/
sub1
[root@oldboyedu /test]# mv -t dir1/ file1.txt file2.txt file4.txt <-->源文件和目標文件調換
[root@oldboyedu /test]# ls dir1/
file1.txt file2.txt file4.txt sub1
[root@oldboyedu /test]# ls
dir1 dir2 dir3
[root@oldboyedu /test]#
範例3: 移動目錄
[root@oldboyedu /test]# ls
dir1 dir2 dir3
[root@oldboyedu /test]# mv dir1 dir4 <-->目錄dir4不存在,重命名
[root@oldboyedu /test]# ls
dir2 dir3 dir4
[root@oldboyedu /test]# ls dir4
file1.txt file2.txt file4.txt sub1
[root@oldboyedu /test]# mv dir2 dir4 <-->目錄dir4存在,移動
[root@oldboyedu /test]# ls dir4
dir2 file1.txt file2.txt file4.txt sub1
[root@oldboyedu /test]# mv dir3 dir4
[root@oldboyedu /test]# ls
dir4
[root@oldboyedu /test]# ls dir4/
dir2 dir3 file1.txt file2.txt file4.txt sub1
今天就寫到這裏,有什麼疑問或出現什麼錯誤,隨時歡迎大神們發表評論指點迷津