那些年你不能錯過的之【Linux操做】

你們好,我是小菜,一個渴望在互聯網行業作到蔡不菜的小菜。可柔可剛,點贊則柔,白嫖則剛!
死鬼~看完記得給我來個三連哦!
java

本文主要介紹 Linux環境下經常使用的命令
若有須要,能夠參考
若有幫助,不忘 點贊
創做不易,白嫖無義!linux

前文導讀

Linux 是一個開源、免費的操做系統,在服務器領域的應用是最強的。程序員

Linux 的目錄結構

目錄結構圖
目錄結構圖
  • /bin重點
    是 Binary 的縮寫,這個目錄存放着最常用過的命令
  • /sbin (/usr/sbin、/usr/local/sbin)
    s 就是 Super User 的意思,這裏存放的是系統管理員使用的系統管理程序
  • /home重點
    存放普通用戶的主目錄,在 Linux 中每一個用戶都有一個本身的目錄,通常該目錄是以用戶的帳號命名的
  • /root重點
    該目錄爲系統管理員,也稱爲超級權限者的用戶主目錄
  • /lib
    系統開機所須要最基本的動態鏈接共享庫,其做用相似於 Windows 裏的DLL文件。幾乎全部的應用程序都須要用到這些共享庫
  • /lost+found
    這個目錄通常狀況下是空的,當系統非法關機後,這裏就存放了一些文件
  • /etc重點
    全部的系統管理所須要的配置問津和子目錄 my.conf
  • /usr重點
    這是一個很是重要的目錄,用戶的不少應用程序和文件都放在這個目錄下,相似於 windows 下的 program files 目錄
  • /boot重點
    存放的是啓動 Linux 時使用的一些核心文件,包括一些鏈接文件以及鏡像文件
  • /proc
    這個目錄是一個虛擬的目錄,它是系統內存的映射,訪問這個目錄來獲取系統信息
  • /srv
    service 的縮寫,該目錄存放一些服務啓動以後須要提取的數據
  • /sys
    這是 Linux2.6 內核的一個很大變化,該目錄下安裝了 2.6內核中新出現的一個文件系統
  • /tmp
    這個目錄是用來存放一些臨時文件的
  • /dev
    相似於 windows 的設備管理器,把全部的硬件用文件的形式存儲
  • /media重點
    Linux 系統會自動識別一些設備,例如U盤、光驅等等,當識別後,Linux 會把識別的設備掛載到這個目錄下。
  • /mnt重點
    系統提供該目錄是爲了讓用戶臨時掛載別的文件系統,咱們能夠將外部的存儲掛載在 /mnt/ 上,而後進入該目錄就能夠查看裏面的內容了
  • /opt
    這是給主機額外 安裝軟件 所擺放的目錄
  • /usr/local重點
    這是另外一個給主機安裝軟件所 安裝的目錄。通常是經過編譯源碼方式安裝的程序
  • /var重點
    這個目錄中存放着在不斷擴充着的東西,習慣將常常被修改的目錄放在這個目錄下,包括各類日誌文件。

真操實練

1、vi 和 vim

  • 基本介紹

全部的 Linux 系統都會內建 vi 文本編輯器
vim 具備程序編輯的能力,能夠看作 vi的加強版本,能夠主動的以字體顏色辨別語法的正確性,方便程序設計。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用。編程

  • 三種模式
    • 正常模式
      使用 vim 打開文本就是直接進入正常模式狀態下了。
    • 插入/編輯模式
      能夠輸入內容,按 i/I,o/O,a/A,r/R 即可以進入編輯模式,常見就是按 i 便可。
    • 命令行模式
      在這個模式當中,能夠提供你相關指令,完成讀取、存盤、替換、離開 vim、顯示行號等動做。
      三大模式
      三大模式
  • 經常使用快捷鍵vim

    • yy
      拷貝當前行,5yy 即是拷貝當前行向下5行
    • dd
      刪除當前行,5dd 即是刪除當前行向下5行
    • /關鍵字
      查找某個單詞,例如 java:在命令行下輸入 /java ,回車查找,輸入 n 即是查找下一個
    • :set nu 和 :set nonu
      設置文件的行號,和取消文件的行號
    • G 和 gg
      正常模式下 GG:到文檔的最末行 gg:到文檔的最首行
    • shift+g
      經過 :set nu 顯示行號,再輸入 10,最後輸入 shift+g ,即可到達第20行

2、開機&重啓

  • shutdown
    shutdown -h now:表示當即關機
    shutdown -h 1:表示1分鐘後關機
    shutdown -r now:當即重啓
  • halt
    效果等價於關機
  • reboot
    重啓系統
  • syn
    把內存的數據同步到磁盤

注意事項:
當咱們關機或者重啓時,都應該先執行一下sync指令,把內存的數據寫入磁盤,防止數據丟失。windows

