Java開發(fā)常用的Linux命令

一呀潭、查找文件 find / -name filename.txt 根據(jù)名稱查找/目錄下的filename.txt文件框往。

  1. find . -name "*.xml" 遞歸查找所有的xml文件
  2. find . -name "*.xml" |xargs grep "hello world" 遞歸查找所有文件內(nèi)容中包含hello world的xml文件
  3. grep -v "String" filename 文件中不匹配“String”的行牍蜂;
  4. grep "String" filename 文件中匹配“String”的行
  5. grep -H 'spring' *.xml 查找所有的包含spring的xml文件
  6. find ./ -size 0 | xargs rm -f & 刪除文件大小為零的文件
  7. ls -l | grep '.jar' 查找當(dāng)前目錄中的所有jar文件
  8. grep 'test' d* 顯示所有以d開頭的文件中包含test的行笨忌。
  9. grep 'test' aa bb cc 顯示在aa睛驳,bb弟塞,cc文件中匹配test的行凰浮。
  10. grep '[a-z]\{5\}' aa 顯示所有包含每個(gè)字符串至少有5個(gè)連續(xù)小寫字符的字符串的行我抠。
  11. grep [option] [pattern] [file1,file2]
    grep content show.txt查找show.txt里面包含content的行
  12. command | grep [option] [pattern]
    ps -ef | grep mongo查看某個(gè)服務(wù)信息
    cat show.txt | grep content查找show.txt里面包含content的行

二、查看一個(gè)程序是否運(yùn)行

  1. ps -ef顯示當(dāng)前所有進(jìn)程
  2. ps –ef|grep tomcat 查看所有有關(guān) tomcat 的進(jìn)程
  3. ps aux|grep java 查看 java 進(jìn)程
  4. ps aux 查看所有進(jìn)程

三袜茧、啟動(dòng)/終止線程

  1. ./startup.sh 啟動(dòng)進(jìn)程
  2. kill -9 19979 終止線程號為19979的線程

四菜拓、查看文件,包含隱藏文件

ls -alls -la
顯示當(dāng)前目錄下所有文件的詳細(xì)信息

五笛厦、查看當(dāng)前工作目錄

pwd

六纳鼎、復(fù)制文件

  1. cp source dest 復(fù)制文件
    命令:cp
    源文件:source
    目標(biāo)文件:dest
    描述:復(fù)制源文件(source)為目標(biāo)文件(dest)
  2. cp -r sourceFolder targetFolder
    命令:cp -r
    源文件:sourceFolder
    目標(biāo)位置:targetFolder
    遞歸復(fù)制整個(gè)文件夾(sourceFolder文件包括其子文件 )到指定目錄(targetFolder)
  3. scp sourecFile romoteUserName@remoteIp:remoteAddr 遠(yuǎn)程拷貝

遠(yuǎn)程傳輸文件 scp。先保證服務(wù)器間裳凸,ssh間能互相跳轉(zhuǎn)贱鄙。

命令格式:scp -r 源目錄 用戶名@ip:目標(biāo)目錄
-r參數(shù)的作用是遞歸復(fù)制源目錄,及復(fù)制目錄下的子目錄和文件

scp -r ~/app hadoop@hadoop001:~/
scp -r ~/app hadoop@hadoop002:~/
分發(fā)環(huán)境變量
scp ~/.bash_profile hadoop@hadoop001:~/
scp ~/.bash_profile hadoop@hadoop002:~/

七姨谷、創(chuàng)建目錄

mkdir newfolder
命令:mkdir
創(chuàng)建目標(biāo):newfolder
描述:在當(dāng)前目錄下創(chuàng)建newfolder目錄

八逗宁、創(chuàng)建空文件

touch demo.txt
命令:touch
創(chuàng)建目標(biāo):demo.txt
描述:在當(dāng)前目錄下創(chuàng)建文件demo.txt

九、刪除目錄

rmdir deleteEmptyFolder刪除空目錄
命令:rmdir
刪除目標(biāo):deleteEmptyFolder
描述:該命令只能刪除空目錄

十梦湘、刪除文件包括其子文件

-r遞歸刪除瞎颗,-f強(qiáng)制刪除件甥。危險(xiǎn)操作,務(wù)必小心哼拔,切記引有!

  • rm -rf deleteFile
    命令:rm -rf
    刪除目標(biāo):deleteFile
  • rm -rf deleteFile*
    命令:rm -rf
    刪除目標(biāo):以'deleteFile'開始的所有文件

十一、移動(dòng)文件

mv /temp/movefile /targetFolder
命令:mv
源文件:/temp/movefile
目標(biāo)位置:/targetFolder

