歡迎您光臨本站 註冊首頁

linux基礎知識總結(三)

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

根據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&gt;and&gt;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

-print

-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次圍觀

http://coctec.com/docs/linux/show-post-49903.html