alias、grep、vim、find
阿新 • • 發佈:2019-04-08
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