《網絡攻防》第1周做業

《網絡攻防》第1周學習總結


主要學習內容

在學習此視頻以前,雖然作過簡單的嵌入式實驗,也用過基本的linux命令,可是歷來沒有這麼系統性的學習過,這一次將這個視頻學習事後,確實對linux的一些基礎知識有了更深的瞭解。在視頻課程中給出了一個Linux學習路徑,經過這個導圖能夠明確學習方向。html

1、Linux系統

Linux是一套無償使用和自由傳播的類Unix操做系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操做系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操做系統。linux

--引用自《Linux百度百科程序員

linux系統與windows系統在使用方面最明顯的區別在於主要工做在終端模式下,也就是經過一個稱之爲shell的軟件進行操做,它隱藏了系統底層的諸多細節,留給用戶的只需經過基本命令就可實現各類操做,正以下圖所示那樣。shell

固然了,在具備圖形界面的linux系統上,打開這個終端除了像windows那樣用鼠標點開它,也可使用快捷鍵Ctrl + Alt + t打開,或者使用Ctrl + Alt + [F1]~[F6]從圖形界面切換至終端界面,再利用Ctrl + Alt + [F7]切換回圖形界面。靈活使用各類快捷鍵會讓你更加感覺到linux的不俗,各類快捷鍵加上完備的命令操做,使得linux系統具備極高的工做效率。下面主要羅列一些經常使用的快捷鍵,留待之後方便查找。數據庫

按鍵 做用
Tab 補全命令
Ctrl+c 強行終止的當前程序
Ctrl+d 鍵盤輸入結束或退出終端
Ctrl+s 暫停當前程序,暫停後按下任意鍵恢復運行
Ctrl+z 將當前程序放到後臺運行,恢復到前臺爲命令fg
Ctrl+a 將光標移至輸入行頭,至關於Home
Ctrl+e 將光標移至輸入行末,至關於End
Ctrl+k 刪除從光標所在位置到行末
Alt+Backspace 向前刪除一個單詞
Shift+PgUp 將終端顯示向上滾動
Shift+PgDn 將終端顯示向下滾動

linux系統的文件系統與windows系統不一樣,在Linux當中有一個很是重要的概念:vim

Linux一切皆是文件windows

也就是說,在Linux當中一切設備均可當作文件來進行操做。Linux採用FHS(Filesystem Hierarchy Standard)樹形結構組織文件,FHS定義了系統中每一個區域的用途、所須要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理。在這個樹形結構中,會發現Linux系統將各類文件分類的層次分明,理解每一個目錄下存放的文件性質有助於後續的學習。以下:bash

2、經常使用命令

命令的基本格式:
command [options] [arguments]
linux的命令有許多,主要分爲shell提供的內建命令(如:historycd)和額外安裝的外部命令(如:lsvim),區別在於內建命令隨系統加載並駐留在內核當中,而外部命令只在須要時將其調入內存,常放於/bin/usr/bin/sbin/usr/sbin中。具體可利用命令type查看:網絡

在如此多的命令當中,幫助命令無疑是最重要的,它能夠幫咱們快速學習某個命令的用法。經常使用幫助命令有:多線程

命令 做用
help 只能顯示 shell 內建命令的簡要幫助信息
command --help 通常外部命令都有--help參數,專門提供幫助
man 比用 help 更多更詳細,沒有內建與外部命令的區分
info 更完整的顯示出幫助信息
cheat GNU通用公共許可證下,爲Linux命令行用戶發行的交互式備忘單應用程序。它提供顯示Linux命令使用案例,包括該命令全部的選項和簡短但尚可理解的功能。須要額外安裝。

如下列出一些經常使用命令,具體用法參考幫助文檔,下載linux命令大全也很方便:

