Linux學習筆記 Day 4~5

weixin_33763244發表於2017-11-16

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

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 



















本文轉simmy51CTO部落格,原文連結:http://blog.51cto.com/helpdesk/524854,如需轉載請自行聯絡原作者

相關文章