文件查找:;
locate ,find
locate,非實時,非精確,快速
find,實時,精確,慢速
#makewhatis
#whatis
#locate keyword
locate -c 統計行
-n 顯示前n行
如:
find :
criteria:
-name “”
支持globbing方式的文件名通配
#find /etc -name "passwd*"
#find /etc -name "passwd?"
#find /etc -name "*passwd*"
-iname "" 不區分文件中字母的大小寫
-regex "pattern"
-user uid
# find /tmp -user redhat
# ls -l `find /tmp -user redhat`
-group gid
-uid uid
-gid gid
-nouser
-nogroup
-type
f d l b c p s
# find /tmp -type s
組合條件:
#
-a與
-o或
-not非
非優先級最高>與>或
-size #
10M
-10M
+10M
-atime # 3天
-3
+3
-mtime
-ctime
-amin
-mmin
-cmin
-perm 755
+755/755其中任何一個用戶的權限 任何一類用戶某一個權限位符合條件
-755 每一類用戶有一個權限符合都符合條件 所有類別用戶的所有權限位都符合條件
#find /tmp -not -user redhat
ctrl+a 到行首
ctrl+e 到行尾
ctrl+u刪除光標到行首的內容
ctrl+k 刪除光標到行尾的內容
ctrl+l;清屏
action:
-print
-ls
-ok
-exec
-exec rm {} \;
-exec mv {} {}.txt \;
1、查找/var目錄下屬主爲root並且屬組爲mail的所有文件;
2、查找/usr目錄下不屬於root,bin,或student的文件;
3、查找/etc目錄下最近一週內內容修改過且不屬於root及student用戶的文件;
4、查找當前系統上沒有屬主或屬組且最近1天內曾被訪問過的文件,並將其屬主屬組均修改爲root;
5、查找/etc目錄下大於1M的文件,並將其文件名寫入/tmp/etc.largefiles文件中;
6、查找/etc目錄下所有用戶都沒有寫權限的文件,顯示出其詳細信息;
find /etc -not -perm /222 -ls
break
中斷循環,而後執行循環後面的語句:
continue
中斷當前這一次循環,提前進入下一次循環
寫一個腳本,完成以下功能:
1、提示用戶輸入一個用戶名;
2、顯示一個菜單給用戶,形如:
U|u show UID
G|g show GID
S|s show SHELL
Q|q quit
3、提醒用戶選擇一個選項,並顯示其所選擇的內容;
如果用戶給的是一個非上述所提示的選項,則提醒用戶給出的選項錯誤,並請其重新選擇後執行;
寫一個腳本:
1、判斷一個指定的腳本是否有語法錯誤;如果有錯誤,則提醒用戶鍵入Q或者q無視錯誤並退出,其它任何鍵可以通過vim打開這個指定的腳本;
2、如果用戶通過vim打開編輯後保存退出時仍然有錯誤,則重複第1步中的內容;否則,就正常關閉退出。
進程管理:process,instance
pc,cpu,memory
cpu timeslice,時間片
memory,線性內存
mmu
pid
ppid 父進程
init ,1,fork
進程狀態:
running
ready(runnable)就緒
sleep
interruptable
uninterruptable(I/)
stop: 停止
zombie:僵死
ppid收屍 ppid結束 pid僵死
pstree
ps :顯示當前進程;前臺進程。
-aux
a 跟終端有關的進程
x 跟終端無關的進程
ax 所有進程
u 以用戶爲類別分類
S 睡眠態可中斷
R運行態
D不可中斷的睡眠態
T停止態
z僵死態
<:高優先級的進程
s:會話進程的領導者
N:低優先級的進程
l:多線程的進程
+:前臺進程
ps -ejh
ps -axjf 顯示父子進程列表
ps axo pid ,tty 顯示自定義格式
pgrep
-U uid
-G gid
-t term 終端有關的進程
-P ppid 父進程的子進程
pgrep pattern # pgrep httpd
pidof 查看進程的Id號
#pidof httpd
kill -l 查看信號
man 7 singal
signal:
1)SIGHUP 讓某進程或服務重讀其配置文件卻不用重啓
2)sigint ctrl+c 讓某個進程中斷
9)sigkill 殺死某進程
15)sigterm 終止進程
18sigcont繼續
19)sigstop 停止
#kill -sighup大寫 pid
#killall - 15 httpd(command)
#killall -sigkill command
# pkill -signal [options] pattern
process ,優先級
靜態優先級 動態優先級
靜態優先級可手動調整
I/o bound
cpu bound
nice值:-20--19;40個
100-139
如)0:120
-5 115
通過調整nice值 調整優先級
普通用戶只能調高自己的優先級
#nice nice -n command 啓動時賦予的nice值# ps -eo nice,comm,pid
#renice # pid
作業,進程
前臺進程:
執行開始後結束之前始終佔據了命令提示符的進程
後臺進程
當進程開始後會立即釋放命令提示符,無論此進程是否結束
前臺到後臺:ctrl+z
後臺到前臺: fg
查看目前所有在後臺的進程列表jobs
fg 帶+號默認調出
fg %n #fg %2
bg %n 在後臺運行
kill %n 終止
nohup command 可讓此進程和終端沒關係
進程查看命令:
top
top -d n 延遲多少秒鐘
top -b -n 3
-b 批處理模式
-n 處理幾次