啃書——《Linux就該這麼學》——linux基本命令

前言

我本不是愛讀書,只是單純的要學知識,更直白點來說是學技能,因爲不想再看那些幾重積分什麼的,計算計算,從頭到尾都是計算。我不想以後回想起我的大學,都是跟別人一樣——“我學會了這個怎麼算,三重積分、隱函數……”,這不是我想學的,我的專業嘛,入學的幾個月裏,從學長那裏得知這個專業學的非常雜,可以說是什麼都學。所以在不想學其他的東西的時候,看這些書,枯燥無味,所以就記錄下讀書筆記和感悟。多少可以支撐我繼續下去。
原本想看鳥哥的書來着,看好多人都推薦,看了幾十頁,實在懵,啃不動,所以換目標了。
開始讀這本書,我看到了作者寫的前言。抄下來激勵一下自己。

“工作馬馬虎虎,只想在興趣和遊戲中尋覓快活,充其量只能獲得一時的快感,絕不能
嚐到從心底湧出的驚喜和快樂,但來自工作的喜悅並不像糖果那樣—放進嘴裏就甜味十足, 而是需要從苦勞與艱辛中滲出,因此當我們聚精會神,孜孜不倦,克服艱辛後的成就感,世 上沒有哪種喜悅可以類比”。
“更何況人類生活中工作佔據了較大的比重,如果不能從勞動中、工作中獲得充實感, 那麼即使從別的地方找到快樂,最終我們仍然會感到空虛和缺憾”

get知識

第一章

一、VM虛擬機的三種網絡模式:

  • 橋接模式
    相當於在物理主機與虛擬機網卡之間架設了一座橋樑,從而可以通過物理主機的網卡訪問外網。
  • NAT模式
    讓VM 虛擬機的網絡服務發揮路由器的作用,使得通過虛擬機軟件模擬 的主機可以通過物理主機訪問外網,在真機中 NAT 虛擬機網卡對應的物理網卡是 VMnet8。
  • 僅主機模式:
    僅讓虛擬機內的主機與物理主機通信,不能訪問外網,在真機中僅主機 模式模擬網卡對應的物理網卡是VMnet1。

虛擬機是瞭解過的,本身也安裝過多臺虛擬機,對於虛擬機的安裝已經可以說不常出錯了。在第一章仍然學到了知識,就是下面這些。以前關於網絡模式只知道有橋接、NAT模式,僅主機模式這些模式,但是不知道具體是什麼作用,因爲沒有遇到錯誤,就沒有學習,這裏作者解釋了這個,讓我可以學習到這些知識。

二、常見的Yum命令
Yum是Linux系統的軟件包管理倉庫
來自Linux就該這麼學
第一章複習題:
問:使用虛擬機安裝 Linux 系統時,爲什麼要先選擇稍後安裝操作系統,而不是去選擇 RHEL 7 系統鏡像光盤?
答:在配置界面中若直接選擇了 RHEL 7 系統鏡像,則VMware Workstation 虛擬機會使用 內置的安裝嚮導自動進行安裝,最終安裝出來的系統跟我們後續進行實驗所需的系統環境 會不一樣。
:這個問題也是我之前進行安裝虛擬機時所不明白的地方,記錄下來。

