============================================
使用如下命令快速了解linux系統
============================================
Linux發展歷史:
1) RedHat ---> 1.RedHat
2.CentOS
3.Fedora 桌面圖形系統
rpm, yum 命令
2) Debian ---> 1.Debian
2.Ubuntu 桌面圖形系統
3.Knoppix
apt-get, dpkg
3) Slackware --->
--------------
1.CPU:
--------------
1) cat /proc/cpuinfo,
top ---看進程和cpu的使用率,
uptime ---看cpu負載以及系統運行時間,
2)實踐:
1.1 查看CPU個數
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2
**uniq命令:刪除重復行;wc –l命令:統計行數**
1.2 查看CPU核數
# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 4
1.3 查看CPU型號
# cat /proc/cpuinfo | grep 'model name' |uniq
model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
總結:該服務器有2個4核CPU,型號Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
-----------
2.內存:
-----------
1) cat /etc/meminfo,
free --虛擬內存(-m 是以兆為單位顯示),
vmstat
2) 實踐:
1.1 查看內存總數
#cat /proc/meminfo | grep MemTotal
MemTotal: 32941268 kB //內存32G
1.2 查看內存條數
# dmidecode |grep -A16 "Memory Device$"
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB //1條2G內存
Form Factor: DIMM
Set: 1
Locator: DIMM1
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: 7F7F7F7F7F510000
Serial Number: 0403E324
Asset Tag: 450721
Part Number: 72T256220HR3SA
--
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB //1條2G內存
Form Factor: DIMM
Set: 1
Locator: DIMM2
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: 7F7F7F7F7F510000
Serial Number: 0403E324
Asset Tag: 450721
Part Number: 72T256220HR3SA
--
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed //1個內存空槽
Form Factor: DIMM
Set: 2
Locator: DIMM3
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
--
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed //1個內存空槽
Form Factor: DIMM
Set: 2
Locator: DIMM4
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
--
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed //1個內存空槽
Form Factor: DIMM
Set: 3
Locator: DIMM5
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
--
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed //1個內存空槽
Form Factor: DIMM
Set: 3
Locator: DIMM6
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
總結:該服務器有兩條2G內存 ,空余4個插槽
--------------
3.磁盤:
--------------
以前/dev/hda /dev/hdb /dev/hdc /dev/hdd這些是表示IDE接口的硬盤
/dev/sda /dev/sdb /dev/sdc /dev/sdd這些是SCSI或者SATA規格的硬盤
但是2.6.18以後的內核裡 都是同一的/dev/sda /dev/sdb /dev/sdc /dev/sdd了
sda1 表明這是磁盤a的第一個主分區,主分區/擴展分區只能使用1-4,比如sda1,sda2,sda3,sda4,
請注意可以有4個主分區或者一個擴展分區,三個主分區;擴展分區可以占用1-4中的一個數字
sda5 表明這是磁盤a的擴展分區中的第一個邏輯分區,擴展分區從數字5開始
1)fdisk -l, sfdisk -l, df -hT 查看個各個分區的使用情況,-h是以G為單位顯示 -T是顯示分區的系統類型
cat cat /proc/partitions 查看磁盤分區情況
df -h
du -sh,
2)實踐:
# fdisk -l | grep Disk
Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes
總結:硬盤大小146.7G,即廠商標稱的160G
查看Swap空間大小
[root@R4 ~]# grep SwapTotal /proc/meminfo
SwapTotal: 10223608 kB
查看分區情況
# cat /proc/partitions
major minor #blocks name
202 0 20971520 xvda
202 1 20970496 xvda1
202 16 209715200 xvdb
202 17 209711486 xvdb1
3)創建完分區之後,開始文件系統的創建:
[root@iZ943pp5omvZ ~]# mke2fs -t ext4 /dev/xvdb1 或者 mkfs.ext4 /dev/xvdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52427871 blocks
2621393 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1600 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
4)查看分區的文件系統信息
dumpe2fs /dev/xvdb1
5)將格式化好的分區mount掛載到一個目錄上去: mount /dev/xvdb1 /opt
[root@iZ943pp5omvZ ~]# mount /dev/xvdb1 /opt
[root@iZ943pp5omvZ ~]# mount
/dev/xvda1 on / type ext4 (rw,barrier=0)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/xen type xenfs (rw)
/dev/xvdb1 on /opt type ext4 (rw)
[root@iZ943pp5omvZ ~]# blkid 查看磁盤分區UUID
/dev/xvda1: UUID="94e4e384-0ace-437f-bc96-057dd64f42ee" TYPE="ext4"
/dev/xvdb1: UUID="a52e25b2-2b33-457b-806b-e3f1e17ef50d" TYPE="ext4"
[root@iZ943pp5omvZ ~]# df -h 查看磁盤空間
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 5.3G 14G 29% /
tmpfs 938M 0 938M 0% /dev/shm
/dev/xvdb1 197G 188M 187G 1% /opt
[root@iZ943pp5omvZ ~]# vi /etc/fstab 將新的磁盤分區的文件系統UUID寫到/etc/fstab上去,實現操作系統重啟的時候可以自動掛載
[root@iZ943pp5omvZ ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 14 21:16:42 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=94e4e384-0ace-437f-bc96-057dd64f42ee / ext4 defaults,barrier=0 1 1
UUID=a52e25b2-2b33-457b-806b-e3f1e17ef50d /opt ext4 defaults,barrier=0 1 1
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
某些時候當Linux系統下劃分了新的分區後,需要將這些分區設置為開機自動掛載,否則,Linux是無法使用新建的分區的。
/etc/fstab 文件負責配置Linux開機時自動掛載的分區。
Windows的文件結構是多個並列的樹狀結構,最頂部的是不同的磁盤(分區),如:C,D,E,F等。
Linux的文件結構是單個的樹狀結構。最頂部的為根目錄,即/。在根目錄下,分為多個子目錄,
包括/bin、/boot、/dev、/etc、/home、/lib、/media、/mnt、/opt、/proc、/root、/sbin、/tmp、/usr和/var等。
磁盤Linux分區都必須掛載到目錄樹中的某個具體的目錄上才能進行讀寫操作,而fstab正是負責這一配置。
顯然,根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁盤分區。上面還提到,Linux分區交換也需要獨立使用一個分區,
因此,安裝一個Linux至少需要兩個分區。(事實上,只使用一個分區安裝Linux也是可能的,而且,如果電腦的物理內存足夠大,交換分區並不是必須的)
6) mount -a 掛載所有/etc/fstab中定義的自動掛載項
--------------
4.IO操作:
--------------
1)iostat -x 可以查看磁盤的IO信息
2)實踐:
--------------
5.網絡配置:
--------------
1)ifconfig
mii-tool eth0, mii-tool -v
route
2)實踐
--------------
6.操作系統:
--------------
1)uname -a,
cat /proc/version
2)more /etc/issue
3)lsb_release -a
4)[root@iZ943pp5omvZ ~]# cat /etc/*release
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
[root@iZ943pp5omvZ ~]# ls /etc/*release
/etc/centos-release /etc/redhat-release /etc/system-release
cat /etc/*release 和lsb_release -a 命令執行結果不同:
解析如下:
1./etc/*release是系統安裝時默認的發行版本信息,通常安裝好系統後文件內容不會發生變化。
2.lsb_release -a :FSG(Free Standards Group)組織開發的LSB (Linux Standard Base)標准的一個命令,用來查看linux兼容性的發行版信息。
關於lsb_release -a和/etc/*release顯示的發行版本號不同,原因只有一個:系統內核手動升級了。
具體的命令執行結果就是一些版本信息的說明。你可以用man lsb_release來查看這個命令的詳細解釋。
--------------
7.文件系統
--------------
要明確一塊硬盤為系統所用,必須經歷如下階段:
<1> 通過fdisk或者GPT工具分區某塊硬盤
<2> 將分區進行格式化文件系統: ext2,ext3,ext4等等
<3> 再將文件系統掛載到/ 根目錄的哪個子目錄上去 查看當前文件系統掛載情況 mount
<4> 為了每次系統重啟之後,自動將該文件系統掛載到目錄上去,要在/etc/fstab中寫配置文件
獲取分區的UUID號碼:
[root@iZ943pp5omvZ ~]# ls -la /dev/disk/by-uuid/
total 0
drwxr-xr-x 2 root root 60 Oct 13 19:10 .
drwxr-xr-x 4 root root 80 Oct 13 19:10 ..
lrwxrwxrwx 1 root root 11 Oct 13 11:10 94e4e384-0ace-437f-bc96-057dd64f42ee -> ../../xvda1
[root@iZ943pp5omvZ ~]# blkid
/dev/xvda1: UUID="94e4e384-0ace-437f-bc96-057dd64f42ee" TYPE="ext4"
UUID為系統中的存儲設備提供唯一的標識字符串,不管這個設備是什麼類型的。如果你在系統中添加了新的存儲設備如硬盤,
很可能會造成一些麻煩,比如說啟動的時候因為找不到設備而失敗,而使用UUID則不會有這樣的問題。
1)看文件系統以及文件系統的上電之後自動掛載情況:
cat /etc/fstab ,比如:
[root@iZ943pp5omvZ ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 14 21:16:42 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=94e4e384-0ace-437f-bc96-057dd64f42ee / ext4 defaults,barrier=0 1 1
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
2)查看當前掛載情況:
[root@iZ943pp5omvZ ~]# mount
/dev/xvda1 on / type ext4 (rw,barrier=0)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/xen type xenfs (rw)
--------------
8.服務
--------------
1) service --status-all
2)
----------------------------
9.所有端口和當前打開的端口
----------------------------
cat /etc/services
netstat -nat
netstat -tnlp
----------------------------
10.系統配置的服務
----------------------------
1)chkconfig --list
2)
----------------------------
11.實時監控:
----------------------------
1)top 查看當前系統各個進程的cpu,內存情況
2)uptime 查看當前系統工作了多長時間
----------------------------
12.運行級別
----------------------------
1)runlevel,selinux,getenforce(setenforce)
2)實踐.
----------------------------
13.安裝了哪些軟件包
----------------------------
1)apt-get install, --- debian linux
yum install, yum groupinstall -y 'Development Tools' --- centos.redhat.fedora
rpm -ivh --- centos.redhat.fedora
yum list|less, yum list|grep samba
rpm -qa |less, rpm -qa| grep samba
14.啟動順序圖:
1)# cat /etc/inittab
2)初始化
w --- 查看當前那些用戶在線
who am i --- 查看自己是哪個用戶
which is java
ll 相當於ls -l,是它的別名
ll -a = ls -al
----------------------------
14.linux運行環境的切換
----------------------------
查詢: runlevel
切換:
/sbin/init === /sbin/telinit (tell init)
/sbin/init 0 ------- halt system
/sbin/init 6 ------- restart system
/sbin/init 1 ------- single user mode
/sbin/init 3 ------- multiple user mode ,沒有圖形界面
/sbin/init 5 ------- multiple user mode ,有圖形界面