第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linux:復(fù)制并創(chuàng)建目標(biāo)目錄(如果不存在)

Linux:復(fù)制并創(chuàng)建目標(biāo)目錄(如果不存在)

冉冉說 2019-12-10 10:14:58
我想要創(chuàng)建目標(biāo)目錄(如果不存在)的命令(或cp的選項)。例:cp -? file /path/to/copy/file/to/is/very/deep/there
查看完整描述

3 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊

mkdir -p "$d" && cp file "$d"

()沒有此類選項cp。


查看完整回答
反對 回復(fù) 2019-12-10
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊

簡短答案

要復(fù)制myfile.txt到/foo/bar/myfile.txt,請使用:


mkdir -p /foo/bar && cp myfile.txt $_

這是如何運作的?

這有幾個組成部分,因此我將逐步介紹所有語法。


POSIX標(biāo)準(zhǔn)中指定的mkdir實用程序創(chuàng)建目錄。的說法,每文檔,會造成MKDIR到-p


創(chuàng)建任何缺少的中間路徑名組件


意味著在調(diào)用時mkdir -p /foo/bar,mkdir將創(chuàng)建/foo , /foo/bar如果/foo尚不存在。(如果沒有-p,它將拋出錯誤。


如POSIX標(biāo)準(zhǔn)(或Bash手冊,如果您愿意)&&中所述,列表運算符的作用是只有成功執(zhí)行后才能執(zhí)行。這意味著如果由于失敗的多種原因之一而失敗,該命令將不會執(zhí)行。cp myfile.txt $_mkdir -p /foo/barcpmkdir


最后,$_作為第二個參數(shù)傳遞的cp是“特殊參數(shù)”,它可以避免重復(fù)長參數(shù)(如文件路徑)而不必將其存儲在變量中。根據(jù)Bash手冊,它:


擴展到上一個命令的最后一個參數(shù)


在這種情況下,這就是/foo/bar我們傳遞給的mkdir。因此,cp命令將擴展為cp myfile.txt /foo/bar,將復(fù)制myfile.txt到新創(chuàng)建的/foo/bar目錄中。


請注意,$_是不是 POSIX標(biāo)準(zhǔn)的一部分,所以理論上Unix的變種可能具有不支持此構(gòu)建物的外殼。但是,我不知道任何不支持的現(xiàn)代外殼$_;當(dāng)然Bash,Dash和zsh都可以。


最后一點:在此答案開頭給出的命令假定您的目錄名稱中沒有空格。如果要處理帶有空格的名稱,則需要用引號將它們引起來,不會被視為mkdir或的不同參數(shù)cp。因此,您的命令實際上如下所示:


mkdir -p "/my directory/name with/spaces" && cp "my filename with spaces.txt" "$_"


查看完整回答
反對 回復(fù) 2019-12-10
  • 3 回答
  • 0 關(guān)注
  • 3935 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號