Linux基礎指令(詳解版)

Linux介紹:

  特點: 開源、免費、自由使用;多用戶、多線程、多任務、多CPU。

  組成:Linux = 內核 + shell + 文件系統 + 應用程序

  應用:服務器、手機操作系統......

  分支:Redhat、debain......

  安裝:VMware、centOS6.4

           基本環境配置(root)

1.修改主機名

         查看:hostname

        修改:

                臨時修改:hostname    bigdata-training01.huadian.com

                永久修改:

                              (1).vi    /etc/sysconfig/network

                              (2).按下鍵盤“i”進入編輯模式

                              (3).修改主機名 bigdata-training01.huadian.com

                              (4)."ESC" -> ":" + "wq" + 回車

2.配置網絡

        VMware子網絡改成192.168.59.0

        ip: 192.168.59.150

        網關:192.168.59.2

        子網掩碼:255.255.255.0

        方式:

                (1).UI界面

                (2).vi    /etc/sysconfig/network-scripts/ifcfg-eth0    網卡

                    service    network    restart    重啓服務

        3.查看網絡命令:

                ifconfig     Linux中查看ip

ping 看是否能夠將網絡連接

3.網絡映射(內部局域網)

          vi    /etc/hosts

          halt:關機,reboot:重啓

          額外:    windows    hosts    文件修改

        c:\windows\System32\drivers\etc\hosts

        追加:  192.168.59.150    bigdata-training01.huadian.com

4.Linux遠程工具

  1.securtCRT

            快捷鍵:支持遠程文件和命令行編輯

            複製:鼠標滾輪

            粘貼:鼠標右鍵

 2.notepad++:支持遠程編輯的    文本編輯器

 3.Xmanager

            xshell:遠程命令行

            xftp:遠程文件傳出工具

            xbrowser:遠程桌面

5.相對路徑和絕對路徑

        絕對路徑:從最底層的根目錄(/)開始訪問

        相對路徑:相對於指由這個文件所在路徑引起的跟其他文件(或文件夾)的路徑關係。

Linux常見命令

通用格式:

        命令    選項(參數)    [操作的文件或者目錄]

          ls           -a                        /

         (1).ls : list    列舉一個目錄下的文件

                    -l : length:  長格式方式查看    ll ==(ls    -l)

                   -a:    列舉包含隱藏文件

          (2).cd: chang    dir    修改對當前所在格式

          (3).pwd:print    work    director打印當前目錄,從根目錄開始算起

          (4).clear:    清屏   ==    ctrl    +    l

          (5).history:    查看命令歷史記錄

文件管理

 1.創建(touch)

              文件:touch    filename

                      注意:如果是多個文件,文件名之間用空格隔開

                     touch "hello world" 一個文件名中間出現空格時,需要雙用引號引起來

           文件夾:mkdir    dirName

                -p:    遞歸

               eg:    mkdir    /a/b/c,如果b不存在,先創建b目錄,以此類推:mkdir    c       

2.刪除(remove)

          rm:    -r:    刪除目錄(遞歸目錄)            -f:    免確認

           rmdir:    只能刪除空目錄

       注意:    Linux中,如果出現backspace無法刪除,先按下ctrl    +    backspace

3. 編輯(vi/vim)

          複製:cp    ==    copy

                  cp    source_file    targe_file

4.移動:(重命名) mv == move

                mv    source_file    targe_file

5.查看

         cat :    直接查看文件所有內容

        more:    分頁查看

        less:    分頁查看(可以向上查看,按鍵盤上下鍵)

        head:    查看文件頭部的內容,默認顯示10行

                -num:查看多行

                eg:    head    -20    filename    查看filename文件的前20行

       tail:    查看文件尾部的內容,默認顯示10行

           -n: 查看多行

            -F:動態查看:不同界面取操縱時,這邊會隨時變化

  1. 打印

    echo “huadian” 打印在控制檯

    echo “huadian”> bb.text 覆蓋

    echo “huadian” >> bb.text 追加

7.常見的符號命令:

                .    :    表示當前目錄

               ..    :    表示上一級目錄

              ~    :    表示家目錄

             >    :    覆蓋重寫某個文件

             >>:    追加到某個文件

             |    :    管道符,一般與grep連用

