自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在命令行上舒適地生存?

系統(tǒng) Linux
我認(rèn)為舒適使用命令行有三個(gè)方面:減少風(fēng)險(xiǎn)、動(dòng)機(jī)和資源。我將先談?wù)劀p少風(fēng)險(xiǎn),然后是一些動(dòng)機(jī),并列出一些資源。

有時(shí)我與一些害怕使用命令行的朋友交談,我感到自己給不出好的建議(我已經(jīng)使用命令行太長(zhǎng)時(shí)間了),因此我向一些 Mastodon 上的人提出了以下問(wèn)題:

如果在過(guò)去一到三年內(nèi),你剛剛不再害怕使用命令行了,是什么幫助了你?

(如果你不記得,或者你已經(jīng)使用命令行舒適地工作了 15 年,則無(wú)需回答——這個(gè)問(wèn)題不適用于你 ??)

這個(gè)列表還不如我希望的那么長(zhǎng),但我希望通過(guò)發(fā)布它來(lái)收集更多的答案。顯然,并沒(méi)有一個(gè)單一的方法適用于所有人,不同的人會(huì)選擇不同的路徑。

我認(rèn)為舒適使用命令行有三個(gè)方面:減少風(fēng)險(xiǎn)、動(dòng)機(jī)資源。我將先談?wù)劀p少風(fēng)險(xiǎn),然后是一些動(dòng)機(jī),并列出一些資源。

減少風(fēng)險(xiǎn)的方式

很多人(沒(méi)錯(cuò)!)對(duì)在命令行上意外執(zhí)行了一些無(wú)法撤銷(xiāo)的破壞性操作感到擔(dān)心。

以下是一些人們提到的幫助他們減少風(fēng)險(xiǎn)的策略:

  • 定期備份(有人提到他們?cè)谏现艿囊粋€(gè)命令行錯(cuò)誤中意外刪除了整個(gè)家目錄,但很幸運(yùn)他們有備份)。
  • 對(duì)于代碼,盡可能多地使用 git。
  • 將 rm 設(shè)置為類(lèi)似 safe-rm 或 rmtrash 這樣的工具的別名,這樣你就不會(huì)意外刪除不應(yīng)刪除的內(nèi)容(或者就設(shè)置別名到 rm -i)。
  • 盡量避免使用通配符,使用制表符鍵補(bǔ)全代替(我的 Shell 會(huì)使用 TAB 鍵補(bǔ)全 rm *.txt 并顯示我將要?jiǎng)h除的內(nèi)容)。
  • 使用精美的終端提示符,可以顯示當(dāng)前目錄、計(jì)算機(jī)名稱(chēng)、git 分支和你是否具有 root 權(quán)限。
  • 如果你計(jì)劃對(duì)文件運(yùn)行未經(jīng)測(cè)試或危險(xiǎn)的命令,先備份文件副本。
  • 擁有一臺(tái)專(zhuān)用的測(cè)試機(jī)器(如便宜的舊 Linux 計(jì)算機(jī)或樹(shù)莓派)進(jìn)行特別危險(xiǎn)的測(cè)試,例如測(cè)試備份軟件或分區(qū)。
  • 對(duì)于危險(xiǎn)命令,如果有的話(huà),使用 --dry-run 選項(xiàng)來(lái)查看執(zhí)行結(jié)果而不實(shí)際執(zhí)行操作。
  • 在你的 Shell 腳本中構(gòu)建自己的 --dry-run 選項(xiàng)。

這些策略有助于降低在命令行上引發(fā)不可逆操作的風(fēng)險(xiǎn)。

殺手級(jí)應(yīng)用程序

