Linux就該這么學


第一章:

    對Shell的認識:

        計算機硬件是由運算器、控制器、存儲器、輸入/輸出設備等設備組成的,而能夠讓機箱內各種設備各司其職的東西就叫做——系統內核。

        內核負責驅動硬件、管理活動和分配/管理硬件資源,所以它不能直接讓用戶操作

        因為用戶不能直接控制硬件也不能直接操作內核,所以需要基於“系統調用接口”開發出的程序或服務來滿足用戶的日常工作。

        “Shell”——也可稱為“殼”,充當的是人與內核(硬件)的翻譯官,用戶將一些命令“告訴”Shell,它就會調用相應的程序服務執行工作。

        現在包括紅帽系統在內的很多熱門Linux系統主流默認字符Shell是Bash(Bourne-Again Shell)

        Bash的優勢:

            1.默認保存歷史命令(可以上下鍵翻看);

            2.命令僅需要輸入前幾位就可以用tab鍵補全(RHEL7可以進行參數補全);

            3.強大的批處理腳本;

            4.使用的環境變量。

        

      

     Linux命令——常用系統工作命令:

        man      可用於查看命令的具體可用參數與對象格式等。例如:#man man 可以查看man自身的幫助信息。

        echo      用於在終端顯示字符串或變量

        date      命令用於顯示或設置系統時間或日期,格式為:“date [選項] [+指定的格式]”。

                參數    作用          參數    作用            參數    作用                參數    作用

                  %t    跳格[TAB鍵]       %S    秒(00-60)        %A    星期幾(Sunday-Saturday)       %d    日(01-31)

                %H    小時(00-23)     %X    相當於%H:%M:%S    %a    星期幾(Sun-Sat)           %j    一年中的第幾天(001-366)

                %I    小時(00-12)      %Z    顯示時區          %B    完整月份(January-December)    %m    月份(01-12)

                %M    分鍾(00-59)     %p    顯示本地AM或PM      %b    縮寫月份(Jan-Dec)         %Y    完整的年份

                按照“年-月-日 小時:分鍾:秒”的格式:# date "+%Y-%m-%d %H:%M:%S"  輸出:2016-10-14 11:30:00,

                設置系統時間為2016年10月14日 11點30分的格式為:# date -s "20161014 11:30:00",

                查看當前系統時間:# date   輸出:Sun Oct 14 11:34:09 CST 2016

        reboot      命令用於重啟系統(僅root用戶可以使用),格式為:“reboot”。   # reboot

        wget      命令用於使用命令行下載網絡文件,格式為:“wget [參數] 下載地址”。

                參數    作用          參數    作用

                -b     后台下載模式      -c     斷點續傳

                -O     下載到指定目錄     -p      下載頁面內所有資源,包括圖片、視頻等

                -t      最大嘗試次數      -r     遞歸下載

        elinks     用於實現一個純文本界面的瀏覽器,格式為:“elinks [參數] 網址”。安裝elinks 純文本瀏覽器:# yum install elinks ;  使用elinks訪問百度:# elinks www.baidu.com

 

    Linux命令——系統狀態監測命令:

        ifconfig    用於獲取網卡配置與網絡狀態等信息:格式為“ifconfig [網絡設備] [參數]”。 查看本地當前的網卡配置與網絡狀態等信息:# ifconfig

        uname    命令用於查看系統內核版本等信息,格式為:“uname [-a]”。查看系統的內核名稱、內核發行版、內核版本、節點名、硬件名稱、硬件平台、處理器類型、操作系統等信息:# uname -a

                輸出: Linux iZ28jc899pfZ 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

                如果想看系統詳細版本信息就看redhat-release文件:# cat /etc/redhat-release  輸出:CentOS Linux release 7.0.1406 (Core)。

        uptime    命令用於查看系統的負載情況,格式為:“uptime”。也可以用 “watch -n 1 uptime” 來每秒刷新一次當前的系統負載情況,輸出內容分別為系統當前時間、系統已運行時間、當前在線用戶

                以及平均負載值。而平均負載分為最近1分鍾、5分鍾、15分鍾的系統負載情況,負載值越低越好(小於1是正常)。

                例:# uptime  輸出:14:34:41 up 114 days,  2:01,  1 user,  load average: 4.75, 5.42, 5.19

                另外還有個參數-V查看版本:# uptime -V  輸出:uptime from procps-ng 3.3.9

        free      命令用於顯示當前系統中內存的使用量情況,格式為:“free [-m/-g]”。以m為單位顯示當前系統中內存的使用量情況:# free -m 

                              total       used        free       shared    buffers     cached

                Mem:         15631      14868        762         76         39         1632

                -/+ buffers/cache:      13195       2435

                Swap:        16383       1022      15361

        who     命令用於查看當前登錄主機的用戶情況,格式為:“who [參數]”。例:# who  輸出:root     pts/0        2016-10-16 14:07 (221.218.215.59)

        history     命令用於顯示歷史執行過得命令,格式為:“history [-c]”。清空該用戶在本機中執行過得命令:# history -c。

               history默認會保存1000條執行過得命令,諾要修改可直接編輯/etc/profile文件的HISTSIZE值。

        sosreport   命令用於收集系統配置並診斷信息后輸出結論文檔,格式為:“sosreport”。例:# sosreport

    Linux命令——工作目錄切換命令:

        pwd     命令用於顯示當前的工作目錄,格式為:“pwd [選項]”。參數:-p  作用:顯示真實路徑(即非快捷鏈接的地址)

        cd      命令用於切換工作路徑,格式為:“cd [目錄名稱]”。

               參數    作用                參數    作用              參數      作用                    參數    作用

               -      切換到上一次的目錄,如“cd -”    ~     切換到“家目錄”,如“cd ~”    ~username  切換到其他用戶的家目錄,如“cd ~teak”    ..      切換到上一級目錄,如“cd ..”

        ls      命令用於查看目錄中有那些文件,格式為:“ls [選項] [文件]”。  

                參數    作用                 參數    作用              參數      作用                    參數    作用

                 -a     查看全部文件(包括隱藏文件)    -d     僅看目錄本身          -h       易讀的文件容量(如k,m,g)         -l      顯示文件的詳細信息

    Linux命令——文本文件編輯命令:

        cat      命令用於查看純文本文件(較短的),格式為:“cat [選項] [文件]”。參數:-n  作用:顯示行號,  參數:-b  作用:顯示行號(不包括空行),  參數:-A  作用:顯示出“不可見”的符號,如空格,tab鍵等。

        more     命令用於查看純文本文件(較長的),格式為:“more [選項] 文件”。參數:-數字  作用:預先顯示的行數(默認為一頁),  參數:-d  作用:顯示提示語句與報錯信息。

        head     命令用於查看純文本文檔的前N行,格式為:“head [選項] [文件]”。參數:-n 10  作用:顯示10行,  參數:-n -10  作用:正常輸出(如cat命令),但不顯示最后的10行。

        tail      命令用於查看純文本文檔的后N行,格式為:“tail [選項] [文件]”。參數:-n 10  作用:顯示后面的10行,  參數:-f  作用:持續刷新顯示的內容。

        od      命令用於查看特殊格式的文件,格式為:“od [選項] [文件]”。

                參數    作用          參數    作用        參數    作用

                -t a    默認字符        -t o     八進制       -t x    十六進制

                -t c    ASCII字符       -t d     十進制       -t f     浮點數

        tr       命令用於轉換文本文件中的字符,格式為:“tr [原始字符] [目標字符]”。

        wc      命令用於統計指定文本的行數、字數、字節數,格式為:“wc [參數] 文本”。參數:-l  作用:只顯示行數,  參數:-w  作用:只顯示單詞數,  參數:-c  作用:只顯示字節數。

          cut       命令用於通過列來提取文本字符,格式為:“cut [參數] 文本”。參數:-d 分隔符  作用:指定分隔符,默認為Tab,  參數:-f  作用:指定顯示的列數,  參數:-c  作用:單位改為字符。

                例:# cut -d: -f1 /export/data/shell/shangdiandian_80_deploy.sh  參數作用:-d 以“:”來做分隔符,-f參數代表只看第一列的內容。

        diff       命令用於比較多個文本文件的差異,格式為:“diff [參數] 文件”。例:# diff a.txt b.txt

                參數    作用            參數    作用            參數      作用            參數    作用

                -b     忽略空格引起的差異     -B     忽略空行引起的差異     --brief或-q   僅報告是否存在差異     -c     使用上下文輸出格式

     Linux命令——文本目錄管理命令:

        touch     命令用於創建空白文件和修改文件時間,格式為:“touch [選項] [文件]”。

               對於在Linux中的文件有三種時間:

                  1.更改時間(mtime):內容修改時間(不包括權限的)  2.更改權限(ctime):更改權限與屬性的時間  3.讀取時間(atime):讀取文件內容的時間

               參數    作用              參數    作用                參數    作用              參數    作用

               -a     近修改“訪問時間”(atime)    -m      近修改“更改時間”(mtime)     -d     同時修改atime與mtime     -t     要修改成的時間[YYMMDDhhmm]

        mkdir    命令用於創建空白的文件夾,格式為:“mkdir [選項] 目錄”。參數:-m=MODE  作用:默認的文件目錄權限,如“-m 755”,參數:-p  作用:連續創建多層目錄(若文件夾已存在則忽略),參數:-v 作用:顯示創建的過程。

        cp      命令用於復制文件或目錄,格式為:“cp [選項] 源文件 目標文件”。

               復制命令的三種情況:

                  1.目標文件是一個目錄,會將源文件復制到該目錄中    2.目標文件是一個文件,會將源文件覆蓋該文件    2.目標文件不存在,將會復制原文件並修改為目標文件的名稱(重命名)。

               參數    作用                        參數    作用                參數    作用

               -p     保留原始文件的屬性                 -r     遞歸持續復制(用於目錄)      -a     相當於-pdr(p,d,r為前面的參數)

               -d     若對象為“鏈接文件”,則保留該“鏈接文件”的屬性     -i     若目標文件存在則詢問是否覆蓋

        mv      命令用於移動文件或改名,格式為:“mv [選項] 文件名 [目標路徑|目標文件]”。例:# mv aaa bbb  將文件aaa重命名為bbb

        rm      命令用於刪除文件或目錄,格式為:“rm [選項] 文件”。參數:-f  作用:忽略警告提示,  參數:-i  作用:刪除前先詢問,  參數:-r  作用:刪除文件夾。

                Linux系統中還有一個rmdir命令,它不同於rm -rf命令會刪除一切,而是僅刪除空目錄,遇到目錄有文件時則報錯。

        dd      命令用於指定大小的拷貝的文件或指定轉換文件,格式為:“dd [參數]”。

                參數    作用           參數    作用              參數        作用

                if      輸入的文件名稱      bs     設置每個“塊”的大小       conv=ucase    將字母從小寫轉換為大寫

                of     輸出的文件名稱      count    設置要拷貝“塊”的個數      conv=lcase     將字母從大寫轉換為小寫

                例:將光驅設備拷貝成鏡像文件:# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso

                  生成一個560m的空白文件:# dd if=/dev/zero of=560_file count=1 bs=560M

                  將硬盤的MBR信息拷貝出來:# dd if=/dev/sda of=sda_image count=1 bs=512K

     Linux命令——用戶與組管理命令:

        useradd    命令用於創建新的用戶,格式為:“useradd [選項] 用戶名”。

                參數    作用                      參數    作用                    參數    作用              參數    作用

                 -d    指定用戶的家目錄(默認為/home/username)   -e     賬號有效截止日期,格式:YYYY-MM-DD    -G     指定一個或多個擴展用戶組    -s     指定默認的Shell

                 -D    展示默認值                    -g     指定一個初始用戶組(必須已存在)      -N     不創建與用戶同名的用戶組    -u     指定用戶的UID

                 例:創建名為hxm的用戶,並定義家目錄路徑、UID以及登錄解釋器(不允許登錄):# useradd -d /home/linux -u 888 -s /sbin/nologin hxm

                   查看hxm用戶的基本信息:# id hxm

        passwd    命令用於修改用戶的密碼,格式為:“passwd [選項] [用戶名]”。例:修改當前用戶的密碼:# passwd      修改其他用戶的密碼:# passwd 其他用戶名

                參數    作用              參數    作用                                          參數    作用

                -l     鎖定用戶禁止其登錄        --stdin    允許從標准輸入修改用戶密碼,如(echo “NewPassWord” | passwd -stdin Username)   -e     強制用戶下次登錄時修改密碼

                -u      解除鎖定,允許用戶登錄      -d     是賬號無密碼                                       -S      顯示用戶的密碼狀態

        userdel    命令用於刪除用戶所有表格,格式為:“userdel [選項] 用戶名”。參數:-f 作用:強制刪除用戶,家目錄與其相關文件 參數:-r  作用:同時刪除用戶,家目錄與其相關文件  例:userdel -d 用戶名 刪除用戶與其家目錄

        usermod    命令用於修改用戶的屬性,格式為:“usermod [選項] 用戶名”。

                參數    作用

                -c     填寫賬號的備注信息

                -d -m   -d與-m連用,可重新指定用戶的家目錄並自動將舊的數據轉移過去

                -e     賬戶到期時間,格式為“YYYY-MM-DD”

        groupadd   命令用於創建群組,格式為:“groupadd [選項] 群組名稱”。例:# groupadd linuxprobe  創建名稱為“linuxprobe”的用戶群組

     Linux命令——打包壓縮文件命令:

        tar      命令用於對文件打包壓縮或解壓,格式為:“tar [選項] [文件]”。例:# tar -czvf 壓縮包名.tar.gz 文件名  打包並壓縮文件,  # tar -xzvf 壓縮包名.tar.gz  解壓並展開壓縮包。

                參數    作用              參數    作用              參數    作用              參數    作用

                -c     創建壓縮文件          -z     用Gzip壓縮或解壓        -f     目標文件名           -C     指定解壓到的目錄

                -x     解開壓縮文件          -j     用bzip2壓縮或解壓         -p     保留原始的權限和屬性

                -t     查看壓縮包內有哪些文件     -v     顯示壓縮或解壓的過程       -P     使用絕對路勁來壓縮

    Linux命令——文件查詢搜索命令:                               ------------------------------------------------  10-20  ------------------------------------------------------

        grep      命令用於對文本進行搜索,格式為:“grep [選項] [文件]”。搜索某個關鍵詞:“grep 關鍵詞 文本文件”

                參數    作用                            參數    作用          參數    作用

                -b     將可執行文件(binary)當做文本文件(text)來搜索      -i     忽略大小寫       -v     反向選擇——僅列出沒有“關鍵詞”的行

                -c     僅顯示找到的次數                       -n     顯示行數

                例:搜索在/etc/passwd中“/sbin/nologin”出現的行,找出系統中不允許登錄的用戶:# grep /sbin/nologin /etc/passwd

                  找出文件“/export/data/shell/shangdiandian_80_deploy.sh”中所有包含entry的行並輸出到/root/lines:# grep entry /export/data/shell/shangdiandian_80_deploy.sh >> /root/lines

        find      命令用於查找文件,格式為:“find [查找路徑] 尋找條件 操作”。          

                參數        作用                        參數      作用              參數          作用

                -name       匹配名稱                      -atime -n +n  匹配訪問文件的時間      --type b/d/c/p/l/f   匹配文件類型(塊設備、目錄、字符設備、管道、鏈接文件、文本文件)

                -perm       匹配權限(mode為完全匹配,-mode為包含即可)   -ctime -n +n  匹配修改權限的時間      --size        匹配文件的大小(+50k查找超過50k的文件,-50k查找小於50k的文件)

                -user         匹配所有者                     -nouser    匹配無所有者的文件       -prune       忽略某個目錄

                -group       匹配所有組                     -nogroup   匹配無所有組的文件       --exec {} \;    后面可接對搜索到結果進一步處理的命令

                -mtime -n +n    匹配修改內容的時間(-n指n天以內,+n指n天以前)  -newer f1 !f2  匹配比文件f1新卻比f2舊的文件

                 搜索時“~”代表用戶的家目錄,“.”代表當前目錄,“/”代表根目錄。

                例:搜索在“/etc/”中所有以host開頭的文件:# find /etc -name "host*" print

                  搜索整個系統中所有包含SUID的文件(因SUID的數字表示法是4,而減號表示只要包含即可):# find / -perm -4000 -print

                  找出用戶hxm的文件並復制到/root/findresults目錄(重點是“-exec {} \;”其中的{}代表find命令搜索出的文件,記住結尾必須是\;):# find / -user hxm -exec cp -arf {} /root/findresults/ \;

總結:以上就是linux系統中日常用到的命令。 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM