Linux命令

前言

作為服務(wù)器開發(fā)韧献,平時開發(fā)經(jīng)常用到的Linux命令不多几晤,但是還是要對linux多了解一些也切,這樣出現(xiàn)問題至少有一個解決思路只壳。

systemctl

最近項目中經(jīng)常用到systemd來啟動進(jìn)程,所以先了解下极景。

  • enable xxx.service
    設(shè)置開機(jī)自動啟動
  • disable xxx.service
    取消自動啟動
  • status xxx.service
    查看服務(wù)的狀態(tài)
  • list-units [--type=service]
    查看所有啟動的服務(wù)
  • start/stop/restart xxx.service
    根據(jù)腳本中的命令啟動/停止/重啟服務(wù)
  • daemon-reload
    重載所有的服務(wù)察净,更新腳本之后不會立即生效,要調(diào)用該命令
  • list-dependencies xxx.service
    列出服務(wù)的依賴關(guān)系盼樟,
  • list-unit-files [--type=service]
    列出所有配置文件以及他們的狀態(tài)氢卡。狀態(tài)有四種:enabled(已建立啟動鏈接);disabled(沒建立啟動鏈接)晨缴;static(該配置文件沒有[Install]部分(無法執(zhí)行)译秦,只能作為其他配置文件的依賴);masked(該配置文件被禁止建立啟動鏈接)
  • Service配置文件
    service的配置文件分為三個部分:
    1. Unit:
    • Description : 服務(wù)的簡單描述
    • Documentation : 服務(wù)文檔
    • Before、After: 定義啟動順序筑悴。Before=xxx.service,代表本服務(wù)在xxx.service啟動之前啟動们拙。After=xxx.service,代表本服務(wù)在xxx.service之后啟動。
    • Requires:這個單元啟動了阁吝,它需要的單元也會被啟動睛竣;它需要的單元被停止了,這個單元也停止了求摇。
    • Wants:推薦使用。這個單元啟動了殊者,它需要的單元也會被啟動与境;它需要的單元被停止了,對本單元沒有影響猖吴。
    1. Service:
    • Type告訴systemd這個服務(wù)的類型摔刁,從而采取不同的策略執(zhí)行。
      • simple(默認(rèn)值) systemd認(rèn)為該服務(wù)將立即啟動海蔽。服務(wù)進(jìn)程不會fork共屈。如果該服務(wù)要啟動其他服務(wù),不要使用此類型啟動党窜,除非該服務(wù)是socket激活型拗引。
      • forking:systemd認(rèn)為當(dāng)該服務(wù)進(jìn)程fork,且父進(jìn)程退出后服務(wù)啟動成功幌衣。對于常規(guī)的守護(hù)進(jìn)程(daemon)矾削,除非你確定此啟動方式無法滿足需求,使用此類型啟動即可豁护。使用此啟動類型應(yīng)同時指定 PIDFile=哼凯,以便systemd能夠跟蹤服務(wù)的主進(jìn)程。
      • oneshot:這一選項適用于只執(zhí)行一項任務(wù)楚里、隨后立即退出的服務(wù)断部。可能需要同時設(shè)置 RemainAfterExit=yes 使得 systemd 在服務(wù)進(jìn)程退出之后仍然認(rèn)為服務(wù)處于激活狀態(tài)班缎。
      • notify:與 Type=simple 相同蝴光,但約定服務(wù)會在就緒后向 systemd 發(fā)送一個信號。這一通知的實現(xiàn)由 libsystemd-daemon.so 提供吝梅。
      • dbus:若以此方式啟動虱疏,當(dāng)指定的 BusName 出現(xiàn)在DBus系統(tǒng)總線上時,systemd認(rèn)為服務(wù)就緒苏携。
      • idle: systemd會等待所有任務(wù)(Jobs)處理完成后做瞪,才開始執(zhí)行idle類型的單元。除此之外,其他行為和Type=simple 類似装蓬。
    • PIDFile:pid文件路徑
    • ExecStart:指定啟動單元的命令或者腳本著拭,ExecStartPre和ExecStartPost節(jié)指定在ExecStart之前或者之后用戶自定義執(zhí)行的腳本。Type=oneshot允許指定多個希望順序執(zhí)行的用戶自定義命令牍帚。
    • ExecReload:指定單元停止時執(zhí)行的命令或者腳本儡遮。
    • ExecStop:指定單元停止時執(zhí)行的命令或者腳本。
    • PrivateTmp:True表示給服務(wù)分配獨立的臨時空間
    • Restart:這個選項如果被允許暗赶,服務(wù)重啟的時候進(jìn)程會退出鄙币,會通過systemctl命令執(zhí)行清除并重啟的操作。
    • RemainAfterExit:如果設(shè)置這個選擇為真蹂随,服務(wù)會被認(rèn)為是在激活狀態(tài)十嘿,即使所以的進(jìn)程已經(jīng)退出,默認(rèn)的值為假岳锁,這個選項只有在Type=oneshot時需要被配置绩衷。
    1. Install
    • Alias:為單元提供一個空間分離的附加名字。
    • RequiredBy:單元被允許運行需要的一系列依賴單元激率,RequiredBy列表從 Require獲得依賴信息咳燕。
    • WantBy:單元被允許運行需要的弱依賴性單元,Wantby從Want列表獲得依賴信息乒躺。
      *Also:指出和單元一起安裝或者被協(xié)助的單元招盲。
    • DefaultInstance:實例單元的限制,這個選項指定如果單元被允許運行默認(rèn)的實例聪蘸。

