Linux 命令:man

一個介紹 man 命令的快速指南,用於學習如何使用命令行命令。 每當我不知道如何使用一個命令時,我輸入 man <命令> 來查看手冊: 這是一個 man (來自於 “manual”, 手冊) 頁面。作為一名開發人員,掌握使用 man 頁面是一個必需的工具。它們包含的信息很豐富,有時候幾乎太多了。 上面的截圖只是 ls 命令的 14 個頁面中的其中之一。 Man 頁面分為 7 個不同的組,根據編號進行標識: 1 是用戶命令 2 是內核系統調用 3 是C 函數庫 4 是設備 5 是文件格式和文件系統 6 是遊戲 7 是其他命令、規範和概述 8 是超級用戶和系統管理員命令 大多數時候,當我需要快速學習一個命令時,我會使用一個叫做 tldr pages 的網站:https://tldr.sh/。這是一個你可以安裝的命令,然後你可以像這樣運行它:tldr <命令>,它會給你一個非常快速的命令概述,附帶一些常見使用情景的示例。 這不是 man 的替代品,而是一個很方便的工具,用來避免在 man 頁面中迷失在大量信息中。然後你可以使用 man 頁面來探索命令中可以使用的所有不同選項和參數。 man 命令適用於 Linux、macOS、WSL ,以及任何擁有 UNIX 環境的地方。

Linux命令:echo

快速指南:echo命令,用於打印傳遞給它的參數。 echo命令只有一個簡單的功能:將傳遞給它的參數打印到輸出中。 以下是一個示例: echo "hello" 將在終端打印hello。 我們可以將輸出附加到一個文件中: echo "hello" >> output.txt 我們可以插值環境變量: echo "The path variable is $PATH" 請注意,特殊字符需要使用反斜線 \ 進行轉義。例如,$: 這僅僅是一個開始。當涉及與shell功能的交互時,我們可以做一些有趣的事情。 我們可以輸出當前文件夾中的文件: echo \* 我們可以輸出以字母 o 開頭的當前文件夾中的文件: echo o\* 這裡可以使用任何有效的Bash(或您使用的任何shell)命令和功能。 您可以打印您的主目錄路徑: echo ~ 您還可以執行命令並將結果打印到標準輸出(或文件,正如您所見): echo $(ls -al) 請注意,預設情況下不會保留空格。如果需要保留,則需要將命令用雙引號括起來: 您可以生成一個字符串列表,例如範圍: echo {1..5} echo命令適用於Linux、macOS、WSL以及任何具有UNIX環境的地方。

Linux指令:rmdir

快速指南:rmdir命令用於刪除文件夾 就像您可以使用mkdir命令創建文件夾一樣,您可以使用rmdir命令刪除文件夾: mkdir fruits rmdir fruits 您也可以同時刪除多個文件夾: mkdir fruits cars rmdir fruits cars 需要注意的是,您要刪除的文件夾必須是空的。 若要刪除包含文件的文件夾,我們將使用更通用的rm命令,該命令可刪除文件和文件夾,使用-rf選項: rm -rf fruits cars 請小心使用此命令,它不會要求確認操作,並且將立即刪除您要求刪除的任何內容。 在命令行界面中刪除文件時,文件將無法恢復,並且恢復丟失的文件可能會比較困難。 該命令在Linux、macOS、WSL和任何UNIX環境中均適用。

使用Node輸出到命令行

如何使用Node將信息打印到命令行控制台,從基本的console.log到更複雜的場景。 使用console模組進行基本輸出 清除控制台 元素計數 打印堆棧跟踪 計算耗時 stdout和stderr 為輸出添加顏色 創建進度條 使用console模組進行基本輸出 Node提供了console模組,該模組可以提供與命令行交互的各種非常有用的方法。它基本上與在瀏覽器中找到的console對象相同。 最基本和最常用的方法是console.log(),它將將您傳遞給它的字符串打印到控制台。如果您傳遞一個對象,它將將它呈現為字符串。您可以將多個變量傳遞給console.log,例如: const x = 'x' const y = 'y' console.log(x, y) Node將打印兩個值。 您還可以通過傳遞變量和格式化符號來格式化漂亮的短語。例如: console.log('我的 %s 有 %d 歲', '貓', 2) %s 將變量格式化為字符串 %d 或 %i 將變量格式化為整數 %f 將變量格式化為浮點數 %O 用於打印對象表示 示例: console.log('%O', Number) 清除控制台 console.clear()可以清除控制台(行為可能取決於所使用的控制台)。 元素計數 console.count()是一個方便的方法。 看一下下面的代碼: const x = 1 const y = 2 const z = 3 console.count('x的值為' + x + '被檢查了多少次?') console.count('x的值為' + x + '被檢查了多少次?') console....

使用命令行操作 Docker 容器

Docker Desktop 应用程序非常方便地通过图形界面操作容器。 您并不需要使用它,您也可以使用命令行工具操作。 docker ps 命令可以列出当前正在运行的容器: 这与运行 docker container ls 命令相同。 在这个例子中,容器名称为 node-app,ID 为 739037a911e0,由镜像 examplenode 创建,创建时间为 4分钟前,启动时间为 4分钟,并且主机机器的端口80映射到容器端口3000,使用的是TCP协议。 当您知道容器的 ID 时,可以通过运行以下命令停止容器: docker container stop <ID> 容器停止后,可以使用 docker container ls -a 命令查看它: 您可以使用 docker container rm 命令删除它: docker container rm <ID> 您可以使用 docker inspect 命令查看容器的所有详细信息: 另一个非常有用的命令是 docker info,它可以提供有关当前 Docker 安装状态的大量信息,包括容器和镜像的数量。

