天天看點

# Linux常用指令 #

1.建立一個目錄/data

mkdir /data
        用一條指令建立多層目錄
            mkdir -p /root/data/yang; -p遞歸建立目錄            
           
記憶方法: make directory

2.更換目前目錄

cd /data;
           
記憶方法change directory

3.在/data下面建立一個檔案yang.txt

(1)cd /data 
                Touch yang.txt
         (2)touch /data/yang.txt
           
記憶方法 ,touch = 摸一下,

4.為yang.txt 增加内容

(1)Vi yang.txt
        (2)Vim yang.txt
           

5.檢視 cat

cat yang.txt
        cat -n yang.txt
            帶行号的查詢
           

6.單行或多行字元串列印 echo

echo ”haha”
           
新用法:echo {1..10} echo {a..z}

7.将單行多行字元串插入到xin.txt檔案末尾 重定向>

echo “haha” >xin.txt
        (>>是追加重定向)
        echo “gaga” >> xin.txt
           

8.複制yang.txt到xin.txt

cp yang.txt xin.txt
           
記憶方法:copy

9.移動目錄或檔案

mv yang.txt /root
           

10.列印工作目錄

pwd
           
記憶方法:print work directory

11.檢視目錄清單

ls
        ls -l  以長格式顯示檔案屬性
        ls -d  顯示目錄
           
記憶方法:list

12.指令的幫助 man

man touch
           

13.删除檔案或目錄 rm

a)删除檔案 rm yang.txt
        b)删除檔案且不加提示 rm -f tang.txt (不常用)
        c)删除目錄 rm -fr oldboy
        d)Xargs rm -f            
        (一般不用,一定要用先做備份,cp)
        替代方法:
            1)mv移動到一個臨時目錄,資源回收筒
            2)Find删除
           
記憶方法 remove

【14.find 極其重要】

第一種常用
        find /root/data/ -type f |xargs rm -f
            管道 |
        find /root/data/ -type f -exec rm -f {} \;
            -exec 對找到的内容做處理
            em -f 具體處理的方法
            {} 找到的内容
            \;對;号進行轉義    
           

15. .. 上級目錄

.  目前目錄 
        \. 代表點号;
           

面試題:

一個檔案下,除了一個yang.txt的檔案不删,其餘的全删

find /root/data -type f ! -name “yang.txt” |xargs rm -f
           

16.取檔案前N行

Head -2
           

17.【grep 過濾器(極其重要),把想要的和不想要的分開】

a)grep “oldboy” test.txt  就要oldboy    
            Oldboy
        b) -v排除 grep -v “oldboy” test.txt 除了oldboy都要
              Test
            Liyao
        c) -B 除了顯示目前行,還把前面N行顯示出來
            i)grep 30 -B 10 test.txt

        d)-A除了顯示目前行,還把後面N行顯示出來
            i)grep 20 -A 30 test.txt
        e)-C 除了顯示目前行,還把前後N行顯示出來
            i)grep 25 -C 5 test.txt
        f)-v 排除
                grep -v "h" yang.txt
                        把檔案中有h的行排除,把其它的行顯示出來
        g)-i 不區分大小寫
                grep -i "H" yang.txt
                        和上一條效果一樣
        h)-E 過濾多個字元串
                grep -E "M|b" yang.txt
                        把包含“M”或者“b”的字元串顯示出來
           

18.*****sed -n ‘/過濾的内容/處理的指令’ 檔案名(stream editor 流編輯器)

-n  取消預設輸出
        -i  改變檔案内容
        sed -n ‘/oldboy/d’ test.txt
        sed -n '2,8p' test.txt
           
處理的指令:p print 列印, d delete 删除

*****sed的替換功能

Sed “s###g” 檔案名
            Eg:
                1)sed “s#e#a#g” test.txt
                  2)sed -i “s#e#a#g” test.txt 永久替換
        解釋:
            s:常說的查找并替換,用一個字元串替換成另一個字元串
            g:與s聯合使用時,便是對目前行全局比對;
           

*****sed的讀取比對功能

sed -i 's#()#\1#g' test.txt
                一個括号對應一個\,第二個括号就是\2.
           

19.yum install tree

20.rpm ivh 包名.rpm

21.檢視目錄樹 tree

22.檢視以及定義别名 alias

a)alias yang=’echo “i am yang”’
           

23.unalias 取消别名

a)Unalias yang
           

24.~ 代表使用者的家目錄,針對root ~就代表root

