Linux 命令:find

快速指南,介紹用於在文件系統上查找文件和文件夾的 find 命令。 find 命令用於查找與特定搜索模式匹配的文件或文件夾。它可以遞歸搜索。 讓我們通過例子來學習它。 查找當前目錄下具有 .js 擴展名的所有文件,並打印每個匹配文件的相對路徑: find . -name '*.js' 重要提示:使用引號引起來處理特殊字符,例如 *,以避免shell解釋它們。 查找當前目錄下名稱為 “src” 的目錄: find . -type d -name src 使用 -type f 只搜索文件,使用 -type l 只搜索符號鏈接。 -name 區分大小寫,使用 -iname 執行不區分大小寫的搜索。 你可以在多個根目錄下進行搜索: find folder1 folder2 -name filename.txt 查找當前目錄下名稱為 “node_modules” 或 ‘public’ 的目錄: find . -type d -name node_modules -or -name public 你還可以使用 -not -path 排除某個路徑: find . -type d -name '*.md' -not -path 'node_modules/*' 你可以搜索具有超過 100 個字符(字節)的文件:...

Linux 命令:grep

快速指南 grep 命令,用於在文本中匹配模式。 grep 命令是一種非常有用的工具,當您掌握它時,將在您的日常工作中大大幫助您。 如果您想知道,grep 代表全局正則表達式打印 您可以使用 grep 在文件中搜索,或將其與管道結合以過濾另一個命令的輸出。 例如,這裡是如何在 index.md 文件中查找 document.getElementById 行的出現次數: grep -n document.getElementById index.md 使用 -n 選項將顯示行號: grep -n document.getElementById index.md 其中一個非常有用的功能是告訴 grep 在匹配行之前和之後打印 2 行,以提供更多上下文。這可以使用 -C 選項完成,該選項接受一個行數: grep -nC 2 document.getElementById index.md 默認情況下,搜索區分大小寫。使用 -i 標誌使其不區分大小寫。 正如前面提到的,您可以使用 grep 過濾另一個命令的輸出。我們可以使用以下方式復制上面的功能: less index.md | grep -n document.getElementById 搜索字符串可以是正則表達式,這使得 grep 具有很強的功能。 您可能會發現非常有用的另一個功能是反轉結果,排除匹配特定字符串的行,使用 -v 選項: grep 命令可在 Linux、macOS、WSL 和任何具有 UNIX 環境的地方運行。

Linux 命令:gunzip

一個關於 gunzip 命令的快速指南,用於解壓縮 gz 格式的文件 gunzip 命令與 gzip 命令基本上是等效的,只是 -d 選項預設總是啟用的。 可以這樣調用該命令: gunzip 文件名.gz 這將對文件進行解壓縮,並刪除 .gz 擴展名,將結果放到 文件名 文件中。如果該文件已存在,將覆寫它。 使用 -c 選項和輸出重定向,可以提取到不同的文件名中: gunzip -c 文件名.gz > 另一個文件名 gunzip 命令可以在 Linux、macOS、WSL 和任何有 UNIX 環境的地方使用。

Linux 命令:jobs

關於 jobs 命令的快速指南,該命令用於列出我們啟動的作業的狀態 在 Linux / macOS 中運行命令時,我們可以使用命令後面的 & 符號將其設置為在後台運行。 例如,我們可以在後台運行 top: top & 這對於運行時間較長的程序非常方便。 我們可以使用 fg 命令回到該程序。如果我們只有一個後台作業,這是完全沒問題的,否則我們需要使用作業編號:fg 1、fg 2 等等。 為了獲取作業編號,我們使用 jobs 命令。 假設我們運行 top &,然後運行 top -o mem &,這樣我們就有了 2 個 top 實例在運行。jobs 命令將告訴我們: 現在,我們可以使用 fg <jobid> 切換回其中一個。要再次停止該程序,我們可以按下 cmd-Z。 運行 jobs -l 也會打印每個作業的進程 ID。 此命令可在 Linux、macOS、WSL,以及任何具有 UNIX 環境的地方使用

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 命令:passwd

快速指南 passwd 命令,用於更改使用者的密碼 Linux 中的使用者有一個分配的密碼。您可以使用 passwd 命令來更改密碼。 這裡有兩種情況。 第一種情況是您想要更改自己的密碼。在這種情況下,輸入以下命令: passwd 然後,一個交互提示將要求您輸入舊密碼,接著將要求您輸入新密碼: 當您是 root 使用者(或具有超級使用者權限)時,您可以設置您要更改密碼的使用者名稱: passwd <使用者名稱> <新密碼> 在這種情況下,您不需要輸入舊密碼。 passwd 命本可以在 Linux、macOS、WSL 和任何具有 UNIX 環境的地方使用

Linux 命令:su

