背景
服務(wù)器版的Linux安裝完畢了函卒,但沒有圖形化界面挪哄,我們只能通過控制臺(tái)去操作系統(tǒng)屋摔,我們就要使用類似DOS命令的Linux命令去操作系統(tǒng)酷含,那么下面我們就進(jìn)行Linux的命令的學(xué)習(xí)硕勿。Linux命令成百上千会涎,課程不能一一涉及,也沒有必要一一涉及恢恼,根據(jù)我們程序員在日常工作中的需求,總結(jié)出如下幾種供學(xué)習(xí)想幻。
16.1 目錄切換命令
16.1.1 目錄切換命令
window中通過圖形化界面和鼠標(biāo)可以任意切換需要進(jìn)入的目錄,但Linux必須通過cd命令切換目錄话浇。但在學(xué)習(xí)cd命令之前脏毯,我們有必要分清Linux的目錄結(jié)構(gòu)
cd usr/ 切換到該目錄下usr目錄cd ../ 切換到上一層目錄cd /切換到系統(tǒng)根目錄cd ~ 切換到用戶主目錄
16.2 目錄操作命令
16.2.1 增加目錄
命令:mkdir 目錄名稱
示例:在根目錄 / 下 mkdir test,就會(huì)在根目錄 / 下產(chǎn)生一個(gè)test問目錄
16.2.2 查看目錄
命令:ls [-al] 父目錄
示例:在根目錄 / 下使用ls幔崖,可以看到該目錄下的所有的目錄和文件
示例:在根目錄 / 下使用ls -a食店,可以看到該目錄下的所有文件和目錄,包括隱藏的
示例:在根目錄 / 下使用ls -l赏寇,可以看到該目錄下的所有目錄和文件的詳細(xì)信息
注意:ls -l 可以縮寫成ll
16.2.3 尋找目錄
命令:find 目錄 參數(shù)(重點(diǎn))
示例:查找/root下的與test相關(guān)的目錄(文件)find / -name ‘test*
注意:注意這里涉及權(quán)限問題吉嫩,需要先切換到root目錄
//? ? 切換到root目錄su root//? 切換到普通用戶目錄su anfly
16.2.4 修改目錄名稱
命令:mv 目錄名稱 新目錄名稱
注意:mv的語法不僅可以對(duì)目錄進(jìn)行重命名而且也可以對(duì)各種文件,壓縮包等進(jìn)行 重命名的操作
16.2.5 移動(dòng)目錄位置(剪切)
前提:必須切換到跟目錄嗅定,否則沒有權(quán)限
命令:mv 目錄名稱 目錄的新位置
示例:在test下將newTest目錄剪切到 /usr下面自娩,使用mv newTest usr/
注意:
mv語法不僅可以對(duì)目錄進(jìn)行剪切操作,對(duì)文件和壓縮包等都可執(zhí)行剪切操作
文件顯示為黑色渠退,文件夾顯示為藍(lán)色忙迁,剪切的時(shí)候必須是在新位置后加/
16.2.6 拷貝目錄
命令:cp -r 被目錄名稱 目錄拷貝的目標(biāo)位置 -----r代表遞歸拷貝
1. 被復(fù)制目錄和目標(biāo)目錄需要寫全路徑,否則按照根目錄處理2. 可以在任意位置復(fù)制
示例:將/usr下的newTest拷貝到根目錄下的test中碎乃,使用cp -r /usr/newTest test/rm
注意:cp命令不僅可以拷貝目錄還可以拷貝文件姊扔,壓縮包等,拷貝文件和壓縮包時(shí)不用寫-r遞歸
16.2.7 刪除目錄
(7)刪除目錄(刪)
命令:rm [-rf] 目錄
示例:刪除/usr下的newTest荠锭,進(jìn)入/usr下使用rm -r newTest
示例:刪除/test下的newTest而不需要詢問強(qiáng)制刪除旱眯,在/test下使用rm -rf newTest
注意:rm不僅可以刪除目錄,也可以刪除其他文件或壓縮包证九,為了增強(qiáng)大家的記憶删豺,無論刪除任何目錄或文件,都直接使用rm -rf 目錄/文件/壓縮包
16.3 文件操作命令
16.3.1 文件創(chuàng)建
命令:touch 文件名稱 ----- 空文件
示例:在test目錄下創(chuàng)建一個(gè)空文件 touch aaa.txt
16.3.2 文件查看
命令:cat/more/less/tail 文件
示例:使用cat查看/etc/profile文件愧怜,只能顯示最后一屏內(nèi)容
示例:使用more查看/etc/profile文件呀页,可以顯示百分比,回車可以向下一行拥坛, 空格可以向下一頁蓬蝶,q可以退出查看
示例:使用less查看/etc/profile文件,可以使用鍵盤上的PgUp和PgDn向上 和向下翻頁猜惋,q結(jié)束查看
示例:使用tail -10 查看/etc/profile文件的后10行丸氛,Ctrl+C結(jié)束
注意:命令 tail -f 文件 可以對(duì)某個(gè)文件進(jìn)行動(dòng)態(tài)監(jiān)控,例如tomcat的日志文件著摔, 會(huì)隨著程序的運(yùn)行缓窜,日志會(huì)變化,可以使用tail -f catalina-2016-11-11.log 監(jiān)控 文 件的變化
補(bǔ)充:公司的日志的格式
16.3.3 修改文件內(nèi)容
三種模式:命令模式,編輯模式禾锤,底行模式
命令:vim 文件
示例:編輯/test下的aaa.txt文件私股,使用vim aaa.txt
但此時(shí)并不能編輯,因?yàn)榇藭r(shí)處于命令模式恩掷,點(diǎn)擊鍵盤i/a/o進(jìn)入編輯模式倡鲸,可以? 編輯文件
編輯完成后,按下Esc黄娘,退回命令模式
此時(shí)文件雖然已經(jīng)編輯完成峭状,但是沒有保存,需輸入冒號(hào):進(jìn)入底行模式寸宏,在底行模? 式下輸入wq代表寫入內(nèi)容并退出宁炫,即保存偿曙;輸入q!代表強(qiáng)制退出不保存氮凝。
總結(jié):
vim編輯器是Linux中的強(qiáng)大組件,是vi編輯器的加強(qiáng)版望忆,vim編輯器的命令和快捷方式有很多罩阵,但此處不一一闡述,大家也無需研究的很透徹启摄,使用vim編輯修改文件的方式基本會(huì)使用就可以了稿壁。附:《vi使用方法介紹》和《vim命令合集》
關(guān)于vim使用過程:
在實(shí)際開發(fā)中,使用vim編輯器主要作用就是修改配置文件
vim 文件------>進(jìn)入文件----->命令模式------>按i進(jìn)入編輯模式----->編輯文件? ------->按Esc進(jìn)入底行模式----->輸入:wq/q!
16.3.4 刪除文件
同目錄刪除:熟記 rm -rf 文件 即可
16.4 壓縮文件操作命令
16.4.1 打包并壓縮文件
打包是指將一大堆文件或目錄什么的變成一個(gè)總的文件歉备,壓縮則是將一個(gè)大的文件通過一些壓縮算法變成一個(gè)小文件傅是。
Linux中的打包文件一般是以.tar結(jié)尾的,壓縮的命令一般是以.gz結(jié)尾的蕾羊。
而一般情況下打包和壓縮是一起進(jìn)行的喧笔,打包并壓縮后的文件的后綴名一般.tar.gz。
命令:tar -zcvf 打包壓縮后的文件名 要打包壓縮的文件
其中:
z:調(diào)用gzip壓縮命令進(jìn)行壓縮c:打包文件v:顯示運(yùn)行過程f:指定文件名
示例:打包并壓縮/test下的所有文件 壓縮后的壓縮包指定名稱為xxx.tar.gz
tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt
或:tar -zcvf xxx.tar.gz /test/*
16.4.2 解壓壓縮包(重點(diǎn))
命令:tar [-xvf] 壓縮文件
其中:x:代表解壓
示例:將/test下的xxx.tar.gz解壓到當(dāng)前目錄下:tar -xvf xxx.tar.gz
示例:將/test下的xxx.tar.gz解壓到根目錄/usr下
tar -xvf xxx.tar.gz -C /usr------C代表指定解壓的位置
16.5 其他命令
16.5.1 顯示當(dāng)前所在位置
命令:pwd
16.5.2 搜索命令
命令:grep 要搜索的字符串 要搜索的文件
示例:搜索/usr/sudu.conf文件中包含字符串to的行
示例:搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮顯示
16.5.3 管道命令
命令:|? 將前一個(gè)命令的輸出作為本次目錄的輸入
示例:查看當(dāng)前系統(tǒng)中所有的進(jìn)程中包括system字符串的進(jìn)程ps -ef |grep system
16.5.4 查看進(jìn)程
命令:ps -ef
示例:查看當(dāng)前系統(tǒng)中運(yùn)行的進(jìn)程
16.5.5 殺死進(jìn)程
命令:kill -Signal 進(jìn)程的pid
Signal:發(fā)送給進(jìn)程的信號(hào)
15:默認(rèn)信號(hào)龟再,你需要被關(guān)閉书闸,請(qǐng)自行停止運(yùn)行并退出。
9:“無條件終止”利凑,強(qiáng)制關(guān)閉
16.5.6 網(wǎng)絡(luò)通信命令
查看當(dāng)前系統(tǒng)的網(wǎng)卡信息:ifconfig
查看與某臺(tái)機(jī)器的連接情況:ping
16.5.7 查看當(dāng)前系統(tǒng)的端口使用
netstat –an,通常和 | grep一起使用
也可以單獨(dú)使用
16.6 Linux的權(quán)限命令
16.6.1 Linux的權(quán)限命令
權(quán)限是Linux中的重要概念浆劲,每個(gè)文件/目錄等都具有權(quán)限,通過ls -l命令我們可以 查看某個(gè)目錄下的文件或目錄的權(quán)限
示例:在隨意某個(gè)目錄下ls -l
第一列的內(nèi)容的信息解釋如下:
這個(gè)字符串有10位哀澈,可以分為4段來解讀牌借。
第一段(第1位)表示是目錄還是文件,-表示是文件割按,d表示是目錄膨报;
第二段(第2-4位,共3個(gè)字符串)表示文件所屬用戶對(duì)它的權(quán)限 - 屬主權(quán)限(User);
第三段(第5-7位丙躏,共3個(gè)字符串)表示文件所屬用戶組用戶對(duì)它的權(quán)限 - 屬組權(quán)限(Group)择示;
第四段(第8-10位,共3個(gè)字符串)表示其他用戶對(duì)它的權(quán)限 - 其他權(quán)限(other)晒旅;
注:
①我們用3位8進(jìn)制來表示文件的權(quán)限栅盲,r(read)用4標(biāo)識(shí),w(write)用2標(biāo)識(shí)废恋,x(excute)用1標(biāo)識(shí)
②r–可讀谈秫,w–可寫,x–可執(zhí)行鱼鼓。
③每一段的三位順序不可變拟烫,如果沒有對(duì)應(yīng)的權(quán)限,則使用-表示
上圖中的-rwxrw-r–可以用八進(jìn)制數(shù)字764表示迄本。
案例:
-rwxrwxrwx
轉(zhuǎn)算成八進(jìn)制硕淑,777,代表這是一個(gè)對(duì)所有人開發(fā)權(quán)限的文件嘉赎。
15.6.2 修改文件/目錄的權(quán)限的命令:chmod
示例:修改/test下的aaa.txt的權(quán)限為屬主有全部權(quán)限置媳,屬主所在的組有讀寫權(quán)限,
其他用戶只有讀的權(quán)限
chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可以使用數(shù)字表示:
chmod 764 aaa.txt
16.7 free查看內(nèi)存信息
16.7.1 free查看內(nèi)存信息
free指令會(huì)顯示內(nèi)存的使用情況公条,包括實(shí)體內(nèi)存拇囊,虛擬的交換文件內(nèi)存,共享內(nèi)存區(qū)段靶橱,以及系統(tǒng)核心使用的緩沖區(qū)等
df? df -h 命令用于顯示目前在 Linux 系統(tǒng)上的文件系統(tǒng)磁盤使用情況統(tǒng)計(jì)
16.8 top查看資源信息(CPU)
16.8.1 top查看資源信息(CPU)
補(bǔ)充:
關(guān)機(jī)命令
reboot? 重新啟動(dòng)操作系統(tǒng)
shutdown -h now 立刻關(guān)機(jī)寥袭,其中now相當(dāng)于時(shí)間為0的狀態(tài)
shutdown -h 10:23
shutdown -h +10? 系統(tǒng)再過十分鐘后自動(dòng)關(guān)機(jī)
總結(jié)
Linux命令
? ? 目錄操作
? ? ? ? cd usr/? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到該目錄下usr目錄
? ? ? ? cd ..? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到上一層目錄
? ? ? ? cd /? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到系統(tǒng)根目錄
? ? ? ? mkdir 目錄名稱? ? ? ? ? ? ? 創(chuàng)建目錄
? ? ? ? ls? ? ? 目錄名稱? ? ? ? ? ? ? ? 查詢?cè)撃夸浵滤械哪夸浐臀募?/p>
? ? ? ? ls [-a]? 目錄名稱? ? ? ? ? ? ? 查詢?cè)撃夸浵滤械哪夸浐臀募?包含隱藏文件
? ? ? ? ls [-l]? 目錄名稱? ? ? ? ? ? ? 查詢?cè)撃夸浵滤械哪夸浐臀募脑敿?xì)信息
? ? ? ? find / -name 目錄名稱? ? 查找/root下的目錄(文件)
? ? ? ? mv 目錄名稱 新目錄名稱? 修改目錄名稱
? ? ? ? mv 目錄名稱 目錄的新位置? ? ? 剪切
? ? ? ? cp -r 目錄名稱 目錄的目標(biāo)位置? 拷貝
? ? ? ? rm -rf? 目錄? ? ? ? ? ? ? ? ? 強(qiáng)制刪除目錄
? ? 文件操作
? ? ? ? touch 文件名稱? ? ? ? ? ? 創(chuàng)建空文件
? ? ? ? cat/more/less/tail 文件? 查看文件內(nèi)容
? ? ? ? tail -f 文件? ? ? ? ? ? ? ? ? 動(dòng)態(tài)查看/實(shí)時(shí)查看文件(日志)
? ? ? ? grep 要搜索的字符串 要搜索的文件? ? ? ? ? ? ? ? 關(guān)鍵字搜索
? ? ? ? vi/vim? 文件? ? ? ? ? ? ? ? 修改文件內(nèi)容
? ? ? ? rm -rf 文件? ? ? ? ? ? ? ? 強(qiáng)制刪除文件
? ? 文件的打包
? ? ? ? tar -zcvf 文件名.tar? 要打包的文件
? ? 文件的解壓?
? ? ? ? tar -xvf 文件名.tar
? ? 擴(kuò)充:將文件解壓到固定位置
? ? ? ? tar -xvf 文件名.tar -C 指定解壓的位置
? ? 查詢當(dāng)前所在位置
? ? ? ? pwd? ? ?
? ? 查看進(jìn)程
? ? ? ? ps -ef | grep 進(jìn)程名稱(tomcat/mysql)
? ? 殺死進(jìn)程
? ? ? ? kill -9 進(jìn)程pid
? ? 查看端口號(hào)
? ? ? ? netstat -an | grep 端口號(hào)(3306)
? ? 查看服務(wù)器ip
? ? ? ? ifconfig
? ? 查看網(wǎng)絡(luò)是否能正常使用
? ? ? ? ping 外網(wǎng)地址? ? ? ? ? ? 查看是否能訪問外網(wǎng)
? ? ? ? ping 內(nèi)網(wǎng)ip? ? ? ? ? ? ? ? 查看是否能訪問內(nèi)網(wǎng)
? ? 權(quán)限命令
? ? ? ? chmod 777 文件? ? ? ? 賦權(quán)
? ? 查看cpu
? ? ? ? top
? ? 查看磁盤信息
? ? ? ? df -h
? ? 查看內(nèi)存信息
? ? ? ? free? ?
? ? 關(guān)機(jī)命令
? ? ? ? shutdown -h now? 立刻關(guān)機(jī),其中now相當(dāng)于時(shí)間為0的狀態(tài)
? ? ? ? shutdown -h 10:23
? ? ? ? shutdown -h +10? ? 系統(tǒng)再過十分鐘后自動(dòng)關(guān)機(jī)
? ? 重新啟動(dòng)
? ? ? ? reboot? ? 重新啟動(dòng)操作系統(tǒng)