命令格式: 命令 [-選項] [參數(shù)]
創(chuàng)新互聯(lián)建站是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序制作,十載建站對純水機等多個方面,擁有豐富的網(wǎng)站設(shè)計經(jīng)驗。
如:ls -la /usr
**說明: **
大部分命令遵從該格式
多個選項時,可以一起寫 eg:ls –l –a à ls –la
簡化選項與完整選項(注:并非所有選項都可使用完整選項) eg:ls –all à ls –a
作用:切換用戶身份
語法:su [選項] 用戶名
-c 僅執(zhí)行一次命令,而不切換用戶身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目錄的CRUD
英文:change directory 命令路徑:內(nèi)部命令 執(zhí)行權(quán)限:所有用戶
作用: 切換目錄
語法:cd [目錄] / 切換到根目錄
.. 回到上一級目錄
. 當前目錄
~ 當前用戶的宿主目錄(eg:# cd ~用戶名 進入某個用戶的家目錄)
英文:list 命令路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶
作用:顯示目錄文件
語法:ls [-alrRd] [文件或目錄]
-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..
-l(long) 顯示詳細信息
-R(recursive) 遞歸顯示當前目錄下所有目錄
-r (reverse) 逆序排序
-t(time) 按修改時間排序(降序)
英文:print working directory 命令路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶
作用:顯示當前工作目錄
語法:pwd [-LP]
-L 顯示鏈接路徑,當前路徑,默認
-P 物理路徑
eg:# cd /etc/init.d
英文:make directories 命令路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建新目錄
語法:mkdir [-p] 目錄名
-p 父目錄不存在情況下先生成父目錄 (parents)
eg: mkdir linux/test 如果目錄linux不存在,則報錯,使用參數(shù)-p即可自動創(chuàng)建父目錄。
命令路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建空文件或更新已存在文件的時間
語法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同時創(chuàng)建多個文件
創(chuàng)建帶空格的文件 eg:touch "program files" 在查詢和刪除時也必須帶雙引號
注意:生產(chǎn)環(huán)境中,文件名,一定不要加空格
英文:copy 命令路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶
作用:復制文件或目錄
語法:cp [–rp] 源文件或目錄 目的目錄
-r -R recursive 遞歸處理,復制目錄
-p 保留文件屬性 (原文件的時間不變)
eg:
1,相對路徑 cp –R /etc/* . cp –R ../aaa ../../test/
2,,絕對路徑 cp –R / ect/service /root/test/aa/bb
英文:move 命令路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶
作用:移動文件或目錄、文件或目錄改名
語法:mv 源文件或目錄 目的目錄
英文:remove 命令路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶
作用:刪除文件
語法: rm [-rf] 文件或目錄
-r (recursive)刪除目錄,同時刪除該目錄下的所有文件
-f(force) 強制刪除文件或目錄 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認
注意:工作中,謹慎使用rm –rf 命令。
擴展點 :刪除亂碼文件
一些文件亂碼后使用rm -rf 依然無法刪除
此時,使用ll -i 查找到文件的inode節(jié)點
然后使用find . -inum 查找到的inode編號 -exec rm {} -rf ;
就能順利刪除了
英文:concatenate 命令路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶
作用:顯示文件內(nèi)容
語法:cat [-n] [文件名]
-n 顯示行號
eg:cat /etc/services
命令路徑:/bin/more 執(zhí)行權(quán)限:所有用戶
作用:分頁顯示文件內(nèi)容
語法:more [文件名]
空格或f 顯示下一頁
Enter鍵 顯示下一行
q或Q 退出
命令路徑:/usr/bin/head 執(zhí)行權(quán)限:所有用戶
作用:查看文件前幾行(默認10行)
語法:head [文件名]
-n 指定行數(shù)
eg:head -20 /etc/services head –n 3 /etc/services
命令路徑:/usr/bin/tail 執(zhí)行權(quán)限:所有用戶
作用:查看文件的后幾行
語法:tail [文件名]
-n 指定行數(shù)
-f (follow) 動態(tài)顯示文件內(nèi)容
獲取一個大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶
作用:產(chǎn)生鏈接文件
語法:
ln -s [源文件] [目標文件] 創(chuàng)建軟鏈接 源文件 使用 絕對路徑
ln [源文件] [目標文件] 創(chuàng)建硬鏈接
eg:ln -s /etc/service ./service.soft
創(chuàng)建文件/etc/service的軟鏈接service.soft
eg:/etc/service /service.hard
創(chuàng)建文件/etc/service的硬鏈接/service.hard
軟連接類似于windows下的快捷方式
軟連接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬鏈接數(shù)量,如果該文件沒有硬鏈接,就只有本身一個硬鏈接。
13鏈接文件的長度
格式解析(特征):
1, 軟連接的文件類型是 l(軟連接),軟連接文件的權(quán)限 都是 lrwxrwxrwx
2,- 箭頭指向到源文件
真正的權(quán)限取決于對源文件的權(quán)限
時間值為創(chuàng)建軟連接的時間
軟連接可以跨文件系統(tǒng)生成
硬鏈接特征
1,相當于 cp -p +同步更新
2,通過i節(jié)點識別,與源文件有相同的inode節(jié)點
3,硬鏈接不能跨分區(qū),ln /home/test/issuels /boot/test (錯誤)
4,不能針對目錄使用 ln /tmp/ aa.hard (無法將目錄/tmp 生成硬鏈接)
刪除軟連接
rm -rf symbolic_name
英文:manual 命令路徑:/usr/bin/man 執(zhí)行權(quán)限:所有用戶
作用:獲取命令或配置文件的幫助信息
語法:man [命令/配置文件]
eg:man ls man services
(查看配置文件時,不需要配置文件的絕對路徑,只需要文件名即可)
調(diào)用的是more命令來瀏覽幫助文檔,按空格翻下一頁,按回車翻下一行,按q退出。
使用/加上關(guān)鍵的參數(shù)可直接定位搜索, n 查找下一個,shift+n 查找上一個
eg: /-l 直接查看-l的介紹
擴展:man的級別 (幫助文檔的類型, 了解1 5即可)
man man-pages 查看每一種類型代表的含義 man文檔的類型(1~9)
1是命令,5是配置文件 man優(yōu)先顯示命令,可指定幫助類型
eg:man 5 passwd (5代表配置文件級別)
[圖片上傳失敗...(image-6718d2-1624438708895)]
help 查看shell內(nèi)置命令的幫助信息
eg:help cd
內(nèi)置命令,使用whereis,which,man都不能查看
type 命令 查看內(nèi)部命令還是外部命令
命令名 --help 列舉該命令的常用選項
eg: cp --help
命令路徑:/bin/find 執(zhí)行權(quán)限:所有用戶
作用:查找文件或目錄
語法:find [搜索路徑] [匹配條件]
如果沒有指定搜索路徑,默認從當前目錄查找
find命令選項
-name 按名稱查找 精準查找
eg:find /etc -name “init” 在目錄/etc中查找文件init
-iname 按名稱查找
find查找中的字符匹配:
*:匹配所有
?:匹配單個字符
eg:find /etc -name “init???” 在目錄/etc中查找以init開頭的,且后面有三位的文件
模糊匹配的條件,建議使用單引號或雙引號括起來。如果*被轉(zhuǎn)義,可使用 單雙引號括住查詢條件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block為單位,一個block是512B, 1K=2block +大于 -小于 不寫是等于
eg:find /etc -size -204800 在etc目錄下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件類型查找
f 二進制文件l 軟連接文件 d 目錄 c 字符文件
eg: find /dev -type c
find****查找的基本原則 :
占用最少的系統(tǒng)資源,即查詢范圍最小,查詢條件最精準
eg:
如果明確知道查找的文件在哪一個目錄,就直接對指定目錄查找,不查找根目錄/
命令路徑:/bin/grep 執(zhí)行權(quán)限:所有用戶
作用:在文件中搜尋字串匹配的行并輸出
語法:grep [-cinv] '搜尋字符串' filename
選項與參數(shù):
-c :輸出匹配行的次數(shù)(是以行為單位,不是以出現(xiàn)次數(shù)為單位)
-i :忽略大小寫,所以大小寫視為相同
-n :顯示匹配行及行號
-v :反向選擇,顯示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#號
eg:# grep -n “init”/etc/inittab 顯示在inittab文件中,init匹配行及行號
eg:# grep -c“init”/etc/inittab 顯示在inittab文件中,init匹配了多少次
命令路徑:/usr/bin/which 執(zhí)行權(quán)限:所有用戶
作用: 顯示系統(tǒng)命令所在目錄(絕對路徑及別名)
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路徑:/usr/bin/whereis 執(zhí)行權(quán)限:所有用戶
作用:**搜索命令所在目錄 配置文件所在目錄 及幫助文檔路徑 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的幫助,就用 man 5 passwd
英文:GNU zip 命令路徑:/bin/gzip 執(zhí)行權(quán)限:所有用戶
作用:壓縮(解壓)文件,壓縮文件后綴為.gz
gzip只能壓縮文件,不能壓縮目錄;不保留原文件
語法:gzip 文件
-d將壓縮文件解壓(decompress)
解壓使用gzip –d或者 gunzip
命令路徑:/usr/bin/bzip2 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.bz2
語法:bzip2 [-k] [文件]
-k:產(chǎn)生壓縮文件后保留原文件(壓縮比高)
-d 解壓縮的參數(shù)(decompress)
解壓使用bzip2 –d或者 bunzip2
命令路徑:/usr/bin/zip 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.zip
語法:zip 選項[-r] [壓縮后文件名稱] [文件或目錄]
-r壓縮目錄
eg:zip services.zip /etc/services 壓縮文件;
zip -r test.zip /test 壓縮目錄
如果不加-r選項,壓縮后的文件沒有數(shù)據(jù)。
解壓使用unzip
命令路徑:/bin/tar 執(zhí)行權(quán)限:所有用戶
作用:文件、目錄打(解)包
語法:tar [-zcf] 壓縮后文件名 文件或目錄
-c 建立一個壓縮文件的參數(shù)指令(create),后綴是.tar
-x 解開一個壓縮文件的參數(shù)指令(extract)
-z 以gzip命令壓縮/解壓縮
-j 以bzip2命令壓縮/解壓縮
-v 壓縮的過程中顯示文件(verbose)
-f file 指定文件名,必選項
1, 單獨的打包 ,解包 tar –cf tar –xf
2, 打包之后,進行壓縮 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 單獨 壓縮 解壓縮
tar -z 以gzip打包目錄并壓縮 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目錄并壓縮 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip將目錄dir1壓縮成一個打包并壓縮文件dir1.tar.gz
eg: tar -cvf bak.tar . 將當前目錄的文件打包為bak.tar
eg: tar -xvf bak.tar 解壓
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip將打包文件bak.tar壓縮為bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2將打包文件bak.tar壓縮為bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 將/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的壓縮文件
eg:tar -xjf test.tar.bz2 解壓
最常用: tar + gzip
tar –zcvf 壓縮
tar –zxvf 解壓
補充:
1,文件路徑, 壓縮包帶文件路徑
2,源文件是保留的,不會被刪除
**shutdown **[選項] 時間
選項: -c: 取消前一個關(guān)機命令
-h:關(guān)機
-r:重啟
eg:
shutdown -h now 立即關(guān)機 shutdown -h 20:30 定時關(guān)機
其他關(guān)機命令 halt poweroff init 0
其他重啟命令
**reboot **重啟系統(tǒng) reboot -h now立即重啟
init 6
注意:生產(chǎn)環(huán)境中,關(guān)機命令和重啟命令謹慎執(zhí)行。
善于查看man help等幫助文檔
利用好Tab鍵 自動補全
掌握好一些快捷鍵
ctrl + c(停止當前進程)
ctrl + z 掛起當前進程,放后臺
ctrl + r(查看命令歷史) history
ctrl + l(清屏,與clear命令作用相同)
方向箭頭 上 下 可以查看執(zhí)行過的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除單詞
vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強大。
只有命令,沒有菜單。
《大碗》編輯器版
周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是一個字:酷!你說這么牛X的一東西,怎么著學會也得小半年吧。半年?。咳腴T都遠著呢!能學會移動光標就不錯了,你還別說耗不起,就這還是左右移動?。?!
:
[圖片上傳失敗...(image-a08366-1624438708894)]
命令模式:又稱一般模式
編輯模式:又稱底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光標后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光標前插入文本
|
|
I(shift+i)
|
在本行開始插入文本 行首
|
|
o
|
在光標下插入新行
|
|
O(shift+o)
|
在光標上插入新行
|
|
命令
|
作用
|
|
:set nu
|
設(shè)置行號
|
|
:set nonu
|
取消行號
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存為指定文件
|
|
:w a.txt
|
內(nèi)容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷鍵,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只讀屬性)
|
不保存并退出:
1, 有修改,但是修改后的內(nèi)容是不保存的
2, 有突發(fā)情況,導致窗口退出。修改文件之后,直接刪除同名的.swp文件
|
命令
|
作用
|
|
x
|
刪除光標所在處字符 nx 刪除光標所在處后n個字符
|
|
dd
|
刪除光標所在行,ndd刪除n行
|
|
:n1,n2d
|
刪除指定范圍的行(eg :1,3d 刪除了123這三行)
|
|
dG
|
刪除光標所在行到末尾的內(nèi)容
|
|
D
|
刪除從光標所在處到行尾
|
|
命令
|
作用
|
|
yy、Y
|
復制當前行
|
|
nyy、nY
|
復制當前行以下n行
|
|
dd
|
剪切當前行
|
|
ndd
|
剪切當前行以下n行
|
|
p、P
|
粘貼在當前光標所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光標所在處字符
|
|
R(shift + r)
|
從光標所在處開始替換字符,按Esc結(jié)束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索時忽略大小寫 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一個出現(xiàn)位置,與搜索順序相同
|
|
N(Shift + n)
|
搜索字符串的上一個出現(xiàn)位置,與搜索順序相反
|
|
:%s/old/new/g
|
全文替換指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范圍內(nèi)替換指定字符串
|
% 指全文,s 指開始,g 指全局替換
eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問是否替換
eg: :41,44/yang/lee/g 同上,不詢問,直接替換
使用替換命令來添加刪除注釋
:% s/^/#/g 來在全部內(nèi)容的行首添加 # 號注釋
:1,10 s/^/#/g 在1~10 行首添加 # 號注釋
vi里面怎么查命令??
:!which cp
vi里面怎么導入命令的結(jié)果?
:r !which cp
v 可視字符模式
V****(shift+v) 可視行模式,選擇多行操作
**ctrl+v **可視塊模式(列模式),操作列
I或者O進入插入模式。
1,圖形化界面
2,setup 命令虛擬界面
3,修改配置文件(以網(wǎng)絡(luò)方式為NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #網(wǎng)段2任意,IP地址2固定,網(wǎng)段為vmnet8的設(shè)置的IP網(wǎng)段
DNS1=114.114.114.114
DNS2=8.8.8.8
重啟網(wǎng)絡(luò)生效:
service network restart
命令路徑:/bin/ping 執(zhí)行權(quán)限:所有用戶
作用:測試網(wǎng)絡(luò)的連通性
語法:ping 選項 IP地址
-c 指定發(fā)送次數(shù)
ping 命令使用的是icmp協(xié)議,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路徑:/sbin/ifconfig 執(zhí)行權(quán)限:root
作用:查看和設(shè)置網(wǎng)卡網(wǎng)絡(luò)配置
語法:ifconfig [-a] [網(wǎng)卡設(shè)備標識]
-a:顯示所有網(wǎng)卡信息
ifconfig [網(wǎng)卡設(shè)備標識] IP地址 修改ip地址
英文:network statistics 命令路徑:/bin/netstat 執(zhí)行權(quán)限:所有用戶
作用:主要用于檢測主機的網(wǎng)絡(luò)配置和狀況
-a all顯示所有連接和監(jiān)聽端口
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 使用數(shù)字方式顯示地址和端口號
-l (listening) 顯示監(jiān)控中的服務器的socket
eg:# netstat -tlnu 查看本機監(jiān)聽的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
協(xié)議 待收數(shù)據(jù)包 待發(fā)送數(shù)據(jù)包 本地ip地址:端口 遠程IP地址:端口
netstat –antpl
臨時生效:
hostname 主機名
[圖片上傳失敗...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[圖片上傳失敗...(image-2b9d9e-1624438708893)]
修改主機名和ip地址之間的映射關(guān)系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置別名
[圖片上傳失敗...(image-ec86cf-1624438708893)]
進程和程序的區(qū)別:
1、程序是靜態(tài)概念,本身作為一種軟件資源長期保存;而進程是程序的執(zhí)行過程,它是動態(tài)概念,有一定的生命期,是動態(tài)產(chǎn)生和消亡的。
2、程序和進程無一一對應關(guān)系。一個程序可以由多個進程共用;另一方面,一個進程在活動中有可順序地執(zhí)行若干個程序。
進程和線程的區(qū)別:
進程: 就是正在執(zhí)行的程序或命令,每一個進程都是一個運行的實體,都有自己的地址空間,并占用一定的系統(tǒng)資源。
線程: 輕量級的進程;進程有獨立的地址空間,線程沒有;線程不能獨立存在,它由進程創(chuàng)建;相對講,線程耗費的cpu和內(nèi)存要小于進程。
進程管理的作用?
判斷服務器的健康狀態(tài)
查看系統(tǒng)所有的進程
殺死進程
作用:查看系統(tǒng)中的進程信息
語法:ps [-auxle]
常用選項
查看系統(tǒng)中所有進程
ps應用實例 # ps -u or ps -l 查看隸屬于自己進程詳細信息
作用: 查看當前進程樹
語法:pstree [選項]
-p 顯示進程PID
-u 顯示進程的所屬用戶
作用:查看系統(tǒng)健康狀態(tài)
顯示當前系統(tǒng)中耗費資源最多的進程,以及系統(tǒng)的一些負載情況。
語法:top [選項]
-d 秒數(shù),指定幾秒刷新一次,默認3秒(動態(tài)顯示)
作用:關(guān)閉進程
語法:kill [-選項] pId
kill -9 進程號(強行關(guān)閉) 常用
kill -1 進程號(重啟進程)
添加用戶
語法:useradd [選項] 用戶名
修改密碼命令
語法:passwd [選項] [用戶名]
用戶密碼:生產(chǎn)環(huán)境中,用戶密碼長度8位以上,設(shè)置大小寫加數(shù)字加特殊字符,要定期更換密碼。
ys^h_L9t
刪除用戶
-r 刪除賬號時同時刪除宿主目錄(remove)
作用:用于查看Linux文件系統(tǒng)的狀態(tài)信息,顯示各個分區(qū)的容量、已使用量、未使用量及掛載點等信息??词S嗫臻g
語法:df [-hkam] [掛載點]
-h(human-readable)根據(jù)磁盤空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k 以KB 為單位顯示各分區(qū)的信息,默認
-M 以MB為單位顯示信息 -a 顯示所有分區(qū)包括大小為0 的分區(qū)
作用:用于查看文件或目錄的大小(磁盤使用空間)
語法:du [-abhs] [文件名目錄]
-a 顯示子文件的大小
-h以易讀的方式顯示 KB,MB,GB等
-s summarize 統(tǒng)計總占有量
eg:
du -a(all) /home 顯示/home 目錄下每個子文件的大小,默認單位為kb
du -b /home 以bytes為單位顯示/home 目錄下各個子目錄的大小
du -h /home 以K,M,G為單位顯示/home 文件夾下各個子目錄的大小
du -sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize
df命令和du命令的區(qū)別:
df命令是從文件系統(tǒng)考慮的,不僅考慮文件占用的空間,還要統(tǒng)計被命令或者程序占用的空間。
du命令面向文件,只計算文件或目錄占用的空間。
作用:查看內(nèi)存及交換空間使用狀態(tài)
語法: free [-kmg]
選項:
-k: 以KB為單位顯示,默認就是以KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
清理緩存命令:
echo 1 /proc/sys/vm/drop_caches
Linux文件系統(tǒng)操作命令大全
Linux命令有很多,那么Linux文件系統(tǒng)操作命令又有哪些呢?下面我為你介紹!
文件系統(tǒng)操作命令:
1. cat:可以顯示文件的內(nèi)容(經(jīng)常和more搭配使用),或?qū)⒍鄠€文件合并成一個文件。
2. chgrp:用來改變文件或目錄所屬的用戶組,命令的參數(shù)以空格分開的要改變屬組的文件列表,文件名支持通配符,如果用戶不是該文件的所有者,則不能改變該文件的所屬組。
3. chmod:用于改變文件或目錄的訪問權(quán)限,該命令有兩種用法:一種是使用圖形化的方法,另一種是數(shù)字設(shè)置法。
4. chown:用來將指定用戶或組為特定的所有者。用戶可以設(shè)置為用戶名或用戶ID,組可以是組名或組ID。特定的文件是以空格分開的可以改變權(quán)限的文件列表,文件名支持通配符。
5. clear:用來清除終端屏幕。
6. cmp:用來比較兩個文件的大小。
7. cp:(copy)可以將文件或目錄復制到其他目錄中,就如同Dos下的copy命令一樣,功能非常強大。在使用cp命令時,只需要指定源文件名或目標目錄即可。
8. cut:用來移除文件的部分內(nèi)容。
9. diff:用來找出兩個文件的不同之處。
10. du: 用來顯示磁盤的剩余空間的大小。
11. file:用來顯示文件的類型。
12. find:用來在目錄中搜索文件,并執(zhí)行指定的操作。
13. head:只查看文件的頭幾行內(nèi)容,而不必瀏覽整個文件。
14. ln:可以在文件之間創(chuàng)建鏈接,實際上是給某個文件指定一個訪問它的別名。
15. less:用法與more類似,可以查看超過一屏的文件內(nèi)容,不同的是less除了可以按空格鍵向下顯示文件外,還可以利用方向鍵來滾動顯示文件,要結(jié)束瀏覽,只要在less的提示符“:”后按Q即可。
16. locate:可用于查找文件,且比find命令的搜索速度快。
17. ls(list):用來顯示當前目錄中的文件和子目錄列表。
18. mkdir(make directory):建立子目錄。
19. more:用于顯示內(nèi)容超過一屏的文件,為了避免文件內(nèi)容顯示瞬間就消失,可以使用more命令讓文件顯示滿一屏時暫停,在按下任意鍵的時候繼續(xù)顯示下一屏的內(nèi)容。
20. rmkdir(remove directory):用來刪除“空”的子目錄或無用的目錄文件。
21. mv(move):可以將文件以及目錄移到其他位置,或更改文件以及目錄的名稱。
22. pico:可指定文本的編輯方式。
23. pwd(print working directory):可顯示用戶當前所在的目錄。
24. rm:用來刪除系統(tǒng)中過時或無用的文件,可以刪除目錄中的文件或目錄本身,對于鏈接文件,原有文件保持不變。
25. sort:將文本文件自動分類。
26. stat:用于顯示文件或文件系統(tǒng)的狀態(tài)。
27. Strings:顯示文件中要打印的字符串。
28. tail:輸出文件的結(jié)尾。
29. touch:改變文件的時間戳。
30. umask:用于啟動bash shell。
31. uniq:移除已分類文件中的重復文本行。
32. vi:啟動vi文本編輯器。
33. wc:顯示文件中字節(jié)、詞組合文本行的數(shù)目。
34. whereis:查找特定目錄下的原始程序,二進制程序或用戶手冊等文件的位置。
35. man:如果用戶對某個命令想了解更詳細的話,可使用此命令。
36. dd:復制一個文件。
37. df:查看一個文件系統(tǒng)的磁盤空間使用情況。
38. edquoat:設(shè)置用戶與用戶組的磁盤空間限制,即Windows系統(tǒng)中的配額。
39. fdformat:格式化軟盤。
40. fdisk:執(zhí)行Linux下的`磁盤分區(qū)。
41. mkfs:建立一個Linux文件系統(tǒng)。
42. mkswap:創(chuàng)建一個Linux交換分區(qū)。
43. mount:掛載一個文件系統(tǒng)。
44. quota:限制和顯示用戶可用的磁盤空間。
45. swapon,swapoff:啟用或取消設(shè)備和文件的交換頁。
46. quotaon,quotaoff:啟用或取消quota限制。
47. umount:取消文件系統(tǒng)的裝備。
系統(tǒng)管理命令
1. finger:查詢用戶信息,也能查看默認的用戶環(huán)境。
2. ftp:標準的文件傳輸協(xié)議的用戶接口,是在網(wǎng)絡(luò)上傳輸文件最簡單有效的方法。
3. host:用于DNS查詢。
4. hostname:用于顯示或設(shè)置系統(tǒng)的主機名。
5. ifconfig:用于配置網(wǎng)卡接口。(可以使用down或up參數(shù)來禁用或啟用某個網(wǎng)卡接口)
6. mail:發(fā)送和接收郵件。
7. netstat:顯示網(wǎng)絡(luò)連接、路由表和網(wǎng)絡(luò)接口信息,用戶可以知道目前那些網(wǎng)絡(luò)連接正在運行。
8. ping:此命令用于測試本計算機和網(wǎng)絡(luò)上其它的計算機是否相連。
9. rlogin:遠程登陸命令,該命令與telnet命令很相似,允許用戶啟動遠程系統(tǒng)的交互會話。
10. rcp:rcp(remote file copy)命令是遠程文件復制命令,該命令用于在計算機之間復制文件,有兩中格式,一種格式用于文件動文件的復制,另一種用于把文件或目錄復制到其他文件目錄中。
11. route:此命令用于顯示或設(shè)置IP路由表。
12. tcpdump:此命令用于測試網(wǎng)絡(luò)的通信量。
13. talk:此命令可用于事項網(wǎng)絡(luò)用戶的適時交談,但是必須將雙方系統(tǒng)的信息加入各自的/etc/hosts文件中,以相互識別。
14. telnet:此命令用于通過網(wǎng)絡(luò)登陸遠程計算機,如同操作本地計算機一樣。
15. wall:wall(write all)命令可以用于發(fā)送消息給登陸本機的用戶。在發(fā)送消息時,可直接輸入要發(fā)送的消息,也可以把文件當成消息發(fā)送。
16. wget:此命令用于Linux環(huán)境下從Internet上下載文件,支持http和ftp協(xié)議,支持代理服務器和斷點連續(xù)傳功能,能夠遞歸遠程主機上的目錄,查找合乎要求的的文件并下載到本地硬盤上。Wget命令可以在后臺運行,截獲并忽略hantfup信號,因此用戶退出登陸后,仍可繼續(xù)運行。
17. ,bg:,bg命令是后臺執(zhí)行命令,有時候用戶執(zhí)行的程序可能要話很多時間,如果放在前臺執(zhí)行,可能無法繼續(xù)其他操作,最好將他放在后臺執(zhí)行。
18. fg:fg命令是前臺執(zhí)行命令,如果用戶有程序在后臺運行,可以通過fg命令將程序從后臺移到前臺執(zhí)行。
19. jobs:此命令用于顯示正在后臺執(zhí)行的任務清單。Bg,fg,jobs命令都屬于bash命令,
20. kill:此命令用于終止一個程序,例如:#[root@rathat9 root]kill 3793
21. ps:此命令用于顯示程序的狀態(tài)。
22. top:此命令用于顯示當前CPU進程。
23. at batch atp atrm:這些命令用于排序,檢查或刪除后臺運行的任務。
Linux與用戶有關(guān)的命令:
1. passwd命令:更改用戶口令。
格式:passwd [用戶名]
2. su命令:可以讓一個普通用戶擁有超級用戶或其他用戶的權(quán)限,也可以讓超級擁護以普通用戶的身份做一些事情。
格式:su[選項][?][使用者賬號]
說明:若沒有指定的使用者賬號,則系統(tǒng)預設(shè)值為超級用戶root。該命令中個選項的含義分別為:
-c:執(zhí)行一個命令后就結(jié)束。
-:加了這個減號的目的是使環(huán)境變量和欲轉(zhuǎn)換的用戶相同。
-m:保留環(huán)境變量不變。
Linux系統(tǒng)管理命令:
1. wall命令:對全部以登陸的用戶發(fā)送信息。
2. write命令:向系統(tǒng)中某一用戶發(fā)送信息。
格式:write 用戶賬號 [終端名稱]
3. mesg命令:設(shè)定是否允許其他用戶用write命令給自己發(fā)送信息。
如果允許輸入命令:mesg y
如果不允許輸入命令:mesg n
4. sync命令:在關(guān)閉Linux系統(tǒng)是使用的。Sync是強制把內(nèi)存中的數(shù)據(jù)寫回硬盤,以免數(shù)據(jù)丟失。
5. shutdown命令:可以安全的關(guān)閉或重啟Linux它在系統(tǒng)關(guān)閉之前給系統(tǒng)上的所有登陸用戶提示一條警告信息。
格式:shutdown [選項][時間][警告信息]
命令中選項的含義:
-k:并不真正關(guān)機,而只是發(fā)出警告信息給所有用戶。
-r:關(guān)機后立即重新啟動。
-h:關(guān)機后不重新啟動。
-f快速關(guān)機,重新啟動時跳過fsck。
-n:快速關(guān)機,不經(jīng)過init程序。
-c:取消一個已經(jīng)運行的shutdown。
6. free命令:查看當前系統(tǒng)內(nèi)存的使用情況,它顯示系統(tǒng)中剩余及已用的物理內(nèi)存和交換內(nèi)存,以及共享內(nèi)存和被核心使用的緩沖區(qū)。
格式:free [-b | -k |-m]
命令中各個選項的含義:
-b:以字節(jié)為單位顯示。
-k:以K字節(jié)為單位顯示。
-m:以兆字節(jié)為單位顯示。
7. uptime命令:顯示系統(tǒng)已經(jīng)運行了多長時間,它依次顯示下列信息:現(xiàn)在時間、系統(tǒng)已經(jīng)運行了多長時間、目前有多少登陸用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內(nèi)的平均負載。
8. df命令:檢查文件系統(tǒng)的磁盤空間占用情況。
格式:df [選項]
說明:df命令可顯示所有文件系統(tǒng)對I節(jié)點和磁盤塊的使用情況。
命令中各個選項的含義:
-a:顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng)。
-k:以k字節(jié)為單位顯示。
-i:顯示i節(jié)點信息,而不是磁盤塊。
-t:顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x:列出不是某一指定類型文件系統(tǒng)的磁盤空間使用情況。
-T:顯示文件系統(tǒng)類型。
9. du命令:顯示磁盤空間的使用情況。統(tǒng)計目錄(或文件)所占磁盤的大小。
格式:du [選項] [Names…]
說明:該命令逐級進入指定目錄的每一個子目錄并顯示該目錄占用文件系統(tǒng)數(shù)據(jù)塊(1024字節(jié))的情況。若沒有給出Names,則對當前目錄進行統(tǒng)計。
命令中各個選項的含義:
-s:對每個Names參數(shù)只給出占用的數(shù)據(jù)塊總數(shù)。
-a:遞歸的顯示指定目錄中各文件及子孫目錄中個文件占用的數(shù)據(jù)塊數(shù)。若既不指定-s,也不指定-a,則顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數(shù)。
-b:以字節(jié)為單位列出磁盤空間使用情況(系統(tǒng)缺省以k字節(jié)為單位)。
-k:以1024字節(jié)為單位列出磁盤空間的使用情況。
-c:最后再加上一個總計(系統(tǒng)缺省設(shè)置)。
-l:計算所有的文件大小,對硬鏈接文件,則計算多次。
-x:跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計。
10. dd命令:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進行格式轉(zhuǎn)換。
格式:dd [選項]
命令中各個選項的含義:
if = 輸入文件(或設(shè)備名稱)。
of = 輸出文件(或設(shè)備名稱)。
ibs = bytes 一次讀取bytes字節(jié),及讀入緩沖區(qū)的字節(jié)數(shù)。
skip = blocks 跳過讀入緩沖區(qū)開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節(jié),及寫入緩沖區(qū)的字節(jié)數(shù)。
bs = bytes 同時設(shè)置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設(shè)置ibs和obs).
cbs = byte 一次轉(zhuǎn)換bytes字節(jié)。
count = blocks 只拷貝輸入的block塊。
conv = ASCⅡ 把EBCDIC碼轉(zhuǎn)換為ASCⅡ。
conv = ebcdic 把ASCⅡ碼轉(zhuǎn)換為EBCDIC碼。
conv = ibm ibm把ASCⅡ碼轉(zhuǎn)換為alternate EBCDIC碼。
conv = block 把變動位轉(zhuǎn)換成固定字符。
conv = ublock 把固定位轉(zhuǎn)換成變動位。
conv = ucase 把字母由小寫轉(zhuǎn)換為大寫。
conv = lcase 把字母由大寫轉(zhuǎn)換為小寫。
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入字節(jié)。
conv = noerror 出錯是不停止處理。
conv = sync 把每個輸入記錄的大小都調(diào)到ibs的大小(用NUL填充)。
11. fdformat命令:低級格式化軟盤。
格式:format [-n] device
說明:-n 軟盤格式化后不作檢驗。
12. echo命令:在顯示器上顯示一段文字,一般起到一個提示作用。
格式:echo [-n] 字符串
13. cal命令:顯示某年某月的日歷。
格式:cal [選項] [月 [年]]
命令中各個選項的含義:
-j:顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。
-y:顯示出整年的日歷。
14. date命令:顯示和設(shè)置系統(tǒng)日期和時間。
格式:date [選項] 顯示時間格式 (以 + 開頭,后面接格式)
date [選項] 設(shè)置時間格式
命令中各個選項的含義:
15. clear命令:清除屏幕上的信息。
Vi的基本命令:
1. 移動光標:
Ctrl + b:上滾一屏
Ctrl + f:下滾一屏
Ctrl + d:下滾半屏
Ctrl + u:上滾半屏
G: 移到文件最后
W:移到下個字的開頭
B:跳至上個字的開頭
2. 刪除
x:刪除當前光標所在后面一個字符
#x:刪除當前光標所在后面#個字符。例如,5x表示刪除5個字符。
dd:刪除當前光標所在行
#dd:刪除當前光標所在后面#行。例如,5dd表示刪除字光標算起的5行。
:l,#d:例如,:1,12d表示刪除自行1至行12的文字
X:刪當前光標的左字符
D:刪至行尾
3. 更改
cw:更改光標處的字到此單字的字尾處
c#w:例如,c3w表示更改3個字
cc:修改行
c:替換到行尾
4. 取代
r:取代光標處的字符
R:取代字符直到按ESC為止
5. 復制
yw:拷貝光標處的字到字尾只緩沖區(qū)
P:把緩沖區(qū)的資料貼上來
yy:拷貝光標所在之行至緩沖區(qū)
#yy:例如:5yy,拷貝光標所在之處以下5行至緩沖區(qū)
Linux文件的復制,刪除和移動命令
1.cp命令:該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的COPY命令一樣,功能十分強大。
語法:cp[選項]源文件或目錄,目標文件或目錄
說明該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。
該命令的各項選項含義如下:
-a:該選項通常在拷貝目錄是使用。他保留鏈接,文件屬性,并遞歸地拷貝目錄,其作用等于dpr選項的組合。
-d:拷貝是保留鏈接
-f:刪除已經(jīng)存在的目標文件而不提示。
-I:和 f選項相反,在覆蓋目標文件之前將給出提示要求擁護確認?;卮饄時目標文件將被覆蓋,是交互式拷貝。
-p:此時cp除復制源文件的內(nèi)容外,還將把其修改時間和反問權(quán)限也復制到新文件中。
-r;若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
-L:不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp 命令拷貝文件后,這個文件酒會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用I選項。
2.mv命令:用戶可以使用mv命令來為文件或目錄改名或?qū)⑽募梢粋€目錄移入另一個目錄中。該命令如同MS-DOS下的ren 和 move 的組合。
語法:mv[選項]源文件或目錄 目標文件或目錄。
說明:視mv命令中第二個參數(shù)類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或?qū)⑵湟浦烈粋€新的目錄中。當?shù)诙€參數(shù)類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),他將所給的源文件或目錄重命名為給頂?shù)哪繕宋募?。當?shù)诙€參數(shù)是已存在的目錄名稱時,源文件或目錄參加參數(shù)可以有很多個,mv命令將個參數(shù)指定的源文件均移至目標目錄中。在跨文件系統(tǒng)移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令中各選項的含義為:
-I:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統(tǒng)詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。在mv操作要覆蓋某已有的目標文件是不給任何指示,指定此選項后,I選項將不再起作用。
如果所給目標文件(不是目錄)已存在,此時該文件的內(nèi)容將后備新文件覆蓋,為防止用戶用mv命令破壞另一個文件,使用mv命令移動文件時,最好使用I選項。
3.rm命令:用戶可以用rm命令刪除不需要的文件。該命令的功能問刪除一個目錄中的一個或多個文件或目錄,他也可以將某個目錄及其下的所有文件及子目錄均刪除。對于鏈接文件,只是斷開了鏈接,源文件保持不變。
Rm命令的一般形式為:
Rm [選項]文件……
如果沒有使用-r選項,則rm不會刪除目錄。
該命令的各選項含義如下:
-f:忽略不存在的文件,從不給出提示。
-r:指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除。
-I:進行交互式刪除。
使用rm命令要小心。因為一旦文件被刪除,他是不能被恢復的。為了防止這種情況的發(fā)生可以使用I選項倆逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
Linux目錄的創(chuàng)建與刪除命令:
1. mkdir命令
功能:創(chuàng)建一個目錄(類似MS-DOS下的md命令)。
語法:mkdir[選項]dir-name
說明:該命令創(chuàng)建由dir-name命名的目錄。要求創(chuàng)建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫權(quán)限,并且dirname不能是當前目錄中已有的目錄或文件名稱。
命令中個選項的含義為:
-m:對新建目錄設(shè)置存取權(quán)限。也可以用chmod命令設(shè)置。
-p:可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
2. rmdir命令
功能:刪除空目錄。
語法:rmdir[選項]dir-name。/
說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。Rm-r dir 命令可代替rndir,但是有危險性。刪除某目錄時也必須具有對父目錄的、寫權(quán)限。
命令中個選項的含義為:
-p遞歸刪除目錄dirname,當子目錄刪除后其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由于某種原因保留部分路徑,則系統(tǒng)在標準輸出上顯示相應的信息。
3. cd命令
功能:改變工作目錄。
語法:cd[directory]
說明:該命令將當前目錄改變至directory所指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執(zhí)行和讀權(quán)限。
該命令可以使用通配符(如”*,_”這樣的通配符號)。
4. pwd命令
在Linux層次結(jié)構(gòu)中,用戶可以在被授權(quán)的任意目錄下利用mkdir命令創(chuàng)建新目錄,也可以利用cd命令從一個目錄轉(zhuǎn)換到另一個目錄。然而,沒有提示符來告知用戶目前處于哪一個目錄中。想要知道當前所處的目錄,可以用pwd命令,該命令顯示整個路徑名。
語法:pwd
說明:此命令顯示出當前工作目錄的絕對路徑。
5. ls命令
ls是list的簡寫,其功能為列出目錄的內(nèi)容。這是擁護最常用的一個命令之一,因為用戶需要不時地查看某個目錄的內(nèi)容,該命令類似于DOS下的dir命令
語法:ls[選項][目錄或是文件]
對于每個目錄,該命令將列出其中的所有子目錄與文件。對于每個文件,ls將輸出其文件名以及所要求的其他信息。默認情況下,輸出條目按字母順序排序。但未給出目錄名或是文件名時,就顯示當前目錄的信息。
命令中各個選項的含義:
-a:顯示指定目錄下所有子目錄與文件,包括隱藏文件。
-A:顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和“..”.
-b:對文件名中的不可顯示字符用把禁止
linux中所有設(shè)備都是以文件的形式顯示
linux下文件的后綴名無實際意義
命令
pwd 顯示路徑
man +命令 列出操作說明
ls -l/-help列出 文件目錄
cd / 目錄做實驗
安裝步驟 configure make make install?
rm -r dl 遞歸刪除目錄
rm -rf 刪除所有目錄
rm -f 加文件名 刪除文件
rmdir +文件地址 刪除文件夾所有和rm -rf功能差不多
touch 加名字 創(chuàng)建新文件
cp 復制 mv 移動 rm 刪除
vi 文本編輯器 輸入a將從命令格式變成輸入格式
head tail 查看前面和后面
find 加位置 加文件名 查找
echo $PATH 查詢路徑
useradd 加名字 添加用戶
userdel 加名字 刪除用戶
su 加用戶名 切換用戶
chmod +x/-x 加文件名 修改文件權(quán)限
chmod 755 加文件名 改變權(quán)限在安裝程序時
grep 加文本字符 加在那個文件 查找字符存在那行
fdisk -l 查看磁盤信息
命令1|命令2|命令三... 管道
ps -ef查看進程
ifconfig linux查看ip
重定向
linux和其它機器之間共享文件vsftp Windows和linux傳輸文件15-17
putty遠程登錄軟件ssh
gzip 壓縮和解壓縮 -d解壓 21
service iptables off防火墻關(guān)閉
tar -xvf 第二層解壓縮
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是壓縮!)
———————————————
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz ./DirName
壓縮:tar zcvf FileName.tar.gz DirName
.tar.bz2
解壓:tar xjf FileName.tar.bz2 ./DirName
壓縮:tar cjf FileName.tar.bz2 DirName
rpm -ivh 加.rpm文件 安裝
安裝sudo apt-get install 軟件名
;
? ? 在Linux中輸入命令man tcpdump給出的定義如下所示:
是不是感覺很懵?我們用通俗、形象、學術(shù)的表達方式來全方位描述tcpdump:
常用選項如下所示:
1、第一個抓包示例
-i : 指定用來抓包的網(wǎng)絡(luò)接口,這個參數(shù)在服務器有多個網(wǎng)卡的時候非常有效
-nn : 不轉(zhuǎn)換協(xié)議和端口號,當tcpdump遇到協(xié)議號或端口號,不需要將這些數(shù)字轉(zhuǎn)換為對應的協(xié)議名稱或端口名稱,如22端口SSH端口,我們希望顯示22,而非SSH
-X : 將協(xié)議頭和包內(nèi)容原原本本的顯示出來,tcpdump會同時以16進制和ASCII的形式進行顯示,在協(xié)議分析時非常好用。
'port 22' : 告訴tcpdump要有選擇的顯示所抓到的包,在該示例中,只顯示源端口或目的端口是22的數(shù)據(jù)包,其他的數(shù)據(jù)包則不顯示。
-c : 用來指定抓包的個數(shù),示例設(shè)置的個數(shù)為1,則代表僅抓取一個包之后就退出不再抓包了。
2、-e 增加數(shù)據(jù)鏈路層的頭部信息
? ? 通過兩個命令的輸出對比,可以看到增加-e選項后,輸出的結(jié)果中增加MAC地址信息。而且在輸出內(nèi)容中會有 oui Unknown ,OUI即Organizationally unique identifier(組織唯一標識符),在任何一塊網(wǎng)卡中燒錄的6字節(jié)MAC地址中,前3個字節(jié)體現(xiàn)了OUI,其表明了網(wǎng)卡的制造組織,通常情況下,該標識符是唯一的。在本例中,由于沒有識別出網(wǎng)卡的制造商,因此顯示為Unknown。
3、-l 將輸出變?yōu)樾芯彌_模式
? ? -l的作用是將tcpdump的輸出行為變?yōu)?行緩沖 方式,這樣可以保證tcpdump遇到換行符,就立即將緩沖的內(nèi)容輸出到標準輸出(stdout),方便利用管道或重定向方式進行后續(xù)處理,而不會造成延遲。
? ? 在Linux的標準I/O中提供了 全緩沖 、 行緩沖 、 無緩沖 三種緩沖方式。標準錯誤是不帶緩沖的,而終端設(shè)備常為行緩沖,其他默認則為全緩沖。
? ? 在該例中,將tcpdump輸出的內(nèi)容通過管道提取第5列,可以用來查看詳細的連接信息。而如果不加 -l 選項時,則只有當緩沖區(qū)全部占滿時,tcpdump才會將緩沖區(qū)中的內(nèi)容輸出,這樣就有可能導致輸出不連續(xù)的,如果強行結(jié)束,則會影響下一行的完整性。
4、-t 輸出不加時間戳
? ? 在增加選項 -t 選項后,時間23:48:03.193526就消失了。tcpdump默認情況下是按微秒來計時,因此最一個時間精確到了第6位。
5、 -v 顯示詳細信息
? ? 在增加 -v 選項后,會在輸出的內(nèi)容中增加 tos 、 ttl 、 id 、 offset 、 協(xié)議編號 、 總長度 等,如需要理解這些信息,就需要了解TCP/IP協(xié)議中的頭的具體定義了。
6、-F 指定過濾表達式所在的文件
? ? 在第一個示例中,命令行增加了 'port 22' ,而這一項就叫 過濾條件 ,如果設(shè)置了過濾條件,則tcpdump只抓取滿足過濾條件的數(shù)據(jù)包。如需要設(shè)置較為復雜的過濾條件或復用過濾條件時,這時可以將過濾條件保存為文件,然后通過-F加載該過濾文件。
7、 -w 將原始數(shù)據(jù)包信息保存到文件中
? ? 當我們查看保存的文件時,出現(xiàn)的是亂碼。則代表無法直接查看,很有可能是二進制文件。那么怎么查看保存的文件了?請看下一個示例。
7、 -r 從文件中讀取原始數(shù)據(jù)包
? ? 通過-w和-r選項即可實現(xiàn)抓包的錄制回放功能。
nc是linux系統(tǒng)的一個命令,可以用來測試編寫的tcp程序,可以有效的與你編寫的tcp程序交互。
典型的用法:
1. nc address port
鍵盤輸入的信息按下Enter鍵會立即輸入到套接字當中的輸出流中,同時也會不斷地打印輸入流當中的信息!
2. nc address file
將文件中的信息發(fā)送出去,并不斷地打印輸入流中的信息
下面大概分幾個方面進行羅列:
Linux要包含
[cpp]
#include sys/socket.h
#include netinet/in.h
#include netdb.h
#include arpa/inet.h
等頭文件,而windows下則是包含
[cpp]
#include winsock.h
。
Linux中socket為整形,Windows中為一個SOCKET。
Linux中關(guān)閉socket為close,Windows中為closesocket。
Linux中有變量socklen_t,Windows中直接為int。
因為linux中的socket與普通的fd一樣,所以可以在TCP的socket中,發(fā)送與接收數(shù)據(jù)時,直接使用read和write。而windows只能使用recv和send。
設(shè)置socet選項,比如設(shè)置socket為非阻塞的。Linux下為
[cpp]
flag = fcntl (fd, F_GETFL);
fcntl (fd, F_SETFL, flag | O_NONBLOCK);
,Windows下為
[cpp]
flag = 1;
ioctlsocket (fd, FIONBIO, (unsigned long *) flag);
。
當非阻塞socket的TCP連接正在進行時,Linux的錯誤號為EINPROGRESS,Windows的錯誤號為WSAEWOULDBLOCK。
file
Linux下面,文件換行是"\n",而windows下面是"\r\n"。
Linux下面,目錄分隔符是"/",而windows下面是"\"。
Linux與Windows下面,均可以使用stat調(diào)用來查詢文件信息。但是,Linux只支持2G大小,而Windows只支持4G大小。為了支持更大的文件查詢,可以在Linux環(huán)境下加
_FILE_OFFSET_BITS=64定義,在Windows下面使用_stat64調(diào)用,入?yún)閟truct __stat64。
Linux中可根據(jù)stat的st_mode判斷文件類型,有S_ISREG、S_ISDIR等宏。Windows中沒有,需要自己定義相應的宏,如
[cpp]
#define S_ISREG(m) (((m) 0170000) == (0100000))
#define S_ISDIR(m) (((m) 0170000) == (0040000))
Linux中刪除文件是unlink,Windows中為DeleteFile。
time
Linux中,time_t結(jié)構(gòu)是長整形。而windows中,time_t結(jié)構(gòu)是64位的整形。如果要在windows始time_t為32位無符號整形,可以加宏定義,_USE_32BIT_TIME_T。
Linux中,sleep的單位為秒。Windows中,Sleep的單位為毫秒。即,Linux下sleep (1),在Windows環(huán)境下則需要Sleep (1000)。
Windows中的timecmp宏,不支持大于等于或者小于等于。
Windows中沒有struct timeval結(jié)構(gòu)的加減宏可以使用,需要手動定義:
Netstat 命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息,如網(wǎng)絡(luò)連接,路由表,接口狀態(tài) (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
執(zhí)行netstat后,其輸出結(jié)果為
從整體上看,netstat的輸出結(jié)果可以分為兩個部分:
一個是Active Internet connections,稱為有源TCP連接,其中"Recv-Q"和"Send-Q"指%0A的是接收隊列和發(fā)送隊列。這些數(shù)字一般都應該是0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。
另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網(wǎng)絡(luò)套接字一樣,但是只能用于本機通信,性能可以提高一倍)。
Proto顯示連接使用的協(xié)議,RefCnt表示連接到本套接口上的進程號,Types顯示套接口的類型,State顯示套接口當前的狀態(tài),Path表示連接到套接口的其它進程使用的路徑名。
-a (all)顯示所有選項,默認不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽) 的服務狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協(xié)議進行統(tǒng)計
-c 每隔一個固定時間,執(zhí)行該netstat命令。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
列出所有端口 netstat -a
列出所有 tcp 端口 netstat -at
列出所有 udp 端口 netstat -au
只顯示監(jiān)聽端口 netstat -l
只列出所有監(jiān)聽 tcp 端口 netstat -lt
只列出所有監(jiān)聽 udp 端口 netstat -lu
只列出所有監(jiān)聽 UNIX 端口 netstat -lx
顯示所有端口的統(tǒng)計信息 netstat -s
顯示 TCP 或 UDP 端口的統(tǒng)計信息 netstat -st 或 -su
netstat -p 可以與其它開關(guān)一起使用,就可以添加 “PID/進程名稱” 到 netstat 輸出中,這樣 debugging 的時候可以很方便的發(fā)現(xiàn)特定端口運行的程序。
當你不想讓主機,端口和用戶名顯示,使用 netstat -n。將會使用數(shù)字代替那些名稱。
同樣可以加速輸出,因為不用進行比對查詢。
如果只是不想讓這三個名稱中的一個被顯示,使用以下命令
netstat 將每隔一秒輸出網(wǎng)絡(luò)信息。
在輸出的末尾,會有如下的信息
注意: 使用 netstat -rn 顯示數(shù)字格式,不查詢主機名稱。
并不是所有的進程都能找到,沒有權(quán)限的會不顯示,使用 root 權(quán)限查看所有的信息。
找出運行在指定端口的進程
顯示詳細信息,像是 ifconfig 使用 netstat -ie:
查看連接某服務端口最多的的IP地址
TCP各種狀態(tài)列表