歡迎您光臨本站 註冊首頁

Linux學習筆記 Day 4~5

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

今天繼續網路配置的內容.

vim /etc/modprobe.conf:開機自動載入網卡驅動
lsmod | grep 8139:查看網卡
mii-tool:看網卡工作是否正常 (100baseTx-FD, 全雙工,同時接收及發送)
ifconfig eth0:查IP等信息
ifconfig eth0 10.0.1.3 netmask 255.255.255.0:設置IP地址
service network restart:重啟網路服務
route:查看路由表,route -n (加default改為0.0.0.0,會快點)
netstat -r:查網路狀態, netstat -i -e, netstat -u, netstat -a
netstat -tl:查看基於TCP的所有處於監聽模式下的服務的進程,-ul:基於udp -anp:顯示pid
route add default gw 10.0.0.1:加網關
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0:加路由


tcpdump

tcpdump:截取數據包,tcpdump udp
tcpdump tcp /tcp port 22 / udp / icmp / arp /rarp


域名解析
nameserver 10.0.1.2
ip name list:查路由表

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402 8e Linux LVM

255 heads, 63 sectors/track, 2610 cylinders
磁頭 扇區 磁軌 柱面

Units = cylinders of 16065 * 512 = 8225280 bytes
柱面扇區數 一個柱面大小


設備 啟動分區 起始柱面 結束柱面 數據塊 系統ID 系統類型名
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux --ext3 (W95 FA //fat32 Extend //擴展分區 Linux Swap //交換分區


/dev/sda2 14 2610 20860402 8e Linux LVM --邏輯卷管理

fdisk /dev/sda:磁碟管理命令, (m:幫助) --set nopaste:粘貼模式
一個硬碟最多分4個主分區,15個分區


Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)


w保存后,需要
#partprobe:重新產生設備,/dev/sda....才算分好區
然後格式化
#mkfs.
mkfs.ext3 /dev/sda6 (這個過程會產生inode表,點陣圖等)
mkfs -t ext3 /dev/sda6
mkfs.vfat==mkfs -t vfat


訪問磁碟:
mount
1. 普通文件
mount -t ext3 /dev/sda7 /media/, umount /media 或 /dev/sda7 ,兩個均可
可重複掛載同一目錄,但是訪問到的是最后一次掛載的資源
正在被訪問的,不能被卸載,之前掛載幾個,同樣卸載幾個,且只能按順序卸載.交換分區,擴展分區不允許掛載

[root@localhost ~]# mount
設備名 掛載目錄 文件類型(數據存儲格式) 掛載的許可權
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)


/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)


proc及sysfs都是內存,ls /proc/可查看
devpts終端,用tty查看

2. 網路掛載:
showmount -e 2.2.2.192
mount -t nfs 2.2.2.192:/share2 /mnt --掛載為目錄名mnt,t指定文件系統類型為nfs(網路文件系統),mount -t ext3/vfat/ext2/cifs/ntfs(系統默認不支持,需要裝第三方軟體ntfs-3g來實現),2.2.2.192:/share2為源設備,/mnt目標掛載路徑
cd /mnt/ --進入mnt
ls

3. 掛載ISO文件
mount -o loop -t iso9660 rhel5.5.iso /mnt (ls /dev/loop) (file rhel5.5.iso:查ISO格式 9660),默認從loop0開始


4. 掛載光碟機的光碟 /dev/cdrom
mount -o ro /dev/cdrom /mnt


5. mount目錄
mount --bing /root /media:訪問media等同於訪問root


注意:
1. 本機的其他系統都可以通過mount掛載資源
mount -t ntfs.3g /mnt
2. 遠程window系統的共享目錄;(samba)
mount -t cifs -o username=(windows用戶) //10.0.1.2/test /mnt
passed:windows 用戶密碼

3. mount 不上時,防火牆關閉或其他保護;目錄是否已共享(ro,rw)
4. mount了幾次就要卸載幾次
5. mount一般掛載/mnt /media /misc,不要掛在/bin /etc /dev...這些系統目錄


-------------------------------------以上都是臨時掛載,重啟之後消失

永久性掛載:
1. 寫到系統文件,vim /etc/rc.local
2. 修改配置文件,vim /etc/fstab

設備名(路徑/標符) 掛載點 系統格式 掛載方式 1:dump複製-->kdump(系統恢復用) 2:磁碟檢測和級別,/級別一定是1


/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0

查看磁碟標籤
e2label /dev/sda1 /boot