8.常見的工具命令

    help:幫助命令

        wc:文件統計    wordcount

                        wc    cc.txt

                          2          2         23         cc.txt

                     行數      單詞      字符        文件名

                    -l            -w        -c

    du:    文件大小統計

            -h:人性化的顯示單位

visudo: 編輯sudo命令

            需求:我希望huadian用戶擁有特殊權限(查看防火牆狀態)

            huadian    ALL=(ALL)    /sbin/service    iptables    status

            huadian    ALL=(ALL)    /sbin/service    iptables    stop

     直接配置成擁有root的所有權限

          推薦配置用法

            huadian                ALL=(root)                                NOPASSWD:ALL

           用戶名        登錄主機=(以什麼樣的身份執行)            執行什麼樣的命令

該用戶怎麼去使用額外配置給他的權限

        sudo    service    iptables    status

9.虛擬機圖形化界面

cat    /etc/inittab    關於虛擬機圖形化界面的查看

vi    /etc/inittab      關於圖形化界面的設置

Linux用戶和權限管理

     管理員用戶

                  只有一個:UID=0的用戶就是管理員用戶,一般情況下,默認它的用戶就是root

                  家目錄:/root

                   root        :x        :0        :0        :root    :/root    :/bin/bash

                   用戶名    密碼    uid      gid        組名    家目錄    所用的shell

    普通用戶

                自己創建的新用戶,默認UID從500開始

                家目錄:/home/${username}

                huadian:x:500:500:huadian:/home/huadian:/bin/bash

    創建用戶

            gId和uId一樣

            gName和uName一樣

    查看用戶

            id    username

                    eg:id    lw

    刪除用戶

           如果被刪除的用戶在登錄狀態的話,無法刪除

            userdel    username:刪除用戶

            userdel    -r    usernme:刪除用戶並且刪除家目錄

            groupdel    groupName:刪除用戶組

     設置密碼

            passwd username            eg:passwd lw

    切換用戶

            su - username

            su - :切換到root用戶,需要輸入密碼

           su - XXX:由root用戶切換到普通用戶,不需要密碼

           退出:    exit

權限管理

     (ll)可查看一個用戶有什麼權限

      Linux中用戶的分類

                所有者(u)            同組用戶(g)        其他人(o)

      Linux中文件權限

                讀(r)    寫(w)    執行(x)     沒有權限(-)

      文件權限詳情

              -rw-r--r--.    2    root    root    11    Jun    3    01:32    bb.text

              drwxr-xr-x.    2    root    root  4096    Jun    2    07:46    b

    (1)    -:    -文件;    d目錄

         (rw-r--r--):    分成三組

                   rw-:    所有者權限,具有讀、寫權限,沒有執行權限

                    r--:    同組用戶權限,具有讀權限,沒有寫和執行權限

                    r--:    其他人權限,具有讀權限,沒有寫和執行權限

  (2)    :    該文件的鏈接個數,要和ln    ln    -s    source    target

           (root    root):    文件所屬者   文件所屬組

(11):    文件大小

         (Jun    3    10:32)最後修改時間

修改權限

    格式:chmod    [添加或者刪除權限]    file

    需求:    -rw-r--r--.    2    root    root    11    Jun    3    01:32    cc.txt

            希望給huadian用戶添加寫的權限

        方式一:通過字符修改

                chmod    o+w        cc.txt

                添加權限:    +

                刪除權限:    -

                chmod    o+w,g+w    cc.txt:    給其他人和同組用戶寫權限

                chmod    a+w    cc.txt:給所有用戶

        方式二:    3位8進製表示

                rw-r--r--:    (110    100    100)    2    ==644

                chomd    644    cc.txt

                rwxrwxrwx:    (111    111    111)    2    ==  777

                chomd    777    cc.txt

       修改文件所屬用戶和所屬組

                chown    username:groupName    file

                chown    :groupName    file

                chown    username:    file

                -R:遞歸修改所屬用戶和所屬組   

編輯 vi file_path

    如果file——path不存在,保存以後,默認會創建一個文件

