宋茜
wget
在類似Unix的操作系統(tǒng)上,wget命令通過網(wǎng)絡(luò)下載HTTP、HTTPS或FTP服務(wù)的文件。默認(rèn)情況下,它包含在所有的Linux發(fā)行版中。
使用wget的最簡(jiǎn)單方法是為它提供要通過HTTP下載的文件的位置。使用wget下載文件http://website.com/static/ images/header.jpg可以通過以下命令完成:
wget http://website.com/static/images/header.jpg
wget的一大優(yōu)點(diǎn)是它是非交互式的,這意味著它可以在用戶未登錄時(shí)在后臺(tái)運(yùn)行,這可以進(jìn)行檢索并與系統(tǒng)斷開連接,讓wget完成工作。
scp
在本地計(jì)算機(jī)上從遠(yuǎn)程服務(wù)器獲取文件時(shí)是否出現(xiàn)過問題?例如,獲取用戶上傳的文件會(huì)遇到一些麻煩。
這時(shí)可以使用scp命令通過命令行下載此文件。scp是安全拷貝的簡(jiǎn)稱。但更重要的它是一個(gè)遠(yuǎn)程安全拷貝。該命令類似cp命令,但是源或目標(biāo)位于另一個(gè)系統(tǒng)上。
例如使用以下命令將文件foobar.txt從遠(yuǎn)程服務(wù)器復(fù)制到本地目錄:
scp username@remotehost.com:/path/to/foobar.txt / some / local / directory
scp也可以用于將文件從本地目錄復(fù)制到遠(yuǎn)程服務(wù)器:
scp /some/local/directory/foobar.txt username@remotehost. com:/ destination / path /
使用-r選項(xiàng)可以對(duì)目錄執(zhí)行相同的操作,該選項(xiàng)以遞歸方式復(fù)制整個(gè)目錄。
ssh-keygen
ssh-keygen命令用于生成新的SSH密鑰對(duì)??梢栽贕itlab或Bitbucket中使用此命令生成公共SSH密鑰建立安全連接。
將SSH密鑰添加到Gitlab或Bitbucket后,每次嘗試將文件推送到遠(yuǎn)程分支時(shí)都不會(huì)提示輸入密碼。
要生成SSH密鑰對(duì),請(qǐng)使用以下命令:
ssh-keygen -t ed25519
在上面的示例中,使用了ED25519簽名算法,ED25519被認(rèn)為是當(dāng)前的最佳實(shí)踐。
生成SSH密鑰對(duì)并在Gitlab或Bitbucket中正確設(shè)置它最多花費(fèi)幾分鐘,但這是完全值得的。
chmod
在Unix和類似Unix的操作系統(tǒng)中,chmod是命令和系統(tǒng)調(diào)用,用于更改文件系統(tǒng)對(duì)象(文件和目錄)的訪問權(quán)限。
chmod命令本身非常簡(jiǎn)單,但是賦予文件和目錄正確的權(quán)限又是另一回事。
tar
Linux tar代表磁帶存檔。它用于將許多文件收集到一個(gè)存檔文件中。tar是創(chuàng)建壓縮歸檔文件最廣泛使用的命令。
讓我們從如何為特定目錄創(chuàng)建存檔文件開始:
tar -cvf my-archive.tar /path/to/directory
該命令將生成一個(gè)名為my-archive.tar的存檔文件,tar文件,包含在當(dāng)前工作目錄中創(chuàng)建的/path/to/目錄的所有文件。
創(chuàng)建存檔文件是第一步。第二部分包括解壓縮存檔文件,因?yàn)樵谀承r(shí)候我們還要使用tar文件中的文件??梢酝ㄟ^以下命令將文件解壓縮到特定目錄:
tar -xvf my-archive.tar -C / home / myfolder /
alias
每個(gè)人都有可能會(huì)使用一些太長(zhǎng)或太復(fù)雜而無法完全記住的命令,幸運(yùn)的是,可以為該命令創(chuàng)建一個(gè)alias,因此不必記住整個(gè)命令,例如:
alias short-command="your custom and very long command here"
盡管以這種方式創(chuàng)建alias存在一個(gè)問題:此alias是臨時(shí)的。如果以此方式創(chuàng)建,則該alias僅可用于當(dāng)前的終端會(huì)話。要在會(huì)話之間保留alias,可以將其保存在用戶的Shell配置配置文件中。如果分別使用Bash或ZSH,則此配置文件可能位于/ .bashrc或/ .zshrc中。
技巧1:直接輸出
屏幕是標(biāo)準(zhǔn)輸出設(shè)備。但有時(shí)不想在屏幕上輸出所有內(nèi)容,可能希望將某些命令的結(jié)果輸出到文件中。
例如,用于日志記錄的目的。要重定向輸出,可以使用>。在以下命令中,ls -al的輸出重定向到文件myfile而不是屏幕。
ls -al> myfile
在此示例中,使用了ls,但實(shí)際上它可以是具有任何輸出的命令。為了確認(rèn)這是可行的,可以檢查myfile文件。
技巧2:合并命令
一次可以運(yùn)行2個(gè)或多個(gè)命令。分號(hào)(;)運(yùn)算符允許執(zhí)行此操作,可以連續(xù)執(zhí)行多個(gè)命令,而不管每個(gè)先前的命令是否成功。
ls -al;pwd;
如果要在第一個(gè)命令成功的情況下運(yùn)行第二個(gè)命令,可用邏輯和操作符(即&&)分隔命令。如果想在第一個(gè)命令不成功的情況下執(zhí)行第二個(gè)命令,可以使用邏輯OR操作符,即||。