給磁碟設標籤
e2label /dev/sda6 /2


fstab糾錯:
LABEL=/123 / ext3 default 00
//找不到LABEL=/123, kernel panic;

提示要求ctrl d繼續,輸入root密碼,進入修復模式;
vim /etc/fstab //無法修改,當前根沒有掛載成功;
重新掛載 mount -o remount dev/sda2
再vim /etc/fstab


拯救模式

df -h:已掛在文件系統使用情況,h人性化界面顯示

swap 分區沒有掛載點:
/dev/sda6 swap swap default 00


創建交換分區:
1. 分區 fdisk /dev/sad
2. partprobe:創建分區的文件
3. mkswap /dev/sda6:分區格式化

swapon/off, swapon /dev/sda6:啟動關閉交換分區

軟體包管理

1. rpm: redhat package management,RH的軟體包管理

軟體名-版本號 支持的平台 後綴
bind-9.3.4-10.p1.el5.i386.rpm
i386-->i486-->i686,i686不支持i386平台執行


yum-3.2.19-18.el5.noarch.rpm
noarch:所有平台上可運行


chmlib-0.40-1.el5.src.rpm
src:源碼包


arp-scan-1.6.tar.gz
源代碼包


安裝(i安裝,v顯示安裝過程,h做hash檢查),


rpm -ivh bind-9.3.4-10.p1.el5.i386.rpm
//會查找依賴關係
//已安裝過的會提示是否重安裝
//


rpm -qf /lib/libc.so.6:已知命令或可執行文件,反向查搜索是經哪個包裝的的結果

which yum:得出路徑
rpm -qf /usr/bin/yum:查找安裝

rpm -qa | grep "bind":查找bind相關的安裝

rpm -qpl yum-3.2.19-18.el5.noarch.rpm:查看未安裝包的內容及安裝後會被安裝到哪些路徑
rpm -ql yum.noarch:查看已裝的包的安裝路徑

rpm -qd yum.noarch:查看包的幫助文檔

rpm -qc yum:查看包配置信息

rpm -qi yum:查看命令詳細信息

rpm -qpi yum-3.2.19-18.el5.noarch.rpm:詳細信息


yum install bind

yum lits "yum"

yum list,查沒裝的包,有install表示已裝
xorg-x11-drv-vmware.i386 10.13.0-2.1 installed
xorg-x11-drv-void.i386 1.1.0-3.1 installed
xorg-x11-drv-voodoo.i386 1.1.0-3.1 installed
xorg-x11-filesystem.noarch 7.1-2.fc6 installed
xorg-x11-font-utils.i386 1:7.1-2 installed
xorg-x11-fonts-100dpi.noarch 7.1-2.1.el5 installed
xorg-x11-fonts-75dpi.noarch 7.1-2.1.el5 installed
xorg-x11-fonts-ISO8859-1-100dpi.noarch 7.1-2.1.el5 installed


xorg-x11-fonts-ISO8859-1-75dpi.noarch 7.1-2.1.el5 installed
xorg-x11-fonts-Type1.noarch 7.1-2.1.el5 installed
xorg-x11-fonts-base.noarch 7.1-2.1.el5 installed
xorg-x11-fonts-misc.noarch 7.1-2.1.el5 installed
xorg-x11-fonts-truetype.noarch 7.1-2.1.el5 installed
xorg-x11-server-Xnest.i386 1.1.1-48.76.el5 installed
xorg-x11-server-Xorg.i386 1.1.1-48.76.el5 installed
xorg-x11-server-utils.i386 7.1-4.fc6 installed
xorg-x11-twm.i386 1:1.0.1-3.1 installed
xorg-x11-utils.i386 7.1-2.fc6 installed
xorg-x11-xauth.i386 1:1.0.1-2.1 installed
xorg-x11-xfs.i386 1:1.0.2-4 installed
xorg-x11-xinit.i386 1.0.2-15.el5 installed
xorg-x11-xkb-utils.i386 1.0.2-2.1 installed
xsane.i386 0.991-5.el5 installed


xsane-gimp.i386 0.991-5.el5 installed
xsri.i386 1:2.1.0-10.fc6 installed
xterm.i386 215-8.el5_4.1 installed
xulrunner.i386 1.9.0.18-1.el5_4 installed


yun list "rhc*"
匹配查找某包是否安裝

yum install gcc