快速指南 su 命令,用于切换到另一个用户的 shell。 当您使用一个用户登录到终端 shell 时,您可能需要切换到另一个用户。 例如,您登录为 root 用户执行一些维护操作,但随后您想切换到另一个用户账号。 您可以使用以下 su 命令来实现: su <用户名> 例如:su flavio。 如果您以用户身份登录,运行 su 命令而无其他内容,则会提示您输入 root 用户密码,因为这是默认行为。 su 命令将作为另一个用户启动一个新的 shell。 完成后,在 shell 中键入 exit 将关闭该 shell,并返回到当前用户的 shell。 su 命令在 Linux 上运行。在 macOS 上,除非您启用了 root 用户(提示:您可以使用 sudo 替代)否则不起作用。

Linux 命令:wc

快速指南介紹 wc 命令,用於計算行數、單詞數或字節數。 wc 命令提供有關文件或通過管道接收的輸入的有用信息。 echo test >> test.txt wc test.txt 1 1 5 test.txt 通過管道的示例,我們可以計算運行 ls -al 命令的輸出: ls -al | wc 6 47 284 返回的第一列是行數,第二列是單詞數,第三列是字節數。 我們可以告訴它只計算行數: wc -l test.txt 或者只計算單詞數: wc -w test.txt 或者只計算字節數: wc -c test.txt ASCII 字符集中的字節等於字符數,但在非 ASCII 字符集中,字符數可能不同,因為某些字符可能占用多個字節,例如 Unicode。 在這種情況下,使用 -m 標誌可以獲得正確的值: wc -m test.txt wc 命令在 Linux、macOS、WSL 以及任何安裝有 UNIX 環境的地方都可以使用。

Linux 指令:alias

快速指南,介紹 alias 指令,用於建立對其他指令的快捷方式。 通常,我們會使用一組自訂的選項運行程式。 以 ls 指令為例。默認情況下,它只會顯示很少的資訊: 但是,使用 -al 選項時,它將顯示更多有用的資訊,包括檔案的修改日期、大小、擁有者和權限,同時還會列出隱藏檔案(以 . 開頭的檔案): 你可以建立一個新的指令,比如我喜歡叫它 ll,它會成為 ls -al 的別名。 你可以使用以下方式建立這個別名: alias ll='ls -al' 建立完後,你可以像使用一個普通的 UNIX 指令一樣呼叫 ll: 現在,只呼叫 alias 指令而不使用任何選項,將會列出所有已定義的別名: 別名會在終端機會話結束前一直有效。 若要使其永久生效,你需要將其添加到 shell 配置文件中,依據使用的 shell 不同,配置文件可能是 ~/.bashrc、~/.profile 或 ~/.bash_profile。 如果指令中包含變數,注意使用引號:使用雙引號時,變數在定義時解析;使用單引號時,變數在調用時解析。這兩者是不同的: alias lsthis="ls $PWD" alias lscurrent='ls $PWD' $PWD 代表 shell 目前所在的資料夾。如果你切換到新資料夾,lscurrent 將列出新資料夾中的檔案,而 lsthis 仍會列出你定義別名時所在資料夾的檔案。 alias 指令適用於 Linux、macOS、WSL,以及任何具有 UNIX 環境的地方。

Linux 指令:chmod

快速指南:chmod 指令,用於更改檔案模式 Linux / macOS 操作系統(以及 UNIX 系統)中的每個檔案都有三個權限:讀取、寫入和執行。 進入一個資料夾,然後執行 ls -al 指令。 在每個檔案行中您看到的異常字元串,如 drwxr-xr-x,定義了檔案或資料夾的權限。 讓我們來拆解一下。 第一個字元表示檔案的類型: - 表示普通檔案 d 表示資料夾 l 表示連結 然後有三組值: 第一組表示檔案的所有者的權限 第二組表示檔案所屬群組成員的權限 第三組表示其他所有使用者的權限 這些組由三個值組成。rwx 表示該特定角色具有讀取、寫入和執行許可權。刪除的任何內容都會被換成 -,這讓您可以形成各種不同的值和相對的許可權組合:rw-、r--、r-x 等等。 您可以使用 chmod 指令更改檔案的權限。 chmod 可以以兩種方式使用。首先是使用符號引數,其次是使用數字引數。我們先從符號引數開始,這更直觀。 您輸入 chmod,然後+ 或 - 加上一個空格,接著是一個字母: a 代表全部使用者 u 代表使用者 g 代表群組 o 代表其他所有使用者 然後您輸入一個或多個許可權符號(r、w、x)。 最後輸入檔案或資料夾的名稱。 以下是一些例子: chmod a+r filename #所有使用者現在可以讀取 chmod a+rw filename #所有使用者現在可以讀取和寫入 chmod o-rwx filename #其他使用者(非擁有者、非檔案所屬群組)無法讀取、寫入或執行該檔案 您可以在 + 或 - 之前添加多個字母,將相同的權限應用於多個使用者: chmod og-r filename #其他使用者和群組不再能讀取 如果您正在編輯一個資料夾,您可以使用 -r (遞迴)旗標將權限應用於該資料夾中包含的每個檔案。...