[TOC]html
本次做業屬於那個課程 | 《網絡攻防實踐》 |
---|---|
這個做業要求在哪裏 | 《網絡攻防實踐》假期做業 |
我在這個課程的目標是 | 學習網絡攻防相關技術、掌握網絡攻防相關能力 |
這個做業在哪一個具體方面幫助我實現目標 | 複習markdown相關語法,學習Latex公式輸入方法,複習linux虛擬機安裝 |
做業正文 | 下述正文,做業1、做業二 |
其餘參考文獻 |
1.1 你對網絡攻擊和防護瞭解多少?該課程須要計算機和網絡相關的基礎知識,你原專業是什麼專業,目前你掌握多少基礎知識?linux
1.2 做業要使用Markdown格式,Markdown入門參考shell
2.1 學習基於VirtualBox虛擬機安裝Ubuntu圖文教程在本身筆記本上安裝Linux操做系統(也可使用VMWare安裝虛擬機,安裝方法本身百度)數據庫
2.2 經過實踐學習別出心裁的Linux命令學習法,掌握Linux命令的學習方法ubuntu
2.3 參考上面的學習方法經過實踐學習Linux 基礎入門(新版)課程,掌握經常使用的Linux命令,重點是3/4/5/6/7/8節。centos
下面是安裝過程當中的相關注意事項、操做步驟和截圖bash
主力機器放在學校實驗室,經過蒲公英+遠程桌面操做機器,相關截圖可能比較奇怪。markdown
在Intel的CPU中虛擬化技術爲VT-V, AMD的CPU中爲SVM mode網絡
下載Ubuntu 18.04 鏡像文件app
虛擬機建立的相關參數設置(另外推薦圖牀網站)
安裝過程以後須要重啓虛擬機,安裝vmware-tools實現虛擬機和主機之間的溝通。至此,系統安裝過程到此結束,下面我將使用我平常使用的虛擬系統完成接下來的做業。
接下來在剛安裝系統以後須要對系統進行相關設置
至此係統設置安裝完成
who -a 所有信息 -d 死掉進程 -m -q 當前已經登陸的 -u 當前已經登陸的信息 -r 等級 who mom likes //獲取當前終端的用戶名 sudo adduser username // su username //切換用戶 group groupname //建立group sudo usermod -G sudo username //添加管理員權限 sudo deluser name --remove-home //刪除用戶及其目錄 ```
adduser
會建立用戶、建立目錄和設置用戶名
useradd
只會建立用戶, 須要經過passwd username
去設置密碼
ls -s //顯示大小 -S //按照大小排序 -Al -h touch filename //建立文件 chmod -R XXX filename //賦予文件權限 //三個數字分別表明groups、others和user //1 2 4 三個數字分別表明run、read和write,加和爲7
linux的大部分目錄結構是規定好了的FHS標準
FHS(英文:Filesystem Hierarchy Standard 中文:文件系統層次結構標準),多數 Linux 版本採用這種文件組織形式,FHS 定義了系統中每一個區域的用途、所須要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理。
touch filename //建立文件 mdkir dirname //建立目錄 mkdir -p path/dirname //-p連同路徑一塊兒建立 cp filename1 dirname //copy cp -r dirname1 dirname2 //遞歸copy rm filename //刪除文件 -r //遞歸刪除 -f //忽視警告 mv A B //移動文件A -> B rename perl-exp perl-exp //rename cat filename //打印文件 tac filename //反向打印文件 nl filename //顯示行號打印文件 -b //添加行號方式 -n //設置行號央視 -w //行號佔用字段位數 file filename //顯示文件類型 head filename //顯示文件前10行 tail filename //顯示文件後10行
命令 | 說明 |
---|---|
set | 顯示當前 Shell 全部變量,包括其內建環境變量(與 Shell 外觀等相關),用戶自定義變量及導出的環境變量。 |
env | 顯示與當前用戶相關的環境變量,還可讓命令在指定環境中運行。 |
export | 顯示從 Shell 中導出成環境變量的變量,也能經過它將自定義變量導出爲環境變量。 |
$ path=$PATH $ echo $path $ path=${path%/home/shiyanlou/mybin} # 或使用通配符,*表示任意多個任意字符 $ path=${path%*/mybin} $ unset temp //取消變量 source .zshrc //變量當即生效
命令 | 特色 |
---|---|
where |
這個搜索很快,由於它並無從硬盤中依次查找,而是直接從數據庫中查詢。 |
locate |
經過「 /var/lib/mlocate/mlocate.db 」數據庫查找,不過這個數據庫也不是實時更新的,系統會使用定時任務天天自動執行 updatedb 命令更新一次,因此有時候你剛添加的文件,它可能會找不到,須要手動執行一次 updatedb 命令 |
which |
咱們一般使用 which 來肯定是否安裝了某個指定的軟件,由於它只從 PATH 環境變量指定的路徑中去搜索命令: |
find |
咱們一般使用 which 來肯定是否安裝了某個指定的軟件,由於它只從 PATH 環境變量指定的路徑中去搜索命令: |
find的一級參數和二級參數
參數 | 說明 |
---|---|
-atime |
最後訪問時間 |
-ctime |
最後修改文件內容的時間 |
-mtime |
最後修改文件屬性的時間 |
-mtime n
:n 爲數字,表示爲在 n 天以前的「一天以內」修改過的文件-mtime +n
:列出在 n 天以前(不包含 n 天自己)被修改過的文件-mtime -n
:列出在 n 天以內(包含 n 天自己)被修改過的文件-newer file
:file 爲一個已存在的文件,列出比 file 還要新的文件名文件後綴名 | 說明 |
---|---|
*.zip |
zip 程序打包壓縮的文件 |
*.rar |
rar 程序壓縮的文件 |
*.7z |
7zip 程序壓縮的文件 |
*.tar |
tar 程序打包,未壓縮的文件 |
*.gz |
gzip 程序(GNU zip)壓縮的文件 |
*.xz |
xz 程序壓縮的文件 |
*.bz2 |
bzip2 程序壓縮的文件 |
*.tar.gz |
tar 打包,gzip 程序壓縮的文件 |
*.tar.xz |
tar 打包,xz 程序壓縮的文件 |
*tar.bz2 |
tar 打包,bzip2 程序壓縮的文件 |
*.tar.7z |
tar 打包,7z 程序壓縮的文件 |
tar -czvf ***.tar.gz tar -cjvf ***.tar.bz2
tar -xzvf ***.tar.gz tar -xjvf ***.tar.bz2
參數 | 做用 |
---|---|
-x | 檔案文件中釋放文件。 |
-c | 建立新的檔案文件。若是用戶想備份一個目錄或是一些文件,就要選擇這個選項。 |
-r | 把要存檔的文件追加到檔案文件的末尾。例如用戶已經作好備份文件,又發現還有一個目錄或是一些文件忘 記備份了,這時可使用該選項,將忘記的目錄或文件追加到備份文件中。 |
-t | 列出檔案文件的內容,查看已經備份了哪些文件。 |
-u | 更新文件。就是說,用新增的文件取代原備份文件,若是在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。 |
df //顯示磁盤容量 du //顯示目錄大小 -h //更易於閱讀 -d //顯示深度 -s //顯示總計
# 輸出到文件 $ dd of=test bs=10 count=1 # 或者 dd if=/dev/stdin of=test bs=10 count=1 # 輸出到標準輸出 $ dd if=/dev/stdin of=/dev/stdout bs=10 count=1 //從/dev/zero設備建立一個容量爲 256M 的空文件: $ dd if=/dev/zero of=virtual.img bs=1M count=256 $ du -h virtual.img $ mount -o loop -t ext4 virtual.img /mnt # 也能夠省略掛載類型,不少時候 mount 會自動識別 # 以只讀方式掛載 $ mount -o loop --ro virtual.img /mnt # 進入磁盤分區模式 $ sudo fdisk virtual.img $ sudo losetup /dev/loop0 virtual.img # 若是提示設備忙你也可使用其它的迴環設備,"ls /dev/loop*"參看全部迴環設備 # 解除設備關聯 $ sudo losetup -d /dev/loop0 格式化mkfs分區 $ sudo apt-get install kpartx $ sudo kpartx -av /dev/loop0 # 取消映射 $ sudo kpartx -dv /dev/loop0 所有格式化爲ext4 $ sudo mkfs.ext4 -q /dev/mapper/loop0p1 $ sudo mkfs.ext4 -q /dev/mapper/loop0p5 $ sudo mkfs.ext4 -q /dev/mapper/loop0p6
內建命令其實是 shell 程序的一部分,其中包含的是一些比較簡單的 Linux 系統命令,這些命令是寫在bash源碼的builtins裏面的,由 shell 程序識別並在 shell 程序內部完成運行,一般在 Linux 系統加載運行時 shell 就被加載並駐留在系統內存中。並且解析內部命令 shell 不須要建立子進程,所以其執行速度比外部命令快。好比:history、cd、exit 等等。
外部命令是 Linux 系統中的實用程序部分,由於實用程序的功能一般都比較強大,因此其包含的程序量也會很大,在系統加載時並不隨系統一塊兒被加載到內存中,而是在須要時纔將其調入內存。雖然其不包含在 shell 中,可是其命令執行過程是由 shell 程序控制的。外部命令是在 Bash 以外額外安裝的,一般放在/bin,/usr/bin,/sbin,/usr/sbin等等。好比:ls、vi等。
命令 | 特色 |
---|---|
help |
由於 help 命令是用於顯示 shell 內建命令的簡要幫助信息。幫助信息中顯示有該命令的簡要說明以及一些參數的使用以及說明,必定記住 help 命令只能用於顯示內建命令的幫助信息,否則就會獲得你剛剛獲得的結果。 |
man |
由於 man 工具是顯示系統手冊頁中的內容,也就是一本電子版的字典,這些內容大多數都是對命令的解釋信息,還有一些相關的描述。經過查看系統文檔中的 man 也能夠獲得程序的更多相關信息和 Linux 的更多特性。 |
info |
獲得的信息是否是比 man 還要多了,info 來自自由軟件基金會的 GNU 項目,是 GNU 的超文本幫助系統,可以更完整的顯示出 GNU 信息。因此獲得的信息固然更多 |
[1].http://www.javashuo.com/article/p-gjwrvaoz-kb.html
[2].https://www.cnblogs.com/littleby/p/9843620.html
[3].https://blog.csdn.net/makercloud/article/details/82696960