1. 程式人生 > >alias、grep、vim、find

alias、grep、vim、find

delet else 要求 查找文件 輸出 圖片 測試 mman rep

1、定義一個對所有用戶都生效的命令別名,例如:leftps=‘leftps 172.168.0.1/pub‘;
    alias命令可實現命令別名:
            定義別名:alias NAME=‘COMMAND‘
            撤銷別名:unalias NAME

例:
技術分享圖片
註意此命令僅對當前進程有效如果想永久有效,需要編輯.bashrc文件,此文件僅對當前用戶有效,如果想要所有用戶生效,需要編輯/etc/bashrc文件

        例:
        ~]# vim /etc/bashrc
        在末行輸入命令別名alias p=‘ping www.baidu.com’,保存退出
        重新登陸用戶

技術分享圖片

2、顯示/etc/passwd文件中不以/bin/bash結尾的行;

技術分享圖片

3、找出/etc/passwd文件中,包含二位數字或者三位數的行;

技術分享圖片

4、顯示/proc/meminfo文件中以大寫或小寫s開頭的行,用三種方式實現;

     ~]# grep ‘^[Ss].*‘ /proc/meminfo
     ~]# grep -i ‘^s‘ /proc/meminfo
     ~]# grep -E ‘^[s|S]‘ /proc/meminfo

5、使用echo輸出一個絕對路徑,使用egrep取出路徑名,類型執行dirname /etc/passwd的結果;

技術分享圖片

6、找出ifcongfig中的ip地址,要求結果只顯示ip地址;

技術分享圖片

7、vim定制自動縮進四個字符;

    編輯/etc/vimrc文件,在末行輸入
    set ai
    set tabstop=4

8、編寫腳本,實現自動添加三個用戶,並計算這三個用戶的uid之和;

    for i in {user1,user2,user3};do
                    if id $i &> /dev/null;then
                    echo ‘$i exists‘
                    else
                                    useradd $i
                    fi
    done
    user1=$(grep ^‘user1‘ /etc/passwd | cut -d: -f3)
    user2=$(grep ^‘user2‘ /etc/passwd | cut -d: -f3)
    user3=$(grep ^‘user3‘ /etc/passwd | cut -d: -f3)
    echo $[$user1+$user2+$user3]

9、find用法以及常用用法的實例演示;

    find命令
            用法:find [options] [查找起始路徑] [查找條件] [處理動作]
            查找起始路徑:指定具體搜索的目標路徑,默認當前目錄
            查找條件:指定查找的標準,可以根據文件名、大小、類型、從屬關系、權限等等標準進行,默認為找出指定路徑下的所有文件
            處理動作:對符合查找條件的文件作出操作,例如刪除等,默認為輸出至標準輸出

            查找條件:
                表達式:選項和測試
                                測試:
                                根據文件名查找:
                                             -name “pattern”
                                             -iname “pattern”
                                             支持glob風格的通配符
                                             -regex pattern:基於正則表達式模式查找文件,匹配是整個路徑,而非其名
            根據文件從屬關系查找:
                   -user username:查找屬主指定用戶的所有文件
                   -group groupname:查找屬組指定組的所有文件
                   -uid UID:查找屬主指定的UID的所有文件         
                   -gid GID:查找屬組指定的GID的所有文件
                   -nouser:查找沒有屬主的文件
                   -nogroup:查找沒有屬組的文件
          根據文件的類型查找
          -type TYPE
                   f:普通文件
                   d:目錄文件
                   l:符號鏈接文件
                   b:塊設備文件
                   c:字符設備文件
                   p:管道文件
                   s:套接字文件
          組合測試
                   與:-a,默認組合邏輯
                   或:-o
                   非:-not,!
          根據文件大小查找
          -size [+|-]#UNIT
                   常用單位:k,M,G
                   #UNIT:(#-1,#]
                   -#UNIT: [0,#-1]
                   +UNIT: (#,無窮大)
          根據時間戳查找:
                   以天為單位
                             -atime [+|-]#
                             -mtime
                             -ctime
                   以分鐘為單位
                             -amin
                             -mmin
                             -cmin
          根據權限查找
                   -perm [/|-]mode
                             mode:精確權限匹配
                             /mode:任何一類用戶(u,g,o)的權限中的任何一位(r,w,x)符合條件即滿足
                                      9位權限之間存在“或“關系
                            -mode:每一類用戶(u,g,o)的權限中每一位(r,w,x)同時符合條件即滿足
                                      9位權限之間存在“與“關系
          處理動作
                   -print:輸出至標準輸出,默認的動作
                   -ls:類似於對查找的文件執行“ls-l“命令,輸出文件得到詳細信息
                   -delete:刪除查找到的文件
                   -fls /path/to/somefile:把查找的所有文件的長格式信息保存至指定文件中
                   -ok COMMAND {} \;:對查找到的每個文件執行由COMMAND表示的命令

alias、grep、vim、find