使用命令行操作 Docker 鏡像

使用以下命令可以列出您已下載或安裝的所有鏡像: docker images -a 執行這個命令的結果如下所示: 您可以使用 docker rmi 命令並指定要刪除的鏡像名稱來移除一個鏡像。這將刪除該鏡像。 執行以下命令可以移除當前測試和開發中的一些已成為懸空狀態(未標記)的鏡像,以釋放磁碟空間: docker images -f dangling=true 執行結果如下所示: 使用以下命令可以清除這些鏡像: docker rmi $(docker images -f dangling=true -q) 此命令只會刪除已放置在容器中的懸空鏡像,即使它們目前未運行。 docker system prune -a 是另一個常用的刪除鏡像的方法,它也會移除未被任何容器引用的鏡像,這可能會刪除您想保留的鏡像,即使只是為了回滾到鏡像的先前版本。 如果您想清除所有鏡像,可以使用以下命令: docker rmi $(docker images -a -q) 這在您進行首次測試和 Docker 實驗時可能非常有用。

如何從命令行打開 VS Code

安裝 VS Code 命令行工具的簡單指南 我寫這篇博客文章是因為我正在設置一台新的 Mac,遇到了一些我習以為常的小問題,在首次安裝 VS Code(我最喜歡的編輯器!)時,這些功能並不是默認提供的。 我習慣於在終端中輸入 code 文件夾名稱 來打開 VS Code 中的文件夾。或者 code 文件名 來打開一個文件。 今天,我自動地按照這樣的方式操作,但是卻出現了“命令未找到”的錯誤! 我不得不進入 VS Code,按下 cmd-option-P(或者從菜單中選擇 View -> Command Palette),然後搜索“command”,我找到了以下選項: Shell Command: Install 'code' command in PATH 我按下了回車鍵,現在命令在終端中可以使用了。 開心地進行編程吧!

如何解決 macOS 中的 xcrun invalid active developer path 錯誤

使用命令行快速解決這個煩人的問題 最近在將我 macOS 版本更新為 Catalina 後遇到了這個問題。 當我試圖通過 Homebrew 更新 Hugo 時,觸發了這個錯誤: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 雖然命令成功完成了,但我們不想看到錯誤,是嗎? 以下是我解決這個問題的方法。 在終端中執行以下命令: xcode-select --install 這會觸發一個在 macOS 中的對話框: 點擊「安裝」並接受條款後,下載會開始: 安裝完成後: 我關閉了終端窗口並打開了一個新的終端。 問題解決。

用Go構建命令行應用程序:彩虹貓

喜歡命令行應用程序嗎?也不要錯過 cowsay 教程! 我正在尋找一些終端應用程序來尋找靈感,結果我偶然發現了 lolcat。 原始碼在 https://github.com/busyloop/lolcat,並且已經有了一些Go的實現: https://github.com/cezarsa/glolcat https://github.com/latotty/lolcat https://github.com/lalyos/lolcat https://github.com/vbatts/gogololcat 看起來是一個完全沒有用的東西,所以讓我們來實現它! 首先,讓我們在屏幕上打印一些值,然後我們將為它們上色,然後我們將研究如何接受用戶輸入以作為管道工作。 我使用 https://github.com/enodata/faker 生成假的輸出。 go get -u github.com/enodata/faker 該程序輸出了一些短語: package main import ( "fmt" "strings" "github.com/enodata/faker" ) func main() { var phrases []string for i := 1; i < 3; i++ { phrases = append(phrases, faker.Hacker().Phrases()...) } fmt.Println(strings.Join(phrases[:], "; ")) } 不幸的是,這都是無聊的黑白。讓我們添加一些顏色。我們可以通過在 fmt.Printf 中插入一個逸出字符序列來實現這一點。這樣就可以以金色 #FFD700(RGB顏色碼:255,215,0)打印所有字符串: package main import ( "fmt" "strings" "github.com/enodata/faker" ) func main() { var phrases []string for i := 1; i < 3; i++ { phrases = append(phrases, faker....

移除圖片中的 EXIF 資料

在上傳圖片到網路之前,我有需要移除可能包含位置和其他應該不被分享的 EXIF 資料,因為這是使用 iPhone 拍攝的照片。 小技巧:如果您已經知道要從照片中移除位置資料,在分享面板中點擊「選項」,然後再選擇「AirDrop」之前,您可以選擇停用位置資料和其他元數據的傳送。 我找到了一種在 Mac 上簡單完成的方法。 最簡單的方式是使用 ImageOptim。只需將圖片拖放到該工具中,它將移除所有的 EXIF 資料。 或者,如果您更喜歡使用命令行,或者想使用一個能與您的腳本集成的工具,可以安裝 exiv2: brew install exiv2 然後使用 exiv2 pr 列出圖片的 EXIF 資料: exiv2 pr <filename> 使用 exiv2 rm 移除圖片的 EXIF 資料: exiv2 rm <filename>