我一直在透過一本 pdf 書自學 Linux 命令列,在作者解釋如何使用cat
和>
製作文字檔案後,他說:
我們看到結果與傳遞單一檔案名稱參數相同。
我真的不知道他的意思,儘管我沒有跳過這本書的任何部分。他只是在談論在終端機中輸入參數嗎?如果是這樣的話我還是不懂他的意思。
編輯
這是整個段落:
使用“<”重定向運算符,我們將標準輸入來源從鍵盤更改為檔案lazy_dog.txt。我們看到結果與傳遞單一檔案名稱參數相同。與傳遞檔案名稱參數相比,這並不是特別有用,但它可以示範使用檔案作為標準輸入來源。
答案1
你將通過(論點)
」傳遞一個參數" 表示在特定指令後新增參數。由該指令啟動的程式將會相應地執行。
例如,命令“CP" 用於複製文件,需要兩個參數。首先原始檔其次是目標檔案(或目標目錄)。請注意,語法順序在這裡非常重要。
cp <SOURCE FILE> <DESTINATION FILE>
假設您要複製“文件.txt“ 到 ”文件副本.txt「。您必須運行命令:
cp file.txt copy_of_file.txt
它將在同一目錄中建立一個新檔案(您運行命令的目錄,其中來源檔案“文件.txt「 應該)
兩個都原始檔和目標文件是傳遞給指令“cp”的參數。
需要一些幫助 ?
如果您想知道命令需要哪些參數或多少個參數,或者它接受哪些可選參數,您可以執行以下操作:
<command> --help
例如:
cp --help
或者
cat --help
它將在您的終端機中顯示“如何使用您的命令”。
好奇心不會殺死人貓
讓我們看一下貓命令。如果你跑貓使用單一參數,假設一個文字檔:
cat my_file.txt
它將在終端機上顯示該文件的內容。
如果您使用兩個參數來執行 cat,它將顯示兩個檔案的內容:
cat my_first_file.txt my_second_file.txt
重定向運算子“">”
現在,> (重定向運算符)看起來有點複雜,但實際上很簡單。
這是一個重定向。您必須查看終端機顯示為命令輸出的所有內容。輸出通常到達終端。如果你運行:
cat my_file.txt
命令是'貓',參數是“my_file”,輸出是內容該文件的。輸出到達終端。好吧,當您使用需要參數的重定向運算子“">”時,您實際上所做的是將輸出重定向到另一個目的地。那麼,當你跑步時會發生什麼
cat my_file.txt > new_file.txt
是不是將檔案的內容顯示到終端機中,而是將其寫入檔案「new_file.txt」中。
那裡是有兩種方法。
所以基本上,結果是
cat my_file.txt > copy.txt
和
cp my_file.txt > copy.txt
是相同的:您建立一個新的文字文件,其中包含另一個文字文件的內容。但過程卻截然不同。
最後一件事 :
> file.txt
建立一個空檔案時(您重定向...沒有任何內容到 file.txt,因此它是空的。很明顯不是嗎?)
如果沒有更多上下文,我不確定作者的意思,但我希望這會有所幫助。祝你學習unix好運,開始有點難,但最終很有趣。
編輯1:
我差點忘了回答:
「傳遞檔案名稱參數」意味著傳遞一個參數,並且該參數必須是檔案名,因此檔案的名稱,比方說「file.txt」。它也可以是文件的完整路徑,例如:
/home/user/Documents/file.txt