1.定義一個對所有用戶都生效的命令別名,例如:lftps='ftp 172.168.0.1/pub'
想要對所有用戶永久生效需要把alias命令寫入到/etc/profile文件中:
alias lftps='ftp 172.168.0.1/pub'
2.顯示/etc/passwd文件中不以/bin/bash結尾的行
grep -v "/bin/bash$" /etc/passwd
3.找出/etc/passwd文件中,包含二位數字或者三位數的行。
grep "\<[[:digit:]]\{2,3\}\>" /etc/passwd
grep -E "\<[0-9]{2,3}\>" /etc/passwd
egrep "\<[[:digit:]]{2,3}\>" /etc/passwd
4.顯示/proc/meminfo文件中以大寫或小寫S開頭的行;用三種方式實現
grep -i ^s /proc/meminfo
grep "^[sS]" /proc/meminfo
egrep "^(s|S)" /proc/meminfo
5.使用echo輸出一個絕對路徑,使用egrep取出路徑名,類似執行dirname /etc/passwd的結果
echo /etc/passwd |egrep -o ".*/\<"
6.找出ifconfig中的ip地址。要求結果只顯示IP地址
ifconfig | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"
ifconfig | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
7.vim定製自動縮進四個字符
/etc/vimrc文件添加:
set tabstop=4
8.編寫腳本,實現自動添加三個用戶,並計算這三個用戶的uid之和
[root@www ~]# vim uid_sum.sh
#!/bin/bash
id_sum=0
[ $# -lt 3 ] && echo "請輸入三個用戶:" && exit 1
for i in $* ;do
useradd $i && echo "${i}創建成功"
id_num=$(id -u $i)
id_sum=$[${id_sum}+${id_num}]
done
echo "三個用戶uid之和爲: ${id_sum}"
[root@www ~]# bash uid_sum.sh us1 us2 us3
us1創建成功
us2創建成功
us3創建成功
三個用戶uid之和爲: 3039
9.find用法已經常用用法的實例演示。
find命令:
概述:find用於文件查找,它提供了非常多的查找條件,功能強大,可以通過遍歷指定起始路徑完成文件查找
用法:
find [OPTIONS] [path...] [expression] [action]
path: 查找起始路徑,需要指定搜索目標起始路徑,默認爲當前目錄
expression: 查找條件可以根據文件名、大小、類型、從屬關係、權限等標準進行,默認爲找出指定路徑下的所有文件
action:處理動作,對符合條件的文件做出的操作,例如刪除等,默認爲輸出至標準輸出
常用用法:
(1). 根據文件名查找:
-name "pattern" //根據文件名查找(精確查找)
-iname "pattern" //根據文件名查找,但是不區分大小寫
支持glob風格的通配符:
*, ?, [], [^]
例:find /tmp -name "[ab]*" 查找/tmp目錄下名稱包含ab任意字符的文件
(2). 根據文件從屬關係查找:
-user //根據屬主來查找文件; find /var/log -user root -ls
-group //根據屬組來查找文件; find /var/log -group root -ls
-uid UID //查找屬主指定的UID的所有文件; find /tmp -uid 500
-gid GID //查找屬組指定的GID的所有文件; find /tmp -gid 1000
-nouser //查找沒有屬主的文件; find /tmp -nouser
-nogroup //查找沒有屬組的文件; find /tmp -nogroup
(3). 根據文件類型查找:
-type TYPE:
f: 普通文件
d: 目錄文件
l: 符號鏈接文件
b: 塊設備文件
c: 字符設備文件
p: 管道文件
s: 套接字文件
例:find /tmp -type f 查找/tmp目錄下的普通文件
(4). 根據文件的大小查找:
-size [+|-]#UNIT
常用單位:k, M, G
find /tmp -size 2M //查找在/tmp 目錄下等於2M的文件
find /tmp -size +2M //查找在/tmp 目錄下大於2M的文件
find /tmp -size -2M //查找在/tmp 目錄下小於2M的文件
(5). 根據時間戳查找:
以“天”爲單位:
-atime [+|-]#
例: find /tmp –atime +5 //表示查找在五天內沒有訪問過的文件
find /tmp -atime -5 //表示查找在五天內訪問過的文件
-mtime
-ctime
以“分鐘”爲單位:
-amin
-mmin
-cmin
(6). 根據文件權限查找文件
-perm [/|-]mode
mode:精確權限匹配;
/mode:任何一類用戶(u,g,o)的權限中的任何一位(r,w,x)符合條件即滿足;9位權限之間存在“或”關係;
-mode:每一類用戶(u,g,o)的權限中的每一位(r,w,x)同時符合條件即滿足;9位權限之間存在“與”關係;
find /tmp -perm 755 //查找在/tmp目錄下權限是755的文件
find /tmp -perm +222 //表示只要有一類用戶(屬主,屬組,其他)的匹配寫權限就行
find /tmp -perm -222 //表示必須所有類別用戶都滿足有寫權限
(7). 組合條件
與:-a, 默認組合邏輯;
或:-o
非:-not, !
處理動作:
-print //默認的動作輸出至標準輸出;
-ls //查找到後用"ls -l"命令顯示出來;
-delete //刪除查找到的文件;
-fls /PATH/TO/SOMEFILE //把查找到的所有文件的長格式信息保存至指定文件中;
-ok COMMAND {} \; //對查找到的每個文件執行由COMMAND表示的命令;每次操作都由用戶進行確認;
-exec COMMAND {} \; //對查找到的每個文件執行由COMMAND表示的命令;
例:find /tmp -atime +7 –exec rm –rf {} \; //刪除查找到的超過7天沒有訪問過文件