網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
一、Linux的結(jié)構(gòu)
Command [-option] [argument]
Command:即是要運(yùn)行的命令的本身,說(shuō)白了就是一個(gè)軟件(程序);
Option:是選項(xiàng)(可選),選項(xiàng)是控制命令運(yùn)行狀態(tài)和行為的(可多個(gè)選項(xiàng)一起,如df -hT);
Argument:是參數(shù)(可選),是命令要操作對(duì)象如文件、路徑、數(shù)據(jù)、目錄等;
在指令的第一部分按[tab]鍵一下為[命令補(bǔ)全],兩下為所有命令選擇,在非第一部分按[tab]鍵兩下為[文件補(bǔ)全];
二、什么是linux命令?
Linux命令是在命令行上運(yùn)行的程序或?qū)嵱贸绦颉C钚惺且粋€(gè)界面,它接受文本行并將其處理為計(jì)算機(jī)的指令。
任何圖形用戶(hù)界面(GUI)都只是命令行程序的抽象。例如,當(dāng)您通過(guò)單擊“X”關(guān)閉窗口時(shí),該操作后面會(huì)運(yùn)行一個(gè)命令。
標(biāo)志(flag)是我們可以向您運(yùn)行的命令傳遞選項(xiàng)的一種方式。大多數(shù)Linux命令都有一個(gè)幫助頁(yè)面,我們可以使用-h
標(biāo)記調(diào)用該頁(yè)面。大多數(shù)情況下,標(biāo)志是可選的。
argument或parameter是我們給命令的輸入,以便它可以正常運(yùn)行。在大多數(shù)情況下,參數(shù)是一個(gè)文件路徑,但它可以是您在終端中鍵入的任何內(nèi)容。
可以使用連字符 (-
) 和雙連字符 (--
)調(diào)用標(biāo)志,而參數(shù)的執(zhí)行取決于將它們傳遞給函數(shù)的順序。
三、常見(jiàn)的linux命令
1.ls
ls
可能是每個(gè)Linux用戶(hù)在其終端中鍵入的第一個(gè)命令。它允許您列出您想要的目錄的內(nèi)容(默認(rèn)情況下是當(dāng)前目錄),包括文件和其他嵌套目錄。
它有很多選擇,所以最好使用?--help
?來(lái)獲得一些幫助。此標(biāo)志返回所有可以與 ls一起使用的flags參數(shù)。
2.alias
命令
alias
命令允許您在shell會(huì)話(huà)中定義臨時(shí)別名。創(chuàng)建別名時(shí),您指示shell用一系列命令替換單詞。
3.unalias
命令
顧名思義,unalias
命令旨在從已定義的別名中刪除alias
。要?jiǎng)h除以前的ls
別名,可以使用:
unalias ls
?4.pwd
命令
pwd
命令代表“打印工作目錄”,它輸出您所在目錄的絕對(duì)路徑。例如,如果您的用戶(hù)名是“john”,并且您位于文檔目錄中,則其絕對(duì)路徑將是?/home/john/Documents
.
要使用它,只需在終端中鍵入pwd
:
pwd
# My result: /home/wbolt/Documents/linux-commands
5.?cd
命令
cd
命令與ls
都非常流行。它指的是“更改目錄”,顧名思義,它會(huì)將您切換到您試圖訪(fǎng)問(wèn)的目錄。
例如,如果您在Documents目錄中,并且試圖訪(fǎng)問(wèn)其名為Videos的子文件夾之一,則可以通過(guò)鍵入以下內(nèi)容來(lái)輸入:
cd Videos
您還可以提供文件夾的絕對(duì)路徑:
cd /home/wbolt/Documents/Videos
在使用cd
命令時(shí),有一些技巧可以為您節(jié)省大量時(shí)間:
(1) 進(jìn)入home文件夾
cd
(2) 向上移動(dòng)一個(gè)級(jí)別
cd ..
(3)返回上一個(gè)目錄
cd -
6.?cp
?命令
直接在Linux終端上復(fù)制文件和文件夾非常容易,有時(shí)它可以取代傳統(tǒng)的文件管理器。
要使用cp
命令,只需將其與源文件和目標(biāo)文件一起鍵入即可:
cp file_to_copy.txt new_file.txt
還可以使用遞歸標(biāo)志復(fù)制整個(gè)目錄:
cp -r dir_to_copy/ new_copy_dir/
請(qǐng)記住,在Linux中,文件夾以正斜杠 (/
)結(jié)尾。
7.?rm
命令
既然您已經(jīng)知道了如何復(fù)制文件,那么了解如何刪除它們將很有幫助。
您可以使用rm
命令刪除文件和目錄。但在使用時(shí)要小心,因?yàn)橛眠@種方法恢復(fù)刪除的文件非常困難(但并非不可能)。
要?jiǎng)h除常規(guī)文件,請(qǐng)鍵入:
rm file_to_copy.txt
如果要?jiǎng)h除空目錄,可以使用遞歸(-r
)標(biāo)志:
rm -r dir_to_remove/
另一方面,要?jiǎng)h除包含內(nèi)容的目錄,需要使用force(-f)和recursive標(biāo)志:
rm -rf dir_with_content_to_remove/
警告:誤用這兩個(gè)標(biāo)志,你可能會(huì)抹掉一整天的工作!
8.?mv
命令
您可以使用mv
命令在文件系統(tǒng)中移動(dòng)(或重命名)文件和目錄。
若要使用此命令,請(qǐng)將其名稱(chēng)與源文件和目標(biāo)文件一起鍵入:
mv source_file destination_folder/
mv command_list.txt commands/
要使用絕對(duì)路徑,請(qǐng)使用:
mv /home/wbolt/BestMoviesOfAllTime ./
…where?./
是您當(dāng)前所在的目錄。
您還可以使用mv
重命名文件,同時(shí)將其保留在同一目錄中:
mv old_file.txt new_named_file.txt
9.?mkdir
命令
要在shell中創(chuàng)建文件夾,可以使用mkdir
命令。只需指定新文件夾的名稱(chēng),確保它不存在,然后就可以開(kāi)始了。
例如,要?jiǎng)?chuàng)建一個(gè)保存所有圖像的目錄,只需鍵入:
mkdir images/
要使用簡(jiǎn)單命令創(chuàng)建子目錄,請(qǐng)使用parent(-p
)標(biāo)志:
mkdir -p movies/2004/
10.?man
命令
另一個(gè)重要的Linux命令是man
。它顯示任何其他命令的手冊(cè)頁(yè)面(只要有)。
要查看mkdir
命令的手冊(cè)頁(yè),請(qǐng)鍵入:
man mkdir
您甚至可以查看?man
?命令手冊(cè)頁(yè)面:
man man
man命令手冊(cè)頁(yè)面。
基礎(chǔ)的命令只能保證您在這門(mén)技術(shù)上打好根基,如果需要在這方面有所造詣,還需要進(jìn)行深度學(xué)習(xí)。比如參加知學(xué)堂APP的教程培訓(xùn)……
知乎知學(xué)堂知乎旗下職業(yè)教育平臺(tái)立即聽(tīng)課
11.?touch
命令
touch
命令允許您更新指定文件的訪(fǎng)問(wèn)和修改時(shí)間。
舊日期。
要將其修改日期更改為當(dāng)前時(shí)間,我們需要使用-m
標(biāo)志:
touch -m old_file
現(xiàn)在日期與今天的日期相符(開(kāi)始編寫(xiě)本文時(shí)的日期為8月8日)。
新日期
盡管如此,大多數(shù)情況下,您不會(huì)使用touch
來(lái)修改文件日期,而是創(chuàng)建新的空文件:
touch new_file_name
12.?chmod
?命令
chmod
命令允許您快速更改文件的模式(權(quán)限)。它有很多可用的選項(xiàng)。
文件的基本權(quán)限包括:
- r (只讀)
- w (寫(xiě)入)
- x (執(zhí)行)
chmod
最常見(jiàn)的用例之一是使文件可由用戶(hù)執(zhí)行。為此,請(qǐng)鍵入chmod
和標(biāo)志+x
,然后鍵入要修改其權(quán)限的文件:
chmod +x script
您可以使用它使腳本可執(zhí)行,從而允許您使用./
?符號(hào)直接運(yùn)行它們。
13.?./
?命令
也許?./
?符號(hào)本身不是命令,但在這個(gè)列表中值得一提。它允許shell直接從終端運(yùn)行可執(zhí)行文件,并在系統(tǒng)中安裝任何解釋器。不再雙擊圖形文件管理器中的文件!
例如,使用此命令,您可以運(yùn)行Python腳本或僅以.run格式提供的程序,如XAMPP。運(yùn)行可執(zhí)行文件時(shí),請(qǐng)確保它具有可執(zhí)行(x)權(quán)限,您可以使用chmod
命令修改該權(quán)限。
下面是一個(gè)簡(jiǎn)單的Python腳本,以及如何使用?./
?符號(hào)運(yùn)行它:
#! /usr/bin/python3
# filename: script
for i in range(20):
print(f"This is a cool script {i}")
下面是我們?nèi)绾螌⒛_本轉(zhuǎn)換為可執(zhí)行文件并運(yùn)行它:
chmod +x script
./script
14.?exit
?命令
exit
命令完全按照其名稱(chēng)執(zhí)行:使用它,您可以結(jié)束shell會(huì)話(huà),并且在大多數(shù)情況下,可以自動(dòng)關(guān)閉正在使用的終端:
exit
15.?sudo
?命令
此命令代表“超級(jí)用戶(hù)do”,它允許您在運(yùn)行特定命令時(shí)充當(dāng)超級(jí)用戶(hù)或根用戶(hù)。這就是Linux如何保護(hù)自己,防止用戶(hù)意外修改機(jī)器的文件系統(tǒng)或安裝不合適的軟件包。
Sudo通常用于安裝軟件或編輯用戶(hù)主目錄以外的文件:
sudo apt install gimp
sudo cd /root/
在運(yùn)行您鍵入的命令之前,它會(huì)要求您輸入管理員密碼。
16.?shutdown
?命令
正如您可能猜到的,shutdown
命令允許您關(guān)閉機(jī)器電源。但是,它也可以用來(lái)停止和重新啟動(dòng)它。
要立即關(guān)閉計(jì)算機(jī)電源(默認(rèn)為一分鐘),請(qǐng)鍵入:
shutdown now
您還可以計(jì)劃以24小時(shí)格式關(guān)閉系統(tǒng):
shutdown 20:40
要取消以前的shutdown
調(diào)用,可以使用-c
標(biāo)志:
shutdown -c
17.?htop
?命令
htop
是一種交互式流程查看器,可讓您直接從終端管理計(jì)算機(jī)的資源。在大多數(shù)情況下,默認(rèn)情況下它并沒(méi)有安裝,所以請(qǐng)確保在下載頁(yè)面上閱讀更多關(guān)于它的信息。
htop
“htop” 交互界面.
18.?unzip
?命令
unzip
命令允許您從終端提取.zip文件的內(nèi)容。同樣,默認(rèn)情況下可能不會(huì)安裝此軟件包,因此請(qǐng)確保使用package管理器安裝它。
下面命令行,指正在解壓一個(gè)包含圖像的.zip文件:
unzip images.zip
19.?apt
,?yum
,?pacman
?命令
無(wú)論您使用的是哪個(gè)Linux發(fā)行版,您都可能使用package管理器來(lái)安裝、更新和刪除您每天使用的軟件。
您可以通過(guò)命令行訪(fǎng)問(wèn)這些package管理器,并根據(jù)您的計(jì)算機(jī)運(yùn)行的發(fā)行版使用其中一個(gè)或另一個(gè)package管理器。
以下示例將安裝GIMP,這是一種通常在大多數(shù)package管理器中可用的免費(fèi)開(kāi)源軟件:
1. Debian-based (Ubuntu, Linux Mint)
sudo apt install gimp
2. Red Hat-based (Fedora, CentOS)
sudo yum install gimp
3. Arch-based (Manjaro, Arco Linux)
sudo pacman -S gimp
20.?echo
?命令
echo
命令在終端中顯示定義的文本-就這么簡(jiǎn)單:
echo "Cool message"
echo命令
它的主要用途是在這些消息中打印環(huán)境變量:
echo "Hey $USER"
# Hey wbolt
知學(xué)堂目前已經(jīng)發(fā)布了Python、Java、C/C++、前端、大數(shù)據(jù)和人工智能等類(lèi)型的課程培訓(xùn),部分精選課程還是免費(fèi)提供的,趕緊去深造吧!
知乎知學(xué)堂知乎旗下職業(yè)教育平臺(tái)立即聽(tīng)課
21.?cat
?命令
cat
?是“concatenate”的縮寫(xiě),用于直接從終端創(chuàng)建、查看和連接文件。它主要用于在不打開(kāi)圖形文本編輯器的情況下預(yù)覽文件:
cat long_text_file.txt
cat命令.
22.?ps
?命令
使用ps
,您可以查看當(dāng)前shell會(huì)話(huà)正在運(yùn)行的進(jìn)程。它打印有關(guān)正在運(yùn)行的程序的有用信息,如進(jìn)程ID、TTY(電傳打字機(jī))、時(shí)間和命令名。
ps
ps命令.
如果您想要更具交互性的內(nèi)容,可以使用htop
。
23.?kill
?命令
當(dāng)一個(gè)程序沒(méi)有響應(yīng),并且你不能用任何方法關(guān)閉它時(shí),這是很煩人的。幸運(yùn)的是,kill
命令解決了這類(lèi)問(wèn)題。
簡(jiǎn)單地說(shuō),kill
向終止它的進(jìn)程發(fā)送一個(gè)TERM或kill信號(hào)。
您可以通過(guò)輸入PID(進(jìn)程ID)或程序的二進(jìn)制名稱(chēng)來(lái)終止進(jìn)程:
kill 533494
kill firefox
使用此命令時(shí)要小心-使用kill
時(shí),可能會(huì)意外刪除您正在執(zhí)行的工作。
24.?ping
?命令
ping
?是用于測(cè)試網(wǎng)絡(luò)連接的最流行的網(wǎng)絡(luò)終端工具。ping
?有很多選項(xiàng),但在大多數(shù)情況下,您將使用它來(lái)請(qǐng)求域或IP地址:
ping google.com
ping 8.8.8.8
25.?vim
?命令
vim
?是一個(gè)免費(fèi)的開(kāi)源終端文本編輯器,從90年代開(kāi)始使用。它允許您使用高效的鍵綁定編輯純文本文件。
有些人認(rèn)為使用困難——退出VIM是最常見(jiàn)的StackOverflow問(wèn)題之一,但一旦習(xí)慣了,它就成為命令行中最好的盟友。
要啟動(dòng)Vim,只需鍵入:
vim
vim文本編輯器.
26.?history
?命令
如果你正在努力記住一個(gè)命令,history
就會(huì)派上用場(chǎng)。此命令顯示一個(gè)枚舉列表,其中包含您過(guò)去使用過(guò)的命令:
history
history命令.
27.?passwd
?命令
passwd
?允許您更改用戶(hù)帳戶(hù)的密碼。首先,它會(huì)提示您輸入當(dāng)前密碼,然后要求您輸入新密碼并確認(rèn)。
它類(lèi)似于您在其他地方看到的任何其他密碼更改,但在本例中,它直接在您的終端中:
passwd
passwd命令
使用時(shí)要小心-一不小心可能會(huì)混肴用戶(hù)密碼!
28.?which
?命令
which
命令輸出shell命令的完整路徑。如果它不能識(shí)別給定的命令,它將拋出一個(gè)錯(cuò)誤。
例如,我們可以使用它來(lái)檢查Python和Brave web瀏覽器的二進(jìn)制路徑:
which python
# /usr/bin/python
which brave
# /usr/bin/brave
29.?shred
?命令
如果您希望文件幾乎無(wú)法恢復(fù),shred
?可以幫助您完成此任務(wù)。此命令會(huì)重復(fù)覆蓋文件的內(nèi)容,因此,給定的文件極難恢復(fù)。
下面是一個(gè)內(nèi)容很少的文件:
粉碎文件.
現(xiàn)在,讓我們通過(guò)鍵入shred
命令來(lái)完成工作:
shred file_to_shred.txt
覆蓋內(nèi)容.
如果要立即刪除文件,可以使用-u
標(biāo)志:
shred -u file_to_shred.txt
30.?less
?命令
less
(與more相反)是一個(gè)允許您前后檢查文件的程序:
less large_text_file.txt
less命令.
less
的優(yōu)點(diǎn)在于它在其界面中包含了更多和vim
命令。如果您需要比cat
更具交互性的東西,less
是一個(gè)不錯(cuò)的選擇。
學(xué)無(wú)止境。嘗試在測(cè)試環(huán)境這些基礎(chǔ)的Linux命令逐一體驗(yàn),或者可以有更好的收獲。有了這些扎實(shí)的基礎(chǔ)之后,再學(xué)習(xí)一些在線(xiàn)課程,或者會(huì)有更好的,意想不到的收獲哦!
知乎知學(xué)堂知乎旗下職業(yè)教育平臺(tái)立即聽(tīng)課
31.?tail
?命令
與cat
類(lèi)似,tail
打印文件內(nèi)容時(shí)有一個(gè)主要警告:它只輸出最后幾行。默認(rèn)情況下,它打印最后10行,但您可以使用-n
修改該數(shù)字。
例如,要打印大型文本文件的最后幾行,可以使用:
tail long.txt
tail命令.
要僅查看最后四行,請(qǐng)執(zhí)行以下操作:
tail -n 4 long.txt
tail命令尾四行.
32.?head
?命令
這是對(duì)tail
命令的補(bǔ)充。head
輸出文本文件的前10行,但您可以使用-n
標(biāo)志設(shè)置要顯示的任意行數(shù):
head long.txt
head -n 5 long.txt
head命令.
33.?grep
?命令
Grep是處理文本文件的最強(qiáng)大的工具之一。它搜索與正則表達(dá)式匹配的行并打印它們:
grep "linux" long.txt
您可以使用-c
標(biāo)志計(jì)算與給定條件匹配的次數(shù):
grep -c "linux" long.txt
# 2
34.?whoami
?命令
該命令(who am I的縮寫(xiě))顯示當(dāng)前使用的whoami
用戶(hù)名:
whoami
# wbolt
使用echo
和環(huán)境變量$USER可以得到相同的結(jié)果:
echo $USER
# wbolt
35.?whatis
?命令
whatis
?打印任何其他命令的單行說(shuō)明,使其成為有用的參考:
whatis python
# python (1) - an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) - display one-line manual page descriptions
36.?wc
?命令
Wc代表“字?jǐn)?shù)計(jì)數(shù)”,顧名思義,它返回文本文件中的字?jǐn)?shù):
wc long.txt
# 37 207 1000 long.txt
讓我們分析一下此命令的輸出:
- 37行
- 207字
- 1000字節(jié)大小
- 文件名(long.txt)
如果只需要字?jǐn)?shù),請(qǐng)使用-w
標(biāo)志:
wc -w long.txt
207 long.txt
37.?uname
?命令
uname
(Unix name的縮寫(xiě))打印可操作的系統(tǒng)信息,當(dāng)您知道當(dāng)前的Linux版本時(shí),這些信息很方便。
大多數(shù)情況下,您將使用-a
(–all)標(biāo)志,因?yàn)槟J(rèn)輸出沒(méi)有那么有用:
uname
# Linux
uname -a
# Linux wboltmanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux
38.?neofetch
?命令
Neofetch是一個(gè)CLI(命令行界面)工具,它在Linux發(fā)行版的ASCII徽標(biāo)旁邊顯示有關(guān)系統(tǒng)的信息,如內(nèi)核版本、shell和硬件:
neofetch
neofetch命令
在大多數(shù)計(jì)算機(jī)中,此命令在默認(rèn)情況下不可用,因此請(qǐng)確保首先使用package管理器安裝它。
39.?find
?命令
find
命令根據(jù)regex表達(dá)式在目錄層次結(jié)構(gòu)中搜索文件。要使用它,請(qǐng)遵循以下語(yǔ)法:
find [flags] [path] -name [expression]
要在當(dāng)前目錄中搜索名為long.txt的文件,請(qǐng)輸入以下命令行:
find ./ -name "long.txt" # ./long.txt
要搜索以.py?(Python) 擴(kuò)展名結(jié)尾的文件,可以使用以下命令行:
find ./ -type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py
40.?wget
命令
wget
(World Wide Web get)是從互聯(lián)網(wǎng)檢索內(nèi)容的實(shí)用工具。它擁有最大的flags之一。
以下是您如何從GitHub獲取一個(gè)Python文件:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py
?
原文鏈接:https://blog.csdn.net/smallmww/article/details/132224073
- 上一篇:沒(méi)有了
- 下一篇:沒(méi)有了
相關(guān)推薦
- 2021-11-30 Linux?Autofs自動(dòng)掛載服務(wù)安裝部署教程_Linux
- 2022-02-18 Syntax Error: Error: Node Sass version 6.0.1 is in
- 2022-03-30 C語(yǔ)言關(guān)鍵字之a(chǎn)uto?register詳解_C 語(yǔ)言
- 2022-07-12 使用docker搭建Redis-cluster偽集群
- 2023-08-15 解決:Unexpected ‘debugger‘ statement.eslint(no-debug
- 2022-12-10 React?useCallback詳細(xì)使用教程_React
- 2022-09-21 Flask深入了解Jinja2引擎的用法_python
- 2023-01-23 C++中引用處理的基本方法_C 語(yǔ)言
- 欄目分類(lèi)
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支