檔案查找:;
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:
-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 處理幾次