文件查找:;

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 处理几次