cmd&linux:linux實(shí)踐操作

一、學(xué)習(xí)環(huán)境

安裝linux模擬器:git-bash

二、基礎(chǔ)命令

## 增
新建文件:touch a.log
新建文件夾:mkdir dir1

## 刪
刪除文件:rm -rf a.log(文件可不加-rf)
刪除文件夾:rm -rf dir1(-r遞歸,-f強(qiáng)刪不需要確認(rèn))

## 改
復(fù)制文件:cp a.log a.log.bak
復(fù)制文件夾:cp -r dir1 dir2

移動文件:mv a.log dir2
重命名文件:mv a.log.bak a.log(同一個(gè)文件夾下面就是重命名)

## 查
查詢文件夾:ls -al dir1/ (-a所有文件误阻,包括隱藏文件;-l列表方式顯示晴埂;dir1/文件夾路徑)
當(dāng)前所在路徑:pwd

三究反、文件信息

## 詳情
drwxr-xr-x 1 Administrator 197121   0 十一 24 15:42  BaiduNetdisk/
-rw-r--r-- 1 Administrator 197121 415 十一  9 21:06  Hello.class

## 類型
1. d開頭,是文件夾
2. -開頭儒洛,是文件

## 權(quán)限
1. r:read讀
2. w:write寫
3. x:execute執(zhí)行

## 角色
1. g:group組(每個(gè)用戶都必須有一個(gè)歸屬群組)
2. u:user用戶
3. o:其它用戶

### 權(quán)限-角色
1. r-x是u用戶的權(quán)限:讀和執(zhí)行權(quán)限
2. rwx是g群組的權(quán)限:讀寫執(zhí)行權(quán)限奴紧,沒有寫的權(quán)限(-標(biāo)識沒有)
3. r-x是o其它用戶的權(quán)限:讀和執(zhí)行的權(quán)限,沒有寫的權(quán)限(-標(biāo)識沒有)

## 管理權(quán)限
1. 組合因子:
  chmod:命令
  ugoa:3種角色(a代表所有角色)
  +-=:3種運(yùn)算符
  rwx:3種權(quán)限

2. 使用規(guī)則
語法:chmod 角色 運(yùn)算符 權(quán)限 文件名
chmod u+x test.sh

3. 使用場景
一般拷貝一個(gè)腳本到服務(wù)器晶丘,默認(rèn)沒有執(zhí)行權(quán)限,要先賦權(quán)

四唐含、編輯文件

vi b.log

1. 3種模式

  1. 命令模式(按esc切換到命令模式):常用命令i浅浮、a、o捷枯、x滚秩、hjkl,數(shù)字+命令
  2. 編輯模式(最下方有“insert”或者“插入”提示)
  3. 末行模式(先esc進(jìn)入命令模式淮捆,再輸入冒號)

練習(xí)1:三種模式切換

  1. vi b.log新建文件并編輯
  2. 按“i”命令郁油,進(jìn)入編輯模式(下方出現(xiàn)insert或者插入)
  3. 輸入“hello world”
  4. 按esc進(jìn)入命令模式(下方insert或者插入提示沒了)
  5. 按esc確保進(jìn)入命令模式,按“o”命令攀痊,進(jìn)入編輯模式桐腌,新插入1行
  6. 輸入“你好,師姐苟径!”
  7. 按esc進(jìn)入命令模式
  8. 按“:”冒號案站,進(jìn)入末行模式
  9. 輸入“wq”命令,保存并退出
  10. cat命令棘街,查看文件的全部內(nèi)容:cat b.log

練習(xí)2:快速定位

  1. vi c.log
  2. 輸入“i”命令蟆盐,進(jìn)入編輯模式
  3. 輸入“Hello everyone 承边,my name is guoyasoft !”
  4. esc進(jìn)入命令模式
  5. 輸入“^”命令,移動光標(biāo)到行首(也就是正則表達(dá)式的行首符號)
  6. 輸入“$”命令石挂,移動光標(biāo)到行尾(同正則表達(dá)式)
  7. 輸入“^”命令博助,回到行首,按“w”命令痹愚,一個(gè)單詞一個(gè)單詞的移動光標(biāo)
  8. 輸入“^”命令富岳,回到行首,按“5”里伯,再按“w”城瞎,一下移動5個(gè)單詞
  9. 查詢:esc進(jìn)入命令模式,按“/”命令疾瓮,輸入要查詢的字符串脖镀,回車確認(rèn),按n定位下一個(gè)