一些人提到了一個(gè)“殺手級(jí)命令行應(yīng)用程序”,這激勵(lì)他們開(kāi)始花更多時(shí)間在命令行上。例如:

  • ripgrep
  • jq
  • wget / curl
  • git(一些人發(fā)現(xiàn)他們更喜歡使用 git 命令行界面而不是使用圖形界面)
  • ffmpeg(用于視頻處理)
  • yt-dlp
  • 硬盤(pán)數(shù)據(jù)恢復(fù)工具(來(lái)自 這個(gè)精彩的故事

還有一些人提到他們對(duì)圖形界面工具感到失望(例如使用了所有內(nèi)存,并使計(jì)算機(jī)崩潰的重型集成開(kāi)發(fā)環(huán)境),并因此有動(dòng)機(jī)用更輕量級(jí)的命令行工具替代它們。

激發(fā)人們的命令行技巧

有人提到被其他人在命令行上展示的酷炫功能所激勵(lì),例如:

explainshell

有幾個(gè)人提到了 explainshell,它可以讓你粘貼任何命令行指令,并將其分解成不同的部分解釋。

命令歷史、制表符補(bǔ)全等等

有很多小技巧和竅門(mén)可以使在命令行上工作更容易,例如:

  • 使用向上箭頭查看先前的命令
  • 使用 Ctrl+R 搜索你的 Bash 歷史記錄
  • 使用快捷鍵在行內(nèi)導(dǎo)航:Ctrl+w (刪除一個(gè)單詞)、Ctrl+a(跳轉(zhuǎn)到行首)、Ctrl+e(跳轉(zhuǎn)到行尾),以及 Ctrl+left arrow / Ctrl+right arrow(向前/向后跳轉(zhuǎn)一個(gè)單詞)
  • 將 Bash 歷史記錄設(shè)置為無(wú)限制
  • 使用 cd - 返回上一個(gè)目錄
  • 文件名和命令名的制表符自動(dòng)補(bǔ)全
  • 學(xué)習(xí)如何使用像 less 這樣的分頁(yè)工具閱讀手冊(cè)頁(yè)或其他大型文本文件(如搜索、滾動(dòng)等)
  • 在 macOS 上使用 pbcopy/pbpaste 將剪貼板內(nèi)容復(fù)制/粘貼到 stdout/stdin
  • 在編輯配置文件之前備份它們

fzf

很多人提到使用 fzf 作為模糊搜索 Shell 歷史記錄的更好方法。除了作為更好的模糊搜索 Shell 歷史記錄的工具,人們還提到了一些其他用途:

  • 選擇 git 分支(git checkout $(git for-each-ref --format='%(refname:short)' refs/heads/ | fzf)
  • 快速查找要編輯的文件(nvim $(fzf)
  • 切換 Kubernetes 上下文(kubectl config use-context $(kubectl config get-contexts -o name | fzf --height=10 --prompt="Kubernetes Context> ")
  • 從測(cè)試套件中選擇要運(yùn)行的特定測(cè)試

一般的模式是使用 fzf 來(lái)選擇某個(gè)對(duì)象(文件、git 分支、命令行參數(shù)),fzf 將所選對(duì)象輸出到標(biāo)準(zhǔn)輸出,然后將其插入作為另一個(gè)命令的命令行參數(shù)。

你還可以將 fzf 用作工具,自動(dòng)預(yù)覽輸出并快速迭代,例如:

  • 自動(dòng)預(yù)覽 jq 的輸出(echo '' | fzf --preview "jq {q} < YOURFILE.json"
  • 自動(dòng)預(yù)覽 sed 的輸出(echo '' | fzf --preview "sed {q} YOURFILE"
  • 自動(dòng)預(yù)覽 awk 的輸出(echo '' | fzf --preview "awk {q} YOURFILE"

你可以參考這個(gè)思路。

通常,人們會(huì)為 fzf 的使用定義別名,比如輸入 gcb 或其他命令,以快速選擇要檢出的 git 分支。

樹(shù)莓派

一些人開(kāi)始使用樹(shù)莓派,這樣可以更安全地進(jìn)行實(shí)驗(yàn),而不必?fù)?dān)心損壞計(jì)算機(jī)(只需擦除 SD 卡然后重新開(kāi)始即可!)。

漂亮的 Shell 環(huán)境

很多人說(shuō),當(dāng)他們開(kāi)始使用像 oh-my-zsh 或 Fish 這樣更用戶(hù)友好的 Shell 環(huán)境時(shí),他們?cè)诿钚猩细械礁孢m。我非常同意這一點(diǎn) – 我已經(jīng)使用 Fish 十年了,我非常喜歡它。

在這里還有一些其他的事情可以做:

  • 有些人說(shuō),讓他們的終端更漂亮可以幫助他們感到更舒適(“讓它變成粉色!”)。
  • 設(shè)置一個(gè)漂亮的 Shell 提示符來(lái)提供更多信息(例如,當(dāng)命令失敗時(shí),可以將提示符設(shè)置為紅色)。特別是 transient prompts(在當(dāng)前命令設(shè)置一個(gè)非?;ㄉ诘奶崾痉?,但在之前的命令中設(shè)置一個(gè)簡(jiǎn)單得多的提示符)看起來(lái)非常好。

一些用于美化終端的工具:

  • 我使用 base16-shell
  • powerlevel10k 是一個(gè)流行的漂亮的 Zsh 主題,具有 transient prompts
  • starship 是一個(gè)漂亮的提示符工具
  • 在 Mac 上,我認(rèn)為 iTerm2 比默認(rèn)的終端更容易自定義。

漂亮的文件管理器

一些人提到了像 ranger 或 nnn 這樣的漂亮的終端文件管理器,這是我之前沒(méi)有聽(tīng)說(shuō)過(guò)的。

一個(gè)有幫助的朋友或同事

一個(gè)可以回答初學(xué)者問(wèn)題并給你指點(diǎn)的人是無(wú)價(jià)的。

通過(guò)肩并肩地觀察學(xué)習(xí)

有人提到觀察更有經(jīng)驗(yàn)的人使用終端 - 有很多經(jīng)驗(yàn)豐富的用戶(hù)甚至沒(méi)有意識(shí)到自己在做什么,你可以從中學(xué)到很多小技巧。

別名

很多人說(shuō),為常用任務(wù)創(chuàng)建自己的別名或腳本就像是一個(gè)神奇的“靈光一現(xiàn)”時(shí)刻,因?yàn)椋?/p>

  • 他們不必記住語(yǔ)法
  • 然后他們就有了一份自己常用命令的列表,可以輕松調(diào)用

查找示例的備忘單

很多手冊(cè)頁(yè)沒(méi)有示例,例如 openssl s_client 的手冊(cè)頁(yè)就沒(méi)有示例。這使得起步變得更加困難!

人們提到了一些備忘單工具,比如:

  • tldr.sh
  • cheat(還可以進(jìn)行編輯 - 你可以添加自己的命令以供以后參考)
  • um(一個(gè)非常精簡(jiǎn)的需要自己構(gòu)建的系統(tǒng))

例如,openssl 的備忘單 非常棒 - 我認(rèn)為它幾乎包含了我在實(shí)際中使用 openssl 時(shí)用過(guò)的所有內(nèi)容(除了 openssl s_client 的 -servername 選項(xiàng))。

有人說(shuō)他們配置了他們的 .bash_profile,這樣每次登錄時(shí)都會(huì)打印出一張備忘單。

不要試圖背誦

一些人說(shuō)他們需要改變自己的方法 - 他們意識(shí)到不需要試圖記住所有的命令,只需按需查找命令,隨著時(shí)間的推移,他們會(huì)自然而然地記住最常用的命令。

(我最近對(duì)學(xué)習(xí)閱讀 x86 匯編有了完全相同的體會(huì) - 我正在上一門(mén)課程,講師說(shuō)“是的,剛開(kāi)始時(shí)可以每次都查找,最終你會(huì)記住最常見(jiàn)的指令?!保?/p>

還有一些人說(shuō)相反的觀點(diǎn) - 他們使用間隔重復(fù)應(yīng)用程序(如 Anki)來(lái)記憶常用的命令。

Vim

有人提到他們開(kāi)始在命令行上使用 Vim 編輯文件,一旦他們開(kāi)始使用終端文本編輯器,使用命令行處理其他事情也變得更自然。

此外,顯然有一個(gè)名為 micro 的新編輯器,像是更好的 pico/nano,適用于那些不想學(xué)習(xí) Emacs 或 Vim 的人。

桌面上使用 Linux

有人說(shuō)他們開(kāi)始使用 Linux 作為他們的日常主力系統(tǒng),而需要修復(fù) Linux 問(wèn)題可以幫助他們學(xué)習(xí)。這也是我在大約 2004 年熟悉命令行的方式(我非常喜歡安裝各種不同的 Linux 發(fā)行版,以找到我最喜歡的那個(gè)),但我猜這不是如今最受歡迎的策略。

被迫僅使用終端

有些人說(shuō)他們參加了一門(mén)大學(xué)課程,教授讓他們?cè)诮K端上做所有事情,或者他們自己制定了一個(gè)規(guī)則,一段時(shí)間內(nèi)必須在終端上完成所有工作。

工作坊

有幾個(gè)人說(shuō)像 Software Carpentry 這樣的工作坊(面向科學(xué)家的命令行、Git 和 Python/R 編程簡(jiǎn)介)幫助他們更熟悉命令行。

你可以在這里查看 Software Carpentry 課程。

書(shū)籍和文章

一些提到的材料:

文章:

書(shū)籍:

視頻:

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2022-04-01 12:51:44

命令Containerd

2018-04-25 10:46:05

Linux命令行日歷

2018-03-29 15:58:55

Linux命令行編輯器

2022-11-18 12:47:51

LinuxAWS命令行工具

2020-11-01 20:00:26

命令行ShellLinux

2020-11-05 09:30:59

命令行Linux

2016-01-04 15:17:50

Linux命令行硬件

2014-10-22 12:03:14

Linux嗅探HTTP

2014-06-09 10:23:20

2019-08-15 15:00:31

Linux命令行PDF

2020-11-22 06:20:53

命令行Linux

2014-04-10 10:10:16

KVMDebianUbuntu

2023-02-07 09:49:26

Linux命令行合并文件

2014-05-04 10:58:18

Linux命令行Linux發(fā)行版

2020-07-30 13:34:48

終端命令行Linux

2022-10-14 19:30:29

Linux

2022-10-18 14:52:36

2020-12-10 16:16:08

工具代碼開(kāi)發(fā)

2020-12-11 06:44:16

命令行工具開(kāi)發(fā)

2009-08-06 20:14:16

linux命令行模式linux命令行修改系統(tǒng)時(shí)間
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)