Linux學習筆記 Day 4~5
今天繼續網路配置的內容。
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,如需轉載請自行聯絡原作者
相關文章
- linux學習筆記-day5Linux筆記
- DAY 24 LeetCode學習筆記LeetCode筆記
- python 學習筆記5 2018-4-10Python筆記
- Linux 學習筆記Linux筆記
- 學習筆記-DAY01-VUE筆記Vue
- java 學習筆記 day02Java筆記
- Java 學習筆記--Day1Java筆記
- RAC學習筆記-Day_01筆記
- day02_css學習筆記CSS筆記
- Linux核心學習筆記(5)– 程式排程概述Linux筆記
- 黑馬pink JavaScript學習筆記_JS基礎 Day5JavaScript筆記JS
- UE4(5)逆向學習筆記(三)——UEDumper原始碼學習筆記原始碼
- swift學習筆記《4》Swift筆記
- python學習筆記4Python筆記
- Java學習筆記4Java筆記
- vue學習筆記4Vue筆記
- 4、Linux入門學習筆記 檔案操作命令Linux筆記
- Linux 學習筆記--程式Linux筆記
- linux學習day4——shell指令碼中Linux指令碼
- Vue學習筆記5Vue筆記
- VisionPro學習筆記(4)——PatInspect筆記
- Webpack4學習筆記Web筆記
- p4 學習筆記筆記
- Linux基礎學習-Docker學習筆記LinuxDocker筆記
- Node.js學習筆記----day04Node.js筆記
- Java學習筆記-Day48 JavaScript(三)筆記JavaScript
- 學習筆記--Web基礎day04筆記Web
- 【Linux學習筆記】reboot命令Linux筆記boot
- Linux 學習筆記--程式管理Linux筆記
- 強化學習-學習筆記5 | AlphaGo強化學習筆記Go
- spring-5學習筆記Spring筆記
- HTML5學習筆記HTML筆記
- [學習筆記 #5] 雜湊筆記
- Linux學習/TCP程式設計學習筆記LinuxTCP程式設計筆記
- linux學習筆記---一些命令學習Linux筆記
- python爬蟲—學習筆記-4Python爬蟲筆記
- Python-BeautifulSoup4 學習筆記Python筆記
- G01學習筆記-4筆記
- QT學習筆記4(動畫)QT筆記動畫