第二章

  1. Shell 是一個命令行工具,也被稱爲“終端或殼”,是一個“翻譯官”,讓系統執行用戶輸入的命令。
  • 通過上下方向鍵來調取過往執行過的 Linux 命令;
  • 命令或參數僅需輸入前幾位就可以用 Tab 鍵補全;
  • 具有強大的批處理腳本;  具有實用的環境變量功能。
  1. echo命令,很像PHP中的打印命令。
    m0re
    像這樣。
  2. date命令。可以查看當前時間
    m0re
    Linux就該這麼學
    做實驗前,我將虛擬機拍攝了快照。可以隨便玩。
    m0re
    這個是root用戶纔可以進行的操作,所以加個sudo
  3. reboot命令
    重啓系統。
  4. poweroff命令
    關閉系統
  5. wget命令
    在終端下載網絡文件
    m0re
    栗子:下載書籍。
    m0re
    應該是書上給的url的問題,證書未生效,只要在後面加上--no-check-certificate就可以了。
    使用 wget 命令遞歸下載www.linuxprobe.com 網站內的所有頁面數據以及文
    件,下載完後會自動保存到當前路徑下一個名爲 www.linuxprobe.com 的目錄中。執行該操作 的命令爲 wget -r -p http://www.linuxprobe.com,
    就能看到在目錄下有這麼個文件(同樣需要加--no-check-certificate)
    m0re
  6. ps命令
    m0re
    m0re
  7. top命令
    任務管理器,這個我用windows系統的時候也不怎麼用,只作瞭解。
  8. pidof命令,
    查詢指定服務進程的PID值。使用方法:pidof [進程名稱]
  9. kill命令
    終止指定PID的服務進程,用上個命令查出來的PID可以通過這條命令來終止服務。
  10. who命令
    查詢當前登入主機的用戶的信息。
    m0re
  11. history命令
    history 命令用於顯示歷史執行過的命令,格式爲“history [-c]”。
    執行 history 命令能顯示出當前用戶在本地計算機
    中執行過的最近 1000 條命令記錄。
  12. ls命令
    這個命令我之前有了解過的。所以書上有些不是很完整的,我還在百度上找了幾條擴展的用法,都記錄在我的印象筆記上。
    含義:ls(list)
    用法:ls
    m0re
    ls通配符的使用
    m0re
    m0re
    用法2 : ls 路徑
    如:ls /root
    用法3:ls 選項 路徑
    含義:列出路徑下所有文件夾/文件,並以指定格式進行顯示
    常見語法
    ls -l 列出各文件的詳細信息,如創建者、創建時間、文件的讀寫權限
    m0re
    ls -a 列出文件下所有文件,包括以 “.” 開頭的隱藏文件(linux中以“.”開頭的是隱藏文件,如果存在"…"代表存在父目錄)
    m0re
    用法4
    ls -lh 路徑
    含義:列出文件指定路徑下的所有文件,並以可讀性較高的形式顯示文件大小
    m0re
  13. cd命令
    m0re
    用法: 切換當前工作目錄
    語法:cd 路徑
    當前如果在"/"下,需要使用絕對路徑
    如: 切換到/目錄下的usr下的etc目錄下
    cd /usr/etc
  14. tar命令
    tar命令直接對壓縮包進行解壓或對普通文件進行壓縮。

命令大部分都記在印象筆記上,這裏只記幾個。

第三章

  1. 管道符,🙄🙄🙄剛開始沒看懂什麼意思。可能跟我的看書習慣有關係。
    可以結合兩個命令成一個命令來執行,先執行管道符前面的命令,然後再執行後面命令。
    比如:命令1 | 命令2
    還可以這樣:命令1 | 命令2 | 命令3
  2. 通配符,好像跟正則表達式差不多(哈,這麼理解好像也還可)。
  3. 環境變量
    m0re
    m0re

第四章

  1. vim編輯器,看過一篇文章是寫的關於vim編輯器的。感覺很好。
    放上大佬寫的博客,有關vim編輯器的,Linux——vi命令詳解
    m0re
    書上介紹的僅僅只有創建一個文本文件的介紹,其他的需要自己拓展。這裏用到了再說,看一點算一點。
    2.然後根據Yum配置軟件倉庫,這裏書裏寫的非常詳細。跟着做了一遍。
    3.編寫一個簡單的shell腳本。
    輸入vim test.sh名字隨意。
    然後在裏面編輯如下內容
#!/bin/bash
#For example by https://zxcv0221.github.io
pwd
ls -al

第一行是腳本聲明,爲了告訴系統使用哪一種Shell解釋器來執行這個腳本。
第二行是註釋信息,我在這裏放上了我的個人博客地址。可以隨便加東西。
第三行,第四行纔是linux命令。
寫完後:wq!進行保存退出就可以了。
然後執行一下

bash test.sh