3、用戶管理

  • useradd
    能夠經過 useradd 用戶名 來建立一個新用戶
    用戶建立成功後,會自動的建立和用戶同名的家目錄
    也可使用 useradd -d /home/cbuc 用戶名 來給新建立的用戶指定家目錄
  • passwd
    能夠經過passwd 用戶名來給用戶指定或修改密碼
  • userdel
    能夠經過userdel 用戶名來刪除用戶,此命令會保留家目錄
    能夠經過userdel -r 用戶名來刪除用戶及家目錄
  • id
    能夠經過id 用戶名來查詢相對用戶的信息,當用戶不存在時,會返回「無此用戶」
  • su
    能夠用過su - 用戶名 來切換用戶
    在操做 Linux 時,若是當前用戶的權限不夠,能夠經過 su - 命令,切換到高權限的用戶,例如 root
    從權限高的用戶切換權限低的用戶,不須要輸入密碼,反之須要,當須要返回原來用戶時,可使用 exit

4、經常使用命令

  • pwd
    顯示當前工做目錄的絕對路徑
  • ls
    ls -a:顯示當前目錄的全部文件和目錄,包括隱藏的
    ls -i:以列表的方式顯示信息
  • cd
    切換到指定目錄
  • mkdir
    建立目錄(make directory)
    mkdir -p /home/cbuc1/cbuc2:建立多級目錄,就是說在 home 的目錄下建立了 cbuc1 ,接着在 cbuc1 的目錄下又建立了 cbuc2
  • rmdir
    刪除的是空目錄,若是該目錄下有內容是沒法刪除的
    可使用rm -rf 文件名來刪除非空目錄或文件
  • touch
    建立單個空文件:touch cbuc1.txt
    建立多個空文件:touch cbuc1.txt cbuc2.txt …
  • cp
    拷貝文件到指定目錄
    eg:
    將 home 目錄下的 cbuc.txt 文件拷貝到 tmp 目錄下的 test 目錄
    cp /home/cbuc.txt /tmp/test/
    經常使用選項
    -r :遞歸複製整個文件夾
    擴展:
    \cp:強制覆蓋原來的文件
  • rm
    移除(刪除)文件或目錄
    經常使用選項:
    -r:遞歸刪除整個文件夾
    -f:強制刪除不提示
    -rf:上面二者的結合
  • mv
    移動文件與目錄 或者 重命名
    重命名mv oldFileName newFileName
    移動文件mv /home/cbuc.txt /tmp
  • cat
    查看文件內容,以只讀的方式打開
    經常使用選項: -n:顯示行號
    cat -n /etc/profile | more[分頁瀏覽]
  • more
    該指令是一個基於 VI 編輯器的文本過濾器,它以全屏幕的方式按頁顯示文本文件的內容。more 指令中也內置了若干快捷鍵。
操做 功能說明
空格鍵 向下翻一頁
回車鍵 向下翻一行
q 馬上離開 more ,再也不顯示該文件內容
ctrl + F 向下滾動一屏
ctrl + B 返回上一屏
= 輸出當前的行號
:f 輸出文件名和當前的行號
  • less
    該指令用來 分屏查看文件內容 ,它的功能與 more 類似,可是比 more 更增強大,支持各類顯示終端。less 指令在顯示文件內容時,並非一次將整個文件加載以後才顯示,而是根據顯示須要加載內容,對於 顯示大型文件具備較高的效率
操做 功能說明
空格鍵 向下翻一頁
回車鍵 向下翻一行
q 馬上離開 less,再也不顯示該文件內容
pagedown 向下滾動一屏
pageup 向上滾動一屏
/字串 向下搜尋【字串】的功能:n:向下查找 ;N:向上查找
?字串 向上搜尋【字串】的功能:n:向下查找 ;N:向上查找
  • echo
    輸出內容到控制檯
    echo $PATH:輸出當前的環境變量
  • head
    用於顯示文件的開頭部份內容,默認狀況下 head 指令顯示文件的前10行內容
    head -n 5 /etc/profile:查看文件頭5行內容,【5】能夠是任意行數
  • tail
    用於輸出文件中尾部的內容,默認狀況下 tail 顯示文件的後10行內容
    tail 文件:查看文件後10行內容
    tail -n 5 文件 :查看文件後5行內容,【5】能夠是任意行數
    tail -f 文件:實時追蹤該文檔的全部更新
  • history
    用於查看已經執行過歷史命令,也能夠執行歷史指令
    history 10:顯示最近使用過的10個指令
    ! 5:執行歷史編號爲5的指令

5、時間日期類

  • date 顯示當前日期 常見用法:
    • `date`:顯示當前時間
    • `date+%Y`:顯示當前年份
    • `date+%m`:顯示當前月份
    • `date+%d`:顯示當前是哪一天
    • `date "+%Y-%m-%d %H:%M:%S"`:顯示年月日時分秒
  • cal
    查看日曆指令
    cal:顯示當前日曆
    cal 2020:顯示2020年日曆

6、搜索查找類

  • find
    將從指定目錄下遞歸地遍歷其各個子目錄,將知足條件的文件或者目錄顯示在終端
選項 功能
-name 按照指定的文件名查找模式查找文件
-user 查找屬於指定用戶名全部文件
-size 按照指定的文件大小查找文件

