02day-Linux基礎入門及簡單的命令了解

Linux哲學思想:

1、一切皆文件;

         把幾乎所有資源,包括硬件設備都組織為文件格式;

2、由眾多單一目的小程序組成;一個程序只實現一個功能,而且要做好;

         組合小程序完成復雜任務;

   3、盡量避免跟用戶交互;

         目標:實現腳本編程,以自動完成某些功能;

   4、使用純文本文件保存配置信息;

         目標:一款使用的文本編程器即能完成系統配置工作;

第1章   Linux基礎入門

1.1 Linux終端介紹:

用戶與主機交互,必然用到的設備

物理終端:直接接入本機的顯示器和鍵盤設備console

   剛開機的時候,程序還沒有啟動,程序啟動完成后默認以虛擬終端1,或者圖形終端

      設備文件:/dev/console

虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端,centos6默認啟動6個虛擬終端

      Ctrl+Alt+F#:[1,6]  Alt+F1切回圖形界面

圖形終端:附加在物理終端之上的以軟件方式虛擬實現的終端,但額外會提供桌面環境

      設備文件路徑:/dev/tty#

模擬終端:完全以軟件方式虛擬實現

      圖形界面下打開的命令行接口

      使用sshtelnet協議遠程打開的界面

      設備文件:/dev/pts/#

查看當前終端

      使用tty命令

1.2 交互式接口

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

       GUI:

              X protocol+window manager+desktop=GUI

             

              Desktop:

                     GNOME: C GTK

                     KDE:     C++ QT

                     XFCE: 輕量級桌面

       CLI:     

              shell程序

                     sh

                     csh

                     ksh  商業版

                     bash

                     zsh

       顯示當前使用的shell

      # echo $SHELL

   顯示當前系統啟用的所有shell:

      # cat /etc/shells

1.3 shell提示符

命令提示符(prompt):

   使用PS1環境變量定義

   管理員:#

   普通用戶:$

[root@www ~]# echo $PS1
[\u@\h \W]\$

 [用戶@主機名 當前目錄名稱]提示符

1.4 命令使用方法

輸入命令,回車:

提醒shell程序找到鍵入命令所對應的可執行程序或代碼,并由其分析后提交給內核分配資源將其運行起來,表現為一個或多個進程

命令類型:

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

      內建命令:由shell自帶的,而且通過某命令形式提供

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

         which,whereis

      區分內建命令和外部命令:

         使用type命令

          # type COMMAND

運行命令:

       命令格式:

              COMMAND [OPTIONS…] [ARGUMENTS…]

                     選項:用于啟用或關閉命令的某些功能

                         短選項:-c(一個字符),例如:-l,-h

                             多個短選項可以合并使用,例如:ls -lh

                         長選項:–word(一個單詞),例如:–long –help

                     參數:命令的作用對象

                         向命令提供數據:例如: ls -lh /etc /etc即為參數

       注意:

            1、多選項,以及多參數和命令之間都應該使用空白字符分隔

            2、取消命令執行:Ctrl+c

1.5文件系統

   windows:C:\Progam files\ofiice15\word.exe

   Linux:/etc/sysconfig/network-scripts/ifcfg-eth0

   Linux:一切從根開始

 

   文件有兩類數據:

              元數據:metadata

              數據:data

       Linux文件系統特性:

              1、文件名嚴格區分字符大小寫

              2、文件名可使用除/以為的任意字符,不建議使用特殊字符

                     /:根目錄,路徑分隔符

              3、文件名長度最長不能超過255個字符

              4、所有.開頭的文件 均為隱藏文件

   路徑:

              絕對路徑:從根目錄起始的路徑

              相對路徑:從當前位置起始的路徑

                     當前位置的表示方式:

                            1、./  ./sysconfig/network-scripts

                            2、省略上述符號:sysconfig/network-scripts

 

                            ..表示當前目錄的父目錄

 

              當前目錄:current directory 也稱作working directory

                     pwdprinting working directory

 

       LSB:Linux Standard Base Linux標準庫

第2章   Linux基礎命令

命令總結:

   ls cd type tty cat which whereis pwd echo

命令:

   文件系統相關:

      目錄管理

      文件管理

      文件查看

      文件編輯

   系統管理相關:

