筆記四、Linux基礎入門-上半部

前言

直接已經教大家如何創建虛擬機和安裝CentOS 操作系統了,那么今天就來開始入門吧。linux對于新手來說并不難,linux的構造 http://www.www58058.com/68853 這篇博客里我已經講解了,有興趣最好看一下llinux下每個目錄的作用。還有Linux的哲學思想。

這里我就開始介紹了。

一、用戶登陸

    在linux中,用戶分為兩種,

        1.1 普通用戶

            權限有限
            造成損害的能力比較有限

            這個用戶相當于一個房子的租客,只能在自己租的區域里做事情。但不能對拆房子,或者買房子。

        1.2 超級用戶root :

            一個特殊的管理帳戶
            也被稱為超級用戶
            root已接近完整的系統控制
            對系統損害幾乎有無限的能力
            除非必要,不要登錄為root
            這個用戶對簡單的來說就是一個房子的房東,他想對房子做什么就做什么因為房子是他的。他想干什么就干什么。(無敵的存在— —.)

二、終端(terminal)

    這個是用來對linux進行操作的,與windows不同,linux因為不同于windows的哲學思想,所以在linux想要最直觀的的結果,那就是在字符界面下進行操作了,在字符界面下操作就離不開一種工具那就是終端,當然終端用很多種,比如在windows下去鏈接linux的終端軟件可以使用Xshell和secureCRT進行對系統的管理。

    當然在Linux下也有不同的終端

    2.1 設備終端
        鍵盤鼠標顯示器
    2.2 物理終端(/dev/console )
        控制臺console
    2.3 虛擬終端(tty:teletypewriters,/dev/tty# #為[1-6])
        tty 可有n個,Ctrl+Alt+F[1-6]
    2.4 圖形終端(/dev/tty7 )startx, xwindows
        CentOS 6: Ctrl + Alt + F7
        CentOS 7: 在哪個終端啟動,即位于哪個虛擬終端
    2.5 串行終端(/dev/ttyS# )
        ttyS(基本沒人用了)
    2.6 偽終端(pty:pseudo-tty ,/dev/pts/# )
        pty, SSH遠程連接
    2.7 當然我們查看終端的命令是:#tty      

   [→_→TianRandai的滑稽臉]  我們得知道我們用的是什么終端嗎

三、shell是什么?

    3.1 Shell 是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內核去執行。我們都知道kernel是執行二進制命令的,但是我們不可能去輸入二進制啊,那太多也太麻煩了想一想一條命令要用多少個1和0啊,所以我們的shell 就是來做翻譯的,將我們看的懂的命令翻譯成二進制命令,發送到kernel來讓kernel執行二進制命令,kernel執行命令后回執的二進制結果,通過shell 在翻譯成我們看的懂的語言,額…就是類似翻譯機的軟件。當然shell也是一種高級程序設計語言。

   [→_→TianRandai的滑稽臉] shell 腳本,聽說過么?  沒有! 以后會聽說的。

    筆記四、Linux基礎入門-上半部

       3.2 當然有了shell 就會有shell 的種類,想CentOS中使用的shel l就是 bash (Bourne-Again Shell),也是目前Linux標準的shell    

        [→_→TianRandai的滑稽臉](注釋:GNU Bourne-Again Shell(bash)是GNU計劃中重要的工具軟件之一,與sh兼容)

       筆記四、Linux基礎入門-上半部

        

        3.3 命令提示符:prompt  (這不是命令 →_→)

        筆記四、Linux基礎入門-上半部

        筆記四、Linux基礎入門-上半部

            3.3.1 顯示命令提示符的格式

            筆記四、Linux基礎入門-上半部

            3.3.2 修改提示符格式
            PS1=”\[\e[31m\][\u@\h \W]\\$\[\e[0m\]”
            \e \033                            \u 當前用戶 
            \h 主機名簡稱                   \H 主機名
            \w 當前工作目錄               \W 當前工作目錄基名
            \t 24小時時間格式             \T 12小時時間格式
            \! 命令歷史數                    \# 開機后命令歷史數
           [→_→TianRandai的滑稽臉](注釋:[32m\]這里是顏色,顏色可以使用這條命令查看,數字應對的顏色cat /etc/DIR_COLORS)

四、命令的執行

        4.1我們如何在終端中執行一條命令呢?

        首先打開一個終端,在終端的命令提示附后輸入命令然后回車:

            然后,提請shell程序找到鍵入命令所對應的可執行程序或代碼,并由其分析后提交給內核分配資源將其運行起來。

        4.2在shell中可執行的命令有兩類:
            內部命令:由shell自帶的,而且通過某命令形式提供
            help 內部命令列表
            enable cmd可以啟用
            enable –n cmd禁用內部命令
            enable –n 查看所有禁用的內部命令
             [→_→TianRandai的滑稽臉](注釋:cmd不是命令,這里只帶應該輸入命令)

        4.3外部命令:在文件系統路徑下有對應的可執行程序文件
            查看路徑:which -a |–skip-alias; whereis

            筆記四、Linux基礎入門-上半部
        4.4區別指定的命令是內部或外部命令:
            # type COMMAND
            筆記四、Linux基礎入門-上半部

五、執行外部命令

        5.1Hash緩存表:
系統初始hash表為空,當外部命令執行時,默認會從PATH路徑下尋找該命令,找到后會將這條命令的路徑記錄到hash表中,當再次使用該命令時,shell解釋器首先會查看hash表,存在將執行之,如果不存在,將會去PATH路徑下尋找。利用hash緩存表可大大提高命令的調用速率
        5.2 Hash常見用法:

            hash 顯示hash緩存
            hash –l 顯示hash緩存,可作為輸入使用
            hash –p path name 將命令全路徑path起別名為name
            hash –t name 打印緩存中name的路徑
            hash –d name 清除name緩存
            hash –r 清除緩存

           [→_→TianRandai的滑稽臉](注釋:運行過的命令hash會記錄下來,當內存記錄下來后,系統便不會找硬盤中的命令(只有外部命令才會存放在hash中))

            筆記四、Linux基礎入門-上半部

             [→_→TianRandai的滑稽臉](注釋:1.我在hash緩存表中將/etc/abc文件定義為vi命令,在執行vi命令,這里提示沒有abc文件或者目錄,這證明系統在運行外部命令時,先從緩存中找,找到則執行,找不到則在去硬盤找。)

六、命令別名

            6.1定義別名

            #alias 

        定義別名NAME,其相當于執行命令VALUE
            #alias NAME=’VALUE’
筆記四、Linux基礎入門-上半部

            [→_→TianRandai的滑稽臉](注釋:直接輸入alias 查詢現有的別名)

            筆記四、Linux基礎入門-上半部

            6.2取消別名

            #unalias 

                格式:   unalias   別名

                    筆記四、Linux基礎入門-上半部

            [→_→TianRandai的滑稽臉](注釋:以上方法都是臨時建立別名的方法,重啟失效,若想開機生效則要寫入到特定的文件中   ~/.bashrc只對當前用戶有效    /etc/bashrc對所有用戶都有效)

            [→_→TianRandai的滑稽臉](注釋:對于寫完文件想要文件立刻生效需要一些其他的命令)

                    source .bashrc   或者  .  .bashrc讓進程重新讀取配置文件

                   筆記四、Linux基礎入門-上半部

           [→_→TianRandai的滑稽臉](注釋:這里echo命令是輸出字符串,>>是重定向 ,不要糾結第一條命令,以后會講到的,現在同學們只需要知道這條命令是將alias ifeth0=”ifconfig ens33寫入到.bashrc中就好了。)

            [→_→TianRandai的滑稽臉](注釋:系統中原本是沒有ifeth0這條命令的,這條命令是我自己定義出來的別名。)

            [→_→TianRandai的滑稽臉](注釋:這里解釋一下系統執行命令運行的優先級,1.別名    2.內部命令    3.外部命令)

六、 命令格式

            命令的書寫也是要按照特定格式的,朋友們,這東西不能胡亂寫。

                                COMMAND [OPTIONS…] [ARGUMENTS…]

            翻譯過來就是     命令   選項   參數

                選項:用于啟用或關閉命令的某個或某些功能;
                    短選項:-c, 例如:-l, -h
                    長選項:–word,例如:–all, –human-readable
                參數:命令的作用對象,比如文件名,用戶名等

            [→_→TianRandai的滑稽臉](注釋:有些命令是可以跟參數,選項執行的。有一些則需要跟上參數,選項執行)                         

            [→_→TianRandai的滑稽臉](注釋“[]”中括號是可選項,這個…應該都知道吧。)

            注意:
                1、多選項,以及多參數和命令之間使用空白字符分隔
                2、取消和結束命令執行:Ctrl+c,Ctrl+d
                3、多個命令可以用;符號分開
                4、一個命令可以用\分成多行

七、顯示日期和時間

        #date

        #date  月份日期小時分鐘年份.秒鐘

        筆記四、Linux基礎入門-上半部
     Linux的兩種時鐘
        系統時鐘:由Linux內核通過CPU的工作頻率進行的
        硬件時鐘:主板
            hwclock,clock: 顯示硬件時鐘

                -s, –hctosys以硬件時鐘為準,校正系統時鐘
                -w, –systohc以系統時鐘為準,校正硬件時鐘

        筆記四、Linux基礎入門-上半部
        時區:/etc/localtime
            cal顯示日歷

            筆記四、Linux基礎入門-上半部
            cal–y
            nano文本編輯

            筆記四、Linux基礎入門-上半部

八、關機重啟

        關機:halt, poweroff
        重啟:reboot
            -f: 強制,不調用shutdown
            -p: 切斷電源
        關機或重啟:shutdown
            shutdown [OPTION]… TIME [MESSAGE]
            -r: reboot
            -h: halt
            -c:cancel
            TIME:now: 立刻
            +m: 相對時間表示法,多久之后;例如+3
            hh:mm: 絕對時間表示,指明具體時間

九、用戶登錄信息查看命令:
        whoami: 顯示當前登錄有效用戶

        筆記四、Linux基礎入門-上半部
        who: 系統當前所有的登錄會話

        筆記四、Linux基礎入門-上半部
        w: 系統當前所有的登錄會話及所做的操作

        筆記四、Linux基礎入門-上半部

        who am i 顯示的是實際用戶的用戶名,即用戶登陸的時候的用戶ID

        筆記四、Linux基礎入門-上半部

十、screen命令:
        創建新screen會話:
            screen –S [SESSION]
        加入screen會話:
            screen –x [SESSION]
        退出并關閉screen會話:
            exit
        剝離當前screen會話:
            Ctrl+a,d
        顯示所有已經打開的screen會話:
            screen -ls
        恢復某screen會話
            screen -r [SESSION]

        [→_→TianRandai的滑稽臉](注釋:這是一個類似遠程共享終端的命令,它可能需要單獨安裝。)

            掛載好鏡像,下面是Centos7的安裝命令

                [root@centos7 Packages]#cd /run/media/root/CentOS\ 7\ x86_64/Packages/ 
                [root@centos7 Packages]#rpm -ivh screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm

            掛載好鏡像,下面是Centos7的安裝命令

                [root@centos6 Packages]#mount /dev/cdrom /mnt

                [root@centos6 Packages]#cd /mnt/Packages/

                [root@centos6 Packages]#rpm -ivh screen-4.0.3-19.el6.x86_64.rpm 

        [→_→TianRandai的滑稽臉](注釋:這個我有點解釋不清楚,其中奧妙自行體會吧。)

十一、echo命令
        功能:顯示字符
            語法:echo [-neE][字符串]
        說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號
            選項:
                -E (默認)不支持\解釋功能
                -n 不自動換行
                -e 啟用\字符的解釋功能

                筆記四、Linux基礎入門-上半部

                啟用命令選項-e,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出
                    \a 發出警告聲
                    \b 退格鍵
                    \c 最后不加上換行符號
                    \n 換行且光標移至行首
                    \r 回車,即光標移至行首,但不換行
                    \t 插入tab
                    \\插入\字符
                    \0nnn 插入nnn(八進制)所代表的ASCII字符
                    echo -e ‘\033[43;31;5mmagedu\033[0m’
                    \xHH插入HH(十六進制)所代表的ASCII字
    命令行擴展:$( ) 或“
        把一個命令的輸出打印給另一個命令的參數
       筆記四、Linux基礎入門-上半部
        括號擴展:{ }
        打印重復字符串的簡化形式
    筆記四、Linux基礎入門-上半部        
        ?顯示變量
            echo “$VAR_NAME“ 變量會替換,雙引號表弱引用
            echo ‘$VAR_NAME‘ 變量不會替換,強引用

            筆記四、Linux基礎入門-上半部

            今天就寫在這到這里啦。已經寫的好長啦,最近出Linux入門下半部,下半部記載著歷史命令與神器tab的使用方法…….[→_→TianRandai的滑稽臉](注釋:絕世武功,上半部  終

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

(0)
TianRandaiTianRandai
上一篇 2017-02-23
下一篇 2017-02-24

相關推薦

  • N25-第一周作業

    一,描述計算機的組成及其功能。        計算機(Computer)是一種能夠按照事先存儲的程序,自動、高速地進行大量數值計算和各種信息處理的現代化智能電子設備。由硬件和軟件所組成,兩者是不可分割的。        計算機的組成分為控制…

    Linux干貨 2016-12-03
  • 關于壓測的宏觀個人總結

    工作角色定位 首先先從宏觀角度來評估下本次的壓測工作. 從工作職責上說本次壓測理應由組內其它同學來完成,個人從旁協助或指導即可。團隊成員的成長對我個人來說才是更大的成長。所以即使這次壓測工作完成的再出色,都會因為是由我來完成的,所以都不能稱之為優秀的。對我個人的成長最多是項目經驗的增長和問題的積累,但對組員來說如何讓他們做到現有成果的80%是我需要幫助他們來…

    Linux干貨 2015-04-21
  • tomcat

      編程語言:硬件級:微碼編程,匯編語言系統級:C,C++,…應用級:Java, PHP, Python, Ruby, Perl, C#, …Python: PVMStandard LibraryWeb Framework:Django, Flask, …Java:JVM,JDKbash:bash ex…

    Linux干貨 2017-05-22
  • M20-1 8月3號 ACL訪問控制列表

    一、acl簡介:   access control list,用于實現靈活的權限管理,除了文件的所有者,所屬組和其他人,可以對更多的用戶設置權限,而acl生效的順序是所有者,自定義用戶組,自定義組,其他人。 二、ACL的設置技巧:   getfacl:取得某個文件/目錄的ACL設置項目   setfacl:設置某個目錄/文件的A…

    Linux干貨 2016-08-08
  • MapReduce數據流

    Hadoop的核心組件在一起工作時如下圖所示: 圖4.4高層MapReduce工作流水線   MapReduce的輸入一般來自HDFS中的文件,這些文件分布存儲在集群內的節點上。運行一個MapReduce程序會在集群的許多節點甚至所有節點上運行mapping任務,每一個mapping任務都是平等的:mappers沒有特定“標識物”與其關聯。因此,任意的map…

    Linux干貨 2015-05-13
  • 計算機網絡基礎

    計算機網絡 指使用一定的通信線路,把地理位置上相對分散的、具有獨立自制能力的計算機系統等連接起來,在一定通信協議的約束與控制下,實現數據交換的目的! 計算機網絡體系結構 計算機網絡體系結構是一個分層次的模塊式結構,每一層完成一個功能,這種流式化的結構能提高生產力!網絡分層的好處 促進了標準化 各層次相互獨立,技術升級和擴展靈活性好 便于方案的設計 開放系統互…

    Linux干貨 2016-09-06
欧美性久久久久