find /home -name cbuc.txt:在 /home 的目錄下查找 cbuc.txt 文件
find /opt -user cbuc:在 /opt 的目錄下查找用戶名爲 cbuc 的文件
find /home -size +20M:在 /home 的目錄下查找大於 20M 的文件
find /home -size -20M:在 /home 的目錄下查找小於 20M 的文件
find /home -size 20M:在 /home 的目錄下查找等於 20M 的文件服務器

  • grep & |
    grep 過濾查找,管道符:「|」 表示將前一個命令的處理結果輸出傳遞給後面的命令處理
選項 功能
-n 顯示匹配行及行號
-i 忽略字母大小寫

7、壓縮和解壓類

  • gzip/gunzip
    gzip 文件:用於壓縮文件,只能將文件壓縮爲*.gz文件
    gunzip XXX.gz:用於解壓文件
    說明:使用gzip對文件壓縮後,不會保留原來的文件
  • zip/unzip
    zip 壓縮內容:壓縮文件和目錄的命令
    unzip XXX.zip:解壓縮文件
    經常使用選項:
    -r:遞歸壓縮,即壓縮目錄
    例子:
    zip -r cbuc.zip /home/:將 /home 下的全部文件進行壓縮成 cbuc.zip
    unzip -d /opt/tmp/ cbuc.zip:將 cbuc.zip 解壓到 /opt/tmp 目錄下
  • tar
    打包指令,最後打包後的文件是 .tar.gz
選項 功能
-c 產生 .tar 打包文件
-v 顯示詳細信息
-f 指定壓縮後的文件名
-z 打包同時壓縮
-x 解包 .tar文件

tar -zcvf cbuc.tar.gz cbuc1:將 cbuc1 目錄壓縮成 cbuc.tar.gz
tar -zcvf cbuc.tar.gz cbuc1 cbuc2:將 cbuc1 和 cbuc2 目錄壓縮成 cbuc.tar.gz
tar -zxcf cbuc.tar.gz:將 cbuc.tar.gz 解壓縮在當前目錄下
tar -zxvf cbuc.tar.gz /opt/tmp:將 cbuc.tar.gz 解壓縮在 /opt/tmp 目錄下
注意: 解壓縮到的那個目錄要事先存在,否則會報錯網絡

8、進程管理

  • ps
    用來查看進行中的進程
    ps -a:顯示當前終端的全部進程信息
    ps -u:以用戶的格式顯示進程信息
    ps -x:顯示後臺進程運行的參數
    ps 顯示的信息選項
字段 說明
USER 用戶名稱
PID 進程識別號
%CPU 進程佔用 CPU 的百分比
%MEM 進程佔用物理內存的百分比
VSZ 進程佔用的虛擬內存大小(單位:KB)
RSS 進程佔用的物理內存大小(單位:KB)
TTY 終端機號
STAT 進程狀態
START 進程的啓動時間
TIME 此進程所消耗的 CPU 時間
CMD 啓動進程所用的命令和參數

ps -ef:以全格式顯示當前全部的進程
-e:顯示全部進程
-f:全格式
經常使用:ps -ef | grep XXX來查找某個進程app

  • kill
    如果某個進程執行一八須要中止時,或是已消耗了很大的系統資源時,此時能夠考慮中止該線程。使用 kill 命令來完成此項任務。
    kill 進程號:經過進程號來殺死進程
    kill 進程名稱:經過進程名稱殺死進程,也支持通配符,這是系統因負載過大而變得很慢時頗有用
    kill -9 xxx:表示強迫進程當即中止

9、服務管理

  • service
    service 服務名 [start | stop | restart | reload | status]
    注: 在CentOS 7.0以後,再也不使用 service,而是 systemctl
    service iptables status:查看防火牆狀態
    service iptables stop:中止防火牆
    service iptables start:開啓防火牆

10、動態監控進程

  • top
    top 與 ps 命令很類似,它們都用來顯示正在執行的進程。top 與 ps 最大的不一樣之處在於 top 在執行一段時間能夠更新正在運行的進程。
    選項說明
選項 功能
-d 秒數 指定top命令每隔幾秒更新,默認是3秒在top命令的交互模式當中能夠執行的命令
-i 使 top 不顯示任何閒置或者僵死的進程
-p 經過指定監控進程 ID 來監控某個進程的狀態

例子
監視特色用戶less

  1. 輸入 top 回車,查看執行的進程
  2. 輸入 u 回車,再輸入用戶名

終止指定的進程

  1. 輸入 top 回車,查看執行的進程
  2. 輸入 k 回車,再 輸入要結束進程的 ID 號

指定系統狀態更新的時間(每隔10秒自動更新)

  1. 輸入top -d 10
  • netstat
    查看系統網絡狀況
    netstat -an:按必定順序排列輸出
    netstat -p:顯哪一個進程在調用
    netstat -anp | more:查看全部的網絡服務
    netstat -anp | grep XXX:查看對應服務的信息
看完不讚,都是壞蛋
看完不讚,都是壞蛋
今天的你多努力一點,明天的你就能少說一句求人的話!
好久好久以前,有個傳說,聽說:
看完不讚,都是壞蛋
相關文章
相關標籤/搜索