十二倦逐、重命名

mv oldNameFile newNameFile
命令:mv
原名字:oldNameFile
新名字:newNameFile

十三譬正、查看文件頭10行/查看文件尾10行

1??頭:head -n 10 demo.txthead -10 demo.txt

2??尾:tail -n 10 demo.txttail -10 demo.txt

3??tail -f demo.log
命令:tail -f
查看文件:demo.log
描述:這個(gè)命令會(huì)自動(dòng)顯示新增內(nèi)容,屏幕只顯示10行內(nèi)容(可設(shè)置)僻孝〉嫉郏可以實(shí)時(shí)查看文件的最后內(nèi)容,一般用來實(shí)時(shí)查看日志

十四穿铆、分頁查看文件內(nèi)容

more demo.txt
命令:more
查看文件:demo.txt
描述:分頁查看demo.txt的內(nèi)容

Enter(向下翻滾一行)
空格(向下滾動(dòng)一屏)
Q(退出命令)
B(向上滾動(dòng)一屏)

十五您单、查看文件內(nèi)容

cat demo.txt
命令:cat
查看文件:demo.txt
描述:查看 demo.txt 的內(nèi)容

十六、啟動(dòng)vim編輯器

  • vim三種模式:命令模式荞雏,插入模式虐秦,編輯模式。使用ESC 或 i 或 :來切換凤优。
  • 命令模式下:
    :q退出悦陋;
    :q!強(qiáng)制退出;
    :wq保存退出筑辨;
    :set number顯示行號
    n 跳到下一關(guān)鍵詞
  • 編輯desc.txt文件
    vim desc.txt

1??cat和vi/vim和nano區(qū)別

  1. cat是 linux 系統(tǒng)下一個(gè)文本打印的命令俺驶,用于輸出一個(gè)文本的信息到控制臺上。該命令的輸入類似于使用 word 打開一個(gè)文檔棍辕,但是該文檔不能編輯暮现。

  2. vi/vim是 linux 系統(tǒng)下用于文本查看、編輯的命令楚昭,不僅僅可以查看栖袋,還可以編輯。

  3. nano類似于vim命令的功能抚太,命令語句為:nano p(打開p文件)

2??vi和vim區(qū)別

  1. vi 不需要安裝塘幅,打開代碼,顏色一樣(黑色)
  2. vim 需要額外安裝尿贫,打開代碼电媳,用顏色區(qū)分代碼

十七、uniq

對內(nèi)容去重帅霜,只把相鄰且相同的去重匆背,如果想要全局去重,需要先用sort排序

cat fileName | sort | uniq文件排序并去重
cat file | sort | uniq -c文件排序并去重身冀,且輸出每行出現(xiàn)的次數(shù)

十八钝尸、sort

cat fileName | sort對內(nèi)容進(jìn)行排序括享,數(shù)據(jù)按字典序排列,如果想按數(shù)值排珍促,加-n選項(xiàng)

十九铃辖、wc

wc -l fileName文件里有多少行
wc -w fileName文件有多少個(gè)單詞
wc -c fileName文件有多少個(gè)字節(jié)
wc -m fileName文件有多少個(gè)字符
cat fileName | wc -l可以和管道符結(jié)合使用

二十、網(wǎng)絡(luò)

ping www.baidu.com查看網(wǎng)絡(luò)是否連通
ping www.baidu.com -p 80查看端口是否開啟
wget 文件地址下載文件

二十一猪叙、netstat -ano 是查看端口是否被占用

  1. cmd:先用命令提示符 "netstat -ano" 命令顯示所有端口狀態(tài)娇斩,找到目標(biāo)端口對應(yīng)的PID;
  2. 然后根據(jù)該 PID 穴翩,輸入 “tasklist”命令程序犬第,就可知道其程序名,進(jìn)而查明程序的來源芒帕,采取適當(dāng)?shù)拇胧?/li>

二十二歉嗓、查看端口屬于哪個(gè)程序

lsof -i :8080

二十三、顯示系統(tǒng)當(dāng)前進(jìn)程信息/查看內(nèi)存的使用情況該用什么命令

free 或者 top

free命令可以看到內(nèi)存以及緩存的使用情況背蟆,如下:
total 總內(nèi)存
used 已用內(nèi)存
free 空閑內(nèi)存
buff/cache 已使用的緩存
avaiable 可用內(nèi)存

已使用的緩存(buff/cache)的命令:sync; echo 3 > /proc/sys/vm/drop_caches
線上執(zhí)行這條命令不好<帧!带膀!

二十四志珍、以樹狀圖列出目錄的內(nèi)容

tree a ps: Mac下使用tree命令

