Java面試-Linux操作系統(tǒng)
現(xiàn)在面試基本都會(huì)問一些Linux操作系統(tǒng)命令;基本要求是會(huì)用,知道使用命令,并不需要知道原理;
1、基本的增刪改查;
2、網(wǎng)絡(luò)端口線程命令;
3、vim的使用
vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來(lái)切換模式。
命令模式下:
4、查看日志相關(guān)操作;
1,查看兩個(gè)時(shí)間之間的日志,并且顯示關(guān)鍵字:sed -n '/2022-04-03 09:40:55.334/,/2022-04-03 10:20:24.812/p' spring.log | grep --color '發(fā)送消息請(qǐng)求體為'
-------時(shí)間點(diǎn)一定要在日志中存在,可用:grep --color '2022-04-03 09:40:55.334'看時(shí)間點(diǎn)是不是存在
2,查看日志中關(guān)鍵字:grep --color '定時(shí)任務(wù)01開始執(zhí)行' spring.log
3,實(shí)時(shí)查看日志:tail -f spring.log
4,查看日志最后20行:tail -n 20 spring.log
5,查看日志最后20行并且搜索關(guān)鍵字:tail -n 20 spring.log | grep --color 'mis'
6,查看最后20行并且查找關(guān)鍵字(文字標(biāo)紅),上下擴(kuò)展兩行:tail -n 20 spring.log | grep 'mis' --color -a2
7,查看文件頭10行: head -n 10 spring.log
8,查看日志除了最后10行的其他日志:head -n -10 spring.log
9,查看日志第5到第10行:sed -n '5,10p' spring.log
10,查看底部最新300行記錄并且實(shí)時(shí)刷新:tail spring.log -n 300 -f
11,查詢關(guān)鍵字,并且翻頁(yè):grep --color '發(fā)送消息成功' spring.log | more 空格鍵翻頁(yè)
12,查詢關(guān)鍵字,并且翻頁(yè):grep --color '發(fā)送消息成功' spring.log | less pagedown翻頁(yè)
13,分頁(yè)查看日志:cat -n spring.log | grep --color '發(fā)送消息成功' | more
14,循環(huán)實(shí)時(shí)查看最后100行記錄:tail -fn 100 spring.log
15,循環(huán)實(shí)時(shí)查看最后100行記錄,并且查找關(guān)鍵字:tail -fn 100 spring.log | grep --color 'INFO'
16,不解壓查看壓縮包中信息:gzip -dc spring.log.2018-01-11.gz | grep '消息' | more
17,查看java進(jìn)程:ps -ef|grep java
18,查看Tomcat進(jìn)程:ps -ef |grep tomcat
19,看URL能不能用:curl www.baidu.com
20,切換到三快:sudo -iu sankuai
21,使用netstat命令查詢有多少臺(tái)機(jī)器連接到9999端口:netstat -nat |grep 9999-c
22,數(shù)據(jù)庫(kù)端口3306,使用netstat命令查看已經(jīng)使用了多少個(gè)數(shù)據(jù)庫(kù)連接:netstat -nat |grep 3306 -c
23,ps命令查看Java線程數(shù):ps -eLf |grep java -c
24,查看所有有關(guān)Tomcat的進(jìn)程:ps -ef |grep tomcat
25,高亮要查詢的關(guān)鍵字: ps -ef |grep --color java
26,查看端口屬于哪個(gè)程序:lsof -i :8080
27,查看所有的進(jìn)程:ps aux,查看Java進(jìn)程:ps aux|grep ?java
28,查找日志中關(guān)鍵行,并向后擴(kuò)展10行: grep --color=always -A 10 "20220404205050ghVXhvA9IItest01" spring.log
29,查找日志中關(guān)鍵行,并向前擴(kuò)展幾行: grep --color=always -B 10 "20220404205050ghVXhvA9IItest01" spring.log
30,查找日志中關(guān)鍵行,并在關(guān)鍵行前后擴(kuò)展10行: ?grep --color=always ?-10 ?"XXXXX" spring.log
5、文件權(quán)限;
? ? 格式:chmod [參數(shù)] 權(quán)限文件名?
?chmod可以使用八進(jìn)制數(shù)來(lái)指定權(quán)限,無(wú)需再使用指定的權(quán)限和用戶的字母來(lái)進(jìn)行標(biāo)識(shí),通過(guò)讀寫執(zhí)行等3個(gè)權(quán)限的數(shù)字來(lái)進(jìn)行設(shè)置
r(讀)的權(quán)限的數(shù)字為4
w(寫)的權(quán)限的數(shù)字為2
x(執(zhí)行)的權(quán)限數(shù)字為1
所以7表示的賦權(quán)的用戶有讀寫執(zhí)行權(quán)限,最大的權(quán)限,下面是對(duì)照表。
首個(gè)字符不用管 1.第一組rwx,也就是2 3 4為user: 文件所有者(owner)文件屬于誰(shuí), 即用戶,
2.第二組r-x,也就是5 6 7為group: 用戶組(group),用戶的集合。 體現(xiàn)共享的特性。
3.所以的8 9 10就是others: 其他人(others),不屬于用戶組的集合。需要注意root也屬于其他,但是root用戶可以訪問用戶組的內(nèi)容。
6、壓縮與解壓命令
1、.zip格式:zip是Windows中最常見的壓縮格式,Linux也可以正確識(shí)別,zip命令所在目錄為/usr/bin/zip,所有用戶可以執(zhí)行,用來(lái)壓縮文件或目錄 ??命令格式:
zip [選項(xiàng)] 壓縮包名 源文件或源目錄?
?選項(xiàng):?
???-r:壓縮目錄 ??
示例:
壓縮多個(gè)文件:
?zip對(duì)應(yīng)的解壓縮命令為unzip:命令所在目錄為/usr/bin/unzip,所有用戶可執(zhí)行, ??命令格式:
unzip [選項(xiàng)] 壓縮包名
?2、.gz格式:.gz格式和.bz2格式是Linux中最常見的壓縮格式,使用gzip命令 ??命令格式:
gzip [選項(xiàng)] 壓縮包名
-c, -stdout. -stdout: 將輸出寫到標(biāo)準(zhǔn)輸出上,并保留原有文件。
-d, --decompress, --uncompress: 將被壓縮的文件解壓縮。 -r,-rcurivee遞歸地查找指定目錄并壓縮其中的所有文件或解壓縮。索-t, --test: 測(cè)試,即檢查壓縮文件的完整性。
注意:使用gzip壓縮文件后會(huì)將原文件刪除,如果想保留原文件則可以使用-c選項(xiàng)將壓縮過(guò)程產(chǎn)生的標(biāo)準(zhǔn)輸出寫入一個(gè)新的文件中,示例如下:>的作用是覆蓋內(nèi)容,>>的作用是追加內(nèi)容
?壓縮目錄下的每個(gè)文件:下述命令會(huì)將123這個(gè)目錄下的每個(gè)文件分別進(jìn)行壓縮,而不是將整個(gè)123目錄進(jìn)行壓縮,也就是說(shuō)gzip命令不會(huì)打包壓縮
??解壓縮也可以使用gunzip
以上內(nèi)容僅供參考,請(qǐng)合理利用搜索引擎!