App下載

命令行命令指南:常用命令與技巧全解析

編程獅(w3cschool.cn) 2025-04-10 11:33:41 瀏覽數(shù) (150)
反饋

命令行是什么?

命令行是與計算機(jī)交互的一種方式,通過輸入文本命令來告訴計算機(jī)要執(zhí)行的操作。它就像是一個神奇的控制臺,你可以用它來導(dǎo)航文件、管理文件和文件夾、運行程序等等。

什么是命令行

常用命令

>

$ cat oceans.txt > continents.txt

> 將左邊命令的標(biāo)準(zhǔn)輸出重定向到右邊的文件。就像把一個文件的內(nèi)容倒入另一個文件。

>>

$ cat glaciers.txt >> rivers.txt

>> 將左邊命令的標(biāo)準(zhǔn)輸出追加到右邊的文件。就像在故事書的末尾添加新的章節(jié)。

<

$ cat < lakes.txt

< 將右邊文件的標(biāo)準(zhǔn)輸入輸入到左邊的程序。就像把一個文件的內(nèi)容倒入一個魔法瓶子里。

|

$ cat volcanoes.txt | wc

| 是一個“管道”。它將左邊命令的標(biāo)準(zhǔn)輸出作為標(biāo)準(zhǔn)輸入傳遞給右邊的命令。就像把一個命令的輸出直接連接到另一個命令的輸入。

~/.bash_profile

$ nano ~/.bash_profile

~/.bash_profile 是一個文件,用于存儲環(huán)境設(shè)置。它通常被稱為“bash 配置文件”。當(dāng)你啟動一個會話時,它會加載 bash 配置文件的內(nèi)容,然后再執(zhí)行命令。

alias

alias pd="pwd"

alias 命令允許你為常用的命令創(chuàng)建鍵盤快捷鍵,或者別名。就像給一個長名字的命令取一個昵稱。

cd

$ cd Desktop/

cd 接受一個目錄名作為參數(shù),并切換到該目錄。就像從一個房間走到另一個房間。

$ cd jan/memory

要直接導(dǎo)航到一個目錄,使用 cd 并將目錄路徑作為參數(shù)。這里,cd jan/memory/ 命令直接導(dǎo)航到 jan/memory 目錄。

cd ..

$ cd ..

要向上移動一個目錄,使用 cd ..。這里,cd ..jan/memory/ 導(dǎo)航到 jan/。

cp

$ cp ada_lovelace.txt historical/

cp 復(fù)制文件或目錄。這里,我們將文件 ada_lovelace.txt 復(fù)制到 historical/ 目錄。

