作為一個程序員或者測試開發(fā)人員,我們在進行項目部署和運維時,經(jīng)常會用到一些linux命令,可是這些命令老是忘記,每次用到的時候都要去谷歌百度,很是麻煩!這不,為了自己使用方便,對常見的linux命令, SHELL, VIM, Linux性能調優(yōu)和linux kernel的總結,以便在用到時能夠快速地找到相關命令,同時有需要的朋友也可以參考搜藏該篇文章!文章對講到的每個命令都有詳細的參數(shù)解釋,并且給出一些常用例子,因此也非常適合用來學習!
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供勐臘網(wǎng)站建設、勐臘做網(wǎng)站、勐臘網(wǎng)站設計、勐臘網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、勐臘企業(yè)網(wǎng)站模板建站服務,10年勐臘做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
shell(命令解釋器)自帶的命令稱為內部命令,其它的是外部命令
內部命令使用help幫助:help cd
外部命令使用help幫助:ls --help
type命令:用于區(qū)分是內部命令還是外部命令:
ls is aliased to `ls --color=auto' #外部命令
cd is a shell builtin #內部命令
pwd命令:顯示當前目錄
ls命令:查看目錄和文件名稱
ls -l 查看目錄各個字段含義
第一字段:首字母代表的是文件類型 ,其中"-"為普通文件、"d"為目錄文件、"c"為字符設備文件、"b"為塊設備文件、"p"為管道文件、"l"為鏈接文件、"s"為socket文件?!皉wx”分別代表擁有讀、寫和執(zhí)行權限,"-代表無對應權限。三個"rwx"依次代表文件所有者、文件所有者所在用戶組、其它用戶對文件擁有的權限。
第二字段:文件硬連接數(shù)量
第三字段:文件擁有者
第四字段:文件擁有者所在組
第五字段:文件大?。ㄒ宰止?jié)為單位)
第六字段:文件最后更改時間
第七字段:文件名(若為鏈接文件則追加顯示其鏈接的原文件的路徑)
ls命令其它參數(shù)含義:
-a顯示隱藏文件(.開頭的文件)
-r逆序排序
-t按照時間順序顯示
-R遞歸顯示
ls -lartR : 按照時間順序倒序顯示所有文件及其文件夾的文件
cd命令:更改當前的工作目錄
cd /path/... 絕對路徑
cd ./path/... 相對路徑(./可以省略)
cd ../path/... 相對路徑
mkdir -p 遞歸目錄:遞歸創(chuàng)建目錄
rmdir命令:刪除目錄
rmdir a/b/c/d/e/ #刪除空目錄
rm -r a/b/c/d/ #遞歸刪除目錄,但是系統(tǒng)會做多次詢問
rm -rf a/b/c/d/ #刪除目錄,不做任何詢問
cp命令:復制文件和目錄
-r 復制目錄
-p 保留用戶、權限、時間等文件屬性
mv命令:移動文件和重命名
mv *.log 目標目錄
通配符:
*匹配任何字符串
?匹配一個字符串
[xyz]任何一個字符串
[a-z]匹配一個范圍
cat命令:文本內容顯示到終端
head命令:查看文件開頭
head -3 文件名稱 #顯示文件開頭3行
tail命令:查看文件末尾
tail -3 文件名稱 #顯示文件末尾3行
tail常用參數(shù)-f,文件內容更新后,同步顯示更新的文件信息
tail -f 文件名稱
wc命令:統(tǒng)計文件內容信息
wc 文件名稱
useradd命令:新建用戶
useradd 用戶名
userdel命令:刪除用戶
userdel 用戶名 用戶所在的家目錄不會被刪除
userdel -r 用戶名 用戶相關的所有配置都會被刪除
passwd命令:修改用戶密碼
passwd 用戶名
usermod命令:修改用戶屬性
/etc/passwd文件:查看用戶文件
tail /etc/passwd
/etc/shadow文件:查看用戶密碼
tail /etc/shadow
groupadd命令:添加用戶組
groupadd 用戶組
groupdel命令:刪除用戶組
groupdel 用戶組
用戶切換
su 用戶名 切換用戶,但是用戶所在環(huán)境不變,即pwd路徑不會變化
su - 用戶名 切換用戶,同時會切換到用戶家目錄,即/home/用戶名
sudo命令:普通用戶需要執(zhí)行root用戶權限的解決方案。
以下是一些常用命令匯總;The following table provides a reminder of most of the commands that we have covered so far. If you include the three, as-yet-unmentioned, commands in the last column, then you will probably be able to achieve 95% of everything that you will ever want to do in Unix (remember, you can use the man command to find out more about top , ps , and kill ). The power comes from how you can use combinations of these commands.
-c 'cc-address' -b 'bcc-address'
'to-address' | Command to send email | | mail -s "Subject"
to-address Filename` | Command to send email with attachment |
File Permission commands
Hope this Linux reference guide helps you!
希望這些常用的命令和系統(tǒng)原理,以及l(fā)inux操作可以幫助大家提升linux命令和操作?。。?/p>
一、查看網(wǎng)絡配置
確保網(wǎng)絡配置的正確性及網(wǎng)絡連接的暢通是Linux系統(tǒng)作為服務器應用的基礎,查看及測試網(wǎng)絡配置是管理Linux網(wǎng)絡服務的第一步。
1.ifconfig——查看網(wǎng)絡配置
1) 查看所有活動網(wǎng)絡接口的信息
執(zhí)行 ifconfig 或ip addr或ip a命令,都可以顯示當前主機中已啟用(活動)的網(wǎng)絡接口信息。、
2) 查看指定網(wǎng)絡接口信息
格式:ifconfig 網(wǎng)絡接口名
可以通過TX、RX等信息了解到通過該網(wǎng)絡接口發(fā)送和接收的數(shù)據(jù)包個數(shù),流量等跟多屬性。
2.hostname命令
在Linux系統(tǒng)中,相當一部分網(wǎng)絡服務都會通過主機名來識別本機,如果主機名配置不當,可能會導致程序功能出現(xiàn)故障。
1) 查看主機名
使用hostname命令就可以查看當前主機的主機名,不添加任何選項參數(shù)。
2) 臨時更改主機名
hostname NewName
注:這種方法只是臨時的更改主機名,重啟后將失效。
3) 永久更改主機名
a. 修改配置文件
RHEL6和7的配置文件存放路徑不相同,修改配置文件中的主機名,重啟就可永久更改主機名。
RHEL6主機名配置文件路徑為:/etc/sysconfig/network
RHEL7主機名配置文件路徑為:/etc/hostname
示例
b. 使用命令修改(這種方法只適用于RHEL7或者CentOS7之后)
命令格式:
使用該命令更改后,更改后的主機名就自動寫入了配置文件中,所以可以永久更改主機名,其實就是修改了配置文件。
3.route命令
直接執(zhí)行route命令可以查看當前主機中的路由表信息,若結合“-n”選項使用,可以將路由記錄中的地址顯示為數(shù)字形式,這可以跳過解析主機名的過程,在路由表條目較多的情況下能夠加快執(zhí)行速度。
Destination列對應的是目標網(wǎng)段的地址,Gateway列對應的是嚇一跳路由器的地址,Iface列對應的是發(fā)送數(shù)據(jù)的網(wǎng)絡接口。當目標網(wǎng)段為“default”是,表示此行是默認網(wǎng)關記錄,當嚇一跳為“*”是,表示目標網(wǎng)段是與本機直接相連的。
4.netstat命令——查看系統(tǒng)的網(wǎng)絡連接狀態(tài)等
netstat命令是了解網(wǎng)絡狀態(tài)及排除網(wǎng)絡服務故障的有效工具。
常用選項:
-a:顯示所有活動連接(包括監(jiān)聽、非監(jiān)聽狀態(tài)的服務端口)
-n:以數(shù)字形式顯示
-p:顯示相關的進程信息
-t:查看 TCP 協(xié)議相關信息
-u:查看UDP協(xié)議相關信息
-r:顯示路由表信息
-l:顯示處于監(jiān)聽(listening)狀態(tài)的網(wǎng)絡連接及端口信息
通常使用“-anput”組合選項,結合管道使用“grep”命令,來查看一些服務的端口是否開啟。
示例:
Tcp21為ftp服務的端口
二、測試網(wǎng)絡連接
1.ping命令——測試網(wǎng)絡連通性
常用選項:
-c完成次數(shù):設置完成要求回應的次數(shù)
-i間隔秒數(shù):指定收發(fā)信息的間隔時間
-q:不顯示指令執(zhí)行過程,開頭和結尾的相關信息除外
-s數(shù)據(jù)包大?。涸O置數(shù)據(jù)包的大小
-t存活數(shù)值:設置存活數(shù)值TTL的大小
-v:詳細顯示指令的執(zhí)行過程
若返回“Destination Host Unreachable”的反饋信息,則表示目標主機不可達,可能目標地址不存在或主機已關閉;返回“Network is unreachable”的反饋信息,則表示沒有可用的路由記錄(如默認網(wǎng)關),無法到達目標主機所在的網(wǎng)絡;返回“Request timeout”的反饋信息,表示與目標主機間的連接超時(數(shù)據(jù)包緩慢或丟失),若有嚴格的防火墻限制,也可能返回此信息。
2.traceroute命令——跟蹤數(shù)據(jù)包的路由途徑
使用traceroute命令可以測試從當前主機到目的主機之間經(jīng)過的網(wǎng)絡節(jié)點,并顯示各中間結點的連接狀態(tài)(響應時間)。對于無法響應的節(jié)點,連接狀態(tài)將顯示為“*”。
示例:traceroute IP_ADDR
在網(wǎng)絡測試與排錯的過程中,通常會先使用ping命令測試與主機的網(wǎng)絡連接,如果發(fā)現(xiàn)網(wǎng)絡有故障,再使用traceroute命令跟蹤查看是在哪個中間結點存在故障。
3.nslookup命令——測試DNS域名解析
nslookup是用來測試(DNS)域名解析的專用工具。(DNS服務后面再詳細講解,通俗的說就是將域名解析為ip地址的一個服務)
示例:nslookup
若成功反饋要查詢域名的IP地址,則表示域名解析沒有問題;若出現(xiàn)“...... no servers could be reached”的信息,表示不能連接到指定的DNS服務器;若出現(xiàn)“...... cant’t find xxx.yyy.zzz:NXDOMAIN”的信息,表示要查詢的域名不存在。
三、設置網(wǎng)絡地址參數(shù)
設置網(wǎng)絡參數(shù)的方法:
? 臨時配置 —— 使用命令調整網(wǎng)絡參數(shù)簡單、快速,可直接修改運行中的網(wǎng)絡參數(shù)
一般只適合在調試網(wǎng)絡的過程中使用
系統(tǒng)重啟以后,所做的修改將會失效
? 永久配置 —— 通過配置文件修改網(wǎng)絡參數(shù)修改各項網(wǎng)絡參數(shù)的配置文件
適合對服務器設置固定參數(shù)時使用
需要重載網(wǎng)絡服務或者重啟以后才會生效
1.臨時配置——使用網(wǎng)絡配置命令(注:RHEL6中網(wǎng)絡接口的名稱為eth,RHEL7中為ens)
1)使用ifconfig命令修改網(wǎng)卡的地址、狀態(tài)
ifconfig命令不僅可以用于查看網(wǎng)卡配置,還可以修改網(wǎng)卡的ip地址,子網(wǎng)掩碼,也可以綁定網(wǎng)絡接口、激活或停用網(wǎng)絡接口
a. 修改網(wǎng)卡的ip地址(臨時修改)
命令格式:
示例:
b. 禁用或者重新激活網(wǎng)卡
命令格式:
示例:
c. 設置虛擬網(wǎng)絡接口(相當于一塊網(wǎng)卡配置多個IP地址)
命令格式:
示例:
可以根據(jù)需要添加更多的虛擬接口,如“eth0:1”“eth0:2”等
2)使用route命令添加、刪除靜態(tài)路由記錄
? 刪除路由表中的默認網(wǎng)關記錄命令格式:route del default gw IP地址
? 向路由表中添加默認網(wǎng)關記錄命令格式:route add default gw IP地址
? 添加到指定網(wǎng)段的路由記錄命令格式:route add -net 網(wǎng)段地址 gw IP地址
? 刪除到指定網(wǎng)段的路由記錄命令格式:router del -net 網(wǎng)段地址
2.永久配置——修改網(wǎng)絡配置文件
1)網(wǎng)絡接口配置文件
網(wǎng)絡接口的配置文件默認位于目錄“/etc/sysconfig/network-scripts/”中,文件名格式為:“ifcfg-XXX”,其中“XXX”是網(wǎng)絡接口的名稱。例如:RHEL6中網(wǎng)卡eth0的配置文件是“ifcfg-eth0”,而RHEL7中網(wǎng)卡ens33的配置文件是“ifcfg-ens33”。
在網(wǎng)卡的配置文件中,可以看到靜態(tài)IP地址的部分內容如下圖所示:
上述個配置項的含義及作用:(圖示為RHEL6中的配置文件,7中也差不多,換湯不換藥,修改的都差不多)
? DEVICE:設置網(wǎng)絡接口的名稱ONBOOT:設置網(wǎng)絡接口是否在Linux系統(tǒng)啟動時激活BOOTPROTO:設置網(wǎng)絡接口的配置方式,值為static時表示使用靜態(tài)ip地址,為dhcp時表示通過dhcp的方式動態(tài)獲取ip地址IPADDR:設置網(wǎng)絡接口的ip地址NETMASK:設置網(wǎng)絡接口的子網(wǎng)掩碼GATEWAY:設置網(wǎng)絡接口的默認網(wǎng)關地址2)重啟 network 網(wǎng)絡服務
當修改了網(wǎng)絡接口的配置文件以后,若要使新的配置生效,可以重啟network服務或者重啟主機或者禁用、啟用網(wǎng)絡接口。
示例:
? RHEL6中重啟network服務:service network restartRHEL7中重啟network服務:systemctl restart network注:這是我在做實驗時候的一個經(jīng)驗:RHEL6修改完網(wǎng)卡配置重啟后,ip地址仍然沒有改過來,這時候我們經(jīng)常會刪除“/etc/udev/rules.d/70-persistent-net.rules”這個文件。RHEL7不用管,RHEL7特別好改,RHEL6改的時候特別難受。(個人提示,不求認同)
3)域名解析配置文件
a.指定為本機提供DNS解析的服務器地址
/etc/resolv.conf文件中記錄了本機默認使用的DNS服務器的地址信息,對該文件所做的修改將會立刻生效。Linux系統(tǒng)中最多可以指定3個(第3個以后將被忽略)不同的DNS服務器地址,優(yōu)先使用第1個DNS服務器。
示例:
其中“search localdomain”用來設置默認的搜索域(域名后綴)。例如,當訪問主機“l(fā)ocalhost”時,就相當于訪問“l(fā)ocalhost.localdomain”。
b.本地主機映射文件
/etc/hosts文件中記錄著一份主機名與ip地址的映射關系表,一般用來保存經(jīng)常訪問的主機信息。當訪問一個未知的域名時,先查找該文件中是否有相應的映射記錄,如果找不到在去向DNS服務器查詢。
hosts 文件和 DNS 服務器的比較
? 默認情況下,系統(tǒng)首先從 hosts 文件查找解析記錄hosts 文件只對當前的主機有效hosts 文件可減少 DNS 查詢過程,從而加快訪問速度
linux中管道符的使用非常普遍
管道符的用法是將第一個命令的結果傳遞給第二個命令作為輸入
管道符的使用有兩個條件:
格式: 命令1 | 命令2
常見應用舉例:netstat -an | grep ESTABLISHED | wc -l #查看服務器上連接了多少客戶端
wc -l 是查看輸入了多少行
[TOC]
可以列出被進程所打開的文件的信息。被打開的文件可以是
1.普通的文件
2.目錄抽象為特殊文件
3.網(wǎng)絡文件系統(tǒng)的文件,抽象為文件
4.字符設備文件在linux抽象為文件
5.(函數(shù))共享庫
6.管道,命名管道
7.符號鏈接
8.底層的socket字流,網(wǎng)絡socket,unix域名socket
9.在linux里面,很多東西都抽象為文件,提供了統(tǒng)一的訪問接口
屬性第一個字符:
rwx=0x111,二進制表示
列出所有進程
-ef f:father
ps –el ,
e:every :顯示所有進程信息,等價于A
a:all :顯示除了當前終端進程外的其他進程
l: long 長格式顯示進程信息。
linux 線程狀態(tài):
ps工具標識進程的5種狀態(tài)碼:
chmod 對象 +/- 模式
對象:u(user),g(group),o(other),a(all)
模式:r,w,x
由于inode號碼與文件名分離,這種機制導致了一些Unix/Linux系統(tǒng)特有的現(xiàn)象。
軟件不關閉情況下更新:寫入同名不同inode的文件,下次啟動由于老的inode已經(jīng)丟失,操作系統(tǒng)回收原來的Block。
綜上,總結一下軟鏈接和硬鏈接的區(qū)別:
參考: 阮一峰的網(wǎng)絡日志:理解inode
Ctrl+z 暫停進程執(zhí)行
uname -m 顯示機器的處理器架構(2)
uname -r 顯示正在使用的內核版本
jobs: 查看后臺任務
fg +jobNum: 將后臺任務調到前臺
未完,不定期更新中...