命令 做用
help 只能顯示 shell 內建命令的簡要幫助信息
command --help 通常外部命令都有--help參數,專門提供幫助
man 比用 help 更多更詳細,沒有內建與外部命令的區分
info 更完整的顯示出幫助信息
cheat GNU通用公共許可證下,爲Linux命令行用戶發行的交互式備忘單應用程序。它提供顯示Linux命令使用案例,包括該命令全部的選項和簡短但尚可理解的功能。須要額外安裝。
ls 列出目錄內容
cd 切換目錄
rm 刪除文件或目錄
mkdir 創建目錄
mv 移動或改名現有的文件或目錄
cp 複製文件或目錄
touch 改變文件或目錄時間、建立空文件
cat 正序顯示文件內容
pwd 獲取當前路徑
grep 全文檢索
find 查找文件在系統中的位置
locate 查找文件,速度很快
whereis 直接在數據庫中查詢文件,但只能搜索二進制文件(-b)、man幫助文件(-m)、源代碼文件(-s)
which 在環境變量中搜索是否安裝某個軟件
rename 批量重命名
declare 聲明變量
export 設置或顯示環境變量
file 查看文件類型
adduser 新增用戶帳號
usermod 修改用戶帳號
deluser 刪除用戶帳號
chmod 更改文件權限
df 顯示磁盤相關信息
du 顯示目錄或文件大小

注:
其中locate命令因爲它直接經過/var/lib/mlocate/mlocate.db數據庫查找,而非檢索匹配,因此速度很快。windows下的Everything軟件也有相似功能,經過查找NTFS文件系統中的USN日誌達到神速查找的目的,於是該軟件不足之處只能查找NTFS格式的設備。

3、經常使用操做

1.用戶及文件權限管理

利用sudo adduser zhb能夠添加一個名爲zhb的用戶:

切換至zhb用戶,使用 who am i命令能夠查看當前用戶信息,使用groups可查看當前用戶所屬用戶組狀況:

在使用命令行的過程中,咱們常常要使用sudo命令來臨時獲取root權限,可是當咱們新建一個用戶時,會發現它所屬的用戶組是一個默認與其同名的用戶組,若是這時使用sudo命令,會出現一下狀況:(就拿更新軟件源爲例)

很明顯,咱們能夠看到它沒有sudo權限,此時能夠先切換至另外一個有sudo權限的用戶,執行sudo usermod -a -G sudo zhbzhb用戶追加一個sudo用戶組,這樣再從新登陸zhb帳號,使用groups命令:

此時就可使用sudo命令了。使用cat /etc/group | sort 能夠看到全部的用戶組信息:

若是要刪除用戶,可以使用sudo deluser zhb --remove-home 命令。

在使用ls -l查看目錄下文件時能夠看到各個文件的權限狀況,如:

經過這些信息能夠查看文件歸屬以及權限(d-目錄,r-可讀,w-可寫,x-可執行),可經過sudo chmod命令更改文件權限。
如以sudo創建一個文件abc:

可看到abc文件只對root用戶可寫,若是要使zhb用戶也能對abc文件進行讀寫操做,一種方法是將其改成對root用戶組可寫,可以使用命令sudo chmod g+w abc:

而後先按以前方法將zhb用戶添加root用戶組,這樣就能夠對abc文件進行讀寫操做了:

第二種方法爲abc文件的其餘用戶添加寫權限,以下:

2.環境變量

經過export可查看環境變量,在以前使用過程當中,常用的是PATH這個環境變量,可經過echo $PATH查看這個變量:

這個變量之因此比較重要,是由於它保存了咱們在編譯程序過程中所用到的編譯工具的路徑,在執行編譯時,系統會經過這個環境變量查找編譯工具,因此說若是咱們要搭建編譯環境,那麼這個變量是不可或缺的。
可經過如下命令爲PATH添加路徑:

或者直接修改~/.bashrc~/.bash_profile或系統級別的/etc/profile,就好像windows下的環境變量同樣。

3.文件的壓縮與解壓

以前也常用這些操做,下面簡單羅列一下,以備後續查閱:

4.U盤掛載

因爲使用的Ubuntu系統默認自動掛載,因此爲了完成手動掛載測試,選擇redhat來試驗。在不插U盤時,使用fdisk -l能夠查看外部設備狀況:

插上U盤後再執行,能夠看到設備中多了一個sdb1設備,這就是U盤,若是要讀取其中的內容,就須要掛載,步驟以下:

4、幾個有趣的命令

寫到這裏,不得不佩服那些寫出這些命令的程序員,爲「枯燥」的學習帶來了樂趣。如下命令都須要經過apt-get安裝。

2.xeyes

3.cmatrix

4.aafire

5.cowsay

6.asciiview

5、學習感想

Linux的內容很是多,學起來也比較使人頭疼,因此說必需要多實踐、多練習,只有這樣才能真正學好、用好。後續的課程我也會繼續努力學習,爭取可以熟練使用Linux系統。

相關文章
相關標籤/搜索