3種模式

    命令模式:

            第一次進入vi,默認就是命令模式

            按ESC鍵進入命令模式。

            在命令模式模式下,可以輸入命令:

                  i    :    進入插入模式

                yy   :    複製當前行。5yy:複製當前行開始後的五行

                p    :    在當前位置粘貼

                dd :    刪除當前行。5dd:刪除當前行開始的五行

                u   :    撤銷上一步

                gg:    跳轉到第一行

                 G :    跳轉到最後一行

                數字+gg:    跳轉到指定行,5gg:    跳轉到第5行

                O:    在上一行進入編輯模式

                o:    在下一行進入編輯模式

插入模式:在命令模式下,輸入“i”進入插入模式,這時候可以對文本進行編輯

最後行模式:在命令行模式下,按shift + “:”,進入最後行模式

也可以輸入一些指令:

        wq/x/ZZ:    保存退出

        q:    不保存退出

         !:    強制

        q!:強制不保存退出

        set    nu(number):    顯示行號

        /string    檢索字符串    eg: /guangtouqiang

       n    檢索下一個字符串

         替換字符串

系統管理命令

    硬盤管理

    常見的硬盤類型

                    IDE:hda、hdb、gdc

                    SAS (SCSI)    -->SATA:sda、sdb

                    SSD

     管理命令

                    df    -h

                    添加硬盤的步驟:

                            (1).添加硬盤

                             (2).在硬盤中新建分區

                             (3).將目錄掛載到分區中

      網絡管理

                    ifconfig

                    route:查看路由器信息

      服務管理命令

                    格式:service    Linux中所有自帶服務的管理命令

                           查看支持的命令:ll    /etc/init.d/

                                        network:網絡

                                         iptables:防火牆

                    service    s_name    start|stop|status|restart

                    chkconfig:    設置開機啓動

                            查看:chconfig    iptables    --list

                    設置:chkconfig    iptables    off|on

                     端口管理:

                           netstat

                                -a:    列舉所有的連接,服務監聽等。

                                -t:    列舉tcp協議的服務

                                -u:    列舉udp協議的服務

                            netstat    -a    |grep    3306:管道符,過濾出需要查找的東西

                     進程管理:

                            ps:查看當前進程

                                  ps    -ef    |grep    java:查看Java進程

                            jps:

                                  kill:    殺死進程

                                            kill    -9    pid

                                    redhat的selinux安全機制

                                            關閉:vi    /etc/selinux/config

                                                    SELINUX=disabled

                                              重啓機器生效

壓縮管理

linux壓縮管理
常見的壓縮工具
zip
gzip
後綴:.gz
壓縮:gzip file_path
解壓:gunzip fileName.gz
特點:
壓縮後源文件沒有了
不能對文件夾進行壓縮

    bzip2:適合壓縮比較大的文件
        後綴:bz2
        壓縮:bzip2 file_path
        解壓:bunzip2 file_path.bz2
        特點:
            壓縮後源文件沒有了
            不能對文件夾進行壓縮
    tar:打包命令,將多個文件或者目錄打包成一個文件
        格式:    
            打包:
                tar [選項參數] target.tar source
            解包:
                tar [選項參數] source.tar -C target
        參數:
            -c:打包
            -x:解包
            -z:是否使用gzip進行壓縮或者解壓
            -j:是否使用bzip2進行壓縮或者解壓
            -v:是否顯示解壓或者壓縮過程

        使用最頻繁的命令:
            使用tar + gzip (最最頻繁)
                解壓:
                    tar -zxvf XXX.tar.gz  -C  ./
                壓縮:
                    tar -zcvf  XXX.tar.gz  source
                    
            使用tar + bzip2
                解壓:
                    tar -jxvf xxx.tar.bz2 -C ./
                壓縮:
                    tar -jcvf  XXX.tar.bz2  source
   常見的壓縮格式:

                zip

             gzip:

                    後綴名:    .gz

            壓縮:gzip    file_path

            解壓:gunzip    flie_path.bz

            壓縮:bzip2 Who.txt

            解壓:bunzip2    file_path.bz2

            特點:不能對文件夾進行壓縮,壓縮後源文件沒有了

            tar:打包命令,將多個文件或者文件夾打包成一個文件 

