標籤:複製檔案 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代碼
- #!/bin/sh
-
- # 跳轉到指令碼所在目錄
- cd $(dirname "$0") || exit 1
-
- # 剩下的部分
這個寫法我經常用到,因為有時候指令碼執行時無法確定是在哪個目錄,比如指令碼用在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檔案和目錄的刪除、建立、移動等操作