1. 程式人生 > >Linux系統環境快速熟悉

Linux系統環境快速熟悉

============================================
使用如下命令快速瞭解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空間大小
[
[email protected]
~]# 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)建立完分割槽之後,開始檔案系統的建立:
[[email protected] ~]# 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
[
[email protected]
~]# mount  /dev/xvdb1 /opt
[[email protected] ~]# 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)


[
[email protected]
~]# blkid    檢視磁碟分割槽UUID
/dev/xvda1: UUID="94e4e384-0ace-437f-bc96-057dd64f42ee" TYPE="ext4" 
/dev/xvdb1: UUID="a52e25b2-2b33-457b-806b-e3f1e17ef50d" TYPE="ext4" 


[[email protected] ~]# 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


[[email protected] ~]# vi /etc/fstab  將新的磁碟分割槽的檔案系統UUID寫到/etc/fstab上去,實現作業系統重啟的時候可以自動掛載
[[email protected] ~]# 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)[[email protected] ~]# cat /etc/*release
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)


[[email protected] ~]# 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號碼:
[[email protected] ~]# 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


[[email protected] ~]# blkid 
/dev/xvda1: UUID="94e4e384-0ace-437f-bc96-057dd64f42ee" TYPE="ext4" 


UUID為系統中的儲存裝置提供唯一的標識字串,不管這個裝置是什麼型別的。如果你在系統中添加了新的儲存裝置如硬碟,
很可能會造成一些麻煩,比如說啟動的時候因為找不到裝置而失敗,而使用UUID則不會有這樣的問題。


1)看檔案系統以及檔案系統的上電之後自動掛載情況:
  cat /etc/fstab ,比如:
  [[email protected] ~]# 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)檢視當前掛載情況:
[[email protected] ~]# 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 ,有圖形介面