基礎(chǔ)技能培訓(xùn)---linux
發(fā)布時(shí)間:2020-10-22 來(lái)源: 思想?yún)R報(bào) 點(diǎn)擊:
基礎(chǔ)技能培訓(xùn) d ---Linux 一.
文檔說(shuō)明 1. 文檔主要功能 (1)
面向新入職員工培訓(xùn) Linux 基礎(chǔ)知識(shí)。
。2)
面向有一定實(shí)際經(jīng)驗(yàn)的員工進(jìn)行 Linux 基礎(chǔ)知識(shí)的查漏補(bǔ)缺 。
。3)
作為查詢一般 Linux 操作的常備文檔。
2. 文檔使用提示 (1)
建議新員工在實(shí)際環(huán)境中或搭建虛擬機(jī)進(jìn)行學(xué)習(xí)。
(2)
文檔中 Linux 的一些操作命令可能由于操作系統(tǒng)的不同而有所區(qū)別。
3. 文檔更新 更新時(shí)間 更新內(nèi)容 更新人 2014.10.29 文檔創(chuàng)建 孫策
二.
Linux 基礎(chǔ)知識(shí) 1. 什么是 Linux Linux 是在 1991 年由芬蘭大學(xué)生 Linus Torvalds 寫的一個(gè)核心操作系統(tǒng),最早僅只是核心而已,后來(lái)由于此核心不但可以適合于主流 PC 的 x86 架構(gòu),并且穩(wěn)定,因此有相當(dāng)多的團(tuán)隊(duì)加入研究開(kāi)發(fā),后來(lái)某些公司將一些套件加入此核心中,變成為完整的一套操作系統(tǒng),所以才會(huì)有這么多的 Linux 版本。
2. 為什么要用 Linux 相比起 Windows,Linux 采用開(kāi)源代碼,安全性高;擁有良好的資源分配,對(duì)服務(wù)器硬件性能要求大大低于 Windows;Linux 是真正的多用戶多線程且支持世界上幾乎所有的 cpu 架構(gòu);Linux 內(nèi)存管理和調(diào)度方式優(yōu)秀,運(yùn)行穩(wěn)定。
3. 不同的 Linux 版本 我們工作中常用的是 RedHat 6.4 企業(yè)版。Redhat 或稱為 Redhat系列,包括 RHEL(Redhat Enterprise Linux,也就是所謂的 Redhat
Advance Server,收費(fèi)版本)、Fedora Core(由原來(lái)的 Redhat 桌面版本發(fā)展而來(lái),免費(fèi)版本)、CentOS(RHEL 的社區(qū)克隆版本,免費(fèi))。Redhat應(yīng)該說(shuō)是在國(guó)內(nèi)使用人群最多的 Linux 版本,甚至有人將 Redhat 等同于 Linux,所以這個(gè)版本的特點(diǎn)就是使用人群數(shù)量大,資料非常多。
而且網(wǎng)上的一般 Linux 教程都是以 Redhat 為例來(lái)講解的。Redhat 系列的包管 理方式采用的是基于 RPM 包的 YUM 包管理方式,包分發(fā)方式是編譯好的二進(jìn)制文件。穩(wěn)定性方面 RHEL 和 CentOS 的穩(wěn)定性非常好,適合于服務(wù)器使用, 但是 Fedora Core 的穩(wěn)定性較差,最好只用于桌面應(yīng)用 。
4. Linux 的一些基礎(chǔ)概念 (1)
版本號(hào)概念 Linux 內(nèi)核版本號(hào)格式是 x.y.zz-www,數(shù)字 x 代表版本類型,數(shù)字 y 為偶數(shù)時(shí)是穩(wěn)定版本,為奇數(shù)時(shí)是開(kāi)發(fā)版本,如 2.0.40為穩(wěn)定版本,2.3.42 為開(kāi)發(fā)版本,測(cè)試版本為 3 個(gè)數(shù)字加上測(cè)試號(hào)。
(2)
跨硬件平臺(tái) Linux 采用一個(gè)統(tǒng)一的框架對(duì)硬件進(jìn)行管理,同時(shí)從一個(gè)硬件平臺(tái)到另一個(gè)硬件平臺(tái)的改動(dòng)與上層應(yīng)用無(wú)關(guān)。
。3)
文件系統(tǒng) Linux 的文件系統(tǒng)和 Windows 中的文件系統(tǒng)有很大的區(qū)別。
Linux 文件系統(tǒng)是棵文件樹(shù),所有文件和外部設(shè)備都掛在這棵樹(shù)上,根目錄是所有訪問(wèn)的入口。Window 以驅(qū)動(dòng)器的盤符為基礎(chǔ),盤符是訪問(wèn)的入口。
分區(qū)和目錄的關(guān)系:
Linux 中分區(qū)屬于目錄,window 中目錄屬于分區(qū)。Linux 中,把每個(gè)分區(qū)和某個(gè)目錄對(duì)應(yīng)(掛裝),
對(duì)某一目錄操作,就是對(duì)相應(yīng)分區(qū)操作,實(shí)現(xiàn)了硬件管理手段和軟件目錄管理手段的統(tǒng)一。
。4)
目錄和文件 Linux 中,目錄也是文件。目錄(文件)的內(nèi)容:
存儲(chǔ)關(guān)聯(lián)的文件和子目錄名及相應(yīng)的指針, 這里也是存儲(chǔ)文件名的唯一地方。對(duì)目錄的操作,一般不涉及對(duì)其文件的內(nèi)容進(jìn)行操作,一般是對(duì)目錄名和其文件間的對(duì)應(yīng)關(guān)系進(jìn)行操作。
。5)
桌面系統(tǒng) 只是一個(gè)應(yīng)用軟件,不是 linux 中的自身部分,相當(dāng)耗系統(tǒng)資源并降低系統(tǒng)性能。
(6)
絕對(duì)路徑和相對(duì)路徑 在 Linux 中,絕對(duì)路徑是從/(也被稱為根目錄)開(kāi)始的,比如/usr、/etc/X11。如果一個(gè)路徑是從/開(kāi)始的,它一定是絕對(duì)路徑。相對(duì)路徑:相對(duì)路徑是以. 或.. 開(kāi)始的. 表示用戶當(dāng)前操作所處的位置,而.. 表示上級(jí)目錄;在路徑中,. 表示用戶當(dāng)前所處的目錄,而..上級(jí)目錄,要把.和..當(dāng)做目錄來(lái)看。
5. 常用 Linux 工具 (1)
Putty:常用于連接無(wú)桌面環(huán)境的 linux 系統(tǒng)。
。2)
SshClient:常用于在 Linux 和 Windows 間傳輸文件。
(3)
VNC:常用于連接有桌面環(huán)境的 linux 系統(tǒng)。
注:Linux 可啟動(dòng)多個(gè) VNC 服務(wù),在 VNC 客戶端上輸入 IP+冒號(hào)+VNC 服務(wù)連接編號(hào)可訪問(wèn)不同的 VNC 連接,進(jìn)入后面對(duì)的也將是不 同的桌面。
三.
Linux 的安裝(Redhat 6.4 )
1. 插入安裝光盤,系統(tǒng)會(huì)進(jìn)入引導(dǎo)界面,引導(dǎo)安裝 RHEL 操作系統(tǒng)。
2. 選擇 SKIP,跳過(guò)檢測(cè)
3. 從引導(dǎo)界面選擇簡(jiǎn)體中文
4. 檢測(cè)之前安裝:這一部分,通常會(huì)選擇全新安裝而非升級(jí)。
5. 磁盤分區(qū):這一部分需非常注意,尤其是 SWAP 分區(qū)的大小,可參照以下表格修改。這里選擇默認(rèn)選項(xiàng),系統(tǒng)自動(dòng)非配磁盤空間。
可用 RAM Swap Space 1GB- - 2GB 1.5*RAM 2GB- - 4GB 1*RAM >8GB 0.75*RAM
6.
網(wǎng)絡(luò)配置:如果安裝數(shù)據(jù)庫(kù)的主機(jī)被用作數(shù)據(jù)庫(kù)服務(wù)器,網(wǎng)絡(luò)配置階段請(qǐng)勿使用 DHCP,需要分配一個(gè)靜態(tài) IP。選中 Enable IPv4 support 選項(xiàng),取消 Use dynamic IP configuration (DHCP)選項(xiàng)和 Enable IPv6 support 選項(xiàng)。
7. Package 安裝部分,選擇 Customize now,額外勾選中以下 Package Groups:
基本系統(tǒng)?主框架訪問(wèn)、兼容程序庫(kù)、安全性工具; 服務(wù)器?ftp 服務(wù)器、系統(tǒng)管理工具;系統(tǒng)管理?SNMP 管理、系統(tǒng)管理;桌面全選;應(yīng)用程序全選;開(kāi)發(fā)全選
8. 全部配置好后,安裝系統(tǒng),然后會(huì)要求重啟機(jī)器。
9. 重啟完成后,對(duì)以下部分進(jìn)行配置:
10 .添加一個(gè) oracle 用戶,用戶組為 root。(方便以后安裝數(shù)據(jù)庫(kù))
(雙擊 oracle 用戶)
(去掉默認(rèn)的 oracle 用戶組,勾選 root 組)
以下的步驟默認(rèn)即可配置完成。
四.
Linux 基本操作(Redhat 6.4 )
注:綠色為范例內(nèi)容,可替換 操作 命令舉例 備注 補(bǔ)全命令 按 tab 鍵
切換目錄 cd /opt 范例:切換到/opt 目錄下。
列出文件列表 ls 范例:顯示當(dāng)前文件目錄和子目錄列表 創(chuàng)建目錄 mkdir bohui 范例:在所在目錄下創(chuàng)建bohui 子目錄。
刪除文件 rm –rf bohui 強(qiáng)制刪除,不會(huì)確認(rèn) 范例:刪除所在目錄下的bohui 目錄或文件。
查看文件內(nèi)容 cat config.xml 范例:查看所在目錄下config.xml 文件的內(nèi)容。
編輯文件內(nèi)容 vi config.xml
退出為:冒號(hào)
按 insert 鍵進(jìn)入編輯模式 修改文件后輸入:q!不保存退出 或 范例:修改所在目錄下config.xml 文件的內(nèi)容。
:wq 保存退出 顯示當(dāng)前所在目錄 pwd 顯示當(dāng)前所在目錄。
切換用戶 su - oracle 范例:切換到 oracle 用戶,且一同切換環(huán)境變量。
設(shè)置權(quán)限 chmod 777 boot.sh 范例:將全部用戶賦予操作boot.sh 腳本的最高權(quán)限。
執(zhí)行腳本 ./start.sh 范例:執(zhí)行當(dāng)前目錄下的start.sh 腳本。
解壓縮 tar –jxvf bohui.tar.gz- 范例:解壓縮 bohui.tar.gz文件到當(dāng)前目錄下。
網(wǎng)卡狀態(tài)查詢 ifconfig 范例:可以查詢不同網(wǎng)卡是否連接正常(running)
系統(tǒng)性能分析及進(jìn)程查詢 Top
退出為 q
關(guān)閉進(jìn)程 killall BHIP80 范例:關(guān)閉名稱為 BHIP80的進(jìn)程。
網(wǎng)卡抓包 tcpdump –i eth1 –w test.pcap 推出為 ctrl+c 范例:抓 eth1 網(wǎng)卡的數(shù)據(jù)包并在當(dāng)前目錄下生成test.pcap 文件。
重啟系統(tǒng) reboot 需使用 root 用戶操作
五.
Linux 進(jìn)階操作手冊(cè)(Redhat 6.4 )
1. 系統(tǒng)基礎(chǔ)硬件配置檢查 操作 命令舉例 備注 查看 cpu 型號(hào) #cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq –c 4
Intel(R) Atom(TM) CPU D525
@ 1.80GHz # dmidecode | grep CPU 該例子中有 4 個(gè)邏輯 CPU,型號(hào)為D525 查看 cpu 核心數(shù) #cat /proc/cpuinfo | grep physical | uniq –c 4 physical id
: 0
4 physical id
: 1 該例子說(shuō)明兩顆 4 核的 CPU(根據(jù) id不同可知 CPU 個(gè)數(shù))
查看 cpu 溫度 #cd /proc/acpi/thermal_zone #cat
TZ*/temp* temperature:
38 C temperature:
27 C temperature:
43 C 該例子的前提是硬件有感知溫度的芯片 查看cpu總的占用率 #top
或 #top |grep “Cpu” 或 1. 直接用 top 命令不僅可以查看cpu 使用情況也可以查看內(nèi)存,Swap,進(jìn)程占用資源情況; 2. 也可以使用|和 grep 定位到 Cpu
#top –n 2 |grep “Cpu” Cpu(s): 13.7%us,
1.9%sy,
0.0%ni, 84.4%id,
0.1%wa,
0.0%hi,
0.0%si,
0.0%st Cpu(s):
0.4%us,
0.2%sy,
0.0%ni, 99.4%id,
0.0%wa,
0.0%hi,
0.0%si,
0.0%st 這一行; 3. 參數(shù)-n 是指定在終端顯示幾次的刷新結(jié)果;若不知道-n,默認(rèn)是在不停刷新; 4. top 運(yùn)行中,按鍵盤 P 或 M 排序; P – 以 CPU 占用率大小的順序排列進(jìn)程列表 M – 以內(nèi)存占用率大小的順序排列進(jìn)程列表
查看指定程序的cpu 占用 #pidof httpd 31117 31116 31115 31114 #top –p 31117,31116,31115,31114 或 #top |grep java
1. 首先查看某些進(jìn)程的信息 2. Top 指定查看 PID Ps 命令也可以查看指定程序 CPU 占用情況,但顯示某個(gè)瞬間值,不易抓住峰值; 查看內(nèi)存容量 #free –m
total
used
free shared buffers
cached Mem:
2002
659
1343
0
130
153 -/+ buffers/cache: 376 1626 Swap:
510
3
507 或 #cat /proc/meminfo 或 #top
1. 參數(shù)-m 指定顯示數(shù)據(jù)單位為 M 從應(yīng)用程序的角度來(lái)說(shuō) 可用內(nèi)存=系統(tǒng) free Memory+buffers+cached. 左側(cè)例子可用內(nèi)存 1626=1343+130+153 總內(nèi)存容量:2002M
============== 藍(lán)色部分:
total 內(nèi)存總數(shù): 2002M; used 已經(jīng)使用的內(nèi)存數(shù): 659M; free
空閑的內(nèi)存數(shù): 1343M shared 不同進(jìn)程間用來(lái)進(jìn)行數(shù)據(jù)交換,一般都是 0(多個(gè)進(jìn)程共享的內(nèi)存總額) buffers 是由各種進(jìn)程分配的,被用在如輸入隊(duì)列等方面,一個(gè)簡(jiǎn)單的例子如某個(gè)進(jìn)程要求有多個(gè)字段讀入,在所有字段被讀入完整之前,進(jìn)程把先前讀入的字段放在 buffer 中保存。: 130M cached 經(jīng)常被用在磁盤的 I/O 請(qǐng)求上,如果有多個(gè)進(jìn)程都要訪問(wèn)某個(gè)文件,于是該文件便被做成 cache 以方便下次被訪問(wèn),這樣可提供系統(tǒng)性能。:153M 綠色部分:
(-buffers/cache) used 內(nèi)存數(shù):376M (指的第一部分 Mem 行中的 used – buffers – cached) ( buffers/cache) free 內(nèi)存數(shù): 1626M (指的第一部分 Mem 行中的 free +buffers +cached)
查看內(nèi)存條數(shù) #dmidecode|grep –P -A5 "Memory\s+Device"|grep Size|grep -v Range
Size:2048MB
Size:2048MB
Size:NoModuleInstalled
Size:NoModuleInstalled
查看內(nèi)存的插槽數(shù),已經(jīng)使用多少插槽.每條內(nèi)存多大 (-A5 就是關(guān)鍵字下面再顯示五行) 查看內(nèi)存總的使用率 #free –m 或 #top 總的使用率=使用內(nèi)存/總內(nèi)存 使用的內(nèi)存=used 查看指定程序的內(nèi)存占用 #pidof httpd 31117 31116 31115 31114 #top –p 31117,31116,31115,31114 或 #top |grep java
查看硬盤容量 #fdisk –l 不同設(shè)備名稱下顯示磁盤容量,如:Disk /dev/had:10.7GB
查看硬盤個(gè)數(shù) #fdisk –l 通過(guò)設(shè)備名稱區(qū)分及容量區(qū)分不同的硬盤(設(shè)備名稱如:/dev/hda,
IDE 硬盤為 hdx(x 為從 a—d)因?yàn)镮DE 硬盤最多四個(gè),SCSI,SATA,USB 硬盤為 sdx(x為 a—z)
。
查看硬盤空間使用率 df –h df 常用參數(shù):
-T 打印文件系統(tǒng)類型。
-h 以友好格式顯示數(shù)值。
-H 也是以友好方式顯示數(shù)值,但 1K是以 1000 計(jì)算的,而不是 1024。
-l 只顯示本地文件系統(tǒng)。
-a 顯示全部文件系統(tǒng) 查看硬盤 i/o 情況 #iostat -x 1 Linux 2.6.33-fukai (fukai-laptop)
_i686_
(2 CPU) avg-cpu:
%user
%nice %system %iowait
%steal
命令格式:
iostat[參數(shù)][時(shí)間][次數(shù)] 命令參數(shù):
-C 顯示 CPU 使用情況
%idle
5.47
0.50
8.96
48.26
0.00
36.82
Device:
rrqm/s
wrqm/s
r/s
w/s
rsec/s
wsec/s avgrq-sz avgqu-sz
await
svctm
%util sda
6.00
273.00
99.00
7.00
2240.00
2240.00
42.26
1.12
10.57
7.96
84.40 sdb
0.00
4.00
0.00
350.00
0.00
2068.00
5.91
0.55
1.58
0.54
18.80
rrqm/s:
每秒進(jìn)行 merge 的讀操作數(shù)目.即 delta(rmerge)/s wrqm/s:
每秒進(jìn)行 merge 的寫操作數(shù)目.即 delta(wmerge)/s r/s:
每秒完成的讀 I/O 設(shè)備次數(shù).即 delta(rio)/s w/s:
每秒完成的寫 I/O 設(shè)備次數(shù).即 delta(wio)/s rsec/s:
每秒讀扇區(qū)數(shù).即 delta(rsect)/s wsec/s:
每秒寫扇區(qū)數(shù).即 delta(wsect)/s rkB/s:
每秒讀 K 字節(jié)數(shù).是 rsect/s 的一半,因?yàn)槊可葏^(qū)大小為 512 字節(jié).(需要計(jì)算) wkB/s:
每秒寫 K 字節(jié)數(shù).是 wsect/s 的一半.(需要計(jì)算) avgrq-sz: 平均每次設(shè)備 I/O 操作的數(shù)據(jù)大小 (扇區(qū)).delta(rsect+wsect)/delta(rio+wio) avgqu-sz: 平均 I/O 隊(duì)列長(zhǎng)度.即 delta(aveq)/s/1000 (因?yàn)閍veq 的單位為毫秒). await:
平均每次設(shè)備 I/O 操作的等待時(shí)間 (毫秒).即 delta(ruse+wuse)/delta(rio+wio) svctm:
平均每次設(shè)備 I/O 操作的服務(wù)時(shí)間 (毫秒).即 delta(use)/delta(rio+wio) %util:
一秒中有百分之多少的時(shí)間用于 I/O 操作,或者說(shuō)一秒中有多少時(shí)間 I/O 隊(duì)列是非空的.即 delta(use)/s/1000 (因?yàn)?use 的單位為毫秒) 如果
%util 接近
100%, 說(shuō)明產(chǎn)生的 O I/O 請(qǐng)求太多O ,I/O 系統(tǒng)已經(jīng)滿負(fù)荷, , 該磁盤 可能存在瓶頸. . idle 小于 70% IO 壓力就較大了, , 一般讀取速度有較多的 wait. 同時(shí)可以結(jié)合 vmstat 查看查看 b b 參數(shù)( ( 等待資源的進(jìn)程數(shù)) )和 和 a wa 參數(shù)O (IO 等待所占用的 U CPU 時(shí)間的百分比, , 高過(guò) 30%時(shí) 時(shí) O IO 壓力高) )
-d 顯示磁盤使用情況 -k 以 KB 為單位顯示 -m 以 M 為單位顯示 -N 顯示磁盤陣列(LVM) 信息 -n 顯示 NFS 使用情況 -p[磁盤] 顯示磁盤和分區(qū)的情況 -t 顯示終端和 CPU 的信息 -x 顯示詳細(xì)信息
查看硬盤歷史 i/o情況 #iostat –x 2 >> /tmp/log.io
左側(cè)例子:每隔 2 秒刷新一次,并把輸出結(jié)果寫入 log.io 文件中;這樣可
以看到 i/o 歷史情況; 查看網(wǎng)卡型號(hào) #lspci | grep Ethernet lspci 是一個(gè)用來(lái)顯示系統(tǒng)中所有PCI 總線設(shè)備或連接到該總線上的所有設(shè)備的工具。
為了能使用這個(gè)命令所有功能,你需要有 linux 2.1.82 或以上版本,支持 /proc/bus/pci 接口的核心; 查看網(wǎng)卡個(gè)數(shù) #ifconfig –a 或 lspci | grep Ethernet|wc -l
查看指定網(wǎng)卡的驅(qū)動(dòng)及版本 1. 查看網(wǎng)卡驅(qū)動(dòng) #lspci -vvv 或 dmesg |grep Ethernet 2.查看驅(qū)動(dòng)版本:
#modinfo 驅(qū)動(dòng)名稱|grep version 也可以安裝 Ethtool 小工具查看網(wǎng)卡信息; lspic 參數(shù): -v 顯示設(shè)備的詳細(xì)信息。
-vv 顯示設(shè)備更詳細(xì)的信息。
-vvv 顯示設(shè)備所有可解析的信息
dmesg 可以看到開(kāi)機(jī)檢測(cè)到硬件信息 查看指定網(wǎng)卡輸入流量 #watch ifconfig eth0
或 #watch more /proc/net/dev 或 #sar –n DEV 1 4 其他一些工具也可以,如:ifstat,sar(redhat 默認(rèn)安裝此工具),iftraf,nload,vnstat 等; Sar:
這個(gè)工具 RHEL5 自帶有,默認(rèn)也安裝。
-n參數(shù)很有用,他有6個(gè)不同的開(kāi)關(guān):DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV 顯示網(wǎng)絡(luò)接口信息,EDEV顯示關(guān)于網(wǎng)絡(luò)錯(cuò)誤的統(tǒng)計(jì)數(shù)據(jù),NFS統(tǒng)計(jì)活動(dòng)的 NFS 客戶端的信息,NFSD統(tǒng)計(jì) NFS 服務(wù)器的信息,SOCK 顯示套 接字信息,ALL 顯示所有 5 個(gè)開(kāi)關(guān)
查看指定網(wǎng)卡輸出流量 #watch ifconfig eth0 #watch more /proc/net/dev 或 #sar –n DEV 1 4
2. 操作系統(tǒng)檢查及操作 操作 命令舉例 備注
查看系統(tǒng)名稱 # cat /etc/issue 查看操作系統(tǒng)發(fā)現(xiàn)版本及名稱 #hostname 查看主機(jī)名
修改系統(tǒng)名稱 #hostname new-hostname(即時(shí)生效,但系統(tǒng)重啟后失效) #echo new-hostname>/proc/sys/kernel/hostname (系統(tǒng)啟動(dòng)時(shí),從此文件中讀取主機(jī)名字)
或 #vi /etc/sysconfig/network 修改 hostname=new-hostname 下次重啟生效 #vi /etc/hosts 文件作相應(yīng)修改 hostname –a: 獲取主機(jī)別名。
hostname –d: 獲取 DNS 域名。
hostname –f: 獲取 FQDN 名稱。
hostname –i: 獲取主機(jī)的 IP 地址。
hostname –s: 獲取域名的 netbios 名稱
修改系統(tǒng)時(shí)間 1.#date
//顯示當(dāng)前日期 2.#date -s
//設(shè)置當(dāng)前時(shí)間,只有 root 權(quán)限才能設(shè)置,其他只能查看。
3.#date -s 20131010
//設(shè)置成 20131010,這樣會(huì)把具體時(shí)間設(shè)置成空 00:00:00 4.#date -s 12:23:23
//設(shè)置具體時(shí)間,不會(huì)對(duì)日期做更改 5.#date -s “12:12:23 2006-10-10″
//這樣可以設(shè)置全部時(shí)間
只有超級(jí)用戶才能用 date 命令設(shè)置時(shí)間,一般用戶只能用 date 命令顯示時(shí)間 查看系統(tǒng)內(nèi)核版本 #uname –r 或 #cat /proc/version #uname –a 詳細(xì)輸出所有信息,依次為內(nèi)核名稱,主機(jī)名,內(nèi)核版本號(hào),內(nèi)核版本,硬件名,處理器類型,硬件平臺(tái)類型,操作系統(tǒng)名稱 -m 或–machine
顯示主機(jī)的硬件(CPU)名 -n 或-nodename 顯示主機(jī)在網(wǎng)絡(luò)節(jié)點(diǎn)上的名稱或主機(jī)名稱 -r 或–release
顯示 linux 操作系統(tǒng)內(nèi)核版本號(hào) -s 或–sysname
顯示 linux 內(nèi)核名稱 -v 顯示顯示操作系統(tǒng)是第幾 version 版本 -p 顯示處理器類型或 unknown -i
顯示硬件平臺(tái)類型或 unknown -o 顯示操作系統(tǒng)名 –help
獲得幫助信息
–version 顯示 uname 版本信息
查看系統(tǒng)字符編碼 #echo $LANG
臨時(shí)修改系統(tǒng)字符編碼 #export LANG=en
永久修改系統(tǒng)字符編碼 #vi /etc/sysconfig/i18n 修改文件 i18n 的 LANG 的值 #source i18n 使修改生效;
查看 dmesg 日志 如果硬件損壞的話,可以用如下命令
#dmesg |grep error
/var/log/dmesg 記錄系統(tǒng)在開(kāi)機(jī)的時(shí)候內(nèi)核偵測(cè)過(guò)程所產(chǎn)生的各項(xiàng)信息;
查看 boot 日志 #cat /var/log/boot.log.具體日期 /var/log/boot.log Linux 系統(tǒng)開(kāi)機(jī)自檢過(guò)程顯示的信息 查看 secure 日志 #more /var/log/secure /var/log/secure 基本上,只要牽涉到“需要輸入賬號(hào)密碼”的程序,當(dāng)?shù)侨霑r(shí)(不管登入正確或錯(cuò)誤)都會(huì)被記錄在此日志文件中;包括系統(tǒng)的 login 程序、圖形界面登入所使用的 gdm、su、sudo等;還有網(wǎng)絡(luò)連接的 ssh、telnet 等登入信息都會(huì)被記錄在這; 查看 Messages #more /var/log/messages /var/log/messages 幾乎系統(tǒng)發(fā)生的錯(cuò)誤信息(或者是重要的資訊)都會(huì)記錄在這個(gè)日志文件;如果系統(tǒng)發(fā)生莫名的錯(cuò)誤時(shí),這個(gè)檔案是一定要查閱之一; Iptables 默認(rèn)把日志信息輸出到/var/log/messages 文件 動(dòng)態(tài)的查看日志文件的更新內(nèi)容 #watch -d -n 1 cat /var/log/messages 或 #tail -f /var/log/messages
1.-d 表示高亮不同的地方,-n 表示多少秒刷新一次。
該指令,不會(huì)直接返回命令行,而是實(shí)時(shí)打印日志文件中新增加的內(nèi)容,這一特性,對(duì)于查看日志是非常有效的。如果想終止輸出,按 Ctrl+C 即可。
2. 參數(shù)-f使tail不停地去讀最新的內(nèi)容,這樣有實(shí)時(shí)監(jiān)視的效果
系統(tǒng)關(guān)機(jī)和重啟 關(guān)機(jī) #shutdown –h now #shutdown –h 10:00 (10 點(diǎn)鐘關(guān)機(jī)) #shutdown –h +10(10 分鐘后關(guān)機(jī)) #halt
Default runlevel. The runlevels used are: 0 - halt (Do NOT set initdefault to this) 1 - Single user mode 2 - Multiuser, without NFS (The same
#init0 重啟 #shutdown –r now #reboot #init6 as 3, if you do not have networking) 3 - Full multiuser mode 4 - unused 5 - X11 6 - reboot (Do NOT set initdefault to this)
shutdown 為安全關(guān)機(jī)方式
3. 網(wǎng)絡(luò)信息檢查及操作 操作 命令舉例 備注 查看系統(tǒng)名稱 #hostname
修改系統(tǒng)名稱 #hostname testname
查看網(wǎng)卡 ip 地址信息 #ifconfig –a #ifconfig
eth0
修改網(wǎng)卡 ip 地址信息 1.即時(shí)生效,重啟網(wǎng)卡失效; #ifconfig eth0 172.17.13.21 netmask 255.255.255.0 #route add default gw 172.17.13.1 修改網(wǎng)關(guān) 1. 永久生效 #vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.17.13.21
NETMASK=255.255.255.0 GATEWAY=172.17.13.1 #service network restart
或 #/etc/init.d/network restart 重啟網(wǎng)絡(luò)服務(wù),使 IP 生效
以 eth0 網(wǎng)口為例子 添加多個(gè) ip 地址 1. 一個(gè)網(wǎng)卡對(duì)應(yīng) 2 個(gè) IP 地址為例:
修改 ip:
編輯文件/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 //設(shè)備名稱,不要修改 BOOTPROTO=static //不要修改 BROADCAST=10.10.22.255 //廣播地址,一般為本網(wǎng)段的最后一個(gè) IP IPADDR=10.10.22.145 //ip 地址 NETMASK=255.255.255.0 //子網(wǎng)掩碼
NETWORK=10.10.22.0 //網(wǎng)段地址 ONBOOT=yes //不要修改 TYPE=Ethernet //不要修改 注意:
ifcfg-eth0 是第一張網(wǎng)卡,ifcfg-eth1 是第二張網(wǎng)卡,依次類推 增加 ip:
可以重新編譯一個(gè)文件,文件名為/etc/sysconfig/network-scripts/ifcfg-eth0:0 也可以直接在/etc/sysconfig/network-scripts/ifcfg-eth0 中添加(但是設(shè)備 eth0 一定要有)
DEVICE=eth0:0 //設(shè)備名稱,不要修改 BOOTPROTO=static //不要修改 BROADCAST=10.10.33.255 //廣播地址,一般為本網(wǎng)段的最后一個(gè) IP IPADDR=10.10.33.145 //ip 地址 NETMASK=255.255.255.0 //子網(wǎng)掩碼 NETWORK=10.10.33.0 //網(wǎng)段地址 ONBOOT=yes //不要修改 TYPE=Ethernet //不要修改 依次類推,如果再增加一個(gè) ip,則再增加如下配置:
DEVICE=eth0:1 //設(shè)備名稱,不要修改 BOOTPROTO=static //不要修改 BROADCAST=10.10.44.255 //廣播地址,一般為本網(wǎng)段的最后一個(gè) IP IPADDR=10.10.44.145 //ip 地址 NETMASK=255.255.255.0 //子網(wǎng)掩碼 NETWORK=10.10.44.0 //網(wǎng)段地址 ONBOOT=yes //不要修改 TYPE=Ethernet //不要修改 增加默認(rèn)網(wǎng)關(guān)的方法:
注意一臺(tái)機(jī)器只能有一個(gè)缺省網(wǎng)關(guān),否則就應(yīng)該給出具體的路由方式。
在相關(guān)的設(shè)備配置中增加一項(xiàng)即可,例如在上述配置中,在第一張網(wǎng)卡的第一個(gè) IP 增加一個(gè)缺省網(wǎng)關(guān):
GATEWAY=10.10.22.3 修改完成后,要想使上述修改生效,則需要重起機(jī)器,或者重起網(wǎng)絡(luò)。
重新啟動(dòng)機(jī)器的方法是:reboot 重起網(wǎng)絡(luò)的方法是:service network restart 以上為靜態(tài)增加 ip 的方法,即機(jī)器重起后仍然有效的方法
查看本地路由信息 #route –n
添加本地路由表 1.#route add default gw 172.17.13.1 (添加默認(rèn)路由) #route add –net172.17.0.0 netmask 255.255.0.0 gw 172.17.13.1 dev eth1 (添加到指定網(wǎng)絡(luò)的路由); 2.#vi /etc/sysconfig/network-script/route-eth1 添加:
GATEWAY0=172.17.13.1 NETMASK0=255.255.0.0 ADDRESS0=172.17.0.0 #service network restart (重啟網(wǎng)絡(luò)服務(wù)) 3.或者 1 方法的命令加入到/etc/rc.local 1. 第一種方式重啟network 服務(wù)后添加的路由失效; 2. 第二種方式永久靜態(tài)路由; 新建靜態(tài)路由配置文件 route-eth1,文件命名規(guī)則:route-devName,即對(duì)應(yīng)網(wǎng)卡設(shè)備名的路由配置文件。然后添加路由信息 刪除本地路由表 #route del default # route del -net 172.17.0.0 netmask 255.255.0.0 gw 172.17.13.1 dev eth0
查看本地端口監(jiān)聽(tīng)情況 #netstat –l|more netstat 參數(shù):
-a (all)顯示所有選項(xiàng),默認(rèn)不顯示 LISTEN 相關(guān) -t (tcp)僅顯示 tcp 相關(guān)選項(xiàng) -u (udp)僅顯示 udp 相關(guān)選項(xiàng) -n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽(tīng)) 的服務(wù)狀態(tài) -p 顯示建立相關(guān)鏈接的程序名 -r 顯示路由信息,路由表 -e 顯示擴(kuò)展信息,例如uid 等 -s 按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì) -c 每隔一個(gè)固定時(shí)間,執(zhí)行該 netstat 命令。
查看端口被哪個(gè)程序占用 #netstat –anpl |grep 80 以 80 端口為例; 網(wǎng)卡重啟 #ifdown eth0 #ifup eth0 或 #ifconfig eth0 down #ifconfig eth0 up
或 #service network restart DNS 配置 #vi /etc/resolv.conf (打開(kāi)此文件,添加域名 IP) nameserver 172.17.1.20 #service network restart
路由跟蹤 #traceroute [選項(xiàng)與參數(shù)] IP #traceroute –n www.baidu.com traceroute to www.baidu.com (220.181.111.148), 30 hops max, 60 byte packets
1
* * *
2
172.17.1.2 (172.17.1.2)
5.125 ms
5.115 ms
5.102 ms
3
124.127.132.5 (124.127.132.5)
14.497 ms
14.501 ms
57.551 ms
4
* * *
5
202.97.57.225 (202.97.57.225)
14.420 ms
15.407 ms
15.400 ms
6
* * *
7
220.181.0.86 (220.181.0.86)
143.748 ms 220.181.0.230 (220.181.0.230)
7.086 ms 220.181.0.26 (220.181.0.26)
32.821 ms
由於目前 UDP/ICMP 的攻擊層出不窮,因此很多路由器可能就此取消這兩個(gè)封包的回應(yīng)功能。所以我們可以使用 TCP 來(lái)偵測(cè)呦!
例如使用同樣的方法,透過(guò)等待時(shí)間 1 秒,以及 TCP 80 埠口的情況下,可以這樣做:
traceroute 可以幫助查看自己的網(wǎng)絡(luò)環(huán)境有問(wèn)題還是 Internet 有問(wèn)題
選項(xiàng)與參數(shù):
-n :可以不必進(jìn)行主機(jī)的名稱解析,單純用 IP ,速度較快!
-U :使用 UDP 的 port 33434 來(lái)進(jìn)行偵測(cè),這是預(yù)設(shè)的偵測(cè)協(xié)定; -I :使用 ICMP 的方式來(lái)進(jìn)行偵測(cè); -T :使用 TCP 來(lái)進(jìn)行偵測(cè),一般使用 port 80 測(cè)試 -w :若對(duì)方主機(jī)在幾秒鐘內(nèi)沒(méi)有回聲就宣告不治...預(yù)設(shè)是 5 秒 -p 埠號(hào):若不想使用 UDP 與 TCP 的預(yù)設(shè)埠號(hào)來(lái)偵測(cè),可在此改變埠號(hào)。
-i 裝置:用在比較複雜的環(huán)境,如果你的網(wǎng)路介面很多很複雜時(shí),才會(huì)用到這個(gè)參數(shù); -g 路由:與 -i 的參數(shù)相仿,只是 -g 後面接的是 gateway 的 IP 就是了
tcpdump 抓包 #tcpdump –i eth1 –c 2000 –w test.cap #tcpdump -i eth1 host 192.168.1.123 and port 80 -w /tmp/xxx.cap
tcpdump 常用參數(shù):
-c
在收到指定的包的數(shù)目后,tcpdump 就會(huì)停止;
-F
從指定的文件中讀取表達(dá)式,忽略其它的表達(dá)式;
-i
指定監(jiān)聽(tīng)的網(wǎng)絡(luò)接口;
-r
從指定的文件中讀取包(這些包一般通過(guò)-w選項(xiàng)產(chǎn)生);
-w
直接將包寫入文件中,并不分析和打印出來(lái); -s 限制捕獲報(bào)文的大小
4. 文件檢查及操作 操作 命令舉例 備注 新建文件夾 #mkdir test #mkdir –p /tmp/test/test1 mkdir 參數(shù): -m: 對(duì)新建目錄設(shè)置存取權(quán)限,也可以用 chmod 命令設(shè)置; -p: 可以是一個(gè)路徑名稱。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄; 新建文件 #touch test 或 #vi test
#:wq 或 #echo>>test 或 #echo >test
編輯文件 #vi 或 #vim vi 與 vim 一樣都是編輯器,不同的是 vim 更高級(jí)一些,可以理解是 vi的高級(jí)版本 vim 兼容 vi 所有命令; 復(fù)制文件 #cp /opt/test.sh /tmp #cp -i /opt/test.sh /tmp cp:是否覆蓋"/tmp/test.sh"? y cp 參數(shù):
-a :相當(dāng)于 -pdr 的意思; -d :若來(lái)源文件為連結(jié)文件的屬性(link file),則復(fù)制連結(jié)文件屬性而非檔案本身; -f :為強(qiáng)制 (force) 的意思,若有重復(fù)或其它疑問(wèn)時(shí),不會(huì)詢問(wèn)使用者,而強(qiáng)制復(fù)制; -i :若目的檔(destination)已經(jīng)存在時(shí),在覆蓋時(shí)會(huì)先詢問(wèn)是否真的動(dòng)作!
-l :進(jìn)行硬式連結(jié) (hard link) 的連結(jié)檔建立,而非復(fù)制檔案本身; -p :連同檔案的屬性一起復(fù)制過(guò)去,而非使用預(yù)設(shè)屬性; -r :遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為; -s :復(fù)制成為符號(hào)連結(jié)文件 (symbolic link),亦即『快捷方式』檔案; -u :若 destination 比 source 舊才更新 destination 復(fù)制文件夾 #cp –rf /opt/test /tmp
移動(dòng)文件 #mv /opt/test.sh /tmp mv 可移動(dòng)文件或目錄,或是更改文件或目錄的名稱。
參數(shù):
-b 或--backup
若需覆蓋文件,則覆蓋前先行備份。
-f 或--force
若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文 件或目錄。
-i 或--interactive
覆蓋前先行詢問(wèn)用戶。
-S<附加字尾>或 --suffix=<附加字尾>
與-b 參數(shù)一并使用,可指定備份文件的所要附加的字尾。
-u 或--update
在移動(dòng)或更改文件名時(shí),若目標(biāo)文件已存在,且其文件日期比源文件新,則不覆蓋目標(biāo)文件。
-v 或--verbose
執(zhí)行時(shí)顯示詳細(xì)的信息。
-V=<方法>或 --version-control=<方法>
與-b 參數(shù)一并使用,可指定備份的方法。
--help
顯示幫助。
--version
顯示版本信息。
移動(dòng)文件夾 #mv -i test /tmp mv:是否覆蓋"/tmp/test"? y
重命名文件 #mv /tmp/aa.log /tmp/bb.log
重命名文件夾 #mv test test1 或
#mv test /tmp/test1 刪除一個(gè)文件 # rm -f /var/log/httpd/access.log(強(qiáng)制刪除不做詢問(wèn))
rm 參數(shù),主要有下面幾個(gè):
-i 刪除 刪除前詢問(wèn)是否需要?jiǎng)h除;
-f 強(qiáng)制刪除,無(wú)需確認(rèn)。
-r 或-R 或--recursive 將目錄以及目錄下的文件或者目錄逐一刪除。
-d 或--directory 刪除目錄 ((只限超級(jí)用戶))
-v 或--verbose 顯示指令執(zhí)行過(guò)程
--help 顯示在線幫助內(nèi)容
--version 顯示版本信息并退出
清空一個(gè)文件的內(nèi)容 1.#echo “”>test(文件大小被截為 1 字節(jié),文件內(nèi)產(chǎn)生空行) 2.#echo > test 3.#>test(文件大小被截為 0 字節(jié))
4.# : > test 5.cat /dev/null >test(文件大小被截為 0字節(jié))
6.cp /dev/null test
六種方式都可; 重點(diǎn) 是 “>”
重定向 ,覆蓋掉原來(lái)文件的內(nèi)容
刪除一個(gè)文件夾 # rm -rf /var/log/httpd/access
(使用這個(gè) rm -rf 的時(shí)候一定要格外小心,linux 沒(méi)有回收站的)
#rmdir test
rmdir 刪除空文件夾 查看文件類型 #ls –l (查看第一個(gè)字段)
Linux 文件類型常見(jiàn)的有: “-”表示普通文件; “d”表示目錄文件; “l”表示鏈接文件; “c”表示字符設(shè)備; “b”表示塊設(shè)備; “p”表示管道文件,比如 FIFO 文件; “f”表示堆棧文件,比如 LIFO。
查看文件的日期 #ls –l (查看第七個(gè)字段) ls 常用參數(shù):
-a — 全部(all)。列舉目錄中的全部文件,包括隱藏文件(.filename)。位于這個(gè)列表的起首處的 .. 和 . 依次是指父目錄和你的當(dāng)前目錄。
-l — 長(zhǎng)(long)。列舉目錄內(nèi)容的細(xì)節(jié),包括權(quán)限(模式)、所有者、組群、大小、創(chuàng)建日期、文件是否是到系統(tǒng)其它地方的鏈接,以及鏈接
的指向。
-F — 文件類型(File type)。在每一個(gè)列舉項(xiàng)目之后添加一個(gè)符號(hào)。這些符號(hào)包括:/ 表明是一個(gè)目錄;@ 表明是到其它文件的符號(hào)鏈接;* 表明是一個(gè)可執(zhí)行文件。
-r — 逆向(reverse)。從后向前地列舉目錄中的內(nèi)容。
-R — 遞歸(recursive)。該選項(xiàng)遞歸地列舉所有目錄(在當(dāng)前目錄之下)的內(nèi)容。
-S — 大。╯ize)。按文件大小排序 -h — 以容易理解方式列出文件大。ㄈ 1k,234M,2G)
-authoer — 每個(gè)文件的作者 查看隱藏文件 #ls -a (隱藏文件格式 .filename)
用 ls -l 命令查看某一個(gè)目錄會(huì)得到一個(gè) 9 個(gè)字段的列表. 第 1 行顯示的信息: 總用量(total)
— 這個(gè)數(shù)值是該目錄下所有文件及目錄列表第 5 個(gè)字段的和(以 k 為單位),也就是該目錄的大小. 第 1 字段:
文件屬性字段 文件屬性字段總共有 10 個(gè)字母組成,第一個(gè)字母表示文件類型,如果這個(gè)字母是一個(gè)減號(hào)”-”,則說(shuō)明該文件是一個(gè)普通文件.字母”d”表示該文件是一個(gè)目錄,字母”d”,是 dirtectory(目錄)的縮寫. 請(qǐng)注意,一個(gè)目錄或者說(shuō)一個(gè)文件夾是一個(gè)特殊文件,這個(gè)特殊文件存放的是其他文件和文件夾的相關(guān)信息. 第 2 字段 文件硬鏈接數(shù)或目錄子目錄數(shù) 第 3 字段: 文件擁有者 第 4 字段: 文件擁有者所在的組 第 5 字段: 文件文件大小(以字節(jié)為單位) 第 6 字段: 文件創(chuàng)建月份
第 7 字段: 文件創(chuàng)建日期 第 8 字段: 文件創(chuàng)建時(shí)間 第 9 字段: 文件名 (如果是一個(gè)符號(hào)鏈接,那么會(huì)有一個(gè) “-<” 箭頭符號(hào),后面根一個(gè)它指向的文件)
查看文件夾大小 #ls –lh (查看第 5 個(gè)字段)
du 和 ls –l 區(qū)別: du 文件占用磁盤空間,并非文件大小,而 ls 顯示的是文件的實(shí)際大; 占用空間取決于文件系統(tǒng)的塊(block)的大小,linux 一般默認(rèn)是 4k(4096) ,因此,一個(gè)大小為 1個(gè)字節(jié)的文件,最小也要占用 4k,如果你創(chuàng)建文件系統(tǒng)的時(shí)候制定塊大小是 16K,那么即便一個(gè)文件只有 1 個(gè)字節(jié),占用空間也是 16K。
比如文件系統(tǒng)的 block 是 4K,一個(gè)13K 的文件占用的空間是 13k/4k = 3.25 個(gè) block,一個(gè) block 只能被一個(gè)文件占用,因此實(shí)際占用空間就是 4 個(gè) block,就是 16K 查看文件的所有者信息 #ls -l (查看第 3 個(gè)字段) 或 #ls –author filename
查看文件內(nèi)容 #cat /路徑/文件名 (由第一行開(kāi)始顯示檔案內(nèi)容)
或 #head –n num filename (只看頭 num 行) #tail –n num filename (只看尾 num 行) #more filename (一頁(yè)一頁(yè)顯示檔案內(nèi)容) #less filename (與 more 類似,比 more 更好的是可以往前翻頁(yè)) #nl
filename(顯示的時(shí)候,順道輸出行號(hào)) #od
以二進(jìn)制的方式讀取檔案內(nèi)容 #tac
從最后一行開(kāi)始顯示,可以看出 tac 是 cat 的倒著寫
修改文件的所有者 #chown test aa.sh chown 改變目錄或文件的所有權(quán) 一般只有 root 才有使用權(quán)限;一般
使用者沒(méi)有權(quán)限可以 改變別人的檔案擁有者,也沒(méi)有權(quán)限可以自己的檔案擁有者改設(shè)為別人; 常用參數(shù)-R:修改指定目錄下所有的文件和文件夾
修改文件的所屬群組 #chown :test aa.sh #chown -R
root:mail test6(修改所有者和群組)
修改文件的所有者權(quán)限 #chmod u+rwx filename
或 #chmod 700 filename
777 最高權(quán)限
修改文件的所屬群組權(quán)限 #chmod g+rwx filename 或 #chmod 070 filename
修改文件的其他權(quán)限 #chmod o+rwx filename 或 #chmod 667 filename
賦予某個(gè)文件所有者可讀可寫可執(zhí)行權(quán)限 #chmod u+wrx test 或 #chmod 700 test 1.文件的三種身份 u:文件的擁有者 g:文件所屬的群組 o:其他用戶 a:可以代表所有的 3 中身份; 2.文件的四種權(quán)限:
r:讀取文件的權(quán)限(read)
w:寫入文件的權(quán)限(write)
x:執(zhí)行的權(quán)限(execute)
s:特殊權(quán)限 3. 讀 取、寫入和執(zhí)行權(quán)限分別由數(shù)字 4、2 和 1 表示。
讀取權(quán)限:r 或者 4 寫入權(quán)限:w 或者 2 執(zhí)行權(quán)限:x 或者 1
chmod 111 test 和 chmod a+x test 是等價(jià) 賦予某個(gè)文件所屬組可執(zhí)行權(quán)限 #chmod g+x test
或 #chmod 676 test
在指定目錄下查找指定名稱的文件和文件夾 #find /etc -name net*
格式:find <指定路徑> <指定條件> <指定動(dòng)作> 例子:搜索/etc 目錄(含子目錄)中,所有文件名以 net 開(kāi)頭的文件。
取得路徑的文檔名稱和目錄名稱 #basename /etc/sysconfig/network network 取得文檔名 #dirname /etc/sysconfig/network /etc/sysconfig 取得目錄名 在 shell 腳本可能會(huì)用到 路徑跳轉(zhuǎn) #pwd 查看當(dāng)前路徑 #cd.. 返回上一級(jí)目錄 #cd ../.. 返回上兩級(jí)目錄 #cd - 返回上次所在的目錄 #cd ~ 返回主目錄
5. 文檔編輯相關(guān)操作 操作 命令舉例 備注 新建一個(gè) test.sh 的文件 #vim test.sh 或者 #touch test.sh
打開(kāi) test.sh 文件并增加如下內(nèi)容:
#!/bin/sh Echo “hello,world!” Echo “hello,world!” Echo “hello,world!” Echo “hello,lili!” Echo “hello,world!” Echo “hello,world!” Echo “1234567” Echo “hello,world!” 1.#vim test.sh 2.按 i 鍵進(jìn)入插入模式,再輸入左側(cè)內(nèi)容; 或 按 yy 復(fù)制重復(fù)內(nèi)容,在命令行模式按下 pp 粘貼內(nèi)容; 3.按 ESC 鍵,從插入模式轉(zhuǎn)換到命令行模式,輸入:wq 或者 shift+zz 保存 參數(shù)
Vim test.sh 打開(kāi)文件后默認(rèn)是命令行模式 i 從命令行模式切換到插入模式 ESC 從插入模式再切換到命令行模式 yy 拷貝光標(biāo)所在的行 dd 刪除光標(biāo)所在的行 查找包含 3456 的所有內(nèi)容,并依次定位到內(nèi)容所在位置 #/3456 #n #?3456 #N /字串 往光標(biāo)之后尋找該字串。
?字串 往光標(biāo)之前尋找該字串。
n
往下繼續(xù)尋找下一個(gè)相同的字串。
N
往上繼續(xù)尋找下一個(gè)相同的字串。
跳轉(zhuǎn)到第 5 行 #5G 在命令行模式操作:
G 會(huì)把光標(biāo)定位到
最后一行; 數(shù)字 G 會(huì)把光標(biāo)定位到指定的數(shù)字行,如 5G,光標(biāo)跳轉(zhuǎn)到第 5 行 復(fù)制第 5 行 #5G #y 在命令行模式操作:
y 復(fù)制 d 刪除
粘貼第 5 行到文件尾部 #G #p G 會(huì)把光標(biāo)定位到最后一行; 刪除第 8 行內(nèi)容 #8G #dd dd 刪除光標(biāo)所在行 清空文件內(nèi)容 #gg (跳轉(zhuǎn)到文件首行) #dG (清空文件)
選中指定部分復(fù)制并粘貼到結(jié)尾處 #v #上下左右健移動(dòng)光標(biāo) #y #G #p v
從光標(biāo)當(dāng)前位置開(kāi)始,光標(biāo)所經(jīng)過(guò)的地方會(huì)被選中,再按一下 v 結(jié)束。
V
從光標(biāo)當(dāng)前行開(kāi)始,光標(biāo)經(jīng)過(guò)的行都會(huì)被選中,再按一下V結(jié)束 給當(dāng)前用戶賦予 test.sh 可執(zhí)行權(quán)限 #chmod u+x test.sh 或 #chmod 744 test.sh 1.文件的三種身份 u:文件的擁有者 g:文件所屬的群組 o:其他用戶 a:可以代表所有的3 中身份; 2.文件的四種權(quán)限:
r:讀取文件的權(quán)限(read)
w:寫入文件的權(quán)限(write)
x:執(zhí)行的權(quán)限(execute)
s:特殊權(quán)限 3. 讀 取、寫入和執(zhí)行權(quán)限分別由數(shù)字 4、2 和 1 表示。
讀取權(quán)限:r 或者 4 寫入權(quán)限:w 或者 2 執(zhí)行權(quán)限:x 或者 1
chmod 777 test 和 chmod a+x test 是等價(jià) 執(zhí)行 test.sh #sh test.sh #./test.sh #bash test.sh 三種方式都可;
6. 壓縮和解壓縮 操作 命令舉例 備注 把 aa.ts 壓縮成 aa.tar.gz #tar –zcvf aa.tar.gz aa.ts 左側(cè)例子 aa.ts 存在當(dāng)前目錄下,壓縮后 gz 包也放在當(dāng)前目錄下; 也可以指定完整目錄類似:tar -zcvf /home/test/backup/aa.tar.gz /home/test/aa.ts aa.tar.gz 名稱可以自己取; 參數(shù)
–c:創(chuàng)建新的存檔 -x 從存檔展開(kāi)文件 -t 列出存檔中文件的目錄 -z 用 gzip 對(duì)存檔壓縮或解壓 -v 顯示處理的文件名稱 -f 指定存檔或設(shè)備 c/x/t 僅能存在一個(gè),不可同時(shí)存在!因?yàn)椴豢赡芡瑫r(shí)壓縮與解壓縮 解壓 aa.tar.gz 到當(dāng)前目錄 #tar –zxvf aa.tar.gz
把/etc 目錄壓縮成etc.tar.gz并存放到/tmp目錄下 #tar –zcvf /tmp/tar.gz /etc
解壓etc.tar.gz包到指定目錄/bh #tar –zxvf etc.tar.gz –C /bh 參數(shù) –C 指定解壓縮目錄
7. 軟件安裝管理 操作 命令舉例 備注
安裝一個(gè) rpm 格式軟件包 1.#rpm –ivh 軟件包名稱 2.#yum install 軟件包名稱 1.是本地安裝 2.在線安裝(yum 需要配置數(shù)據(jù)源)
3.參數(shù) -I 安裝 -v 顯示附加信息 -h 安裝時(shí)輸出 hash 記號(hào) (“#”)
卸載一個(gè) rpm 格式軟件包 1.#rpm –e 軟件包名稱 2.#yum remove 軟件包名稱 參數(shù)-e 刪除軟件 更新一個(gè) rpm 格式軟件包 #rpm –Uvh 參數(shù)-U 升級(jí) 列出指定軟件包安裝了哪些文件及路徑 #rpm –ql gcc 前提是通過(guò)rpm安裝的軟件包; 左側(cè)以 gcc 軟件包為例; 根據(jù)操作命令查找軟件名稱 1. #whereis gcc gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz 2. #which gcc /usr/bin/gcc 3. yum provides "*/mkdir"
1.Shell 的 which 命令可以找出相關(guān)命令是否已經(jīng)在搜索路徑中 2.Whereis 命令搜索更大范圍的系統(tǒng)目錄,和Shell 的搜索路徑無(wú)關(guān) 3. 查詢 mkdir 是屬于哪個(gè)軟件包; 根據(jù)軟件名稱查找軟件及配置文件 #rpm –qic 軟件名稱 參數(shù)
-i 查詢軟件的詳細(xì)信息,包信安裝的時(shí)間,版本信息等等 -c
查詢軟件的所有配置文件,只找出/etc/下面的文件名而以 -f 查詢某文件是哪個(gè)包生成的 查看軟件安裝版本 #rpm –qi 軟件包名稱
8. 用戶管理 操作 命令舉例 備注 新增加一個(gè)普通用戶 test,指定 id 為 505,組 id 為 500 #useradd –u 505 –g 500 test 該例子前提是組 id 500 存在;
主要參數(shù) -c:加上備注文字,備注文字保存在 passwd 的備注欄中。
。璬:指定用戶登入時(shí)的啟始目錄 。
。璂:變更預(yù)設(shè)值。
。璭:指定賬號(hào)的有效期限,缺省表示永久有效。
。璮:指定在密碼過(guò)期后多少天即關(guān)閉該賬號(hào)。
-g:指定用戶所屬的群組。
。璆:指定用戶所屬的附加群組。
。璵:自動(dòng)建立用戶的登入目錄。
。璏:不要自動(dòng)建立用戶的登入目錄。
。璶:取消建立以用戶名稱為名的群組。
。璻:建立系統(tǒng)賬號(hào)。
。璼:指定用戶登入后所使用的 shell。
。璾:指定用戶 ID 號(hào)。
為 test 用戶設(shè)置密碼:123 # passwd test 更改用戶 test 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:
所有的身份驗(yàn)證令牌已經(jīng)成功更新 passwd 參數(shù):
-k
keep non-expired authentication tokens
-l 關(guān)閉賬號(hào)密碼。效果相當(dāng)于 usermod -L,只有 root 才有權(quán)使用此項(xiàng)。
-u 恢復(fù)賬號(hào)密碼。效果相當(dāng)于 usermod -U,同樣只有 root 才有權(quán)使用。
-g 修改組密碼。gpasswd 的等效命令。
-f 更改由 finger 命令訪問(wèn)的用戶信息。
-d 關(guān)閉使用者的密碼認(rèn)證功能, 使用者在登入時(shí)將可以不用輸入密碼, 只有具備 root 權(quán)限的使用者方可使用.
-S 顯示指定使用者
的密碼認(rèn)證種類, 只有具備 root 權(quán)限的使用者方可使用.
[username] 指定帳號(hào)名稱. 修改 root 用戶的密碼為:^Bohui!123$ 1.#passwd root #輸入 root 用戶的舊密碼 #輸入新的密碼,確認(rèn)新密碼;
查看哪些用戶登錄了系統(tǒng) #who 或者 #whoami 可以輕松的獲取當(dāng)前登錄系統(tǒng)的用戶列表及用戶信息,包含使用終端登錄;
顯示當(dāng)前登錄用戶的身份及組的相關(guān)信息 #id Uid=0(root) gid=0(root) 組=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
whoami 顯示當(dāng)前作為什么用戶登錄,而 who am i顯示最初作為什么用戶登錄到系統(tǒng) 用戶切換 1.#su 2.#su root 3.#su – root 4.#sudo
1.su 后面沒(méi)有加上用戶賬戶默認(rèn)切換到 root,需要輸入 root 的密碼; 2.
只切換用戶身份,shell環(huán)境仍然是切換前用戶的環(huán)境 3. su - username -是切換用戶時(shí),環(huán)境變量一起切換 4.sudo 是用普通用戶執(zhí)行只有管理員才能運(yùn)行的命令,需要輸入普通登錄用戶的密碼; su 或 su - root 后目錄就變?yōu)榍袚Q后用戶的主目錄 忘記 root 用戶密碼
1、開(kāi)機(jī)后出現(xiàn) grub 畫面。按E鍵。
2、用上下鍵選中第二項(xiàng)(類似于kernel/boot/vmlinuz--ro root=LABEL=\) 然后按E鍵編輯,輸入/ single 結(jié)果如下:
kernel/boot/vmlinuz--ro root=LABEL=/ single 3、按回車鍵,按B鍵啟動(dòng)進(jìn)入系統(tǒng)。
4、在#sh 后輸入:passwd root 5、輸入新密碼,確認(rèn)新密碼。
6、輸入 reboot 重啟。
7、密碼修改成功。
9. 磁盤管理 操作 命令舉例 備注 分區(qū)和格式化 1.分區(qū):
。ㄏ旅胬臃 2 個(gè)主分區(qū),一個(gè)擴(kuò)展分區(qū))
#fdisk -l
先找到要分區(qū)磁盤的設(shè)備名稱 #fdisk /dev/sdb
對(duì)設(shè)備/dev/sdb 分區(qū); m
m 顯示幫助 n
新建分區(qū) p
建主分區(qū) partition number (1-4):1 #創(chuàng)建第一個(gè)主分區(qū)
first cylinder (1-522,default 1):1 #起始柱面(第一個(gè)分區(qū)始終為 1) last cylinder or +size or +sizeM or +siezK(1-522,default 522): 10 #截止柱面(若 522 則整個(gè)硬盤分給了一個(gè)區(qū))此分區(qū)大小是系統(tǒng)按照柱面大小自動(dòng)計(jì)算出來(lái)的
command acton (m for help):n
command action
e extended
p primary partition (1-4)
p
partition number (1-4):2 #創(chuàng)建第二個(gè)主分區(qū)
first cylinder (11-522,default 11):11 last cylinder ...(11-522,default 522): +100M #自定義分區(qū)大小
command acton (m for help):n
command action
e extended
p primary partition (1-4)
e #創(chuàng)建擴(kuò)展分區(qū),注意一個(gè)磁盤只能創(chuàng)建一個(gè)擴(kuò)展區(qū)
partition number (1-4):3
first cylinder (28-522,default 28):28 last cylinder ...(28-522,default 522):522 #將剩余空間全部分給擴(kuò)展分區(qū) 擴(kuò)展分區(qū)是不能直接使用的,必須在其上創(chuàng)建邏輯分區(qū)!
command acton (m for help):n
command action
l logical (5 or over)...
相關(guān)熱詞搜索:技能培訓(xùn) 基礎(chǔ) linux
熱點(diǎn)文章閱讀