Bash shell介紹

Bash是目前大多數系統上的默認shell,包括Linux、macOS以及Windows 10上的WSL。 註:自Catalina(2019年秋季)以來,macOS使用Zsh 有一些歷史原因使得Bash成為世界上最受歡迎的shell。在1989年,當Bash首次發布時,技術世界與現在相去甚遠。當時,UNIX世界中的大多數軟件都是封閉源碼的。Unix本身是專有的,也是封閉源碼的。 要使用Unix系統,您必須使用一個shell。 當時最受歡迎的shell是封閉源碼的,您需要支付費用才能使用它。它被稱為“Bourne shell”,在/bin/sh命令下可用。它之所以被稱為“Bourne”是因為它的創作者是Steve Bourne。 在那些年,Richard Stallman與GNU項目(後來又是Linux)即將引起革命,開始了開源革命。 GNU項目需要一個shell,於是Bash應運而生。Bash受到Bourne Shell的極大啟發,Bash代表“Bourne再次shell”,它是GNU項目的一個重要組成部分,也是該項目最成功的軟件之一,我們仍然在今天使用。 Bash可以執行所有為sh編寫的腳本,這對於其采用是一個必要的功能,它還引入了更多功能,從最早的版本開始,為其用戶提供更好的體驗。從那時以來,Bash獲得了很多改進。本教程介紹了您可以使用Bash執行的最常見和有用的操作。 Bash的第一步 由於Bash是許多系統的默認shell,您只需要開始bash shell就只需以下操作: 登錄到系統(如果是服務器)。 打開終端(如果是您的計算機)。 開始shell後,您應該看到一個提示符(通常以$結尾)。 如何確定shell正在運行bash?請嘗試輸入help並按Enter。 看到了嗎?我們剛才告訴Bash執行help命令。該命令顯示您正在運行的Bash版本以及您可以使用的命令列表。 警告:看到我那裡有的版本了嗎?這是macOS隨附的默認Bash版本,由於許可問題,它不包含更高版本。這個Bash版本來自於2014年。輸入brew install bash使用Homebrew安裝最新的Bash 5.x。 除非您正在創建shell腳本或進行高級操作,否則您通常不會使用bash說明中列出的任何命令。 99%的日常shell使用是在文件夾之間導航和執行像ls,cd和其他常見UNIX實用程序的程序。 瀏覽文件系統 要瀏覽文件系統,您將使用ls命令。它在/bin/ls中可用,並且由於Bash將/bin文件夾列在其路徑列表中,因此您只需輸入ls即可使用它。 ls會列出當前文件夾中的文件。您通常從您的主文件夾開始,它取決於系統,但在macOS下位於/Users下。我的主文件夾位於/Users/flavio。這與Bash無關,而是有關UNIX文件系統的事情,但參數重疊,如果您從未使用過shell,了解這些是很有益的。 要導航到其他文件夾,請使用cd命令,後跟要移動到的文件夾的名稱: cd Documents cd ..會返回到上級文件夾。 根據您的Bash配置,您將在提示符($符號)之前看到您當前的文件夾。或者,您可能不會看到它,但您始終可以通過輸入“pwd”並按Enter來知道您的位置。 pwd表示“工作目錄的路徑名” 命令行編輯 在shell中編寫命令時,請注意您可以使用箭頭鍵向左或向右移動。這是一個shell特性。您可以移動到命令周圍,按退格鍵進行修正。按下Enter鍵會告訴shell繼續並讓系統執行該命令。 這是正常且可接受的行為,但這可能使早期的UNIX用戶感到“驚訝”。 通過鍵盤組合,您可以快速進行編輯,而無需使用箭頭鍵: ctrl+d 刪除當前選定的字符 ctrl+f 跳轉到右邊的字符 ctrl+b 跳轉到左邊的字符 自動完成 Bash在移動文件系統時具有自動完成的功能。嘗試輸入cd Doc 然後按tab鍵,Bash會自動將其完成為cd Documents。如果這些首個字符有多個選擇,Bash將返回列表,以便您可以輸入一些其他字符以幫助它刪除歧義,然後再次按tab鍵以完成。 Shell命令 使用shell,我們可以執行系統中可用的命令。我們可以在命令前綴中使用完整路徑(例如/bin/ls以列出文件夾中的文件),但是shell具有“路徑”的概念,因此我們可以只輸入ls,它就知道大多數命令都在哪裡(我們還可以通過配置它來添加文件夾到這個路徑)。 命令接受參數。例如,ls /bin將列出/bin文件夾中的所有文件。 參數以破折號-為前綴,例如ls -a 告訴 ls 顯示隱藏文件。按照約定,隱藏文件以點(.)開頭。 常見的shell命令 任何系統上都預先安裝了許多命令,這些命令因具體的系統(Linux/macOS)或甚至所用的Linux發行版而異。 然而,讓我們簡單回顧一下您可以運行的最常用shell命令。這些不是shell本身提供的命令,而是通過shell調用的命令行命令。 每當您遇到問題時,例如您不知道一個命令的作用,或者不知道如何使用它,使用man命令。它可以讓您獲得我將列出的所有命令以及更多的命令的幫助。例如,運行man ls。 這些是可以查看、操作文件的命令。 ls:列出文件 cd:更改目錄 rm:刪除文件或文件夾 mv:將文件移動到另一個目錄或更改文件名 cp:複製文件 pwd:顯示當前工作目錄 mkdir:創建文件夾 Unix文件系統中的每個文件都有權限。chmod允許您更改權限(我們現在不深入討論),chown允許您更改文件的所有者。...