----------------------重點--------------------------

            屬性:

                    -c: 建立壓縮檔案

                    -x:解壓

                    -t:查看內容

                    -r:向壓縮歸檔文件末尾追加文件

                    -u:更新原壓縮包中的文件

   這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。

                     -z:有gzip屬性的時候

                      -j:有bz2屬性的時候

                     -Z:有compress屬性的

                      -v:顯示所有過程

                     -O:將文件解開到標準輸出

            下面的參數-f是必須的

                       -f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。              

                  解壓:

                         tar    -zxvf    source.tar    -C    targe    : 顯示解壓過程

                         tar    -zxf    source.tar    -C    targe    :不顯示解壓過程

                 壓縮:

                        tar    -zcvf    filr.tar    source

                eg:

                     tar    -zxf    ./jdk-8u91-linux-x64.tar.gz    -C    /opt/moduls/

                    jdk-8u91-linux-x64.tar.gz    :使用tar+gzip組合生產的文件

關機和虛擬機克隆、快照

    關機:halt    or    init    0    or    shutdown    -h    now

    重啓:reboot    or    init    6   

             /etc/inittab            該文件中,說清楚了init   0~6分別是什麼意思。

  快照:

            使用一段時間後,對Linux進行快照,目標,出現了問題,可以回滾

            快照會佔用大量的磁盤空間

            怎麼快照:

                            (1)先關機

                            (2)VMware操作

   克隆:

            作用:複製出完全一樣的配置機器。

            怎麼克隆

                (1)關機

                (2)修改mac地址

                            vim    /etc/udev/rules.d/70-persistent-net.rules

                            刪除eth0

                           複製eth1的mac地址:00:0c:29:f7:24:b8

                 (3) 修改ip,hostname

                    ip:

                            vi    /etc/sysconfig/network-scripts/ifcfg-eth0

                            IPADDR=192.168.59.151

                            HWADDR=00:0c:29:f7:24:b8

                   hostname:

                            vi    /etc/sysconfig.network

                            HODTNAME=bigdata-training02.huadian.com

             (4)    hosts

                      vi    /etc/hosts

             (5)    重啓(reboot)

Linux軟件安裝

         軟件類型

                RPM:Redhat序列特用的軟件包

                dakg:debain序列特用的軟件包

                源碼包:需要在Linux中進行編譯安裝,需要自己編譯、自己安裝

                            java    maven

                            c/c++    gcc去編譯

                            預編譯

                            編譯:make

                            安裝:make    install

                軟件的安裝

                            rpm:安裝RPM結尾的軟件包

                                    檢查:rpm    -qa    |grep    java

                                    安裝:rpm    -ivh    XXXX.rpm
                                            當軟件存在依賴的時候,會安裝失敗,需要先將依賴安裝好。

                                   卸載:rmp    -e   XXX

                                                       --nodeps:忽略依賴

                                            sudo    rpm    --nodeps    mysql-libs-5.1.66-2.el6_3.x86_64

                                 yum: 通過軟件源安裝

                                        自動解決依賴問題

                                        安裝: yum    install    -y    XX    (zip、mysql)

                                        查看當前已安裝的包:yum    list    installed

                                        卸載:yum    remove    zip

                                        yum源配置文件路徑

                                               vi    /etc/yum.repos.d/

                                                 阿里雲yum,163

                                        版本問題:      

                                                 比如mysql,yum    版本5.1.x

                                       綠色安裝:最多最多最多

                                                tar    -zxf    xxx.tar    -C    target

      Linux定時任務

               at    命令

                      設置時間    at    0:18

                       進入at命令行,設置需要在0:18執行的命令

                       mkdir    -p    /a/bb/201806050108

                        保存退出

                         crtl + d

crontab

    啓動crontab服務

            service    cround    start

            chkconfig    crond    on

     編輯定時任務

             crontab    -e

    刪除定時任務

            crontab    -d

            *       *               *               *               *                   command

分鐘 小時 日 月 周 需要執行的腳本(絕對路徑)
取值 0~59 0~23 1~31 1~12 0~7(0和7表示的都是週日)

特殊字符
每隔半小時執行一次
頻率: /
*/30 * * * * command
連續時間:-
早上8:00~18:00之間,每隔半小時執行一次
*/30 8-18 * * * command
間斷時間:,
早上8:00和18:00執行一次

  • 8,18 * * * command

eg:
每天上午10:00執行
0 10 * * * sh /mkdir.sh
0 0 * * 3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章