讓小編來給大家介紹第一位新朋友:命令行!
使用了很久Linux的小編也是非常的喜歡它呢!
什么是命令行?
首先小編是默認(rèn)你已經(jīng)知道teminal 這個(gè)東西了的, 它就是所有的黑客都使用的黑色窗口。它可能剛開始看上去有點(diǎn)嚇人,但事實(shí)上它只是等待你的命令提示符。
這個(gè)窗口通常被稱為 命令行 或 命令行界面,是一個(gè)基于文本的用來查看、 處理、 和操作您的計(jì)算機(jī)上的文件的應(yīng)用程序。 就像 Windows 資源管理器或 Mac 上的 Finder,但沒有圖形界面。 命令行的其他名字是: cmd,CLI、 提示符、 控制臺(tái) 或 終端.
Linux命令
一般說的“命令行”是指linux命令,linux命令是對Linux系統(tǒng)進(jìn)行管理的命令。對于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、磁盤驅(qū)動(dòng)器、鍵盤、鼠標(biāo),還是用戶等都是文件,Linux系統(tǒng)管理的命令是它正常運(yùn)行的核心,與之前的DOS命令類似。linux命令在系統(tǒng)中有兩種類型:內(nèi)置Shell(外殼)命令和Linux命令。
每個(gè)命令將前綴由這個(gè)符號(hào)和一個(gè)空格組成,但您不必鍵入它。您的計(jì)算機(jī)將為您完成這個(gè):
你的第一個(gè)命令 (耶 !)
讓我們從簡單的東西開始。鍵入以下命令:
$ whoami
然后鍵入 enter
。這是我們的結(jié)果:
$whoami
qmm
正如你所看到的計(jì)算機(jī)剛剛打印了你的用戶名。棒吧,呵呵?:)
咦! 這么簡單, 沒錯(cuò)就是這么簡單, 嗯....那當(dāng)然不是僅僅如此 !
小編在Linux上面混這么久了, 剛剛來整理一下常用命令行,同時(shí)也再次全面的學(xué)習(xí)一下命令行的藝術(shù),帶你體驗(yàn)它的神奇.
小編只想帶你飛
關(guān)機(jī)
$ sudo poweroff
關(guān)機(jī)
$ shutdown -h now
關(guān)閉系統(tǒng)(1)
$ init 0
關(guān)閉系統(tǒng)(2)
$ telinit 0
關(guān)閉系統(tǒng)(3)
$ shutdown -h hours:minutes &
按預(yù)定時(shí)間關(guān)閉系統(tǒng)
$ shutdown -c
取消按預(yù)定時(shí)間關(guān)閉系統(tǒng)
$ shutdown -r now
重啟(1)
$ reboot
重啟(2)
$ logout
注銷
文件目錄
$ cd /home
進(jìn)入 '/ home' 目錄'
$ cd Desktop
進(jìn)入桌面
$ cd ..
返回上一級(jí)目錄
**$ cd ../..
返回上兩級(jí)目錄 **
$ cd
進(jìn)入個(gè)人的主目錄
$ cd ~user1
進(jìn)入個(gè)人的主目錄
**$ cd -
返回上次所在的目錄 **
$ pwd
顯示工作路徑
$ ls
查看目錄中的文件
$ ls 目錄名 -f
: 查看該目錄中的文件
$ ls -l
顯示文件和目錄的詳細(xì)資料
$ ls -a
顯示隱藏文件
**$ ls *[0-9]*
顯示包含數(shù)字的文件名和目錄名 **
$ mkdir dir1
創(chuàng)建一個(gè)叫做 'dir1' 的目錄'
$ mkdir dir1 dir2
同時(shí)創(chuàng)建兩個(gè)目錄
$ mkdir -p /tmp/dir1/dir2
創(chuàng)建一個(gè)目錄樹
$ rm -f file1
刪除一個(gè)叫做 'file1' 的文件, 加上-f
參數(shù)表示一次性刪除, 不在確認(rèn)(使用 rm
后便不能挽回,意思就是已刪除的文件會(huì)一去不復(fù)返了! 因此,要十分小心地使用此命令。)
$ rmdir dir1
刪除一個(gè)叫做 'dir1' 的目錄'
$ rm -rf dir1
刪除一個(gè)叫做 'dir1' 的目錄并同時(shí)刪除其內(nèi)容, -r
參數(shù)拜師遞歸地刪除目錄里面的內(nèi)容 ,-rf
表示遞歸刪除目錄及其內(nèi)容, 不再確認(rèn).
$ rm -rf dir1 dir2
同時(shí)刪除兩個(gè)目錄及它們的內(nèi)容
$ mv dir1 new_dir(或者new dir name)
重命名/移動(dòng) 一個(gè)目錄
$ cp file1 file2
復(fù)制一個(gè)文件,file1 和 file2 的文件名必須不一樣
$ cp -r dir/* .
復(fù)制一個(gè)目錄下的所有文件到當(dāng)前工作目錄(-r
參數(shù)是遞歸復(fù)制目錄下的內(nèi)容)
$ cp -a /tmp/dir1 .
復(fù)制一個(gè)目錄到當(dāng)前工作目錄
** $ cp -a dir1 dir2
復(fù)制一個(gè)目錄 **`
查看文件的內(nèi)容
cat 查看文件內(nèi)容如果文件太大,需要一頁一頁翻看可以用:
$ cat 文件名 | less
: 按j下翻,按k上翻,按q退出。
$ echo
將內(nèi)容添加到文件中。
clear
清屏
$ ln -s file1 lnk1
創(chuàng)建一個(gè)指向文件或目錄的軟鏈接
$ ln file1 lnk1
創(chuàng)建一個(gè)指向文件或目錄的物理鏈接
$ touch -t 0712250000 file1
修改一個(gè)文件或目錄的時(shí)間戳 - (YYMMDDhhmm)
安裝tree命令: sudo apt-get install tree
$ tree
顯示文件和目錄由根目錄開始的樹形結(jié)構(gòu)(1)
$ lstree
顯示文件和目錄由根目錄開始的樹形結(jié)構(gòu)(2)
文件搜索
$ find / -name file1
從 '/' 開始進(jìn)入 系統(tǒng)根文件 搜索文件和目錄
$ find . -name file1
從 '/' 開始只從當(dāng)前目錄搜索文件和目錄
$ find / -user user1
搜索屬于用戶 'user1' 的文件和目錄
查看進(jìn)程使用情況:
**ps命令 **
命令功能:用來顯示當(dāng)前進(jìn)程的狀態(tài)
命令參數(shù)(幾個(gè)常用的參數(shù):):
a 或者 -A #顯示所有進(jìn)程
-e 等于“-A”
c 顯示進(jìn)程的真實(shí)名稱
-ef #顯示所有進(jìn)程信息,連同命令行
ps 與grep 常用組合用法,查找特定進(jìn)程
$ ps -ef|grep ssh
查看ssh進(jìn)程信息
$ lsof -i :22
知道22端口現(xiàn)在運(yùn)行什么程序
有時(shí)候我們可能會(huì)出現(xiàn)端口號(hào)別占用的情況,這時(shí)候我們就需要使用lsof -i: 端口號(hào)
來查看該端口號(hào)被哪個(gè)程序在運(yùn)行,獲取占用端口號(hào)的進(jìn)程名。
然后使用ps
命令來查看該程序的ID號(hào): ps -ef|grep 進(jìn)程名
再使kill
命令來殺死該進(jìn)程: sudo kill -9 進(jìn)程ID號(hào)
(參數(shù)-9
: 強(qiáng)制終止,徹底殺死進(jìn)程,更多參數(shù)請參考)
下載文件的工具 wget
Linux系統(tǒng)中的wget是一個(gè)下載文件的工具
命令格式:wget [參數(shù)] [URL地址]
命令功能:用于從網(wǎng)絡(luò)上下載資源,沒有指定目錄,下載資源回默認(rèn)為當(dāng)前目錄
實(shí)例1:使用wget下載單個(gè)文件
$ wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip
# 從網(wǎng)絡(luò)下載一個(gè)文件并保存在當(dāng)前目錄,在下載的過程中會(huì)顯示進(jìn)度條
#包含(下載完成百分比,已經(jīng)下載的字節(jié),當(dāng)前下載速度,剩余下載時(shí)間)。
實(shí)例2:使用wget -O下載并以不同的文件名保存
命令:$ wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
實(shí)例3::使用wget -c斷點(diǎn)續(xù)傳
命令:$ wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip
# 使用wget -c重新啟動(dòng)下載中斷的文件
對于我們下載大文件時(shí)突然由于網(wǎng)絡(luò)等原因中斷非常有幫助
我們可以繼續(xù)接著下載而不是重新下載一個(gè)文件
實(shí)例4:使用wget -b后臺(tái)下載
命令:$ wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
對于下載非常大的文件的時(shí)候,我們可以使用參數(shù)-b進(jìn)行后臺(tái)下載。
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
你可以使用以下命令來察看下載進(jìn)度:
tail -f wget-log
下載工具curl
curl命令是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載來自: http://man.linuxde.net/curl
常用舉例:
1. 通過-o/-O選項(xiàng)保存下載的文件(抓取頁面的內(nèi)容)到指定的文件中:
-o:將文件保存為命令行中指定的文件名的文件中
-O:使用URL中默認(rèn)的文件名保存文件到本地
# 將文件下載到本地并命名為mygettext.html
curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html
2. 將文件保存到本地并命名為gettext.html
curl -O http://www.gnu.org/software/gettext/manual/gettext.html
下載單個(gè)文件,默認(rèn)將輸出打印到標(biāo)準(zhǔn)輸出中(STDOUT)中:
curl http://www.centos.org
3. 同時(shí)獲取多個(gè)文件:
curl -O URL1 -O URL2
4.通過使用-C選項(xiàng)可對大文件使用斷點(diǎn)續(xù)傳功能,如:
# 當(dāng)文件在下載完成之前結(jié)束該進(jìn)程
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html
############## 20.1%
# 通過添加-C選項(xiàng)繼續(xù)對該文件進(jìn)行下載,已經(jīng)下載過的文件不會(huì)被重新下載
curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html
至于它的上傳文件的功能, 小編暫時(shí)還不學(xué), 因?yàn)檫€用不到,學(xué)了等于不用等于白學(xué)哈!
其它
1.1 $ arch
# 顯示機(jī)器的處理器架構(gòu)
1.2
$ uname -m
顯示機(jī)器的處理器架構(gòu)2.$ uname -r
顯示正在使用的內(nèi)核版本
3.date 顯示系統(tǒng)日期
4.$ cal
2007 顯示2007年的日歷表
安全的關(guān)閉命令行。讓我們以黑客的方式,好嗎?
$ exit
解壓 & 壓縮 文件
解壓 文件:
- 解壓rar 型文件:
sudo apt-get install rar 安裝rar 命令
unrar e file.rar 解壓文件 (其實(shí)后面要不要擴(kuò)展名都可以)
或者 rar x file.rar
這兩個(gè)解壓rar文件的命令有什么區(qū)別呢?
使用 unrar e file.rar 解壓會(huì)把原rar壓縮包中的全部文件解壓到當(dāng)前目錄下,沒有目錄;
而 rar x file.rar 解壓出來后會(huì)保持原來壓縮包的目錄結(jié)構(gòu)。
- 解壓tar 壓縮包
sudo sot-get install tar 安裝tar命令
tar -xf all.tar 這條命令是解出all.tar包中所有文件,-x是解開的意思
tar -xzf all.tar.gz 解壓對于.tgz或.tar.gz結(jié)尾的文件
- **解壓.zip文件 **
linux下提供了zip和unzip程序,zip是壓縮程序,unzip是解壓程序。它們的參 數(shù)選項(xiàng)很多
sudo apt-get install unzip #安裝unzip 命令
unzip all.zip # 這條命令是將all.zip中的所有文件解壓出來
壓縮文件:
- 壓縮為rar 壓縮包:
rar a file2(壓縮后的文件名) file1 (要壓縮的文件)
例如:
rar a abc ab.txt #把當(dāng)前目錄下的 ab.txt文件壓縮成abc.rar
rar a abc * # 把當(dāng)前目錄下的所有文件和目錄壓縮成abc.rar
= 最好是返回上一層目錄,然后直接用 rar a abc folderName 將 folderName 整個(gè)打包壓縮成abc.rar 。
- 壓縮為 tar壓縮包
tar -cf all.tar *.jpg #這條命令是將所有.jpg的文件打成一個(gè)名為all.tar的包。
-c是表示產(chǎn)生新的包 ,-f指定包的文件名。
tar -rf all.tar *.gif #這條命令是將所有.gif的文件增加到all.tar的包里面去。
-r是表示增加文件的 意思。
# tar -uf all.tar logo.gif #這條命令是更新原來tar包all.tar中l(wèi)ogo.gif文件
-u是表示更新文件的意思。
# tar -tf all.tar #這條命令是列出all.tar包中所有文件
-t是列出文件的意思
- 壓縮為zip壓縮包
zip all.zip *.jpg 這條命令是將所有.jpg的文件壓縮成一個(gè)zip包
關(guān)于各命令的更多用法,可以使用-help 來查看 ,如 rar --help
和unrar --help
或者是 man rar
查看幫助來了解。
再來一波使用過的裝逼的命令:
$ du -sh *
:查看當(dāng)前目錄下的所有文件所占用的內(nèi)存
如果你好奇,ss64.com 包含用于所有操作系統(tǒng)命令的完整引用