文件查找:;
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 处理几次