Ⅰ Shell腳本獲取自身路徑的方法
Shell中使用 pwd 命令可以獲得當前工作目錄,然而『當前工作目錄』可能並不是『腳本文件所在目錄』。
可以看出, pwd 獲取的『當前工作目錄』可能並不是『腳本文件所在目錄』。因此我們可以用以下方法獲取腳本文件所在目錄的絕對路徑:
Ⅱ linux shell腳本中如何獲取文件的絕對路徑readlink可以么
傳給函數的路徑是/root/file,如果這是函數的第一個參數,那麼函數中可以用
$1
獲取。
得到文件名file1和file2後,echo
"$1/file1"
就輸出/root/file/file1,echo
"$1/file2"
輸出/root/file/file2。
Ⅲ shell怎麼用文件名查找文件位置
題主你好,
使用命令: find
具體格式: find / -name 文件名
命令格式解釋:
find: 查找文件時使用的命令;
/ :斜杠相當於windows下的全盤搜索;
-name 文件名: 這兩個是一起的, -name參數告訴find命令使用 "文件名" 進行搜索.
總結: 使用find命令,全盤搜索名稱為"文件名"的文件, 返回的結果是相應文件名的絕對路徑.
----
舉例來說:
我的系統上有一個文件叫car, 但我不知道這個文件在哪,則可以使用下面命令進行搜索:
可以看到, 返回的搜索結果為/root/ok/car, 也就是說我要找的car文件在/root/ok目錄下.
-----
希望可以幫到題主, 歡迎追問.
Ⅳ linux怎麼通過shell查找到某一個文件的絕對路徑
查找某文件的絕對路徑可以用whereis或者是locate命令(這兩個命令的效果是一樣的),這兩個命令可以回馬上列出文件的絕對答路徑。whereis命令的用法非常簡單,whereis
文件名即可,它有兩個非常有用的選項:
-b選項:只找二進制文件
-s選項:只找源代碼文件
locate命令的用法和whereis命令一樣,不過它有一個-i選項,表示忽略文件名的大小寫差異,比較有用。
Ⅳ shell腳本篩選出兩個不同目錄下相同名稱的子目錄並獲取其絕對路徑
通過test -d 可以判斷是否存在這個目錄, 由此通過for循環就可以得到你要的結果
Ⅵ linux怎麼通過shell查找到某一個文件的絕對路徑
Linux下查找文件的絕對路徑可以用whereis、locate或者find命令。如果想快速查找到文件的絕對路徑,版最好是用whereis或者權locate命令,它們的查找速度要比find命令快很多,這是因為在Linux系統中有個資料庫,記錄了系統內的所有文件,而whereis和locate命令就是在這個資料庫中查找,並沒有實際查找硬碟,而資料庫查找往往是非常快的;而find命令是直接查找硬碟,如果硬碟文件比較多,就比較費時間。
注意一點:whereis和locate命令的資料庫是一天更新一次,所以有時候會找到已經刪除的文件,還會有找不到最新剛剛創建文件的情況,當明明記得有卻找不到時,就用find命令來查找。
find用法:
find 要查找的路徑 參數
-name參數:指定要查找的文件名
-user參數:指定要查找的文件所屬用戶
-type參數指定查找文件的類型,分別有d目錄、l連接文件、s socket文件等,find命令的使用例子:
find /home -name myfile.txt
上面的命令在/home路徑下查找myfile.txt的絕對路徑。
Ⅶ linux怎麼通過shell查找到某一個文件的絕對路徑
1、如果查找來可執行文件的絕源對路徑,可以使用whereis或者which命令。
圖片說明:find命令用於查找文件,/etc是要查找文件目錄,如果完全不知道文件路徑,可以指明為/(根目錄),-name是find的參數後面指明要查找的文件名稱。這里以hosts文件為例。