nc

nc可以通過TCP和UDP在網(wǎng)絡(luò)中讀寫數(shù)據(jù)宪肖,

  • -g
    設(shè)置路由器躍程通信網(wǎng)關(guān),最多設(shè)置8個健爬;
  • -G
    設(shè)置來源路由指向器控乾,其數(shù)值為4的倍數(shù);
  • -h
    在線幫助娜遵;
  • -i
    設(shè)置時間間隔蜕衡,以便傳送信息及掃描通信端口,單位為秒
  • -l
    使用監(jiān)聽模式设拟,監(jiān)控傳入的資料慨仿。
  • -n
    直接使用ip地址,而不通過域名服務(wù)器纳胧。
  • -o
    把往來傳輸?shù)臄?shù)據(jù)以16進(jìn)制字碼傾倒成該文件保存镰吆;
  • -p
    設(shè)置本地主機(jī)使用的通信端口
  • -r ?
    指定源端口和目的端口都進(jìn)行隨機(jī)的選擇跑慕;
  • -s
    設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址万皿,可以偽裝ip
  • -u
    使用UDP傳輸協(xié)議摧找;
  • -v
    顯示指令執(zhí)行過程;
  • -w
    設(shè)置等待連線的時間牢硅,單位為秒
  • -z
    使用0輸入/輸出模式蹬耘,連接即斷開,只在掃描通信端口時使用减余。
使用nc簡單實現(xiàn)小功能
  • 聊天服務(wù)器
    服務(wù)器: nc -l 端口號
    客戶端: nc 服務(wù)器ip 端口號
    雙方在命令行的輸入會顯示在對方的屏幕
  • 傳輸文件
    要接收或者要發(fā)送的啟動好端口 nc -l port > trans.txt
    另一方連接發(fā)送或者接收 nc ip port < trans.txt
  • 端口掃描
    nc -z -v -n 172.31.100.7 21-25
    掃描指定ip的指定端口
tcpdump

tcpdump用來監(jiān)聽端口综苔,抓取相應(yīng)的包。

  • -c
    指定抓取包的數(shù)量位岔。
  • -i
    使用指定的網(wǎng)絡(luò)截面送出數(shù)據(jù)包
  • -d
    把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成可閱讀的格式如筛,并傾倒到標(biāo)準(zhǔn)輸出。
  • -dd
    把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成C語言的格式抒抬,并傾倒到標(biāo)準(zhǔn)輸出妙黍。
  • -ddd
    把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成十進(jìn)制數(shù)字的格式,并傾倒到標(biāo)準(zhǔn)輸出瞧剖。
  • -r file
    從指定的文件讀取數(shù)據(jù)包數(shù)據(jù)。
  • -w file
    把數(shù)據(jù)包數(shù)據(jù)寫入指定的文件
  • host ip/域名 [and (host1 or host2)]
    監(jiān)聽發(fā)給和來自該主機(jī)的數(shù)據(jù)包 [監(jiān)聽該主機(jī)與host1或者h(yuǎn)ost2之間的通信包(注意轉(zhuǎn)義)]
  • port number
    監(jiān)聽對應(yīng)主機(jī)的該端口
  • src/dst
    只截獲來自/發(fā)送給目的地址的數(shù)據(jù)包
sar

sar命令是比較全面的linux性能統(tǒng)計分析工具可免,命令的格式為sar [options] [-A] [-o file] t [n]抓于,[]中代表可以省略,t代表采樣的間隔浇借,最后的n代表統(tǒng)計的次數(shù)捉撮。options中包括:

  • -A
    所有報告的總和
  • -u
    輸出CPU使用情況的統(tǒng)計信息
  • -v
    輸出inode、文件和其他內(nèi)核表的統(tǒng)計信息
  • -d
    輸出每一個塊設(shè)備的活動信息
  • -r
    輸出內(nèi)存和交換空間的統(tǒng)計信息
  • -b
    顯示I/O和傳送速率的統(tǒng)計信息
  • -a
    文件讀寫情況
  • -c
    輸出進(jìn)程統(tǒng)計信息妇垢,每秒創(chuàng)建的進(jìn)程數(shù)
  • -R
    輸出內(nèi)存頁面的統(tǒng)計信息
  • -y
    終端設(shè)備活動情況
  • -w
    輸出系統(tǒng)交換活動信息
