[爆卦]linux mv多個資料夾是什麼?優點缺點精華區懶人包

為什麼這篇linux mv多個資料夾鄉民發文收入到精華區:因為在linux mv多個資料夾這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Holocaust123 (一步一腳印)看板Linux標題[問題] 把檔案移到上一層資料夾時間S...


假設有個檔案叫my_file, 路徑是:
/home/user/a1/a2/a3/long_folder_name_1/long_folder_name_2/my_file

假設我在的路徑是
/home/user/b1/b2/b3/long_folder_name_3/long_folder_name_4

我想把my_file移到上一層路徑, 即變這樣
/home/user/a1/a2/a3/long_folder_name_1/my_file

通常我會這樣下指令
user@host:~/b1/b2/b3/long_folder_name_3/long_folder_name_4$ \
> mv ~/a1/a2/a3/long_folder_name_1/long_folder_name_2/my_file ~/a1/a2/a3/long_folder_name_1

想請問的是在bash上有沒有比較簡潔的寫法, 像是這樣(實際上不work, 我隨便舉例的):
user@host:~/b1/b2/b3/long_folder_name_3/long_folder_name_4$ \
> mv ~/a1/a2/a3/long_folder_name_1/long_folder_name_2/my_file [1]/../..

其中[1]表示mv的第一個變數

以上是第一個問題

第二個問題是

在termianl上處理長檔名/長路徑有用什麼奇技淫巧嗎?

除了比較常見的tab-completion/把路徑弄成alias之外的?

想聽聽大家的經驗 感謝回答~

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.31.149
firejox:你把它寫成函式XD 08/27 22:32
firejox:把常用的長路徑做symbolic link 08/27 22:38
bitlife:我都用 * 字元,只要給得夠唯一性,展開後就是想要的目錄 08/27 22:38

看不太懂, 可以說詳細點嗎?

sppmg:mv $1 `dirname $1`/.. (寫成script取得路徑) 08/27 22:57
sppmg:或是用pushd 與popd切換目錄 08/27 22:58
sppmg:如果有很多檔要移,可以用find -exec echo {} \; 完成 08/27 22:59
ckclark:mv ~/a1/a2/a3..../long_folder_name_2/{myfile,../} 08/28 00:05
ckclark:用分配律XD 08/28 00:06

喔喔!!就是這個 感謝qq(不過跟分配律的關係是什麼呢??)

ckclark:a{b,c} 會展開成ab ac 08/28 02:02
ckclark:所以還有蠻多應用的 08/28 02:03
ckclark:(cd ~/a1/a2.../long_folder && mv myfile ..) 也可以 08/28 02:09
ckclark:不會動到working dir 08/28 02:10

開眼界了!!竟然有這些技巧 請問當初是怎麼學到的?

firejox:恩 bash說明裡有寫 .... 08/28 22:38

恩恩 找到了 有需要的人可以搜尋bash的man page:

分配律 => "Brace Expansion"
(...) => "Compound Commands"

※ 編輯: Holocaust123 來自: 140.112.31.149 (08/29 11:08)

你可能也想看看

搜尋相關網站