練習(xí)3:修改

  1. 手工替換:vi進(jìn)入狼电,i進(jìn)入編輯模式
  2. 刪字符:x(刪1個(gè)字符)蜒灰,數(shù)字+x(刪多個(gè)字符)
  3. 刪行:dd(刪1行),數(shù)字+x(刪多行)
  4. 替換單個(gè)字符:esc命令模式肩碟,輸入“r”命令强窖,輸入要替換成的字符
  5. 批量替換:輸入“:”進(jìn)入末行模式,輸入“%s/要替換的字符/要替換成的字符/g”
將全部guoyasoft替換成GuoyaSoft
:%s/guoyasoft/GuoyaSoft/g
其中s是替換命令削祈,/g是全局替換
(不加翅溺,每一行只會替換第一個(gè)匹配的,加了髓抑,會把一行中所有匹配的都替換)
(不管是否加/g咙崎,如果有多行,每一行都會替換第1個(gè))

練習(xí):撤銷和反撤銷

  1. 撤銷:esc進(jìn)入命令模式吨拍,按“u”命令褪猛,回退之前的操作
  2. 反撤銷:esc進(jìn)入命令模式,按“ctrl+r”羹饰,撤銷剛剛的回退

練習(xí)4:保存和放棄保存

  1. 保存并退出:按“:”進(jìn)入末行模式伊滋,輸入“wq”
  2. 不保存并退出:按“:”進(jìn)入末行模式,輸入“q!”

練習(xí)5:設(shè)置

  1. 顯示行號队秩,按esc笑旺,再按“:”,輸入“set nu”馍资。

統(tǒng)計(jì)文件內(nèi)容

## 命令
wc catalina.2017-11-05.log
## 結(jié)果
  1349   8095 108970 catalina.2017-11-05.log
## 解析
1349行
8095個(gè)單詞
108970個(gè)字節(jié)

1. 定位文件

find  文件夾路徑 -name '匹配的字符串'

find ./ -name 'cata*.out'
從當(dāng)前目錄下開始查找燥撞,含有cata開頭,.out結(jié)尾的所有文件 

到tomcat/logs下面找一個(gè)最大的日志文件,手工復(fù)制到test文件夾下面

  1. 查找c盤下物舒,所有以“catalina”開頭色洞,“.log”結(jié)尾的文件,
    find /c -name 'catalina*.log'
/c/software/apache-tomcat-7.0.79/logs/catalina.2017-11-05.log
/c/software/apache-tomcat-7.0.79/logs/catalina.2017-11-27.log
/c/software/apache-tomcat-7.0.79/logs/catalina.2017-12-11.log
  1. 查找e盤下冠胯,以“catalina”開頭火诸,“.log”結(jié)尾的文件,find e -name 'catalina*.log'
  2. 統(tǒng)計(jì)catalina.2017-11-05.log該文件的字節(jié)大小荠察、單詞個(gè)數(shù)置蜀、行數(shù)

2. 定位要查詢的字符串所在文件位置

## 命令

grep -rn --text '18616765946' ./
## 解釋
grep:全局查詢打印命令
-r:遞歸查詢,也就是遇到子文件夾悉盆,會查詢子文件夾
-n:打印行號
--text:以文本的形式查詢
‘18616765946’:要查詢的字符串盯荤,可以寫正則表達(dá)式
./:“.”當(dāng)前目錄,也可以指定其他目錄焕盟,即:要查找的文件夾
## 結(jié)果
./test/new_aj:54:???? 1861676594605, 2017 4:56:36 ???? org.apache.catalina.core.AprLifecycleListener initializeSSL

3. 進(jìn)入文件秋秤,查看上下文詳情

more從前往后,一頁一頁的往后翻

## 命令1:
more new_aj
## 最下方會顯示已看百分比:
--More--(0%)
## 命令2:“/”查詢脚翘,類似vi灼卢,也類似windows的ctrl f
/18616765946

4. 下載日志(太大需要拆分)

