第二章Linxu基礎學習筆記

筆記開始整理時間:2018年3月29日19:22:02linux

本章內容:ios

        1.用戶登陸shell

        2.終端數據庫

        3.shell介紹windows

        4.執行命令緩存

        5.簡單命令bash

        6.Tap鍵補全服務器

        7.命令行歷史網絡

        8.bash快捷鍵ide

        9.使用gnome-terminal

        10.whatis

        11.command --help

        12.man and info

        13.本地幫助文檔/usr/share/doc/

        14.官網在線文檔

        15.其餘網站和搜索

        

用戶登陸

        root用戶

               uid=0

               一個特殊的管理帳戶,也被稱爲超級用戶

               root已接近完整的系統控制

               對系統誰還幾乎有無限的能力

               除非必要,不要登陸爲root

        普通(非特權)用戶

               權限有限

               形成損害的能力比較有限

終端teirminal

        設備終端        鍵盤鼠標顯示器

        物理終端        /dev/console

               控制檯console

        虛擬終端(tty:teletypewriters,/dev/tty#,#爲[1-6])

        圖形終端(/dev/tty7)startx,xwindows)

               CentOS 6:ctrl+alt+F7

               CentOS 7:在哪一個終端啓動,即位於哪一個虛擬終端

        串行終端(/dev/ttyS#)

               ttyS

        僞終端(pty:pseudo-tty,/dev/pts/#)

               pty,SSH遠程鏈接

        查看當前的終端設備:tty

交互式接口

        啓動終端後,在終端設備附加一個交互式應用程序

        GUI:Graphic User Interface

               X protocol,windowmanager,desktop

                     Desktop:

                            GNOME(C,圖形庫gtk),

                             KDE(C++,圖形庫qt)

                            XFCE  (輕量級桌面)

        Cli:Commmand Line Interface

               shell程序:sh,csh,tcsh,ksh,bash(bourn again  shell) GPL zsh

什麼是shell

        shell是Linux系統的用戶界面,提供了用戶與內核進行交互操做的一種接口

        它接收用戶輸入的命令並把它送到內核去執行。

        shell也被稱爲Linux的命令解釋器(command interpreter)

        shell是一種高級程序設計語言

bash shell

        GNU Bourne-Again Shell(bash)是GNU計劃中重要的工具軟件之一

        目前也是Linux的標準shell,與sh兼容

        CentOS默認使用

        顯示當前使用的shell    

               echo $SHELL

        顯示當前系統使用的全部shell

               cat /etc/shells

命令提示符:prompt

        echo $PS1      顯示提示符格式

        PS1="\[\e[1;35m\][\u@\h  \w]\\$\[\e[0m\]"

        

執行命令

        輸入命令後回車

               提請shell程序找到鍵入命令所對應的可執行程序或代碼,並由其分析後

               提交給內核分配資源將其運行起來

        在shell中可執行的命令有兩類

               內部命令:由shell自帶的,並且經過某命令形式提供

                     help 顯示內部命令列表

                     enable    查看所有可用內部命令

                     enable -n cmd      禁用內部命令

                     enable cmd           啓用內部命令

                     enable -n             查看全部禁用的內部命令

               外部命令:在文件系統路徑下有對應的可執行程序文件

                     which  -a

                     which --skip-alias  

                      whereis

               區別指定的命令是內部或外部命令

                     type  cmd

 

執行外部命令

        hash緩存表

               系統初始hash表爲空,當外部命令執行時,默認會從PATH路徑下尋找命令。

               找到後會將這條命令的路徑記錄到hash表中,當再次使用該命令時,shell解釋

               器首先會查看hash表,存在將執行之,若是不存在,將會去PATH路徑下尋找。利

               用hash緩存可大大提升命令的調用速率

        hash常見用法

               hash             顯示hash緩存

               hash -l           顯示hash緩存,包含路徑,可做爲輸入使用

               hash -p path name       將命令全路徑path起別名爲name

               hath -t name 顯示hash中name的路徑

               hash -r         清除hash緩存

命令別名

        alias 顯示當前shell進程全部可用的命令別名

        alias NAME="VALUE"    定義別名NAME,其至關於執行命令VALUE

        例如:

               alias cdnet=‘cd  /etc/sysconfig/network-scripts/`

        unalias cdnet  取消別名cdnet

        unalias -a              取消全部別名

               PS:   在命令行中定義的別名,僅對當前shell進程有效,且註銷以後失效

                     如想永久有效,需寫入配置文件

                     .bashrc   僅對當前用戶有效

                     /etc/.bashrc    修改對全部用戶有效

                      編輯配置給出的新配置不會當即生效,需註銷或者使用

                     . .bashrc  或者

                     source .bashrc      執行以後配置生效

命令格式

        COMMAND [OPTIONS] [ARGUMENTS..]   

        選項OPTIONS:用於啓用或者關閉命令的某個或某些功能

        參數ARGUMENT,命令的做用對象,好比文件名,用戶名等

               例如:

                     ls -a etc/       

                     rm -rf /etc/    -rf=-r -f

        PS:

               參數和選項能夠多個,使用空白字符分隔

               命令運行過程可中斷,使用ctrl+C,ctrl+D

               多個命令能夠一行執行,使用;符號隔開,如:

                     pwd;ls;ifconfig

               一個命令能夠分開成多行顯示,用\分開,如

                     p\

                     w\

                     d +回車

日期和時間:

        Linux的兩種時鐘

        date 顯示系統時間

        clock       硬件時間,即主板bios芯片時間

        date mmDDHHMMYYYY.ss 設置時間,格式爲月日時分年。秒

        date -d "-2 day"          顯示2天以前的時間

        date +%F               顯示時間,按照2018-03-31格式顯示

        date "+%F %T" 顯示時間格式爲2018-03-31 02:08:14

        date +%s 顯示時間爲1970年1月1日0點至今通過多少秒

        date -d @nnnn     將秒時間換成正常時間

        clock -s  硬件時間覆蓋系統時間

        clock -w 系統時間覆蓋硬件時間

        ll /etc/localtime       顯示當前時區

        timedatectl list-timezones    顯示所有時區

        timedatectl     set-timezones  Asia/Shanghai     設置時區爲上海

        cal          顯示日曆

        cal   -y    顯示全年日曆

        cal 5 1978      顯示1978年5月日曆

               PS:更多用法能夠參見date --help

 

簡單命令

        halt,poweroff             關機

        init 0                             關機

        reboot / init 6        重啓

        reboot -f               強制重啓,不調用shutdown

        reboot -p                     切斷電源,至關於關機

        shutdown                     1分鐘以後關機

        shutdown -r 10     wall 10分鐘後重啓,且給全部用戶發送提醒信息

        shutdown -c                 退出shutdown

        shutdown -now            當即關機

        shutdown -r 21:30 21:30重啓

        PS:linux提供了不少種關機方式,有時會有細微的差異,實際工做中服務器的

               關機重啓還需慎重。

        

        tty          查看當前在哪一個終端(tty1-6,pts/)

        who        查看當有全部的登陸會話

        whoami  查看本終端當前用戶

        w             系統當前全部的登陸會話以及所作的操做

        

        ifconfig   查看網絡連接

        nano /etc/motd      簡單的文本編輯命令

        

        screen                          新建會話命令

        screen -S help              新建help會話

        screen -ls                     顯示當前全部screen會話

        screen -x help               加入help會話

        ctrl+a,d                     脫離當前screen會話

        screen -r               恢復斷開的screen會話

        exit                        離開會話

        PS:    screen命令的功能可使不一樣終端使用同一個會話窗口,要求鏈接的終端

               接入同一臺主機,且使用相同的帳號登陸。

        

        echo                            顯示字符

        echo abc                顯示abc,默認-E,會去掉\的解釋做用

        echo -n  aaa                輸出aaa,結束以後不換行

        echo -e  "aaa\a"          輸出aaa且發出警告音,-e選項會開啓\解釋功能

               \b          退格鍵

               \c           最後不加換行字符,效果等於-n

               \n           換行且光標移到行首

               \r            回車,即光標移到行首,但不換行

               \t            插入tap

               \\            插入\字符

               \0nnn     插入八進制數nnn所表明的ASCII字符

               \xHH      插入十六進制數HH所表明的ASCII字符

        

單引號,雙引號,反向單引號以及 $() 和 {} 的用法

        能夠嘗試查看執行如下命令觀察輸出

               echo echo $PS1     輸出結果:echo \[\e[1;35m\][\u@\h \w]\$\[\e[0m\]

               echo "echo $PS1"   輸出結果:同上

               echo 'echo $PS1'    輸出結果:echo $PS1

               echo `echo $PS1`  輸出結果:\[\e[1;35m\][\u@\h  \w]\$\[\e[0m\]

        能夠看出:

               單引號之內皆爲字符,不識別變量和命令

               雙引號能夠識別變量,但不識別命令操做

               反向單引號,可識別變量和命令

        可是若是須要嵌套輸出命令結果:如:

               echo echo pwd      

               若是最終須要輸出命令pwd的顯示結果,

               echo `echo `pwd`` 是沒法識別pwd的,即反向單引號沒法嵌套使用

               echo `echo $(pwd)`       此爲正確用法

               其中$(pwd) 等同於`pwd`   爲調用命令輸出的標準用法,且可嵌套

               如以上命令還能夠寫成:

               echo $(echo $(pwd))

        

        echo f{1,3,5}           顯示f1 f3 f5

        touch f{1..10}          建立文件f1 f2..f10

        touch a{1..30..2}      建立文件a(1-30) 間隔爲2

        rm file{00000..00100}      刪除file00000-file00100

 

Tab鍵的使用

        命令補全:

        用戶給定的字符串只有一條惟一對應的命令時候是,按tab鍵會直接補全命令

        如不惟一,單機tab無反應,再次按下tab鍵,則會給出全部匹配列表

        ifcon+tab鍵          ifconfig

        ifc+2tap         列出全部ifc開頭的命令

        路徑補全:

        在輸入路徑時如給出的字符串在上級目錄對應惟一的一個目錄或者文件,按下

        tap鍵,直接補全

        如不惟一,兩下tap鍵會列出知足條件的全部目錄或者文件列表

        

        cmd 2tap        全部子命令或文件補全

        ifc+2tap  全部以ifc開頭的命令

        /2tap              顯示全部根目錄下一級目錄,包括隱藏目錄,但不顯示文件

        ./2tap             當前目錄下子目錄,包括隱藏目錄,不顯示文件

        *2tap              當前目錄下子目錄,不包含隱藏目錄,不顯示文件

        ~2tap             顯示全部用戶列表

        $2tap              顯示全部變量

        @2tap            /etc/hosts記錄,sentos7不支持

        =2tap            至關於ls -A,sentos7不支持

 

命令行歷史

        重複前一個命令,有4種方法

               使用上方向鍵,並回車執行

               按!!,並回車執行

               輸入!-1,並回車執行

               按ctrl+P,並回車執行,至關於上方向鍵

        !:0        執行前一條命令,去除參數

        ctrl+n     顯示當前歷史中的的下一條命令,但不執行,至關於下方向鍵

        ctrl+j       執行當前命令

        ctrl+r      在命令歷史中搜索命令

        ctrl+g     從歷史搜索模式中退出

        !n          執行history命令輸出對應序號n的命令

        !-n        執行history歷史中倒數第n個命令

        !l           重複前一個以l開頭的命令

        !?s       重複前一個包含s的命令

        !l:p        顯示前一個以l開頭的命令結果

        !$:p       打印輸出!$(上一條命令的最後一個參數)的內容

        !*:p    打印輸出!*(上一條命令的全部參數)的內容

        ^string   刪除上一條命令中的第一個string字符串

        ^string1^string2    將上一條命令中的第一個string1替換成sting2

        !:gs/string1/string2   將上一條命令中的全部string1換成string2

        

        !$          調用前一個命令中最後一個參數

        esc,. 調用前一個命令中最後一個參數      

        alt+. 調用前一個命令中最後一個參數

        

        cmd !^    利用上一個命令的第一個參數作cmd的參數

        cmd !$     利用上一個命令的最後一個參數做爲cmd的參數

        cmd !*     利用上一個命令的所有參數做爲cmd的參數

        cmd !:n    利用上一個命令的第n個參數最爲cmd的參數

        cmd !n:^ 調用第n條命令的第一個參數

        cmd !n:$ 調用第n條命令的最後一個參數

        cmd !n:m        調用第n條命令的第m參數

        cmd !n:* 調用第n條命令的所有參數

 

history 命令

        history                   顯示命令歷史記錄

        history -c               清空歷史記錄

        history    -d nnn   刪除歷史記錄中的第nnn個命令

        history    n            顯示最近的n條記錄

        history -a              追加本次會話新執行的命令歷史列表至歷史文件

        history -r        讀歷史文本附加到歷史列表

        history -w              保存歷史列表到指定的歷史文件

        history -n              讀歷史文本中未讀過的行到歷史列表

        history -p $(cmd)  執行命令cmd,不生成歷史,如不加引號,

                                           會直接打印命令

        history -s cmd              生成記錄cmd,可是不執行,如用$(),命令會執行,

                                           執行的結果會記錄到歷史

        HISTSEZE               命令歷史就的條數

        HISTFILE         指定歷史文件,默認爲~/.bash_history

        HISTFILESIZE   命令歷史文件記錄的條數

        HISTTIMEFORMAT="+%F %T「     歷史記錄顯示時間

        HISTIGNORE="str1:str2*..."    忽略str1命令,str2開頭的文件

        HISTCONTROL             環境變量

               =ignoredups 默認,忽略重複的命令,連續且相同爲重複

               =ignorspace   忽略全部以空白開頭的命令

               =ignoreboth  至關於dups+space

               erasedups      刪除重複命令

        以上變量存放 /etc/profile 或~/.bashrc

 

bash的快捷鍵

        ctrl+l               清屏,至關於clear命令

        ctrl+o             執行當前命令,並從新顯示本命令

        ctrl+s              阻止屏幕輸出,鎖定

        ctrl+q             容許屏幕輸出

        ctrl+c             終止命令

        ctrl+z             掛起命令

        ctrl+a              光標移到命令行首,至關於Home

        ctrl+e              光標移動命令行尾,至關於end

        ctrl+f              光標向右移動一個字符

        ctrl+b            光標向左移動一個字符

        alt+f               光標向右移動一個單詞尾

        alt+b             光標向左移動一個單詞尾

        ctrl+u             從光標處刪除至命令行首

        ctrl+k              從光標處刪除至命令行尾

        alt+r              刪除當前整行

        PS:還有部分快捷鍵用法以及圖形界面快捷鍵用法並未列出,alt組合鍵常常

        和其餘軟件衝突

 

得到幫助

        ##得到幫助的能力決定了技術的能力。

        ##Linux提供了多種得到幫助的方式

        

        whatis             顯示命令的簡短描述,如:

        whatis ls

        makewhatis   sentos6安裝whatis

        mandb           sentos7安裝whatis

        

        help cmd       內部命令用法介紹

        cmd --help     外部命令用法介紹,有些命令是-h

        

        man bash       所有內部命令用法接受

        man -f          簡短描述,等於whatis

        man cmd               得到命令cmd的man幫助

        man 5 cmd    看命令man幫助的第5章節

        man -k keyword    列出全部匹配的頁面,使用wahtis數據庫

        

        

        

        man章節

               #1:用戶命令

               #2:系統調用

               #3:C庫調用

               #4設備文件及特殊文件。

               #5:配置文件格式

               #6:遊戲

               #7:雜項

               #8:管理類的命令

               #9:Linux內核API

        man幫助段落說明

               NAME            名稱及簡要說明

               SYNOPSIS      用法格式說明

                     []     可選內容

                     <>   必選內容

                     a丨b      二選一

                      {}     分組

                     ...     同一內容可出現屢次

               DESCRIPTION 詳細說明

               OPTIONS               選項說明

               FILES             相關文件

               AUTHOR        做者

               COPYRIGHT   版本信息

               REPORTING BUGS        bug信息

               SEE ALSO      其餘幫助參考

        

        man文檔查看相關操做

               space      向下翻屏

               b            向上翻屏

               G            跳轉至文件尾部

               1G          翻至文件首部

               q            退出

        搜索方式:

        /keyword       從當前位置向文件尾部搜索,不區分字符大小寫

               n:下一個

               N:上一個

        ?keyword      從當前位置向文件首部搜索,不區分字符大小寫

               n:下一個,與搜索方向同向

               N:上一個,與搜索方向反向

        

        導航info頁

        info cmd 打開info幫助文檔

               Home     顯示主題首部

               enter      進入選定連接

               tab鍵      移動到下一個連接

               d            顯示主題目錄

               n/p/u/l    進入下/前/上一層/最後一個連接

               s             文字文本搜索

               q            退出info

        

        其餘得到幫助的途徑

        經過本地文檔獲取幫助

        /usr/share/doc/     大多數安裝了的軟件包的子目錄,包括了這些軟件的

                                           相關原理說明

        在線文檔獲取幫助

               比較大型的軟件,能夠上官方網站獲取官方文檔說明

        經過發行版官方的文檔光盤或者網站能夠得到

               安裝指南、部署指南、虛擬化指南等

               紅帽知識庫和官方在線文檔

               紅帽全球技術支持服務

               

 

筆記整理完成時間:2018年3月31日14:44:00

相關文章
相關標籤/搜索