然後就能看到結果了。
我也模仿了一遍,看下效果。
m0re
4. 邏輯運算符:與、或、非
&&邏輯與,它表示當前面的命令執行成功後纔會執行它後面的指令,判斷一個文件是否存在,如:/dev/cdrom輸入命令:[-e /dev/cdrom ] && echo "Exist"如果存在則輸出Exist。
m0re
||邏輯或,表示前面的語句執行失敗纔會執行後面的語句,書上用的“栗子”是判斷當前登錄的用戶是否爲非管理員身份。
m0re
!邏輯非,表示把條件測試中的判斷結果取相反值,如果判斷結果是true,那麼就返回false。反之類似。
綜合:將三種邏輯語句簡單的放一起,效果:
m0re5. 流程控制語句
if條件語句的多分支結構由 if、then、else、elif、fi 關鍵詞組成,它進行多次條件匹配判
斷,這多次判斷中的任何一項在匹配成功後都會執行相應的預設命令,相當於口語的“如 果……那麼……如果……那麼……”。
舉個栗子:

[root@linuxprobe ~]# vim chkhost.sh #!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null if [ $? -eq 0 ] then
echo "Host $1 is On-line." else
echo "Host $1 is Off-line." fi

for循環語句
m0re

while循環語句
m0re
小遊戲:
m0re

第五章

用戶身份與文件權限

  1. useradd命令用於創建新的用戶。
    m0re
  2. 其他的書上非常詳細,我好像暫時不用這些,再看這個命令:chmod,這個比較熟悉,是提權的,之前看到大佬的博客的什麼教程來着,忘了,不過這個命令印象很深,耳熟能詳的詞語:提權
    書上的介紹是這樣:
    m0re
    m0re
    除了設置文件或目錄的權限外,還可以設置文件或目錄的所有者和所屬組,這裏使用的命令爲 chown,其格式爲“chown [參數] 所有者:所屬組 文件或目錄名稱”。在針對目錄進行操作時需要加上大寫參數-R 來表示遞歸操作。
    m0re
    不過,我的linux系統,有點奇怪,我之前做實驗的時候發現的,但是沒有在意,就是我刪除文件的時候,像這樣:
    m0re
    “一點都不留情啊,問都不問直接給我刪了。”跟書裏的操作不一樣啊。這個我去查了一下,然後發現有人問了這個問題,而且下面有人回答,我就直接用了。
    在普通用戶下,是沒有提示的,而在root用戶下,就會提示:
    m0re
    解決辦法,可根據百度找到和自己情況類似的,我已經更改過了,但是沒留圖。所以就放一個鏈接吧。linux用rm命令刪除文件爲什麼沒有提示?
  3. SBIT特殊權限位
    這個權限是爲了防止誤刪一個用戶誤刪其他用戶的文件,這個特殊權限可以確保用戶只能刪除自己的文件,而不能刪除其他用戶的文件。默認已經設置了SBIT特殊權限位,因此除非是該目錄的所有者,否則無法刪除這裏面的文件。
    如果想要對其他目錄來設置SBIT特殊權限位,用chmod命令就可以了,對應的參數o+t代表設置SBIT粘滯位權限
chmod -R o+t 文件名/
栗子:
chmod -R o+t lxj/
  1. 文件的隱藏屬性
    4.1、chattr命令
    設置文件隱藏權限,格式爲:chatter [參數] 文件
    m0re
    m0re
    m0re
    可以看出這個已經不能刪除了,其他的命令自行嘗試。
    4.2、lsattr命令
    lsattr命令用來顯示文件的隱藏權限,格式爲lsattr [參數] 文件
    在linux系統中,文件隱藏權限必須使用lsattr命令來查看。使用ls是看不出來什麼問題的。
[lxj@wkx 桌面]$ lsattr lxj
-----a---------- lxj
  1. su命令與sudo服務
    su命令可以順利解決切換用戶身份的需求,是當前用戶在不退出登錄的情況下,順利切換到其他用戶。這個在使用root權限的時候經常用到。
    使用過程中有個細節,以前沒注意。就是在使用su切換用戶時,儘量添加一個(-)這個就是代表完全切換到新的用戶,還把環境變量信息也變更爲新用戶的信息。是個好習慣吧,記一下。
su - root
su - lxj

而sudo就是給普通用戶提供額外的權限完成root用戶才能進行的操作。

#格式
sudo [參數] 文件名稱/某個命令

sudo 的功能如下:
m0re
亮點
在書的小角落裏有這麼一段內容:每次使用sudo命令都要輸入一次當前用戶的登錄密碼,可能費時間什麼的。有些人會覺得比較麻煩,作者給我們提供了一種方法,可以節省大量時間。
m0re
然後配置完了,可以試試這個命令

sudo poweroff

嗯😁這個一眼沒看清就關機了。

Linux基礎

下面是我學習過程做得筆記,都是最基礎的linux命令,常用的。
基礎指令(重點)

command [-options] [parameter]
command 命令名 ,相應功能的英文單詞或單詞的縮寫。
[-options] 選項,可以用來對命令進行控制,也可以省略
[parameter] 傳給命令的參數,可以是零個、一個、或多個。

查閱命令信息

command --help

顯示command的命令幫助信息

man command

查閱command命令使用手冊
按q退出

常用命令分類

  1. 創建和刪除目錄(文件夾)
    touch
    作用:
    • 如果文件不存在,創建文件
    • 如果文件存在,修改文件的末次修改時間
      如:在桌面創建一個文件名爲網安的txt文件
      m0re
      可以用touch同時創建多個文件
      m0re
  2. rm(刪除功能)
    m0re
    作用:刪除文檔/文件
    語法:rm 需要移除的文檔路徑
    刪除一個普通文件

強制刪除一個文件夾m0re
刪除文件夾需要用 -r 強制刪除用-rf

刪除一個目錄下有公共特性的文件
m0re

Linux中 * 表示通配符,表示任意字符,h * 表示以h開頭的文件後續字符不管。
  1. mkdir
    語法一: mkdir 路徑 (路徑可以是文件夾名稱也可是完整的路徑)
    在當前目錄下創建一個目錄:
    m0re
    語法二: mkdir -p
    如:在指定路徑建一個文件夾 在桌面上吧
    一次性創建多層目錄時需要-p ,否則會報錯。
    m0re
    語法三: mkdir 路徑一 路徑二 路徑三 (表示創建多個文件)
    m0re
  2. 拷貝和移動文件
    cp 拷貝
    m0re
    作用:複製文件/文件夾到指定的位置
    語法:cp 被複制的文檔路徑 被複制的路徑

注意:Linux在複製過程中可以對文件進行重命名 格式: cp 被複制文件路徑 被複制到的路徑/新文件名 注意複製文件爲文件夾時
cp後要加-r【-r表示遞歸複製】否則目錄將被忽略

  1. mv 移動
    作用:移動文檔到新的位置
    語法:mv 需要移動的文檔路徑 移動到的文檔路徑
    重命名的語法和移動是一樣的

  2. 查看文件內容
    cat指令
    m0re
    功能:cat 有直接打開文件的功能
    語法1:cat 文件路徑
    作用2:合併文件
    語法2:cat待合併文件1 待合併文件2 >合併後文件路徑

  3. more
    適合查看文件內容較多的文件
    m0re

  4. grep
    grep是強大的文本搜索工具
    允許對文本進行模式查找
    m0re
    常用的兩種模式查找
    m0re
    感覺這個跟正則表達式很像啊。

  5. pwd指令
    用法:打印當前工作目錄
    m0re

  6. tree

  • tree是一種遞歸目錄列表命令,產生一個深度縮進列表文件,這是彩色的ALA dircolors如果ls_colors設置環境變量和輸出是TTY。樹已經被移植和報道以下操作系統下工作:Linux,FreeBSD,OS X操作系統,Solaris,HP UX,Cygwin,HP NonStop OS / 2。
  • tree命令安裝
    CentOS7: yun install tree 在root權限
    測試安裝:tree
    m0re
    tree命令使用
    格式: tree 參數
    m0re

OK,目前就學這些,發現這些命令用多了真的好用,很有意思。雖然看書無聊,但是學到東西了。

文末寄語:

每個人都會經過這個階段,看見一座山,就想知道山後面是什麼。我很想告訴他,可能翻過去山後面,你會發覺沒有什麼特別。——《東邪西毒》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章