cli-for-beginners

#完全新手的命令行 對於完全新手的命令行使用介紹 電腦很棒,因為使用滑鼠或觸控設備,我們可以做很多工作,鍵盤只需用來打字電子郵件、部落格文章或報告。 很久以前,這種情況並不存在。電腦只能通過鍵盤訪問,輸入奇怪和神秘的指令,稱為命令,這是真實存在的尤其是當電腦體積如整個房間般巨大時,但也適用於第一批價格合理的個人電腦,當你啟動時會跳出一個BASIC命令提示符。 如今,電腦界已將這種方式藏得好好的,消費者根本不會用到。 我們可以使用終端來實現這一點。 macOS自帶一個名為終端的應用程序。 微軟提供了一個名為Windows終端的應用程序。 而Linux用戶對其終端非常熟悉。 終端並不僅僅適用於程序員,對於每個專業電腦用戶來說也是必不可少的,因為它能為你提供無法在GUI(圖形用戶界面)中實現的功能。 哦,我提到了GUI。終端的首字母縮寫是CLI(命令行界面)。 并非只有一個終端。這是你的心願。相反,我們有很多不同的終端界面,稱為shell。 我們有Bash,ZSH,Fish Shell,CSH等等。但最流行的是Bash和ZSH。 Bash通常是默認的終端,直到最近才被更改為ZSH。 老實說,我最喜歡的shell是Fish Shell。我真的很喜歡它,因為它簡單、直接,帶有很好的默認設置,還有一個基於Web的配置。我沒有時間手動配置我的shell提示符和顏色,當某些東西安裝好可以直接用的時候,我會用上它。 終端也是你訪問服務器的方式。你可以在Amazon或DigitalOcean等地創建一個VPS服務器,然後使用SSH(連接到遠程shell的安全協議)來訪問它。 你在本地使用終端,但事實上你可能連接到地球的另一邊的服務器,這真是太酷了。除了一點延遲,如果連接有點滯後。 這是我的macOS終端: 通過輸入ls並按下回車,我可以列出我的主文件夾中的所有文件: 我可以使用cd命令將當前工作目錄更改為其他文件夾: 每次我不知道如何使用一個命令時,我都會輸入man <command>以獲取說明文檔: 這是一個說明文檔。盡管我認為說明文檔包含了太多的信息,比如ls命令的說明就佔用了14屏幕。 大多數時候,我需要時使用了這個網站,叫做tldr頁面:https://tldr.sh/。這是一個你可以安裝的命令,然後像這樣運行它:tldr <command> 它只給了我一些有用的選項和示例。 無論如何,我有點離題了。在輸入命令時,你可以使用左右箭頭來移動光標。 一些系統也允許你使用鼠標移動到行中的特定位置。例如,在macOS上,我可以使用選項-click在我想要的任何位置放置光標。 按上箭頭將顯示你上次輸入過的命令。當你打錯字時,你不需要重新輸入整個命令,這很方便。 如果輸入了一個找不到的命令,shell會告訴你: 我做了一些關於使用shell的教程: 如何使用macOS終端 Bash shell Unix Shells教程 Bash Shell腳本編程入門 如果你想了解更多,那裡有很多閱讀材料!

linux-command-clear

#Linux命令:clear 快速指南:clear命令,用於清除終端的屏幕。 輸入clear以清除當前終端中過去執行的所有命令。 屏幕將清除,您將只看到頂部的提示符: 注意:這個命令有一個方便的快捷鍵:ctrl-L 這樣做后,您將無法滾動查看先前輸入的命令的輸出。 因此,您可能想使用clear -x,它仍然清除屏幕,但允許您向上滾動查看先前的工作。 clear命令適用於Linux、macOS、WSL和任何擁有UNIX環境的地方

如何使用 macOS 终端

