根據RH033課程整理而成.
12月19號
Lecture 10
進程:活體,程序的副本
定義:進程是進程實體的運行過程,是系統進行資源分配和調度的基本單位.——《計算機操作系統》 進程的三種狀態:就緒態、執行態、阻塞態.
基本屬性:可擁有資源的獨立單位;進程同時又是一個可獨立調度和分派的基本單位.
計算機利用進程PID來區別不同的進程
init :PID永遠為1 ,inintial(初始化)的簡寫,作用:讓操作系統系統啟動起來,並讓操作系統啟動就緒,並給用戶提供一個登陸界面,所有的進程都源於它.比喻:耶穌
所有的進程都是由父進程克隆來的.
進程調度 根據進程優先順序來進行進程調度,在某一時刻,要滿足優先順序高的進程.靜態優先順序 0-99,動態優先順序100-139.數字越小,優先順序越高.
進程類型:CPU密集型進程:儘可能多的佔用cpu;
I/O密集型進程,I/O比較多.
通常來說,IO密集優先順序稍微高點
進程間通信:是指進程之間的信息交換.高級通信機制可以分為三大類:共享存儲器系統,消息傳遞系統以及管道通信系統.例如:信號、共享內存(share memory)、socket
查看進程 ps
默認情況下是當前用戶在當前終端上正在執行的進程.
守護進程:也稱服務進程,是保證系統的正常運行必須要啟動的.linux環境下通常是daemon.
由用戶發起的進程:前台進程,調度進程(用戶定期定時調用的進程)
-e 顯示所有進程
PID 進程號 TTY 由哪個終端發起的(F1——F6) “?”表示守護進程,跟終端沒關係
TIME 佔用CPU運行時間之和.CMD 發起進程的命令.
-f 完全格式
-F 列印出額外信息,比-f顯示信息更多
ps –eF
加[]表示內核線程,由內核線程(thread)發起的.
線程 thread:輕量級進程(LWP).引入線程的概念是為了使多個程序能併發執行,以提高資源的利用率和吞吐量.線程作為調度和分派的基本單位,但不擁有資源.線程的切換不會引起進程的切換.linux沒有真正意義的線程.
UID 進程的發起者; PID 進程號;PPID 父進程號; C CPU time累計時間;
SZ 所佔用的空間;RSS物理內存佔用的實際大小;PSR 顯示進程運行在哪個CPU上
pstree 顯示所有進程的關係
-u 顯示某一用戶發起的進程
-o 用戶自定義,指定只顯示哪些欄位
-H顯示子進程與父進程的關係
ps –ejH
-j 以job 的方式來顯示進程間的關係
ps axjf (BSD風格)
a 包含所有進程
x 表示前台進程
STAT 表示進程狀態
進程的狀態:運行態running (R) 就緒態 runnable(R) 停止態stopped(T)
睡眠sleep:【可中斷睡眠(S),不可中斷睡眠(D)】 僵死態(Z)
< 高優先順序的進程
N低優先順序的進程
s 會話的發起者(leader)
前台進程組中的進程
l 多線程的進程
ps –eo 自定義顯示
pgrep grep 風格來顯示進程
信號:進程間通信的一種機制,很小的信息,由一個進程發個另一個進程.
查看可用信號:kill –l
man -7
ctrl C 一般就是信號SIGINT 打斷
kill –n PID 默認選擇15
kill –SIGKILL PID
killall comm. 把comm的全部刪除 不能跟進程號 要跟發起這個進程的命令
pkill 以匹配的方式把進程kill掉.
前面講過,進程是有優先順序的,靜態優先順序 0-99,動態優先順序100-139.數字越小,優先順序越高.
有一種值nice,可以調節優先順序,默認nice值都為0 -20—19
0——》5優先順序降低了
只有管理員才能把nice調低,其他的用戶只能調高
兩種方式調節nice值:(1)啟動命令的時候明確指定:nice –n N bash;
(2)renice 進程號(普通用戶只能調高,不能調低).
top 用於動態查看進程信息 通常每隔5s刷新一次
-d 指定每隔多長時間顯示一次 默認5s
-b batch mode 批方式來顯示 類似於ps
-n N指定在-b模式下顯示幾次
gnome-system-monitor
作業管理:job 一個任務包含了多個進程
加&,會釋放命令提示符,將作業轉入後台執行
crtl Z 直接把作業送到後台去
bg %n 省略號可省 把一個前台作業送到後台去
fg 把一個後台作業送到前台去 默認的是把帶“ ”號的作業調出來
fg %n 百分號可省略
刪除作業的時候kill kill %3 “%”不能省略
所有的作業在終端退出的時候都會自動終止.
nohup cp /etc/ /tmp/ -r & 送到後台運行,終端退出,依然可運行
jobs z查看當前正在運行的作業
[2]表示作業號
當前運行的作業
Running狀態
Firefox 那個命令運行的作業
Lecture 11
實現IP地址配置:GUI:窗口
CLI:ifconfig
system-config-network-tui
/etc/sysconfig/network-scripts/ifcfg-ehX
網卡命名:lo 本地迴環
eth0, eth1 乙太網卡
ppp0 撥號連接 串列的點到點的鏈接
ip addr show 顯示當前網路正在使用的網卡
編輯/etc/modrobe.conf文件可以實現對網卡名字的修改
顯示當前系統上所有的網路連接:ifconfig
啟用一個網路連接:ifup
禁用一個網路連接:ifdown
圖形窗口下指定IP地址:system-config-network-gui
臨時設置 ifconfig
格式:ifconfig ethX IP/MASK 會立即生效,但是禁用啟用後會失效,做集群的時候實現地址漂移
永久設置:(1)system-config-network-tui 字元界面下的圖形窗口(重啟網路服務)活用setup類似於windows 的控制面板
(2)vim編輯/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network 全局配置 亦可以設置網關
添加網關:GATEWAY=192.168.0.254
當二者網關不一樣的時候,以/etc/sysconfig/network-scripts/ifcfg-ehX為準
修改主機名:
(1)編輯/etc/sysconfig/network HOSTNAME= 設置本機主機名 保證下次重啟生效,永久生效
(2)hostname www.a.com 立即生效,只對當前有效
或者修改 /proc/sys/kernel/hostname echo “www.b.com” > /proc/sys/kernel/hostname 臨時有效 跟hostname一樣的效果
印表機
Printing Queue
使用服務 cups
service cups status
列印命令lp lpr
lpq lpstat查看列印隊列
lprm cancle 列印作業號 用於刪除一個列印作業
設置系統時間:
GUI:system-config-date NTP網路時間協議
hwclock -s以硬體時間為準
-w以系統時間為準
在指定的未來一次性的運行:at
周期性運行:crond
atq 列出當前系統作業隊列
(ctrl D)提交
移除一個作業 atrm =at –d
at只能在制定未來一次性的運行
watch 監控作業的執行情況,將結果輸出地屏幕上
batch 類似於at 但是不需要指定時間,自己會選擇在cpu利用率較低時候執行.
crond 系統守護進程 周期性地運行
系統cron 7個欄位 /etc/crontab
從左自右:min,hour,day,mon,week,
用戶定義的cron 命令:crontab
/var/spool/cron/usrname 6個欄位
* :通配 -:範圍 2-9 ,:離散的範圍 2,6,9 / :每多長時間 */2 每兩分鐘
crontab -e創建
-l 列出 查看
-r 移除所有作業
anacron 如果關機作業沒有執行,開機後會檢查沒有執行的作業
幾個常用的參數變數:$# 保存當前通過腳本向命令行傳遞過來的參數的個數
$@ 保存所有通過命令行傳遞過來的參數 將每個字元串獨立顯示
$* 保存所有通過命令行傳遞過來的參數 將所有的參數當做一個字元串
$! 最近一次運行的進程的進程號
$$ 當前進程的進程號
$0 命令本身
lecture 12
三個查找工具:locate,find,Gnome Search tool
locate 全系統的級別查找,但是基於某個database,通常不存在,需要創建
模糊匹配
–i 忽略大小寫
-n 指定在查找的時候只顯示n行
updatedb 手動生成locate查找時所用到的資料庫
find 【起始目錄…】 【查找標準】 【執行的動作(默認print)】
-name 文件名精確匹配 嚴格區分大小寫
find /etc –name “ pass”
-iname 忽略名字的大小寫
-user 以文件的用戶來查找
-uid 通過屬主的ID來查找
-gid 通過屬組的ID來查找
-group 以文件的屬組來查找
支持正則表達式
-type
f d l b c s p 以文件類型作為標準來查找
連接多個條件: -a and -o or -not 取反 或者!
默認是and
優先順序: not>and>or
例如:尋找屬主是student 屬組不是student的文件
書269練習3
根據許可權來查找:
-perm mode 精確匹配
-perm mode 由任何一個用戶的許可權滿足即可 包含也可以 比如 7包含6
-perm –mode 所有類別用戶的許可權都要滿足
-size 根據文件大小來匹配
-size n 精確匹配 寫成1的情況比較特殊,只要小於1M都會顯示,系統會將1默認為單位
-size n 1M 大於nM
-size -n -1M 小於nM
根據訪問時間
-atime 3正好三天 3超過三天 (三天前訪問過) -3三天以內(三天內訪問過)
-mtime 以修改時間為選項
-ctime 以改變時間為選項
-amin 3 3分鐘
-mmin 以修改分鐘為選項
-cmin 以改變分鐘為選項
查找后執行的動作:
-ls
-exec command {}口; 找到后執行
-ok command {}口; 任何一個操作執行前先進行提示
lecture 13
客戶端:圖形界面下的訪問工具,如瀏覽器
wget: 非互動式網路下載工具
--tries 指定重試次數
--wait 需要等待時間(s)
--recursive 遞歸下載
--convert 轉換所有鏈接到當前目錄下載目錄,轉換成本地可用鏈接,以本地鏈接的方式進行查看
links 純字元界面下查看網頁
從網上下載軟體並安裝到本地的過程:
cd /etc/yum.repos.d
wget ftp://192.168.0.254/pub/gls/centos.repo
yum install evolution thunderbird
mutt 非圖形界面郵件客戶端
pidgin 即時聊天工具
Nautilus 實現文件的訪問和傳輸
SSH 字元界面下連接一個linux主機 secure Shell
OpenSSH
客戶端工具:ssh,sshd(伺服器端工具),scp在不同的主機之間安全的copy文件
sftp 加密的方式實現文件的傳輸
ssh hostname
ssh user@hostname
ssh –l user hostname
ssh –X 192.168.0.120 在本地伺服器上作為X server去執行遠程伺服器上的圖形窗口的命令.
ssh 192.168.0.123 ‘ifconfig’ 在對方伺服器上執行一個命令,並將命令的結果取回來
scp ./ centos.repo 192.168.0.210:/tmp將本機目錄下文件拷到遠程伺服器指定目錄下
scp 192.168.0.120:/etc/fstab ./ 將遠程伺服器目錄下文件拷到本地指定目錄下
-r 遞歸拷貝 將目錄下的文件拷貝過來
-p 保留時間標籤和許可權信息
rsync 只拷貝目錄下不同的文件,效率比scp高 默認是明文傳輸
rsync –e ssh 調用ssh工具代為傳送 為加密傳送
-r –a
ftp客戶端:GUI:gftp gftp&打開圖形界面
CLI:ftp lftp lftpget 不用登錄直接下載
smbclient -L 192.168.0.1(訪問windows的共享目錄)
本文出自 「諸葛草廬」 博客,請務必保留此出處http://lyp0909.blog.51cto.com/508999/463620
[火星人 ] linux基礎知識總結(三)已經有442次圍觀