2.1  Linux命令幫助獲取

   內建命令:

       # help COMMAND

         如果使用man獲取的將是整個bash的幫助手冊

   外部命令:

      <1> # COMMAND –help

            # COMMAND -h

      <2>使用手冊(manual

            # man COMMAND

      <3>信息頁

            # info COMMAND

      <4>程序自身的幫助文檔

            README

            INSTALL

            Changelog

      <5>程序官方文檔

             官方站點:Documentation

      <6>發行版的官方文檔

      <7> Google

          http://www.slideshare.net/  需翻墻

內部命令使用幫助詳解

使用幫助了解命令:

hash命令: 

       shell搜尋到的外部命令的路徑結果會緩存至kv(key/value)存儲中

       清除所有緩存:hash -r

history命令:

   管理命令歷史:

              登錄shell時,會讀取命令歷史文件中記錄下的命令:~/.bash_history

              登錄進shell后新執行的命令只會記錄在緩存中,這些命令會在用戶退出時追加至命令歷史文件中

       history:

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

              -d: 刪除歷史中指定的命令

              -c:清空命令歷史

   快捷操作:

              !# 調用歷史中第#條命令

              !string 調用歷史中最近一個以string開頭的命令

              !! 執行上一條命令

外部命令幫助獲?。?/span>

   man COMMAND

          手冊頁:/usr/share/man

           man1: 用戶命令

           man2: 系統調用

           man3: C庫調用

           man4: 設備及特殊文件

           man5: 配置文件格式

           man6: 游戲

           man7: 雜項

           man8: 管理類的命令

    注意:有些關鍵不止一個章節中存在幫助手冊

         要查看指定章節中的手冊:man # COMMAND

         不確定有哪些章節可以使用:whatis COMMAND查看   

[root@www ~]# whatis man
man                  (1)  - format and display the on-line manual pages
man.config [man]     (5)  - configuration data for man
man [manpath]        (1)  - format and display the on-line manual pages

man命令的配置文件:

centos 6: /etc/man.config

centos 7: /etc/man_db.conf

MANDATORY_MANPATH             /PATH/TO/SOMEWHERE===>指明新的手冊文件搜索位置

 # man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手冊頁并顯示之

 

幫助手冊段落說明:

        NAME       名字,簡要說明

        SYNOPSIS   命令簡要使用幫助

        DESCRIPTION  命令功能詳細描述

        OPTIONS       選項

        EXAMPLES   使用事例

        AUTHOR     作者

        PREORTING BUGS  報告bug

        SEE ALSO

 

SYNOPSIS中符號意義

              []: 可選內容

              <>: 必選內容

              a|b:二選一

              ….: 同一內容可出現多次

man命令操作方法:

           Space,^V,^f,^F: 向文件尾部翻一屏

           b,^B:向文件首部翻一屏     

           d,^D: 向文件尾部翻半屏

           u,^U:向文件首部翻半屏

           RETURN or ^N or e or ^E or j or ^J:向文件尾部翻一行

           y or ^Y or ^P or k or ^K: 向文件首部翻一行

           q: 退出

           #:跳轉至第#

           1G: 回到文件首部

           G:首部翻至文件尾部

文本搜索:

/KEYWORLD:

          KEYMORD指定的字符串為關鍵字,從當前位置向文件尾部搜索。不區分字符大小寫

                  n: 下一個

                  N: 上一個

?KEYWORD:

          KEYWORD指定的字符串為關鍵字,從當前位置向文件首部搜集,不區別大小寫

                  n: 跟搜索命令相同方向

                  N: 跟搜索命令相反

2.2 時間相關命令

date

   date [OPTION]… [+FORMAT]  —->顯示日期時間

      FORMAT:格式符號

         %a:顯示星期幾,簡寫的     

        [root@www ~]# date +%a
        Tue

         %A:顯示星期幾,完全顯示      

     [root@www ~]# date +%A
     Tuesday

         %Y:顯示四位年份

         %y:顯示兩位年份

         %m:顯示月份

         %M:顯示分鐘

         %d:

         %h:英文簡寫的月,Jun

         %H:顯示小時

         %S:

         %s:現在距離19701100分(unix元年)的秒數,timestamp(時間戳)

         %D:顯示日期格式為:月//

         %F:顯示日期格式:年

         %T:顯示時間格式:時::

 

 date [MMDDhhmm[[CC]YY][.ss]]  —->設置日期時間

          MM:月份

          DD:幾號

          hh:小時

          mm:分鐘

          YY:兩位年份

          CCYY:四位年份

          .ss:秒鐘

Linux的兩種時鐘:

    系統時鐘:由Linux內核通過CPU的工作頻率進行的計時

硬件時鐘:存儲在CMOS里的時鐘,關機后該時鐘依然運行,主板的電池為它供電

hwclock:顯示硬件時鐘

          -s,–hctosys: 以硬件時間為準

          -w,–systohc 以系統時間為準


cal:顯示日歷

   cal 年份

2.3 目錄相關命令

   當前目錄或工作目錄

   主目錄(~),家目錄:HOME—>

      root: /root

      普通用戶:/home/USERNAME

 

cd 切換目錄

   cd cd ~:回當前用戶的主目錄

   cd ~USERNAME:切換至指定用戶的家目錄

   cd –:在上一個目錄和當前目錄之間來回切換

 

相關環境變量:

   PWD:保存了當前目錄路徑—pwd

   OLDPWD:上一次所在目錄路徑—-cd –

      [root@www ~]# cd $OLDPWD
      [root@www etc]# cd $OLDPWD

  

pwd 顯示當前目錄

 

ls: list

   顯示指定路徑下的文件列表

   ls [OPTION]… [FILE]…

      -a, –all: 顯示所有文件,包括隱藏文件

      -A: 顯示所有文件,但不包含. ..

      -l: 顯示文件詳細信息,長格式

         -/rw-r–r–./ 1/ root/ root/ 9615 /Jun 25 20:43/ install.log

         文件類型/權限/文件被硬鏈接次數/屬主/屬組/size/文件最近一次被修改的時間/文件名

      -h: 單位換算,易讀

      -d: 顯示目錄自身的相關屬性,通常和-l結合使用

      -r: 逆序顯示。以文件名開頭字母為準

      -R: –recursive  遞歸顯示,顯示目錄及目錄下的所有文件。還是tree好使

 

 

stat

stat /PATH/TO/SOMEFILE

獲取指定文件的元數據

 [root@www ~]# stat /etc
File: `/etc'
Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d  Inode: 12          Links: 63
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-28 11:46:11.597990443 +0800
Modify: 2016-06-28 19:16:22.341021361 +0800
Change: 2016-06-28 19:16:22.341021361 +0800

2.4 文件查看命令

   cat

    連接顯示文件內容

      cat [OPTION]… [FILE]…

         -E: 顯示行結束符$

         -T: 顯示制表符

         -n: 對顯示出的每一行進行編號

    

一般和EOF結合使用的較多

cat <<EOF>FileName

EOF

   tac

   cat顯示相反,倒序的顯示

 

   file

   查看文件內容類型

   file /PATH/TO/SOMEWHERE

   echo

      回顯

      -n: 禁止自動添加換行符

      -e: 允許使用轉義符

         \n: 換行

         \t: 制表符

echo "$VAR_NAME": 變量會替換,弱引用

echo '$VAR_NAME': 變量不會替換,強引用

echo “ : 命令引用

 

   which

   顯示命令對應的程序文件路徑

   which [options] COMMAND

      –skip-alias 跳過別名

             [root@www ~]# which –skip-alias ls

   whatis

      使用mkwhatis命令可將當前系統上的所有幫助手冊及與之對應的關鍵字創建為一個數據庫

原創文章,作者:N21_Lorne,如若轉載,請注明出處:http://www.www58058.com/20951

(0)
N21_LorneN21_Lorne
上一篇 2016-06-29
下一篇 2016-06-29

相關推薦

  • 8.1作業

    創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為“Gentoo Distribution” [root@localhost wang]# useradd -G bin,root -s /bin/csh -c "Gentoo&n…

    Linux干貨 2016-08-02
  • 負載調度器:調度算法

    調度算法(ipvs scheduler) 起點公平:平均分配,不管分別干的怎么樣。 結果公平:誰現在還剩下的在處理的少,就分配給誰。      根據其調度時是否考慮各RS當前的負載狀態,可分為靜態方法和動態方法兩種: 靜態方法 靜態方法:僅根據算法本身進行調度; RR      …

    2016-10-28
  • 馬哥教育網絡班22期+第5周課程練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost ~]# awk -F: '{print $1,$7}' /etc/passwd| egrep "^\<(root|fedora|user…

    Linux干貨 2016-09-15
  • 腳本小練習

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。                            …

    Linux干貨 2016-08-15
  • 網絡21期第十周博客作業

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) Centos6啟動流程:       POST加電自檢 —> BOOT Sequence —> 加載內核啟動系統    &n…

    Linux干貨 2016-09-15
  • 7.磁盤及文件系統管理

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@localhost ~]# fdisk /dev/sd…

    Linux干貨 2017-08-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-29 15:29

    寫的很好,排版還可以在漂亮一些,加油

欧美性久久久久