日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

kali linux 升级命令_作为高级Java,你应该了解的Linux知识

發布時間:2023/12/9 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kali linux 升级命令_作为高级Java,你应该了解的Linux知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原創:小姐姐味道(微信公眾號ID:xjjdog),歡迎分享,轉載請保留出處。

作為一個javaer,我以前寫過很多關于Linux的文章。但經過多年的觀察,發現其實對于大部分人,有些東西壓根就用不著。用的最多的,就是到線上排查個問題而已,這讓人很是苦惱。那么,我們就將范圍再縮小一下。

Linux命令好像還真不少,根本原因就是軟件多,也有像ag這樣的命令想替代grep,但大多數命令古老而堅挺。不是因為這些軟件設計的有多好,原因是一些軟件最開始入駐了系統,時間久了,就變成了一種約定,這種習慣改變代價太大,就像把所有鍵盤的L和F換一下一樣。

這篇文章假定你已經了解大多數Linux命令,并了解操作系統的基本元素。如果你現在了解的命令還不足10個,下面的內容就不用看了。除了最基本的東西,本文列出一些對你的面試最常見的最能加分的地方,有些組合可能是你沒見過的技巧。但本文僅僅是給出一個大致的輪廓和印象,為以后的專題性考察點作一個序。

本文中出現的所有命令,應該熟記并熟練使用。

幾種比較典型的Linux系統

首先對目前的Linux版本有個大體的印象,大體分Desktop版和Server版,已經是百花齊放。

  • Ubuntu 最常見的Linux個人發行版,一位有情懷的南非富豪,有了錢你也可以這么做

  • CentOS 最常用Linux服務器發新版,RHEL的開放版本,因版權而生的輪子

  • Arch ?滾動升級,海量二進制包,社區活躍,個人最愛

  • Gentoo 安裝軟件需要從源碼開始編譯,穩定,但用起來會很痛

  • LFS 從零構建Linux,跟著做一遍,Linux每根毛都看的清清楚楚

  • Kali 專做滲透用的,代表了發行版的一個發展路徑,就是領域

首先要了解的概念

  • KISS Keep it Simple and Stupid,據說是哲學

  • 一切皆文件 通常是文件的東西叫文件,進程、磁盤等也被抽象成了文件,比較離譜的管道、設備、socket等,也是文件。

    這是Linux最重要的組織方式。

  • 管道 | 分隔,前面命令的輸出作為后面命令的輸入,可以串聯多個

  • 重定向

    • < 將文件做為命令的輸入

    • > 將命令的輸出輸出到文件

    • >> 將命令的輸出追加到文件

  • SHELL 首先確認你的shell,一般最常用的是bash,也有不少用csh,zsh等的,通過echo $SHELL可以看到當前用戶的shell,對應的配置文件也要相應改變。

    比如.zshrc,.bashrc

    四大元素

    進入linux,我們首先關注的是四個元素:

    內存,cpu,存儲,網絡。

    Linux提供了足夠的命令,讓你窺探它的每個角落。

    接下來的命令都是些最常用的,不管精通不精通,想不起來要打屁股。

CPU

  • 使用top查看cpu的load,使用shift+p按照cpu排序。

    需要了解wa,us等都是什么意思

  • 使用uptime查看系統啟動時間和load,load是什么意思呢?

    什么算是系統過載?

    這是個高頻問題,別怪我沒告訴你

  • ps命令勃大莖深,除了查進程號外,你還需要知道R、S、D、T、Z、

  • top和ps很多功能是相通的,比如watch "ps -mo %cpu,%mem,pid,ppid,command ax" 相當于top的進程列表;

    top -n 1 -bc 和ps -ef的結果相似。

  • 有生就有死,可以用kill殺死進程。

    對java來說,需要關注kill -9、kill -15、kill -3的含義,kill的信號太多了,可以用kill -l查看,搞懂大多數信號大有裨益。

  • 如果暫時不想死,可以通過&符號在后臺執行,比如tail -f a.log &。

    jobs命令可以查看當前后臺的列表,想恢復的話,使用fg回到幕前。

    這都是終端作業,當你把term關了你的后臺命令也會跟著消失,所以想讓你的程序繼續執行的話,需要nohup命令,此命令需要牢記

  • mpstat 顯示了系統中 CPU 的各種統計信

  • 了解cpu親和性

內存

  • free -m 命令,了解free、used、cached、swap各項的含義

  • cat /proc/meminfo 查看更詳細的內存信息


    細心的同學可能注意到,CPU和內存的信息,通過top等不同的命令顯示的數值是一樣的。

  • slabtop 用來顯示內核緩存占用情況,比如遍歷大量文件造成緩存目錄項。

    曾在生產環境中遇到因執行find /造成dentry_cache耗盡服務器內存。

  • vmstat 命令是我最喜歡也最常用的命令之一,可以以最快的速度了解系統的運行狀況。

    每個參數的意義都要搞懂。

  • swapon、swapoff 開啟,關閉交換空間

  • sar ?又一統計類輪子,一般用作采樣工具