iostat

iostat使用格式為[options] [interval [count]]
interval為取樣的間隔巾遭,count為取樣的次數(shù)

  • -c
    僅顯示CPU統(tǒng)計信息.與-d選項互斥.
  • -d
    僅顯示磁盤統(tǒng)計信息.與-c選項互斥.
  • -k
    以K為單位顯示每秒的磁盤請求數(shù),默認(rèn)單位塊.
  • -p device | ALL
    與-x選項互斥,用于顯示塊設(shè)備及系統(tǒng)分區(qū)的統(tǒng)計信息.也可以在-p后指定一個設(shè)備名,如: iostat -p hda ;或顯示所有設(shè)備:iostat -p ALL
  • -t 在輸出數(shù)據(jù)時,打印搜集數(shù)據(jù)的時間.
  • -V 打印版本號和幫助信息.
  • -x 輸出擴(kuò)展信息.
dmesg

dmesg記錄了系統(tǒng)啟動過程中的內(nèi)核日志信息闯估,包括系統(tǒng)的設(shè)備信息灼舍,以及在啟動和操作過程中系統(tǒng)記錄的任何錯誤和問題的信息。
在/var/log下有dmesg文件,這個文件存儲的是開機(jī)相關(guān)的信息涨薪。但是dmesg命令輸出的不只是這個文件的信息骑素,還有操作系統(tǒng)對一些錯誤的處理,比如強(qiáng)殺進(jìn)程刚夺,這些信息存儲在messages的一些文件中献丑。

crontab
  • -e
    編輯定時設(shè)置
  • -l
    查看定時設(shè)置
  • -r
    刪除定時設(shè)置
  • -u
    指定要操作的用戶的定時設(shè)置
  • 設(shè)置每隔一段時間執(zhí)行
    在定時設(shè)置格式中,前面的幾個位置分別代表著:
    分鐘 minute: 區(qū)間為 0 – 59
    小時 hour: 區(qū)間為0 – 23
    每月的日期 day-of-month: 區(qū)間為0 – 31
    月份 month: 區(qū)間為1 – 12. 1 是1月. 12是12月.
    星期 day-of-week: 區(qū)間為0 – 7. 周日可以是0或7.
    這里的取值可以用逗號(,)分隔侠姑,或者用減號(-)連接
    如果想取每隔一段時間创橄,可以用斜杠(/)分隔,比如 10-30/5代表10分鐘到30分鐘這個區(qū)間莽红,每隔5分鐘妥畏。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子咖熟,更是在濱河造成了極大的恐慌圃酵,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馍管,死亡現(xiàn)場離奇詭異郭赐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)确沸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門捌锭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人罗捎,你說我怎么就攤上這事观谦。” “怎么了桨菜?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵豁状,是天一觀的道長。 經(jīng)常有香客問我倒得,道長泻红,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任霞掺,我火速辦了婚禮谊路,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘菩彬。我一直安慰自己缠劝,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布骗灶。 她就那樣靜靜地躺著惨恭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪耙旦。 梳的紋絲不亂的頭發(fā)上喉恋,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音母廷,去河邊找鬼轻黑。 笑死,一個胖子當(dāng)著我的面吹牛琴昆,可吹牛的內(nèi)容都是我干的氓鄙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼业舍,長吁一口氣:“原來是場噩夢啊……” “哼抖拦!你這毒婦竟也來了升酣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤态罪,失蹤者是張志新(化名)和其女友劉穎噩茄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體复颈,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡绩聘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了耗啦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凿菩。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖帜讲,靈堂內(nèi)的尸體忽然破棺而出衅谷,到底是詐尸還是另有隱情,我是刑警寧澤似将,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布获黔,位于F島的核電站,受9級特大地震影響在验,放射性物質(zhì)發(fā)生泄漏肢执。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一译红、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兴溜,春花似錦侦厚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至膘怕,卻和暖如春想诅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岛心。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工来破, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人忘古。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓徘禁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親髓堪。 傳聞我的和親對象是個殘疾皇子送朱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理娘荡,服務(wù)發(fā)現(xiàn),斷路器驶沼,智...
    卡卡羅2017閱讀 134,600評論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,135評論 2 34
  • 大家都知道炮沐,Linux系統(tǒng)提供了非常多非常多的命令或工具,這些命令都各有所長回怜,都是系統(tǒng)需要的大年。但我們精力有限,要掌...
    劉振鋒閱讀 11,482評論 10 90
  • 王意超閱讀 164評論 0 0
  • 感覺這兩字很契合吧鹉戚,偶遇此次《偶遇》新書發(fā)布會鲜戒,平常也沒留意也沒參加過這樣的活動。 前天3.23日午...
    魚日佳閱讀 125評論 0 0