25.seq序列=sequence

1)seq 5 8 列印5 - 8列
        2)seq 5 10 50 列印5-50之間等內插補點是10
        3)seq -s “=” 5 8 一行列印5-8 分隔符是”=”
            [[email protected] ~]# seq -s "=" 5 5 95
            5=10=15=20=25=30=35=40=45=50=55=60=65=70=75=80=85=90=95
           

26.tail 尾巴 與hand對應

a)Tail -3 取檔案最後三行
        b)-f 跟蹤一個檔案尾部的實時變化
           

面試題:在一個有100行的檔案中選取20-30行的内容

1)  Head -30 test.txt | tail -11
        2)  Set -n ‘20,30p’ test.txt
           

27.*【awk 一門語言,過濾内容(取列)(非常重要)】

a)awk '{print $2}' test.txt  顯示第二列的資料
        b)awk -F ":" '{printf $1"\n"}' /etc/passwd 指定分隔符為“:”的第一列資料, $NF 表示最後一列
           

面試題:在這種環境下替換所有”test.txt”中的“oldboy”替換成”oldgirl”

find /root/data/ -type f -name "test.txt" | xargs sed -i "s#oldgirl#haha#g"
        find /root/data/ -type f -name "test.txt"  表示找到類型為檔案,名字叫test.txt的檔案
        xargs 表示要對找到的檔案進行操作的關鍵字
        sed -i "s#oldgirl#haha#g" 永久替換 -i “s###g”
           

28.history 調出指令曆史記錄

29.互傳檔案

yum install lrzsz 
        1)直接打rz 選擇上傳的檔案到linux
        2)直接打sz 選擇檔案下載下傳到windows
           

30.檢視系統版本

cat /etc/redhat-release
           

31.檢視核心

uname -r --核心資訊
        uname -m --32位還是64位
        hostname --顯示主機名
           

32.添加賬号

useradd 使用者名
           

33.為使用者設定密碼

passwd 使用者名
           

34.檢視目前的使用者

whoami
           

35.角色切換 su

目前是普通使用者,切換到root使用者
        su - root 一定要加- 表示攜帶環境變量
           

36.檢查selinux狀态

getenforce
           

37.設定selinux狀态

settenforce
            1) 1:啟用
            2)0:警告,不啟用
           

38.使用者級别

[[email protected] ~]# tail /etc/inittab 
         Default runlevel. The runlevels used are:
              0 - halt (Do NOT set initdefault to this)
              1 - Single user mode
               2 - Multiuser, without NFS (The same as 3, if you do not have networking)
               3 - Full multiuser mode
               4 - unused
               5 - X11
               6 - reboot (Do NOT set initdefault to this)

        id:3:initdefault:

            0 -- 代表關機狀态
            1 -- 代表單使用者模式,比如linux root密碼忘了,想要找回密碼就用這個模式
            2 -- 多使用者模式,但是不能聯網
            3 -- 文本模式(工作場景用的就是這種模式)
            4 -- 現在還沒用
            5 -- 桌面模式
            6 -- 重新開機模式

        runlevel 檢視目前使用者級别
           

39. 修改開機啟動項

檢視  chkconfig --list   
        修改  chkconfig --level 3 atd off
        atd -- 服務名
           

40.關閉防火牆

1)service iptables stop
        2)/etc/init.d/iptables stop
           

基礎正規表達式

1). --單個任意字元
        2)* --重複前面任意0個或多個字元
        3).* -- 比對任意字元 
           

41.遠端登入

ssh ip位址
           

42.遠端傳送檔案

scp 檔案 目前身份@目的IP位址:/檔案位址
           

配置主機之間的免密登入

假如  A 登入 B
    (B這裡就寫IP就行)

    在A上操作:

    首先生成密鑰對
        ssh-keygen (提示時,直接回車即可)
    再将A自己的公鑰拷貝并追加到B的授權清單檔案authorized_keys中
        ssh-copy-id B
           

檢視日志檔案

tail -f(-F) 檔案 實時回顯檔案
           

背景服務管理

service  --status-all   顯示所有的服務
    service network status  檢視指定服務的狀态
    service network stop    停止指定服務
    service network start   啟動指定服務
    service network restart 重新開機指定服務
    設定背景服務的自啟動配置
    chkconfig   檢視所有伺服器自啟配置
    chkconfig iptables off  關掉指定服務的自動啟動
    chkconfig iptables on 開啟指定服務的自動啟動
           

繼續閱讀