07.进程管理+作业控制+文件查找与压缩+文件压缩与打包+tar打包解包+NFS

进程管理
    程序放在磁盘上叫文件,把它复制到内存,并在cpu运行,就叫进程,
    进程多少也反映当前运行程序的多少
 
    进程在系统中会为每个进程生成一个进程号,在所有的进程中有一个特殊进程即init进程,
    它是所有进程的祖先,进程号是1。这个进程是不能中止的。
 
    
进程与 /proc 目录关系密切
    /proc 是一个实时的、常驻内存的虚拟文件系统。它反映的是当前内核运行的状态
    有时还能通过设置 /proc 中某些文件的状态来临时修改系统设置的目的
 
     例:
         echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
这样别的电脑就无法ping 通本机
 
进程状态
    r    运行状态
    
    s    睡眠状态
 
    d    不可中断的睡眠状态
 
    t    暂停或跟踪状态
 
    z    僵尸进程(退出了,但资源还未释放掉)
         
常用进程管理的命令
    1、ps  查看进程状态
ps -ef
 
ps aux
 
    s   它有子进程
    l   多线程
    +   位于后台进程组
            <   高优先级
       N  低优先级
          
    2、pstree 查看进程
    3、top   实时查看进程
实时查看时,按 P 根据cpu使用率排序
                  M  根据内存使用情况排序
                
                 k    杀进程  
                 q    退出
         u    显示指定用户的进程
 
         shift + >
         shift + <   翻页看
 
进程控制
    4、kill  杀进程
 
kill -9  进程号
 
        例:用杀进程的方式关掉firefox (firefox正常关不了啦)
 
    5、killall  以服务名或进程名的方式杀进程
有时同一个服务或程序会生成很多的进程,通过进程号来杀,会比较麻烦
这时可以用killall
 
例:killall httpd
 
    6、pkill    以服务名或进程名的方式杀进程 (和killall 类似,但不要全名)
        例:
   killall http  --杀不掉,因为killall 要全名的
   
   pkill http    --就可以杀了
 
进程优先级
    7、nice  以指定的优先级去运行一个程序
       格式:nice  [-n num] command
 
  num:
  -20~19   值越低优先级越高,默认为0
 
     例: nice -n -20 /usr/bin/vmware
 
    8、renice 修改一个正在运行的程序优先级
格式; renice [num] PID
 
例:
    修改x0vncserver 的优先级
 
         renice -20 17237
 
作业控制:
    9、 &   后台运行符
 
    10、jobs 查看后台运行的命令
 
 
    11、bg  启动后台停止的进程
格式:bg 后台程序编号
 
如: bg %1
 
 
    12、杀后台进程
kill %1
 
    13、将前台程序放到后台运行
如: cp /soft/rhel62.iso /    --之后按ctrl +z ,程序就到后台
 
    14、 fg 将后程序调到前台运行
 
fg %1  
 
    15、 ctll + z 将前台程序放到后台(会停止运行)
 
 
文件查找与压缩
    文件查找:
which   显示可执行命令的路径(告诉你命令在哪)
   例:which cp
              which fdisk
          
   能不能找到取决于两个方面:
              1)有没有这个命令(文件)
              2)PATH 变量
                which 不会在磁盘上搜有没有这个文件,它只在 PATH 变量指定的
                路径中去搜索,如果没指定那个目录,即便有也找不到
 
whereis
     which 类似
      locate 查找速度非常快,因为从系统数据库中找,没在磁盘上搜索
                但是会存在一个问题,如果系统数据库未更新,那即便文件存在,也找不到
        解决办法是更新系统数据库
locate qq
touch aaa.txt
locate aaa.txt   --这里找不到aaa.txt 了
updatedb
locate aaa.txt   --更新数据库后就找到了
 
 
find   文件查看
   格式: find 路径 [选项]
           
   路径
              表示从哪里找,如果在整个磁盘就用 / 来表示,也可以在指定的目录中找,如 /etc
           
 
           选项 即查找方式,有下面一些
    -name 按文件名找
    -type 按类型找
b   块设备
  c   字符设备
          d  目录
          l   链接
f   普通文件
 
      -uid 按用户id找
     -user 按用户名找
    -gid      按组id 找
     -group    按组名找
 
    -size     按大小找
         +nK|M|G   
              -nK|M|G
 
        -mtime   按修改时间找(单位:天)
         +n   大于n 天(n天以前)
      -n    小于n 天(n天以内)
    -mmin amin cmin 按修改时间、访问时间、修改时间找(单位:分钟)
   mtime   文件修改时间(侧重于内容,mtime 的修改会引起
                             ctime、atime的修改)
 
     atime  文件访问时间(如查看)
     ctime   文件修改时间(侧重于属性修改,如权限,名字等)
       查看文件 stat
 
    -nouser    查找无效属主的文件
      -group    查找无效组
 
      -exec        对查找的结果执行命令,查找结果作为命令输入参数
                      格式:find .... -exec command {} \;
                      
              -ok            与 -exec 作用类似,但是执行命令时,有确认信息
         
     
         xargs 也可以做类似的事情,不过xargs 就要使用管道了,将查询结果传给
             xargs (注意的是xargs 不是find 的选项)
 
       用法: command1 | xargs -I {} command2 {}
 
               -I 用一个符号来替代前一个命令传过来的每个具体结果
         command2 {}  对前面传过来的结果执行命令  
 
  
    
   例:找 fdisk
       find / -name fdisk
 
       
   例:只找aaa的目录
        find / -type d -name aaa    
 
  例:找tom 创建的所有文件
