1邪码、定義一個(gè)對(duì)所有用戶都生效的命令別名椒楣,例如:lftps='lftp 172.168.0.1/pub'
編輯文件/etc/bashrc文件
# vim /etc/bashrc
alias? remove="rm -rf"
2邻储、顯示/etc/passwd文件中不以/bin/bash結(jié)尾的行
?grep -v "/bin/bash$" /etc/passwd
3杜窄、找出/etc/passwd文件中侄旬,包含二位數(shù)字或者三位數(shù)的行。
grep -o "\b[0-9]\{2,3\}\b" /etc/passwd
4加矛、顯示/proc/meminfo文件中以大寫或小寫S開頭的行;用三種方式實(shí)現(xiàn)煤篙。
grep "^[sS]" /proc/meminfo
5斟览、使用echo輸出一個(gè)絕對(duì)路徑,使用egrep取出路徑名辑奈,類型執(zhí)行dirname?/etc/passwd?的結(jié)果苛茂。
echo /etc/passwd | grep -E -o "^/(.*)/"
6、找出ifconfig中的ip地址鸠窗。要求結(jié)果只顯示IP地址妓羊。
ifconfig | grep -E -o "([0-9]{1,3}\.){3}[0-9]{1,3}"
ifconfig | grep -o "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}"
7、vim定制自動(dòng)縮進(jìn)四個(gè)字符稍计。
set tabstop=4
set expandtab
8躁绸、編寫腳本,實(shí)現(xiàn)自動(dòng)添加三個(gè)用戶臣嚣,并計(jì)算這三個(gè)用戶的uid之和净刮。
#!/bin/bash
useradd user1 && useradd user2 && useradd user3
user_id1=$(id -u user1)
user_id2=$(id -u user2)
user_id3=$(id -u user3)
echo "$[$user_id1+$user_id2+$user_id3]"
9、find用法以及常用用法的實(shí)例演示硅则。
find命令:
工作方式:
????實(shí)時(shí)查找工具淹父,通過遍歷指定路徑下文件系統(tǒng)層級(jí)結(jié)構(gòu)完成文件查找
工作特性:
????查找速度略慢,精確查找怎虫,實(shí)時(shí)查找
查找起始路徑:指定具體搜索目標(biāo)其實(shí)路徑暑认;默認(rèn)為當(dāng)前目錄
查找條件:指定的查找標(biāo)準(zhǔn),可以根據(jù)文件名大审、文件大小蘸际、文件類型、從屬關(guān)系饥努、文件權(quán)限等等標(biāo)準(zhǔn)進(jìn)行捡鱼,默認(rèn)為找出指定路徑下的所有文件
處理動(dòng)作:對(duì)符合查找條件的文件作出的操作,例如刪除等操作,默認(rèn)為輸出至標(biāo)準(zhǔn)輸出
查找條件:
表達(dá)式:由選項(xiàng)和測試組成
測試的實(shí)現(xiàn):結(jié)果通常為布爾型(結(jié)果要么為真要么為假)
根據(jù)文件名查找
-name "pattern"? #查找文件名為pattern的文件
-iname "pattern" #忽略大小寫查找名為pattern的文件
find ./ -name "pattern"
find ./ -iname "pattern"
支持glob風(fēng)格的通配符
*驾诈,缠诅?,[ ]乍迄,[^]
-regex "pattern":基于正則表達(dá)式模式查找文件管引,匹配范圍是整個(gè)路徑,而非其名字闯两,且不忽略大小寫
-iregex "pattern":基于正則表達(dá)式查找文件褥伴,匹配范圍是整個(gè)路徑,而非其名字漾狼,忽略大小寫
find . -regex ".*\(\.txt\|\.pdf\)$"
find . -iregex ".*\(\.txt\|\.pdf\)$"
根據(jù)文件從屬關(guān)系查找:
-user USERNAME:查找屬主為指定用戶的所有文件(包含目錄)
-group GROUPNAME:查找屬組為指定組的所有文件(包含目錄)
-uid UID:查找屬主為指定UID的所有文件(包含目錄)
-gid GID:查找屬組為指定GID的所有文件(包含目錄)
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
根據(jù)文件類型查找:
-type TYPE
f:普通文件
d:目錄
l:符號(hào)鏈接文件(軟連接)
b:塊設(shè)備文件
c:字符設(shè)備文件
p:管道文件
s:套接字文件
組合測試:
與:-a重慢,默認(rèn)組合邏輯(需要兩個(gè)條件都滿足)
find /tmp/ -nouser -a -type f -ls
或:-o(只要符合二者其一就可以)
非:-not
根據(jù)文件的大小查找:
-sezi [ + | - ]#UNIT(單位)
常用單位:k,m逊躁,G
#UNIT:(#-1似踱,#)
-#UNIT:(0,#-1)
+#UNIT:(#稽煤,00)
根據(jù)時(shí)間戳查找:
以“天”為單位
-atime:訪問時(shí)間[ + | - ] #
-#:表示#天之內(nèi)訪問過的文件
+#:表示#天之外訪問過的文件
-mtime:修改時(shí)間
-ctime:改變時(shí)間
以“分鐘”為單位
-amin
-mmin
-cmin
根據(jù)權(quán)限查找:
-perm [ / | -] mode
mode:精確查找
/mode:任何一類用戶(u核芽,g,o)的權(quán)限中任何一位(r酵熙,w轧简,x)符合條件即可滿足,9位權(quán)限之間存在“或關(guān)系”
-mode:每一類用戶(u匾二,g哮独,o)的權(quán)限中的每一位(r,w假勿,x)同時(shí)符合條件即可滿足借嗽,9位權(quán)限之間存在“與”關(guān)系
處理動(dòng)作:
-print:輸出至標(biāo)準(zhǔn)輸出;默認(rèn)動(dòng)作
-ls:類似于查找到的文件執(zhí)行“l(fā)s -l”命令转培,輸出文件的詳細(xì)信息
-dalete:刪除查找到的文件
-fls /PATH/TO/SOMEFILE:將查找到的文件的長格式信息保存至指定的文件中
-ok (command) {} \; :對(duì)查找到的每個(gè)文件執(zhí)行由command表示的命令恶导,每次由用戶確認(rèn)
-exec command {} \; :對(duì)查找到的每個(gè)文件執(zhí)行由command表示的命令,不需要每次由用戶確認(rèn)