【CyberSecurityLearning 37】网络安全常用Linux系统命令以及 源码包的安装过程
目錄
一、Linux系統(tǒng)中以下目錄的作用
二、linux系統(tǒng)中以下顏色表示的文件類型
三、Linux系統(tǒng)基礎(chǔ)命令
1、uname -a? 內(nèi)核版本號(hào)查詢
2、fdisk? -l? 查看硬盤以及分區(qū)
3、cat? /proc/meminfo? 查看內(nèi)存大小信息
4、cat? /proc/cpuinfo? 查看cpu型號(hào)信息
5、學(xué)會(huì)關(guān)閉防火墻
6、關(guān)閉selinu服務(wù)
7、ls、cat、pwd 、touch、echo、mkdir、mv、cp、rm、ln
四、Linux系統(tǒng)進(jìn)階命令
1、查看命令的幫助手冊(cè)
2、小實(shí)驗(yàn)★:(grep、awk、uniq、sort命令的綜合使用)
3、cat、tail、wc、du
4、壓縮和解壓縮工具
5、find命令
6、dd命令
5、vim使用(不能用鼠標(biāo)!)
五、源碼包的安裝過程
一、Linux系統(tǒng)中以下目錄的作用
root
/??????????????? 根目錄? 系統(tǒng)的起始目錄
/bin?????????? bin就是二進(jìn)制的意思,里面保存了管理員和普通用戶都可以執(zhí)行的命令字(比如普通用戶不能執(zhí)行關(guān)機(jī)命令)
/sbin???????? 只有管理員才能執(zhí)行的命令
/boot???????? 主引導(dǎo)目錄? 是一個(gè)獨(dú)立的分區(qū)? /dev/sda1 具有內(nèi)核 、啟動(dòng)菜單還有驅(qū)動(dòng)盤(很重要)
/dev????????? device設(shè)備,設(shè)備文件存放目錄? /dev/sda等
/etc?????????? 配置文件存放目錄
/home?????? 普通用戶的家目錄
/root????????? 超級(jí)管理員的家目錄
/media?????? 媒體,光驅(qū)(光盤)的掛載目錄(光盤插入后,能在這里找到)
/mnt?????????? mount? 臨時(shí)設(shè)備的掛載目錄(U盤等外接設(shè)備)
/proc???????? process,進(jìn)程。都不在硬盤中存,在內(nèi)存中存取。里面的數(shù)據(jù)都在內(nèi)存中,進(jìn)程的所在目錄
/tmp????????? 臨時(shí)文件存放目錄
/usr?????????? GNU社區(qū)軟件默認(rèn)安裝目錄
/var?????????? 常變文件存放目錄??? 目錄文件 日志文件 郵件文件 ? ? /var/www/html(web站點(diǎn)根目錄)
二、linux系統(tǒng)中以下顏色表示的文件類型
紅色??????? ? 壓縮文件
黑色????????? 普通文件
藍(lán)色 ? ? ? ?? 目錄
綠色????????? 可執(zhí)行文件
淺藍(lán)?? ? ? ?? 符號(hào)鏈接(就是windows的快捷方式一個(gè)意思)
黑底黃字?? 設(shè)備文件 /dev
紫色?????????? 圖片文件和模塊文件
三、Linux系統(tǒng)基礎(chǔ)命令
linux嚴(yán)格區(qū)分大小寫
1、uname -a? 內(nèi)核版本號(hào)查詢
內(nèi)核版本號(hào)查詢? 2.6.2中此版本號(hào)為偶數(shù)代表穩(wěn)定版本內(nèi)核,如果是奇數(shù)表示開發(fā)版內(nèi)核
x86_64表示這個(gè)操作系統(tǒng)是x86架構(gòu)的64位操作系統(tǒng)
i386表示32位的操作系統(tǒng)
32位和64位的區(qū)別:代表整個(gè)操作系統(tǒng)里面內(nèi)存的尋址數(shù)
uname -r 顯示操作系統(tǒng)的發(fā)行編號(hào)(內(nèi)核的版本號(hào)2.6.32)
2.6.32-696.el6.x86_64
2表示主版本號(hào)
6表示次版本號(hào)
32表示修正了32次
696也是修正次數(shù),修正了696次
el6 紅帽的企業(yè)版6
2、fdisk? -l? 查看硬盤以及分區(qū)
fdisk -l?? 硬盤大小
/dev/sda 操作系統(tǒng)中第一塊硬盤的名稱以及所在路徑
在Linux操作系統(tǒng)一切皆文件 (文件名) sd (硬盤接口類型) a(第一塊)
以此類推:sdc就是第三塊硬盤
一個(gè)真實(shí)的硬盤換算的進(jìn)制不是按1024而是按1000
這樣它標(biāo)的是500G硬盤,實(shí)際到不了500G
3、cat? /proc/meminfo? 查看內(nèi)存大小信息
cat? /proc/meminfo
4、cat? /proc/cpuinfo? 查看cpu型號(hào)信息
cat? /proc/cpuinfo
我的電腦右鍵屬性可以查看windows的cpu信息
5、學(xué)會(huì)關(guān)閉防火墻
iptables? -nL? 查看防火墻當(dāng)前狀態(tài)
setup圖形化界面選擇關(guān)閉
iptables -nL? 查看防火墻狀態(tài)(查看當(dāng)前表的所有規(guī)則,默認(rèn)查看的是filter表)
關(guān)閉防火墻:
命令行下輸入setup出現(xiàn)一個(gè)類圖形界面
按tab選擇OK
6、關(guān)閉selinu服務(wù)
selinux服務(wù)也是限制操作系統(tǒng)文件被讀取,文件被共享的功能
現(xiàn)在,我這個(gè)操作系統(tǒng)的所有文件都相當(dāng)于像超市的商品一樣,比如web服務(wù)80端口,我肯定會(huì)共享主頁,所有的商品全部打著標(biāo)簽,你如果想要去看里面的內(nèi)容,相當(dāng)于你要買,selinux有點(diǎn)像超市的安保機(jī)構(gòu),selinux有兩個(gè)功能一個(gè)是報(bào)警,一個(gè)是攔截。
把超市的報(bào)警器撤掉,把保安也撤掉,處于一個(gè)自由的環(huán)境,怎么關(guān)?
1、需要修改文件? /etc/selinux/config
引入一個(gè)圖形化的編輯器gedit,方便新手使用:屏幕輸入命令gedit就會(huì)彈出
[root@Waffle ~]# gedit /etc/selinux/config
配置文件在啟動(dòng)系統(tǒng)之后它是加載到內(nèi)存里,它現(xiàn)在在內(nèi)存里面生效,你把文件改了,內(nèi)存沒識(shí)別,不認(rèn),要重啟
getenforce(查看當(dāng)前selinux狀態(tài))
7、ls、cat、pwd 、touch、echo、mkdir、mv、cp、rm、ln
[當(dāng)前用戶的用戶名@主機(jī)名 當(dāng)前工作目錄名稱]#
ls???????? 列出當(dāng)前目錄下的內(nèi)容
pwd???? 列出當(dāng)前工作目錄?????? windows中列出當(dāng)前文件路徑的命令是cd(一般會(huì)在左邊顯示,但是拿到shell的時(shí)候就不一樣了)
cat?????? 查看文件內(nèi)容
cat? -n? 顯示文件行號(hào)
touch??? 創(chuàng)建新文件、更新文件的時(shí)間標(biāo)記
echo???? 標(biāo)準(zhǔn)輸出 echo “i love you” > 文件路徑? 輸出重定向到文件中
mkdir??? 創(chuàng)建文件夾? -p? 遞歸建立目錄父目錄
mv??????? move,剪切、重命名
cp???????? copy 拷貝目錄的時(shí)候需要加上選項(xiàng)-r遞歸
rm???????? remove移除-r 遞歸刪除???? -f強(qiáng)制刪除
ln????????? 鏈接建立,link,-s表示符號(hào)鏈接的意思
ln? -s? 源文件[絕對(duì)路徑]? 鏈接文件[路徑]
鏈接就是我平時(shí)做文件的時(shí)候某些文件我想把它鏈接到桌面上,方便好找
介紹一款好用的截圖軟件Snipaste-1.16.2-x64
F1截圖,雙擊保存在后臺(tái),F3就可以把圖放到任何地方
四、Linux系統(tǒng)進(jìn)階命令
[root@allen ~]#命令字?? 空格? [-選項(xiàng)]? 空格? [文件或者目錄]
1、查看命令的幫助手冊(cè)
選項(xiàng)過多如何學(xué)習(xí): 查看命令的幫助手冊(cè)
man? 命令字
ls -a
ls -lh(可讀性高)
man幫助菜單
q退出
/搜索關(guān)鍵字? n向下匹配關(guān)鍵字? N向上匹配關(guān)鍵字
命令字的分類 分兩類
內(nèi)部命令:當(dāng)前所用的命令解釋器(linux是bash)自帶的命令 help 內(nèi)部命令字
外部命令:gnu社區(qū)的第三方軟件安裝后帶的命令 which 命令字能找到(內(nèi)部命令which找不著)
2、小實(shí)驗(yàn)★:(grep、awk、uniq、sort命令的綜合使用)
修改用戶密碼,管理員身份輸入:passwd 用戶名
打開網(wǎng):點(diǎn)擊右下角的網(wǎng)卡圖標(biāo)右鍵選擇設(shè)置,點(diǎn)擊橋接(ip addr查看ip)
將kali也選擇橋接模式(vmnet0)shell中輸入:ssh allen@10.0.105.99
去分析一下誰?什么時(shí)間連了我?看日志/var/log/secure?? (故意輸出密碼查看一下)
查看失敗記錄,用過濾的方法過濾出誰?在這個(gè)時(shí)間段內(nèi)連了我,失敗了多少回?來分析這個(gè)IP地址惡意登錄IP。寫在防火墻里面就再也連不上我了!
grep? 過濾關(guān)鍵字(grep是過濾一整行。有沒有辦法只過濾這一行的某一個(gè)詞?用awk,把相同的合并的命令用uniq -c)
grep "Failed password" /var/log/secure? | awk '{print $11}' | sort | uniq -c(先排序,再合并)
| 管道符號(hào) 將前一條命令的輸出 作為后一條命令的 處理參數(shù)(管道符后面的處理管道符前面的)
awk 過濾字段 $11 以空格作為分隔符 第11個(gè)字段輸出(IP是第11個(gè)字段)
sort 排序
uniq 統(tǒng)計(jì)? -c? 顯示合并的數(shù)量
3、cat、tail、wc、du
cat -n? /etc/man.config | more? 現(xiàn)實(shí)帶行號(hào)的分頁查看
tail? -f? /var/log/secure?? 跟蹤日志變化??? -f=follow?? ctrl+c退出
tail只看文件的后10行
wc -l? 文件顯示文件行數(shù)
案例:用wc命令查看操作系統(tǒng)一共安裝了多少個(gè)軟件包:grep "Installing" install.log | wc -l
du -sh? 目錄名稱? 統(tǒng)計(jì)目錄占用磁盤空間大小(-h提高可讀性,-s統(tǒng)計(jì)總數(shù))
練習(xí)1:
1、開啟自己主機(jī)的網(wǎng)絡(luò)功能,使用其他主機(jī)鏈接你的本地用戶
tail -f 觀察日志變化?? 使用 grep? awk 過濾鏈接主機(jī)的ip地址
2、wc命令觀察系統(tǒng)中/boot目錄中有多少個(gè)文件只要輸出數(shù)字
3、du統(tǒng)計(jì)系統(tǒng)中哪個(gè)目錄占用磁盤空間最多
?
4、壓縮和解壓縮工具
gzip
bzip2
gzip? 文件?????????????? 壓縮文件
gunzip 壓縮文件???? 解壓縮
bzip2 文件????????????? 壓縮文件
bunzip2? 壓縮文件? 解壓縮
tar 打包壓縮
tar -jcf /root/Desktop/1901class.tar.bz2 1901class/
-j? 使用bzip2壓縮工具壓縮
-z 使用gzip壓縮工具壓縮
-c create 創(chuàng)建
-f? 后面跟新建的文件名
tar -tf? /root/Desktop/19class.tar.gz
-t 不解壓縮就想要查看文件內(nèi)容
tar -xf 1901class.tar.gz -C /opt
-x 解壓縮并解包
-C 指定解壓路徑
5、find命令
按照大小找:
用find命令找一個(gè)大文件100M以上(+100M):(-100M表示100M以下)
find? /? -size +100M??? 【find? 從哪里開始找? -size? 在100M以上】
按照名字找:
想找出系統(tǒng)中名字叫passwd的文件:
find / -name passwd
按照類型找:
find? /boot? -type? f 表示文件? d表示目錄??? l表示 符號(hào)鏈接
6、dd命令
dd:用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換。
dd if=/dev/zero of=/tmp/bigfile bs=1M count=100(建立一個(gè)100M的大文件)
input file?? 輸入文件? zero 全是2進(jìn)制的0
output file 輸出文件
bs? 單位
count? 計(jì)數(shù)器
eg:dd if=/tmp/123.txt of=/tmp/bigfile bs=1M count=10(1M是要從123.txt文件取出來的單位,但是這個(gè)123.txt才11個(gè)字節(jié),不能整出1M而且循環(huán)10次)所以單位絕對(duì)要大于前面這個(gè)文件的大小
但是zero可以,/dev/zero 屬于設(shè)備文件,zero里面的 0可以無限擴(kuò)展,所以你給1M單位,10M單位都行
★zero的破壞性寫法:抹除數(shù)據(jù),把整個(gè)硬盤的數(shù)據(jù)都填充為0,原來不管有什么數(shù)據(jù)都被0蓋住了。
dd if=/dev/zero of=/dev/sda? bs=512 count=1? 清除分區(qū)表(bs不寫單位默認(rèn)就是字節(jié))
上面那條命令的意思是從/dev/zero中提取出512個(gè)字節(jié),這512個(gè)字節(jié)都是0,輸出文件是/dev/sda硬盤,MBR分區(qū)表有四個(gè)主分區(qū),這四個(gè)主分區(qū)記錄在硬盤的前512個(gè)字節(jié)里
這個(gè)操作會(huì)將硬盤的前512個(gè)字節(jié)抹掉,執(zhí)行完這個(gè)命令后前往不要重啟,一旦重啟這個(gè)系統(tǒng)會(huì)認(rèn)為你當(dāng)前所做的操作系統(tǒng)是一個(gè)沒有任何分區(qū)表的系統(tǒng),就會(huì)認(rèn)為是空硬盤
練習(xí)2:
1、找出/boot目錄中文件類型為目錄的內(nèi)容
find? /boot? -name? -size? -type? f 文件? d 目錄??? l 符號(hào)鏈接
找出/boot目錄中名為grep.conf的文件并將其拷貝到/tmp目錄中,一條命令完成
find /boot -name grub.conf -a -type f -exec cp '{}' /tmp \;(如果是拷貝目錄還要寫-r)
-a ? ? ?? and? 兩個(gè)條件同時(shí)滿足
-exec? 相當(dāng)于管道符號(hào)
'{}'?????? 前面命令查找出來的內(nèi)容
\;???????? 默認(rèn)的結(jié)束符號(hào)
不了解這個(gè)命令,用man find查看
2、在/tmp目錄中建立一個(gè)大小為10M的文件。將該文件移動(dòng)到1901目錄中,并對(duì)其進(jìn)行打包壓縮。
3、將壓縮文件解壓縮到/opt目錄中
5、vim使用(不能用鼠標(biāo)!)
??? vim? /tmp/test.txt
???????????????????? 命令模式
??????????????????? /????????????? \
???????????? i??? /?? esc???????? \?? :wq
??????????????? /???????????????????? \ ?
?? 輸入模式???????????????????? 末行模式
進(jìn)階學(xué)習(xí)
1、末行模式下 :r? /etc/man.config(調(diào)用???? r表示read)把當(dāng)前這個(gè)文件讀到vim編輯器里面
2、命令模式下 刪除第一行空白行? gg 跳轉(zhuǎn)到第一行?? dd刪除當(dāng)前光標(biāo)所在行
3、末行模式下:set nu
4、命令模式 58G 快速跳轉(zhuǎn)到第58行?? 40->? 光標(biāo)向右移動(dòng)40個(gè)字符
5、? /bzip2? 向下搜索關(guān)鍵字(左斜杠+關(guān)鍵字)
6、 :50,100? s/man/MAN/g? 替換50行到100行出現(xiàn)的小寫man為大MAN
7、命令模式u撤銷上一次操作
8、65G 跳轉(zhuǎn)??? 9yy 復(fù)制當(dāng)前光標(biāo)及以下一共9行?? G跳轉(zhuǎn)到最后一行? p粘貼到當(dāng)前行下(:65,73 y)
9、末行模式 :21,42? d? 刪除21-42的內(nèi)容
10、末行模式 :w? /tmp/man.test? 另存為
11、命令模式? 27G? 15x? 刪除當(dāng)前光標(biāo)向右一共15個(gè)字符
12、gg 到第一行 進(jìn)入輸入模式輸入
13、:wq? 保存并退出
?
五、源碼包的安裝過程
源碼包就是源代碼公開需要自己進(jìn)行編譯然后進(jìn)行安裝的軟件包,通常情況下這種軟件包可以看到軟件編寫時(shí)所寫的源碼,如果需要進(jìn)行二次開發(fā)可以直接在源碼上進(jìn)行編譯
一般情況下發(fā)布在GUN社區(qū)、GitHub等
源碼包的特點(diǎn):
1、以壓縮包的形式提供給用戶
2、開源,源代碼公開、不收費(fèi)
安裝httpd 2.2.15.tar.gz?? :
1、先解壓縮,進(jìn)入解壓目錄之后看 INSTALL文件告訴安裝方法(tar -xf httpd-2.2.15.tar.gz)
2、./configure? --prefix=/usr/local/webserver?? 指定安裝路徑? 生成makefile文件(C語言腳本文件)
3、make?? 找makefile文件進(jìn)行編譯
4、make? install? 將編譯完成的內(nèi)容拷貝到安裝目錄下
5、/usr/local/webserver/bin/apachectl? start? 啟動(dòng)apache 服務(wù)器
6、主頁 /usr/local/webserver/htdocs/index.html
<html>
<body>
<meta charset=utf-8> 否則會(huì)出現(xiàn)編碼問題
<h1>中文</h1>
</body>
</html>
7、/usr/local/webserver/bin/apachectl? stop? 關(guān)閉apache
8、沒有卸載,要卸載直接刪除webserver即可
作業(yè)內(nèi)容:
1、通過源碼包安裝http-2.2.15軟件
2、使用壓縮工具tar對(duì)/tmp/1901目錄進(jìn)行打包壓縮到/root/Desktop目錄中并進(jìn)行解壓縮。
3、使用vim編輯器 /tmp/test.txt文件 在文件中寫入50行 飛哥好帥
4、將好帥全部替換成 非常帥
總結(jié)
以上是生活随笔為你收集整理的【CyberSecurityLearning 37】网络安全常用Linux系统命令以及 源码包的安装过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019创客中国智能融合应用中小企业创新
- 下一篇: 【CyberSecurityLearni