2. 安裝源碼包
rpmbuild --rebuild chmlib-0.40-1.el5.src.rpm:之後會提示rpm後放在哪個位置,再進去安裝

卸載rpm包:若rpm包提示已安裝舊版本,跟新版有衝突:
1. 升級,
rpm -U chmlib-0.39-1.el5.src.rpm:大u,不過升級過程易出問題,依賴關係

強制安裝
rpm -F chmlib-0.39-1.el5.src.rpm (-F= -replace)


2. 刪掉舊版,查找依賴?????,逐個卸載
通過rpm
rpm-e chmlib-0.39-1.el5.src.rpm

3. 安裝源代碼包
tar -xvf arp-scan-1.6.tar.gz


安裝過程,根據上面的包類型操作后,
1. vim README, 按照裡面的介紹安裝
2. ./configure ,如果提示:configure:error:no acceptable C compiler found in $PATH,表示gcc沒有安裝,用yum install gcc安裝
3. make:生成Makefile,make all或輸make,自動查找all規則(先找小寫的makefile再找大寫),生成可執行文件
4. make install:自動將文件copy到指定目錄

安裝好后,可通過which 命令 查找包安裝位置,或locate 命令


ll mplayer -h:查看安裝后信息


清除包
make clean: 清除生成的可執行文件

make distclean:清除./configure 生成的文件


day5

解決依賴的工具

yum:管理rpm軟體包


rpm -qf /usr/bin/yum

[root@localhost ~]# which yum:查安裝目錄
/usr/bin/yum
[root@localhost ~]# rpm -qf /usr/bin/yum:安裝包
yum-3.2.22-26.el5
[root@localhost ~]# rpm -qc yum:在哪裡
/etc/logrotate.d/yum
/etc/yum.conf

