linux檔案和目錄的刪除、建立、移動等操作

來源:互聯網
上載者:User

標籤:複製檔案   tor   切換   src   direct   string   style   原始碼   int   

在Linux下進行切換目錄   cd

在Linux下查看目前的目錄下的內容   ls、  ll、  ls -al

如何顯示當前命令所在的目錄路徑   pwd

在Linux下建立目錄   mkdir

在Linux下建立檔案   直接vim 編輯好之後:wq斷行符號就可以了

在Linux下刪除目錄或檔案   rm -rf

在Linux下複製目錄或檔案   複製檔案   cp 原路徑 新路徑以及新名    複製檔案夾  cp -r 原檔案夾 新檔案夾

在Linux下移動目錄或檔案    mv /home/1.txt /opt/   檔案夾也是一樣的做法

 

 

 

通過basename擷取路徑中的檔案名稱

用途說明

basename命令用於去掉檔案名稱的目錄和尾碼(strip directory and suffix from filenames),對應的dirname命令用於截取目錄

常用參數

格式:basename NAME

去掉NAME中的目錄部分。

 

path            dirname         basename"/usr/lib"       "/usr"              "lib""/usr/"          "/"                  "usr""usr"            "."                  "usr""/"              "/"                  "/""."              "."                  "."".."             "."                  ".."

 

格式:basename NAME SUFFIX

去掉NAME中的目錄部分和尾碼SUFFIX,如果沒有了,則輸出SUFFIX。

 

使用樣本樣本一

[[email protected] ~]# basename /usr/bin/sort 
sort
[[email protected] ~]# dirname /usr/bin/sort 
/usr/bin
[[email protected] ~]#

 

樣本二

[[email protected] ~]# basename /usr/include/stdio.h .h 
stdio
[[email protected] ~]# basename /usr/include/stdio.h stdio.h 
stdio.h

 

 

通過dirname擷取路徑中的目錄名

用途說明

dirname命令可以取給定路徑的目錄部分(strip non-directory suffix from file name)。這個命令很少直接在shell命令列中使用,我一般把它用在shell指令碼中,用於取得指令檔所在目錄,然後將目前的目錄切換過去。根據手冊頁上說的“Print  NAME  with  its  trailing  /component  removed; if NAME contains no /’s, output ‘.’ (meaning the current directory).”,似乎說“取給定路徑的目錄部分” 並不能很準確的概括dirname命令的用途。Linux下還有一個命令是basename,它與dirname相反,是取得檔案名稱部分。

常用參數

無。

使用樣本樣本一 來自手冊頁的例子

[[email protected] ~]# dirname /usr/bin/sort 
/usr/bin
[[email protected] ~]# dirname stdio.h 
.
[[email protected] ~]#

樣本二

[[email protected] ~]# dirname /usr/bin 
/usr
[[email protected] ~]# dirname /usr/bin/ 
/usr

注意:此處的輸出結果,似乎有點怪。這應該看下dirname命令的原始碼才能解釋了。

樣本三 在bash指令碼中的運用Bash代碼  
  1. #!/bin/sh  
  2.   
  3. # 跳轉到指令碼所在目錄  
  4. cd $(dirname "$0") || exit 1  
  5.   
  6. # 剩下的部分  

 

這個寫法我經常用到,因為有時候指令碼執行時無法確定是在哪個目錄,比如指令碼用在crontab中時。

另一個寫法是:cd `dirname $0` 其中反引號··等同於$()。

 

樣本四 與另外一種截取目錄的方法的比較

可以用${pathname%/*}截取掉pathname後面的檔案部分。

[[email protected] ~]# pathname=/usr/bin/sort; echo $(dirname $pathname) ${pathname%/*} 
/usr/bin /usr/bin
[[email protected] ~]# pathname=/usr/bin/; echo $(dirname $pathname) ${pathname%/*} 
/usr /usr/bin
[[email protected] ~]# pathname=/usr/bin; echo $(dirname $pathname) ${pathname%/*} 
/usr /usr
[[email protected] ~]# pathname=/usr/; echo $(dirname $pathname) ${pathname%/*} 
/ /usr
[[email protected] ~]# pathname=/usr; echo $(dirname $pathname) ${pathname%/*} 
/
[[email protected] ~]# pathname=/; echo $(dirname $pathname) ${pathname%/*} 
/
[[email protected] ~]# pathname=stdio.h; echo $(dirname $pathname) ${pathname%/*} 
. stdio.h
[[email protected] ~]#

 

linux檔案和目錄的刪除、建立、移動等操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.