终端是编程装备中不可或缺的一员。它允许您执行其他无法实现的任务。 您可以在 Spotlight 中搜索 Terminal,或者转到 应用程序 文件夹,打开 实用工具 子文件夹,找到 终端 应用程序。 打开后,您会看到以下屏幕,或者非常相似: bash-3.2 指示了 shell 的类型和版本。在这里出现了一个新词 - shell。什么是 shell?Shell 是一种允许我们与操作系统及其应用程序进行交互的程序。 注意:当前 macOS 自 Catalina 版本开始使用 zsh。这个教程与此无关。 有不同类型的 shell,Bash 是最受欢迎的之一。有些人使用 Fish(像我一样),有些人使用 Z Shell,还有其他类型的。 Shell 基本上是允许我们输入命令的程序。 文件系统命令 我们可以从输入 ls 命令开始,当我们按下 Enter 键后,shell 会显示当前文件夹中的文件。 Shell 通常从您的主文件夹开始,这在 Mac 上位于 /Users/yourname。 我们如何知道我们当前在哪个文件夹中?您可以使用 pwd 命令获取当前文件夹的路径。 您可以使用 cd 命令更改当前文件夹。 如果只输入 cd,shell 将返回到您的主文件夹。 您可以使用 mkdir 命令创建新文件夹。 运行命令 在 shell 中,您可以访问计算机上安装的所有程序和文件。非常丰富的资源。 您可能需要执行的一个任务是在 Node 和 JavaScript 中进行编程时使用 npm。 npm 不是一个开箱即用的命令,您需要从 https://www....

如何使用終端機從伺服器下載文件

我需要從伺服器上轉移一個文件。 我通過 SSH 連接,不想設置 SFTP 連接(而且也不確定是否允許 SFTP 連接),因此我打開另一個終端窗口並使用了 scp 命令。 這是語法: scp -i /.ssh/yourkey [[email protected]](/cdn-cgi/l/email-protection):/path-to-file/on/server.txt ./ 將 USER 和 SERVER 替換為您的伺服器詳情,/path-to-file/on/server.txt 替換為文件的路徑。同時使用您的 SSH 金鑰路徑。 這將下載文件到與您所在的相同文件夾中,因為我指定為 ./。您可以將其更改為計算機上的任何文件夾。

如何在 macOS Finder 中添加「在終端機中打開」圖示

假設我在 Finder 中打開了一個資料夾,而我想要在終端機中打開它。 為了讓這個操作更加方便,我決定在 Finder 中添加一個「在終端機中打開」圖示: 下面是如何實現這一點的方法。 首先打開 Automator,選擇「應用程式」。 在操作列表中搜索「執行 AppleScript」,然後粘貼以下內容: on run {input, parameters} tell application "Finder" set myPath to (POSIX path of (target of front window as alias)) end tell tell application "Terminal" do script "cd " & myPath activate end tell return input end run 如果你更喜歡使用「執行 Shell 腳本」,可以使用以下 Bash 腳本: osascript -e ' tell application "Finder" set myPath to (POSIX path of (target of front window as alias)) end tell tell application "Terminal" do script "cd " & myPath activate end tell ' 第一個腳本運行的是 osascript(這是一個運行 AppleScript 的腳本),內容如下:...

如何從 shell 中刪除「Last login..」訊息

每次打開我的 shell 都會出現這樣一行訊息: 對我來說是一個沒有用的資訊。 我想要把它刪除。 我執行了以下指令以刪除「Last login: ….」的資訊: touch ~/.hushlogin 完成! 這個方法適用於 macOS 和 Linux。

配置 macOS 命令行

如何從零配置 macOS 終端,使其成為你日常開發的完美工具。 也可以查看我的如何使用 macOS 終端文章。 如何設定 macOS 命令行 我剛剛買了一台新的 MacBook Air 來取代我的心愛的 2010 MacBook Pro,於是我決定記錄一下配置命令行的流程。 默認情況下,我們有以下內容: 在本文結束時,我們將擁有一個更好的終端。 首先,安裝 Homebrew。前往 https://brew.sh,並在終端中複製下面的魔法公式: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 這將完成安裝 Brew 軟件包管理器,這是一個不可思議的工具。這需要一些時間,因為它需要從 Apple 下載 Xcode 命令行工具。 接下來,我們安裝 Fish Shell。運行 brew install fish 命令。 現在,我們需要將 Fish 設置為默認的 shell。運行 sudo vim /etc/shells 命令,然後按下 i 鍵進入插入模式,接著在列表末尾添加 /opt/homebrew/bin/fish。 然後按下 esc 鍵,然後鍵入 :wq 來保存文件並退出編輯器。 輸入 chsh -s /opt/homebrew/bin/fish 命令將默認 shell 更改為 Fish。 試著打開一個新的終端窗口,你將看到 Fish 的歡迎信息: 現在來添加一些顏色。輸入 fish_config 進入(令人驚豔的)配置工具:...