4. 將catalina.2017-11-05.log拆分成10個(gè)小文件
## 命令
split -l 100 catalina.2017-11-05.log new_
## 結(jié)果
a.log  c.log                    new_aa  new_ac  new_ae  new_ag  new_ai  new_ak  new_am
b.log  catalina.2017-11-05.log  new_ab  new_ad  new_af  new_ah  new_aj  new_al  new_an

備注:要重新合并
cat new_*> new_catalina.out

第二中下載日志:

grep '18616765946' logs/* > log.bak

5. 重現(xiàn)日志,或者驗(yàn)證修復(fù)效果来农,看實(shí)時(shí)動態(tài)日志

## 進(jìn)入c盤
cd /c
## 查找tomcat啟動腳本
find ./ -name startup.sh
結(jié)果:
./software/apache-tomcat-7.0.79/bin/startup.sh

## 執(zhí)行啟動腳本
./software/apache-tomcat-7.0.79/bin/startup.sh

## 查找tomcat日志文件
find ./ -name cata*.out
結(jié)果:
./software/apache-tomcat-7.0.79/logs/catalina.out

## 查看日志文件最新日志
tail -200f ./software/apache-tomcat-7.0.79/logs/catalina.out

按回車加空行鞋真,便于查看

打包和壓縮

常見壓縮包 打包/壓縮命令 解壓/包命令 注釋
.tar tar cvf FileName.tar DirName tar xvf FileName.tar
.gz gzip FileName gunzip FileName.gz 不用
.tar.gz 和 .tgz tar zcvf FileName.tar.gz DirName tar zxvf FileName.tar.gz 推薦,必須掌握
.zip zip FileName.zip DirName unzip FileName.zip 一般只用unzip解壓沃于,本地上傳時(shí)打成zip包涩咖,掌握
.rar 一般不用

tomcat:


image.png

maven:


image.png

練習(xí)

  1. 將new_開頭的文件夾全部打包成一個(gè)文件
tar cvf catalina.2017-11-05.log.tar new_*
  1. 刪除所有的new_開頭的文件夾
    rm -rf new_*

  2. 將tar包解壓
    tar xvf catalina.2017-11-05.log.tar

  3. 將所有new_開頭的文件夾,打包壓縮成.tar.gz
    tar zcvf catalina.2017-11-05.log.tar.gz new_*

  4. 刪除new_開頭的文件夾繁莹,并將.tar.gz包解壓
    rm -rf new_*
    tar zxvf catalina.2017-11-05.log.tar.gz

  5. 在windos中抠藕,將new_開頭的文件壓縮成.zip,再用linux命令解壓
    unzip catalina.2017-11-05.log.zip

查看進(jìn)程

進(jìn)程的含義

操作系統(tǒng)蒋困,將內(nèi)存、cpu等資源敬辣,打包給應(yīng)用使用雪标,是分配資源的基本單元

應(yīng)用啟動后,通過ps命令溉跃,查看進(jìn)程的狀態(tài)

ps -ef查看進(jìn)程信息村刨,類似windows的進(jìn)程管理器

管道符

|

使用管道符對進(jìn)程信息篩選

查詢進(jìn)程,篩選shccs01用戶下的進(jìn)程撰茎,再篩選含tomcat的進(jìn)程嵌牺,再篩選含ux的進(jìn)程
ps -ef | grep shccs01 | grep tomcat | grep ux

重定向

作用:將獲取的信息存到文件
練習(xí):

  1. 將test目錄含g的文件找到
## 命令
ls | grep g
## 結(jié)果
a.log
b.log
c.log
catalina.2017-11-05.log
catalina.2017-11-05.log.tar
catalina.2017-11-05.log.tar.gz

  1. 將找到的結(jié)果保存到d.log
## 普通做法:拷貝,再建空白文件,打開文件逆粹,粘貼保存退出
## 重定向的做法:
## 命令1
ls | grep g > d.log
## 命令2
cat d.log
## 結(jié)果:
a.log
b.log
c.log
catalina.2017-11-05.log
catalina.2017-11-05.log.tar
catalina.2017-11-05.log.tar.gz
new_ag

  1. 查出含“cata”的文件募疮,并重定向到d.log
## 命令
ls | grep 'cata' > d.log
cat d.log
## 結(jié)果
catalina.2017-11-05.log
catalina.2017-11-05.log.tar
catalina.2017-11-05.log.tar.gz
原先的內(nèi)容沒了,一個(gè)>是覆蓋的方式寫入
  1. 追加的方式重定向>>
## 命令
ls | grep g >> d.log
cat d.log
## 結(jié)果
catalina.2017-11-05.log
catalina.2017-11-05.log.tar
catalina.2017-11-05.log.tar.gz
a.log
b.log
c.log
catalina.2017-11-05.log
catalina.2017-11-05.log.tar
catalina.2017-11-05.log.tar.gz
d.log
new_ag

殺進(jìn)程

kill -9 進(jìn)程號
[shccs01 ~]$ps -ef | grep shccs01 | grep tomcat | grep ux

shccs01 18839 1 0 Dec11 ? 00:02:09 /usr/lib/jvm/jdk1.8.0_11/bin/java -Djava.util.logging.config.file=/unibss/users/shccs01/server/tomcat/ux/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m -classpath /unibss/users/shccs01/server/tomcat/ux/bin/bootstrap.jar:/unibss/users/shccs01/server/tomcat/ux/bin/tomcat-juli.jar -Dcatalina.base=/unibss/users/shccs01/server/tomcat/ux -Dcatalina.home=/unibss/users/shccs01/server/tomcat/ux -Djava.io.tmpdir=/unibss/users/shccs01/server/tomcat/ux/temp org.apache.catalina.startup.Bootstrap start

[shccs01 ~]$kill -9 18839

查看端口

查詢8080端口對應(yīng)的進(jìn)程號

## 命令
netstat -ano | findstr "8080"
## 結(jié)果:進(jìn)程號2656
  TCP    0.0.0.0:8081           0.0.0.0:0              LISTENING      ` 2656`

查看2656進(jìn)程對應(yīng)的應(yīng)用程序

## 命令
tasklist |  findstr “2656”

## 結(jié)果
java.exe                      2656 Console                    1    148,248 K

## 確定是一個(gè)java虛擬機(jī)僻弹,tomcat是java程序

## 按照進(jìn)程號殺掉進(jìn)程
taskkill  /pid 4364

對比linux和cmd

對比項(xiàng) linux cmd
查端口 netstat netstat
查進(jìn)程 ps -ef tasklist
管道符 豎線 豎線
查詢包含指定串的行 grep '查詢串' findstr '查詢串'
殺進(jìn)程 kill -9 進(jìn)程號 taskkill /f /pid 進(jìn)程號

網(wǎng)絡(luò)

  1. ping ip:查看網(wǎng)絡(luò)是否通
  2. traceroute ip:查看通不通阿浓,并顯示網(wǎng)絡(luò)節(jié)點(diǎn),能定位到哪個(gè)節(jié)點(diǎn)不通
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹋绽,一起剝皮案震驚了整個(gè)濱河市芭毙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卸耘,老刑警劉巖退敦,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蚣抗,居然都是意外死亡侈百,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門忠聚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來设哗,“玉大人,你說我怎么就攤上這事两蟀⊥遥” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵赂毯,是天一觀的道長战虏。 經(jīng)常有香客問我,道長党涕,這世上最難降的妖魔是什么烦感? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮膛堤,結(jié)果婚禮上手趣,老公的妹妹穿的比我還像新娘。我一直安慰自己肥荔,他們只是感情好绿渣,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著燕耿,像睡著了一般中符。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上誉帅,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天淀散,我揣著相機(jī)與錄音右莱,去河邊找鬼。 笑死档插,一個(gè)胖子當(dāng)著我的面吹牛慢蜓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阀捅,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼胀瞪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了饲鄙?” 一聲冷哼從身側(cè)響起凄诞,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎忍级,沒想到半個(gè)月后帆谍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轴咱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年汛蝙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朴肺。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡窖剑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出戈稿,到底是詐尸還是另有隱情西土,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布鞍盗,位于F島的核電站需了,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏般甲。R本人自食惡果不足惜肋乍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敷存。 院中可真熱鬧墓造,春花似錦、人聲如沸锚烦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挽牢。三九已至,卻和暖如春摊求,著一層夾襖步出監(jiān)牢的瞬間禽拔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留睹栖,地道東北人硫惕。 一個(gè)月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像野来,于是被迫代替她去往敵國和親恼除。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361