二十五、文件下載

wget http://file.tgz mac下安裝wget命令 curl http://file.tgz

二十六垛叨、網(wǎng)絡(luò)檢測

ping www.just-ping.com

二十七伦糯、遠(yuǎn)程登錄

ssh userName@ip

二十八、打印信息

echo $JAVA_HOME打印 java home 環(huán)境變量的值

二十九嗽元、關(guān)機(jī)或重啟

  • shutdown -h now
    立刻關(guān)機(jī)
  • shutdown -r -t 60
    60秒后重啟

三十舔株、創(chuàng)建鏈接文件

ln -s /opt/test ./link2test
創(chuàng)建目錄/opt/test的符號鏈接

三十一、查看目錄使用情況

du -h /opt/test
查看/opt/test目錄的磁盤使用情況

三十二还棱、查看磁盤空間使用情況

df -h
查看磁盤空間使用情況

三十三、改變文件或目錄的擁有者和組

  • chown nginx:nginx desc.txt
    變更文件desc.txt的擁有者為nginx惭等,用戶組為nginx
  • chown -R nginx:nginx test
    變更test及目錄下所有文件的擁有者為nginx珍手,用戶組為nginx

三十四、改變文件或目錄的訪問權(quán)限

權(quán)限范圍:u(擁有者)辞做、g(郡組)琳要、o(其它用戶)。
權(quán)限代號:r(讀權(quán)限/4)秤茅、w(寫權(quán)限/2)稚补、x(執(zhí)行權(quán)限/1)

  1. chmod u+x test.sh
    給文件擁有者增加 test.sh 的執(zhí)行權(quán)限
  2. chmod u+x -R test
    給文件擁有者增加test目錄及其下所有文件的執(zhí)行權(quán)限

三十五、服務(wù)啟停

setsid java -jar java-service.jar-----?setsid 后臺進(jìn)程
docker start/stop/restart tomcat
docker start/stop/restart zookeeper
docker start/stop/restart redis
docker start/stop/restart rabbitmq
docker start/stop/restart mysql

三十六框喳、使用超級管理員身份執(zhí)行命令

sudo rm a.txt 使用管理員身份刪除文件

1??sudo 表示 superuser do课幕。 它允許已驗(yàn)證的用戶以其他用戶的身份來運(yùn)行命令厦坛。其他用戶可以是普通用戶或者超級用戶。大部分時(shí)候用它來以提升的權(quán)限來運(yùn)行命令乍惊。

2??在 linux 中通過 su 可以在用戶之間切換杜秸。超級權(quán)限用戶 root 向普通或虛擬用戶切換不需要密碼,而普通用戶切換到其它任何用戶都需要密碼驗(yàn)證润绎。su 為switch user撬碟,即切換用戶的簡寫。格式為兩種:

  1. su -l USERNAME(-l 為 login莉撇,即登錄的簡寫)
  2. su USERNAME

如果不指定 USERNAME(用戶名)呢蛤,默認(rèn)為 root,所以切換到 root 身份的命令即為:su -root 或 su root 或 su - 或 su棍郎。

3??su USERNAME其障,與su - USERNAME的區(qū)別

  1. su -USERNAME切換用戶后,同時(shí)切換到新用戶的工作環(huán)境中坝撑。
  2. su USERNAME切換用戶后静秆,不改變原用戶的工作目錄,及其他環(huán)境變量目錄巡李。

三十七抚笔、幫助命令

  1. man ls查看 ls 命令的幫助文檔
  2. man java查看 java 命令的幫助文檔
  3. man git查看 git 命令的幫助文檔

三十八、在列出文件的同時(shí)查看文件的大小

ls -lh如果某個(gè)文件的大小大于或者接近于 1G侨拦,那么就會(huì)以 GB 為單位顯示殊橙。如果文件接近 Mb,則會(huì)按照 Mb 為單位顯示狱从,以此類推膨蛮。

三十九、java 常用命令

java javac jps , jstat , jmap , jstack

四十季研、jps

jps(Java Virtual Machine Process Status Tool)是 java 提供的一個(gè)顯示當(dāng)前所有 java 進(jìn)程 pid 的命令敞葛,適合在 linux/unix 平臺上簡單查看當(dāng)前 java 進(jìn)程的一些簡單情況。

使用 jps 要先安裝 jdk(jps 是 jdk 自帶的命令)与涡。jps 類似 linux 的 ps 命令惹谐,不同的是 ps 是用來顯示進(jìn)程,而 jps 只顯示 java 進(jìn)程驼卖,準(zhǔn)確的說是當(dāng)前用戶已啟動(dòng)的部分 java 進(jìn)程信息氨肌,信息包括進(jìn)程號和簡短的進(jìn)程 command。

