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    殭屍進程(退出了,但資源還未釋放掉)
經常使用進程管理的命令
一、ps  查看進程狀態
ps -ef
ps aux
    s   它有子進程
    l   多線程
    +   位於後臺進程組
    <   高優先級
    N  低優先級
          
二、pstree 查看進程
三、top    實時查看進程
實時查看時:
按 P 根據cpu使用率排序
按 M 根據內存使用狀況排序

k    殺進程  
q    退出
u    顯示指定用戶的進程
shift + >
shift + <   翻頁看
四、kill  殺進程
kill -9  進程號
五、killall  以服務名或進程名的方式殺進程
有時同一個服務或程序會生成不少的進程,經過進程號來殺,會比較麻煩,這時能夠用killall
例:killall httpd
六、pkill    以服務名或進程名的方式殺進程 (和killall 相似,但不要全名)
例:killall http  --殺不掉,由於killall 要全名的
pkill http    --就能夠殺了

進程優先級linux

七、nice  以指定的優先級去運行一個程序
       格式:nice  [-n num] command
  num:
  -20~19   值越低優先級越高,默認爲0
     例: nice -n -20 /usr/bin/vmware
 
八、renice 修改一個正在運行的程序優先級
格式; renice [num] PID
例:
    修改x0vncserver 的優先級
 
         renice -20 17237
 
做業控制:
九、 &   後臺運行符
十、jobs 查看後臺運行的命令
十一、bg  啓動後臺中止的進程
格式:bg 後臺程序編號
如: bg %1
十二、殺後臺進程
kill %1

1三、將前臺程序放到後臺運行數據庫

如: cp /soft/rhel62.iso /    --以後按ctrl +z ,程序就到後臺

1四、 fg 將後程序調到前臺運行vim

fg %1  

1五、 ctll + z 將前臺程序放到後臺(會中止運行)windows

 

文件查找與壓縮
文件查找:
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 路徑 [選項]
          
-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 {}async

-I 用一個符號來替代前一個命令傳過來的每一個具體結果ui

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
相關文章
相關標籤/搜索