通配符(*

$ cp * satire/

通配符 * 選擇當(dāng)前目錄中的所有文件。上面的例子將當(dāng)前目錄中的所有文件復(fù)制到名為 satire 的目錄。還有其他類型的通配符,但它們超出了這個詞匯表的范圍。

$ cp m*.txt scifi/

這里,m*.txt 選擇工作目錄中所有以“m”開頭并以“.txt”結(jié)尾的文件,并將它們復(fù)制到 scifi/。

env

$ env

env 命令代表“環(huán)境”,并返回當(dāng)前用戶的環(huán)境變量列表。

env | grep VARIABLE

$ env | grep PATH

env | grep PATH 是一個顯示單個環(huán)境變量值的命令。

export

export USER="Jane Doe"

export 使變量在你當(dāng)前會話啟動的所有子會話中可用。這是一種讓變量在程序之間持續(xù)存在的方法。

grep

$ grep "Mount" mountains.txt

grep 代表“全局正則表達(dá)式打印”。它搜索文件中與模式匹配的行并返回結(jié)果。它是區(qū)分大小寫的。

grep -i

$ grep -i "Mount" mountains.txt

grep -i 使命令不區(qū)分大小寫。

grep -R

$ grep -R Arctic /home/ccuser/workspace/geography

grep -R 搜索圖片搜索目錄中的所有文件,并輸出包含匹配結(jié)果的文件名和行。-R 代表“遞歸”。

grep -Rl

$ grep -Rl Arctic /home/ccuser/workspace/geography

grep -Rl 搜索功能搜索目錄中的所有文件,并僅輸出包含匹配結(jié)果的文件名。-R 代表“遞歸”,l 代表“包含匹配的文件”。

HOME

$ echo $HOME

HOME 變量是一個環(huán)境變量,顯示主目錄的路徑。

ls

$ ls
2024  2025  hardware.txt

ls 列出工作目錄中的所有文件和目錄。

ls -a

$ ls -a
.  ..  .preferences  action  drama comedy  genres.xt

ls -a 列出工作目錄中的所有內(nèi)容,包括隱藏文件和目錄。

ls -l

$ ls -l
drwxr-xr-x 5  cc  eng  4096 Jun 24 16:51  action
drwxr-xr-x 4  cc  eng  4096 Jun 24 16:51  comedy
drwxr-xr-x 6  cc  eng  4096 Jun 24 16:51  drama
-rw-r--r-- 1  cc  eng     0 Jun 24 16:51  genres.txt

ls -l 以長格式列出目錄中的所有內(nèi)容。以下是每列的含義。

ls -t

ls -t 按最后修改時間對文件和目錄進(jìn)行排序。

mkdir

$ mkdir media

mkdir 接受一個目錄名作為參數(shù),然后在當(dāng)前工作目錄中創(chuàng)建一個新目錄。這里我們使用 mkdir 創(chuàng)建了一個名為 media/ 的新目錄。

mv

$ mv superman.txt superhero/

要將文件移動到目錄中,使用 mv,并將源文件作為第一個參數(shù),目標(biāo)目錄作為第二個參數(shù)。這里我們將 superman.txt 移動到 superhero/。

nano

$ nano hello.txt

nano 是一個命令行文本編輯器。它就像桌面文本編輯器(如 TextEdit 或 Notepad)一樣工作,只是它可以從命令行訪問,并且只接受鍵盤輸入。

PATH

$ echo $PATH
/home/ccuser/.gem/ruby/2.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin

PATH 是一個環(huán)境變量,存儲了一系列由冒號分隔的目錄。每個目錄都包含命令行要執(zhí)行的腳本。PATH 列出哪些目錄包含腳本。

pwd

$ pwd
/home/ccuser/workspace/blog

pwd 打印工作目錄的名稱。

rm

$ rm waterboy.txt

rm 刪除文件。這里我們從文件系統(tǒng)中刪除文件 waterboy.txt。

rm -r

$ rm -r comedy

rm -r 刪除一個目錄及其所有子目錄。

sed

$ sed 's/snow/rain/' forests.txt

sed 代表“流編輯器”。它接受標(biāo)準(zhǔn)輸入,并根據(jù)一個表達(dá)式對其進(jìn)行修改,然后將其顯示為輸出數(shù)據(jù)。

在表達(dá)式 's/snow/rain/' 中:

  • s: 代表“替換”。
  • snow: 搜索功能搜索字符串,要查找的文本。
  • rain: 替換字符串,要添加的文本。

sort

$ sort lakes.txt

sort 接受一個文件名或標(biāo)準(zhǔn)輸入,并按字母順序?qū)γ恳恍羞M(jìn)行排序,然后將其打印到標(biāo)準(zhǔn)輸出。

standard error

標(biāo)準(zhǔn)錯誤,簡稱為 stderr,是一個失敗進(jìn)程輸出的錯誤消息。

source

source ~/.bash_profile

source 激活 ~/.bash_profile 中的更改,以便在當(dāng)前會話中使用。這樣就不需要關(guān)閉終端并需要啟動一個新會話,source 會立即在我們當(dāng)前的會話中應(yīng)用更改。

standard input

標(biāo)準(zhǔn)輸入,簡稱為 stdin,是通過鍵盤或輸入設(shè)備輸入到終端的信息。

standard output

標(biāo)準(zhǔn)輸出,簡稱為 stdout,是一個進(jìn)程運行后輸出的信息。

touch

$ touch data.txt

touch 在工作目錄中創(chuàng)建一個新文件。它接受一個文件名作為參數(shù),然后在當(dāng)前工作目錄中創(chuàng)建一個新空文件。這里我們使用 touch 在 2025/dec/ 目錄中創(chuàng)建了一個名為 keyboard.txt 的新文件。

如果文件已存在,touch 用于更新文件的修改時間。

uniq

$ uniq lakes.txt

uniq,代表“唯一”,接受一個文件名或標(biāo)準(zhǔn)輸入,并打印出每一行,刪除任何完全相同的重復(fù)項。

課程推薦

希望這篇文章能幫助你更好地理解命令行命令!如果你有任何問題或需要進(jìn)一步的幫助,請隨時訪問 編程獅 。 ??

0 人點贊

App下載
App下載

掃描二維碼

下載編程獅App

關(guān)注有禮
微信公眾號

掃碼關(guān)注 領(lǐng)資料包

意見反饋
幫助中心
返回頂部