提示:曾經(jīng)遇到一個(gè)這樣的問題:一個(gè) nagios 插件用 jps 監(jiān)控 java 進(jìn)程酌畜。結(jié)果得不到 java 進(jìn)程信息怎囚。這是由于 jps 只能顯示當(dāng)前用戶的 java 進(jìn)程,而執(zhí)行插件的用戶是 nagios桥胞,所以顯示不了其他用戶的 java 進(jìn)程恳守。

jps 的作用是顯示當(dāng)前系統(tǒng)的 java 進(jìn)程情況及其 pid 號考婴。可以通過它來查看到底啟動(dòng)了哪些 java 進(jìn)程(因?yàn)槊恳粋€(gè) java 程序都會(huì)獨(dú)占一個(gè) java 虛擬機(jī)實(shí)例)以及進(jìn)程 PID井誉。并可通過 opt 來查看這些進(jìn)程的詳細(xì)啟動(dòng)參數(shù)蕉扮。

命令格式:jps [options] [hostid]

[options]選項(xiàng) :

  1. -q:僅輸出 VM 標(biāo)識符,不包括classname颗圣、jar name喳钟、arguments in main method
  2. -m:輸出 main method 的參數(shù)。
  3. -l:輸出完全的包名在岂,應(yīng)用主類名奔则,jar的完全路徑名。
  4. -v:輸出 jvm 參數(shù)蔽午。
  5. -V:輸出通過 flag 文件傳遞到 JVM 中的參數(shù)(.hotspotrc文件或-XX:Flags=所指定的文件)易茬。
  6. -J:傳遞參數(shù)到 vm。例如:-J-Xms512m
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末及老,一起剝皮案震驚了整個(gè)濱河市抽莱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骄恶,老刑警劉巖食铐,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異僧鲁,居然都是意外死亡虐呻,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門寞秃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斟叼,“玉大人,你說我怎么就攤上這事春寿±噬” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵绑改,是天一觀的道長馋缅。 經(jīng)常有香客問我,道長绢淀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任瘾腰,我火速辦了婚禮皆的,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蹋盆。我一直安慰自己费薄,他們只是感情好硝全,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著楞抡,像睡著了一般伟众。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上召廷,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天凳厢,我揣著相機(jī)與錄音,去河邊找鬼竞慢。 笑死先紫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的筹煮。 我是一名探鬼主播遮精,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼败潦!你這毒婦竟也來了本冲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤劫扒,失蹤者是張志新(化名)和其女友劉穎檬洞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粟关,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疮胖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了闷板。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澎灸。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖遮晚,靈堂內(nèi)的尸體忽然破棺而出性昭,到底是詐尸還是另有隱情,我是刑警寧澤县遣,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布糜颠,位于F島的核電站,受9級特大地震影響萧求,放射性物質(zhì)發(fā)生泄漏其兴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一夸政、第九天 我趴在偏房一處隱蔽的房頂上張望元旬。 院中可真熱鬧,春花似錦、人聲如沸匀归。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽穆端。三九已至袱贮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間体啰,已是汗流浹背攒巍。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狡赐,地道東北人窑业。 一個(gè)月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像枕屉,于是被迫代替她去往敵國和親常柄。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 今天做一個(gè)包含tablayout+viewpager+fragment的頁面搀擂,出現(xiàn)了一個(gè)bug西潘,就是app一共三個(gè)...
    idiotInside閱讀 1,367評論 0 0
  • 昨天下午,看到大學(xué)同學(xué)王誠的票圈“以后請叫我馮太哨颂!”我簡直激動(dòng)地說不出話喷市,語無倫次⊥眨看到那個(gè)男生的踏實(shí)面相品姓,我真是...
    夏橙_Olivia閱讀 208評論 0 0
  • 考慮到生化危機(jī)的系列電影可能終于走到了盡頭,簡單的做個(gè)回顧箫措,以資紀(jì)念腹备,雖然無論電影還是游戲跟我一點(diǎn)關(guān)系也沒有。 前...
    836a784a2482閱讀 464評論 0 0
  • 今天進(jìn)度比較快斤蔓,完成了管理員植酥,讀者的信息,還有圖書的一部分弦牡。明天繼續(xù)友驮。
    劉博zero閱讀 144評論 0 0
  • 魚在右江河里發(fā)冷 釣魚人在岸邊煩躁不安 我的熱咖啡 涼了 身處蝸居 看著窗外世界都與我無關(guān) 我的靈魂里 一片寧靜 ...
    如果懂閱讀 201評論 1 3