Shell命令-文件及目錄操作之mkdir、mv

文件及目錄操作 - 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... DIRECTORY
mv [參數選項] [源文件或目錄] [目標文件或目錄]

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

今天就寫到這裏,有什麼疑問或出現什麼錯誤,隨時歡迎大神們發表評論指點迷津

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章