存儲

  • 使用df -h查看系統磁盤使用概況

  • lsblk 列出塊設備信息

  • du 查看目錄或者文件大小

網絡

  • rsync 強大的同步工具,可以增量哦

  • netstat ?查看Linux中網絡系統狀態信息,各種

  • ss ?它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。

  • curl、wget 模擬請求工具、下載工具。

    如wget -r http://site 將下載整個站點

  • ab Apache服務器的性能測試工具

  • ifstat 統計網絡接口流量狀態

  • nslookup 查詢域名DNS信息的工具,在內網根據ip查詢域名是爽爆了

  • nc 網絡工具中的瑞士軍刀,不會用真是太可惜了

  • arp 可以顯示和修改IP到MAC轉換表

  • traceroute 顯示數據包到主機間的路徑,俗稱幾跳,跳的越少越快

  • tcpdump 不多說了,去下載wireshark了

  • wall 向當前所有打開的終端上輸出信息。

    使用who命令發現女神正在終端上,可以求愛

網絡方面推薦安裝體驗一下kaliLinux,上面的工具會讓你high到極點。

如何組織起來

linux的命令很有意思,除了各種stat來監控狀態,也有各種trace來進行深入的跟蹤,也有各種top來統計資源消耗者,也有各種ls來查看系統硬件如lsblk、lsusb、lscpi。基本上跟著你的感覺走,就能找到相應的工具,因為約定是系統中最強大的導向。

Linux有個比較另類的目錄/proc,承載了每個命令的蹂躪。像sysctl命令,就是修改的/proc/sys目錄下的映射項。不信看看find /proc/sys -type f | wc -l和sysctl -a| wc -l的結果是不是很像?

/proc文件系統是一個偽文件系統,它只存在內存當中,而不占用外存空間。只不過以文件系統的方式為訪問系統內核數據的操作提供接口。系統的所有狀態都逃不過它的火眼金睛。例如:

  • cat /proc/vmstat 看一下,是不是和vmstat命令的輸出很像?

  • cat /proc/meminfo 是不是最全的內存信息

  • cat /proc/slabinfo 這不就是slabtop的信息么

  • cat /proc/devices 已經加載對設備們

  • cat /proc/loadavg load avg原來就躺在這里啊

  • cat /proc/stat 所有的CPU活動信息

  • ls /proc/$pid/fd 靜靜地躺著lsof的結果

一般排查問題的方法

一般排查問題也是圍繞著內存cpu等幾個元素去排查。下圖是一張大體的排查故障或者性能問題的過程,看圖,不多說。

應用場景舉例

下面舉例從具體應用場景來說明各種命令的組合應用,此類場景數不勝數,需要個人積累。但強烈建議將sed和awk練的熟練一些。

怎么查看某個Java進程里面占用CPU最高的一個線程具體信息?

  • 獲取進程中占用CPU最高的線程,計為n。

    • 使用top top -H -p pid,肉眼觀察之

    • 使用ps ?ps -mo spid,lwp,stime,time,%cpu -p pid

  • 將線程號轉化成十六進制printf 0x%x n

  • 使用jstack找到相應進程,打印線程后的100行信息 jstack -l pid| grep spid -A 100

統計每種網絡狀態的數量

netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n -k 1 -r
首先使用netstat查看列表,使用’awk’截取第六列,使用uniq進行統計,并對統計結果排序。當然,也可以這樣。netstat -ant | awk '{arr[$6]++}END{for(i in arr){print arr[i]" "i }}' | sort -n -k 1 -r
這和“分析apache日志,給出當日訪問ip的降序列表”是一樣的問題。

怎么查看哪個進程在用swap

首先要了解/proc/$pid/smaps里有我們所需要的各種信息,其中Swap字段即是我們所需要的。只要循環遍歷一下即可。

for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr

最后,附上http://www.brendangregg.com/ 的大圖一張

End

軟件領域有兩種人才,一種是工程型的,一種是研究型的。在Linux領域里,相對于搞內核研究的來說,搞命令行的就屬于工程型。工程型也有他自己的苦衷,比如,背誦命令就挺痛苦的,一般來說不太推薦背誦,第一覆蓋的面不廣,第二記的快忘的也快,浪費腦細胞。牛逼的記法就是用,用時間來沖淡煙云,見微知著,并體驗其中的喜悅。愛她并天天抱她上床,真愛才成。

總結

以上是生活随笔為你收集整理的kali linux 升级命令_作为高级Java,你应该了解的Linux知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。