文件查找及进程

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


 

你可能感兴趣的:(快速,职场,统计,Criteria,休闲)