/etc/yum.repos.d/*.repo 給yum工具用的倉庫信息(.d或.repo為倉庫文件),修改這個文件


?yum 在裝什麼的情況下用

1. 創建一個軟體倉庫
mount -o loop iso/rhel-5.5.iso soft/

2. 配置倉庫文件
cd /etc/yum.repos.d/
vim rhel-debuginfo.repo

soft.Server
file/// file本地源,// /(根)
enable=1

3. 使用
yum clean all:將原數據清空
yum list:第一次運行讀取倉庫信息
installed:已裝
rhel-Server:未裝會顯示倉庫名


yum list bind:查找單個沒有裝的軟體


yum install bind:安裝

yum install wireshark -y:自動處理依賴關係,並根據依賴關係來安裝, -y跳過自動確認

yum remove bind:卸載
yum erase bind -y:卸載

system-config-package:調出圖形安裝界面


搭建一個遠程源
[rhel-VT]
name=Red Hat Enterprise VT
baseurl=ftp://2.2.2.1/share/rhel/VT
enabled=1
gpgcheck=0


yum groupinstall "name" (名字中間有空格)

yum grouperase "asad sd s":卸載 (不支持remove)

yum grouplist


LANG=en/ zh_CN.UTF-8: 讓包顯示中文還是英文

創建自己的軟體源(rpm)軟體倉庫
1. mkdir soft
2. cp *.rpm /soft
3. 改配置文件


[rhel-MYSOFTWARE]
name=Red Hat Enterprise MYSOFTWARE
baseurl=file:///soft
enabled=1
gpgcheck=0

5. 先到soft目錄
createrepo .:創建目錄,產生/soft/repodata/repomd.xml,.表當前目錄

(如果沒有createrepo命令,查找:which createrepo,-->/usr/bin/createrepo
rpm -qf /usr/bin/createrepo
createrepo-0.4.11-3.el5

yum list createrepo-0.4.11-3.el5
查到: createrepo.noarch

然後安裝:yum install createrepo)
bv

yum list qq: 查詢qq

進程管理:

程序是存在磁碟中,磁碟中2進位文件cp到內存,

stdin < cmd -->shell -->fork(創建一個新的進程)-->執行cmd-->api--kernel-->控制硬體

#pstree
kernel-->swapen (調度)
所有進程的祖先進程,init; 1號進程


PPID父進程,PID由PPID產生,0表示內核產生

[root@localhost ~]# ps -ef (?表示後台運行,e查看所有進程)
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 13:17 ? 00:00:02 init [5]
root 2 1 0 13:17 ? 00:00:00 [migration/0]
root 3 1 0 13:17 ? 00:00:00 [ksoftirqd/0]

[root@localhost ~]# ps u (-u,只顯示有終端的進程)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 4075 0.0 0.0 1664 424 tty1 Ss 13:19 0:00 /sbin/mingetty
root 4076 0.0 0.0 1664 428 tty2 Ss 13:19 0:00 /sbin/mingetty
root 4077 0.0 0.0 1664 428 tty3 Ss 13:19 0


[root@localhost ~]# ps -a (有終端且當前正在運行的進程)
PID TTY TIME CMD
7593 pts/1 00:00:00 ps

[root@localhost ~]# ps -x (同-e,多了個狀態)


Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
PID TTY STAT TIME COMMAND
1 ? Ss 0:02 init [5]
2 ? S< 0:00 [migration/0]
3 ? SN 0:00 [ksoftirqd/0]
4 ? S< 0:00 [watchdog/0]
5 ? S< 0:00 [events/0]


[root@localhost ~]# ps aux (vsz:虛擬內存使用情況,swap,RSS:物理內存使用情況ddr,STAT:狀態,man ps查其多種狀態)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2072 632 ? Ss 13:17 0:02 init [5]
root 2 0.0 0.0 0 0 ? S< 13:17 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN 13:17 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< 13:17 0:00 [watchdog/0]
root 5 0.0 0.0 0 0 ? S< 13:17 0:00 [events/0]
root 6 0.0 0.0 0 0 ? S< 13:17 0:00 [khelper]

[root@localhost ~]# top 實時查看狀態

top - 15:34:07 up 2:16, 2 users, load average: 0.10, 0.07, 0.01
(CPU負載,普遍大於5時,說明過載) 1s 5s 15s

Tasks: 116 total, 1 running, 114 sleeping, 0 stopped, 1 zombie
Cpu(s): 11.3%us, 5.7%sy, 0.0%ni, 81.3%id, 0.8%wa, 0.6%hi, 0.3%si, 0.0%st
(CPU使用率,用戶使用 系統 提升級別 空閑 )

Mem: 904036k total, 496052k used, 407984k free, 31716k buffers (CPU和內存之間的緩存)
Swap: 2097144k total, 0k used, 2097144k free, 351524k cached (內存和swap之間 )

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND


4180 root 15 0 36576 11m 5696 S 10.0 1.3 0:54.48 Xorg
4479 root 15 0 63396 13m 9396 S 6.4 1.6 0:09.09 gnome-terminal
8173 root 18 0 2324 1028 804 R 0.6 0.1 0:00.06 top
1 root 15 0 2072 632 544 S 0.0 0.1 0:02.80 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0

shift <>:上下翻頁
shift m:按c內存使用情況排序
shift p:按cpu使用情況排序
h:幫助
q:退出


Kill -9 11808:殺死一個進程

1) SIGHUP:掛起
2) SIGINT:ctrl c,中斷
3) SIGQUIT:ctrl ,退出
6) SIGABRT:異常退出,aboart()
9) SIGKILL:殺死一個進程
10) SIGUSR1:用戶自定義信號1
12) SIGUSR2:用戶自定義信號2
13) SIGPIPE:當讀端關閉時發出信號
14) SIGALRM:鬧鐘信號
15) SIGTERM:正常退出信號
17) SIGCHLD:子進程退出信號
19) SIGSTOP:暫停
18) SIGCONT:繼續

[root@localhost ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH

stardict &

ps aux | grep stardict

kill -1 11808 或
kill -STOP 11808/kill -CONT 11808

jobs:查看進程狀態

SIGTERM:如果一個進程正在不可中斷睡眠,不能立即殺死,等待結束,才正常退出
SIGKILL:立即kill掉


fdisk -l
df -h
cat /proc/cpuinfo


uptime
top -b -n 2 > temp, 導出兩秒數據到temp

------------------------------------------------------------------------------
free:查內存使用情況

[root@localhost ~]# free
total used free shared buffers cached
Mem: 904036 497284 406752 0 32636 351524
-/ buffers/cache: 113124 790912
Swap: 2097144 0 2097144


shared:共享內存,不同的進程之間共用
buffer:不同的設備之間對數據的處理和傳輸速度不同,不同運行級別的程序之間的數據交互
cached:cpu和內存之間的緩存
-/ buffers/cache:實際使用情況
used=497284-32636(buffers)-351524(cached)=113124(used:-/ buffers/cache)


------------------------------------------------------------------------------

uname -r/ -a

cat /etc/issue


[火星人 ] Linux學習筆記 Day 4~5已經有690次圍觀

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