find / -user tom
   例:找1G以上的文件
     find / -size +1G
 
    例:找无效属主的文件,并将这些文件删除
     find / -nouser -exec rm {} \;
 
           例:删除tom创建的文件
     find / -user tom -type f -ok rm {} \;
 
           例:用xargs 的方式把 tom 创建的普通文件,复制到 /test
              
        格式:command1 | xargs -I {} command2 {}
 
           find / -user tom -type f | xargs -I {} cp {} /test
 
 
文件压缩与打包
windows 下常见的压缩格式:   .zip   .rar
 
linux  下常见的缩格式:       .gz    .bz2
                                 .tar.gz   .tar.bz2
 
 
    gzip
压缩:gzip etc.tar
 
解压:gzip -d etc.tar.gz
 
    bzip2
压缩:bzip etc.tar
解压:bzip -d etc.tar.bz2
 
    .zip  文件拷到linux来解压方法:
  unzip 压缩文件名
 
    .rar  文件拷到linux来解压方法:
  要装rar的linux 版
   rar 命令行的使用
  
  rar 压缩:rar a etc.tar.rar etc.tar
   rar 解压:rar e etc.tar.rar
         
tar  打包/解包
   格式: tar [option] [文件目录列表]
     option:
-c 打包
-x 解包
-v 显示打包解包过程
-f 指定打包解包文件
-j bzip2 来进行压缩与解压
-z gzip 来进行压缩与解压
 
-C 指定解压路径
-t      查看包内容
 
   例:把 /etc 打包成一个文件
tar -cvf etc.tar /etc
 
     例:把 etc.tar.bz2 解包
tar -xvjf etc.tar.bz2
 
     例:查看包的内容
tar -tvf etc.tar.bz2
 
 
NFS (Network File System) 网络文件系统的简称,最早由sun公司开发,主要用于类unix间
的文件共享。
 
    服务器软件安装:
yum install nfs*
 
    涉及的服务:
nfs
rpcbind
 
    配置文件:
/etc/exports
 
       配置格式: 共享的目录  能访问客户端(访问参数) 能访问客户端2(访问参数2)
 
能访问的客户端:
    172.16.1.116          单一IP
       172.16.1.*           IP段
       172.16.1.0/24        IP段
         www.uplooking.com     主机名
    *.uplooking.com       域名
 
         *             所有机器
 
访问参数:
     ro 只读
  rw 读写
sync 实时同步数据到磁盘
async  异步
 
anonuid=xxx 指定匿名帐号的uid
anongid=xxx 指定匿名帐号的gid
secure 限制客户端只能从小于1024的端口连接到nfs 服务器
insecure 可以从大于1024端口连接到nfs 服务器
 
    NFS端口:
111 rpcbind (原来portmap)端口
另外还有一些随机端口,由rpcbind 来映射
 
 
 
 
exportfs  手工维护共享目录
 
    格式: exportfs [option] [dir_name]
    option:
-v 显示共享
-a 共享 /etc/exports 定义的目录(启用共享)
-u 停止共享
-r      重新读取配置文件(相当于重新加载配置文件)
        相当于  service nfs reload
 
    例:通过exportfs 共享 /test 目录
exportfs *:/test
 
 
例: 配一个nfs 服务器,让客户端只读访问
 
   服务器端:
vim /etc/exports
    /share *(ro)
 
service nfs restart
 
        mkdir /share
cp  ...... /share
 
 
    客户端:
1) 查看服务器共享了哪些资源
  showmount -e ip
 
   如:showmount -e 172.16.1.116
 
 
2) 挂载服务器的共享到本地目录
   mount ip:共享目录  本地挂载点
 
       如:mount 172.16.1.116:/soft /mnt
 
        3) 访问了
  把服务器的共享目录挂载到本地后,访问挂载点就是访问服务器的共享目录了
   
  cd /mnt
   ls
 
服务管理
  启动服务
service 服务名 start
   
 
  停止服务
service 服务名 stop
   
  重启服务
service 服务名 restart
   
  查看服务状态
service 服务名 status
 
 
如何让服务自动启动:
    1)   vim /etc/rc.d/rc.local
 
把启动服务的命令写进去(不常用)
 
 
    2)  chkconfig --level 2345 服务名 on
 
检查:chkconfig --list | grep 服务名
 
2345 是运行级别
 
例:chkconfig --level 2345 nfs on
   chkconfig --list | grep nfs
 
   
例:架一个nfs 服务器,让一个指定的IP能读写,其它IP只能读
 
 
 
 
 
    
 

猜你喜欢

转载自www.cnblogs.com/steven9898/p/11331180.html