- 相關(guān)推薦
Linux操作系統(tǒng)使用命令總結(jié)
Linux操作系統(tǒng)的TCP/IP協(xié)議棧
分析tcp_v4_init,這個函數(shù)在net/ipv4/tcp_ipv4.c里面:
__initfunc(voidtcp_v4_init(structnet_proto_family*ops))
interr;
tcp_inode.i_mode=S_IFSOCK;
tcp_inode.i_sock=1;
tcp_inode.i_uid=0;
tcp_inode.i_gid=0;
tcp_socket->inode=&tcp_inode;
tcp_socket->state=SS_UNCONNECTED;
tcp_socket->type=SOCK_RAW;
if((err=ops->create(tcp_socket,IPPROTO_TCP))<0)
panic("FailedtocreatetheTCPcontrolsocket. ");
tcp_socket->sk->allocation=GFP_ATOMIC;
tcp_socket->sk->num=256;
tcp_socket->sk->ip_ttl=MAXTTL;
tcp_inode當(dāng)然就是一個inode節(jié)點(diǎn)了,而tcp_socket等于tcp_inode.u.socket_i,通過一個指針?biāo)麄冎赶蛲粋內(nèi)存.tcp_socket是用來通信使用的,可以叫TCP的controlsocket或者是communication
socket,當(dāng)TCP通信沒有相應(yīng)的socket的時(shí)候這個socket就充當(dāng)了socket的角色.比如在一個關(guān)閉端口上收到SYN時(shí)發(fā)送RST,或者是在三次握手的時(shí)候發(fā)送SYN(還沒有accept產(chǎn)生新的socket)
值得注意的是ops->create函數(shù)的調(diào)用,我們前面見過對于AF_INET來說這個回調(diào)函數(shù)是net/ipv4/af_inet.c的inet_create函數(shù),這個函數(shù)是用來創(chuàng)建一個socket的時(shí)候用的,由于函數(shù)比較長,這里先略過分析,這第一次的分析只是一個大致流程的熟悉而已.
由于有socket創(chuàng)建和通信,所以這段代碼是協(xié)議相關(guān)的,所以把這段代碼從原來的tcp.c里面提取了出來
下面是tcp_init函數(shù),它在net/ipv4/tcp.c里面,大體上來說就是創(chuàng)建了幾個hash表和bucket.這段代碼創(chuàng)建了下面幾個全局對象:
tcp_openreq_cachep
tcp_bucket_cachep
tcp_timewait_cachep
tcp_ehash
tcp_bhash
其中ehash代表establishedhash,bhash代表bindhash,它們當(dāng)然分別是所有的滿足TCP_ESTABLISHED<=sk->state
再下來就是icmp_init函數(shù)了,在net/ipv4/icmp.c里面,事實(shí)上,如果把tcp_v4_init里面的IPPROTO_TCP替換成IPPROTO_ICMP,基本都是一樣的.剩下的proc_net_register函數(shù)前面已經(jīng)講過了,這里就不說了.
到這里為止,Linux下面IP棧的開始的工作我們基本應(yīng)該有了個了解,其中有幾個關(guān)鍵的函數(shù):
dev_add_pack:注冊一個鏈路層以上的處理函數(shù),一般是用來使用新的網(wǎng)絡(luò)層協(xié)議的,不過如果注冊時(shí)重復(fù)也是可以的,這時(shí)候系統(tǒng)會設(shè)置一個copy位.如果是ETH_P_ALL則會接收所有的數(shù)據(jù)包.加入的元素保存在ptype_all鏈表和ptype_basehash鏈表中間.
inet_add_protocol:注冊一個建立在IP層以上的協(xié)議,例如TCP和UDP等
proc_net_register(還有類似的proc_register):
在/proc/net目錄下面創(chuàng)建一個子目錄項(xiàng)來使管理者能通過文件系統(tǒng)得到統(tǒng)計(jì)信息
現(xiàn)在迷惑的地方還有很多,一個是結(jié)構(gòu)體sk_buff的每個成員的意義,一個是結(jié)構(gòu)體sock的意義,不過這兩個問題應(yīng)該在以后看多了就知道了.下面我就打算一個個分析每個協(xié)議的處理了,包括狀態(tài)轉(zhuǎn)化/數(shù)據(jù)發(fā)送/接收。
VPS常用安全設(shè)置(linux)(一)
一、修改SSH端口
vi /etc/ssh/sshd_config
找到其中的#Port 22(第13行),去掉#,修改成Port 3333
使用如下命令,重啟SSH服務(wù),注:以后用新端口登陸。
service sshd restart
二、禁止ROOT登陸
先添加一個新帳號80st ,可以自定義:
useradd 80st
給weidao 帳號設(shè)置密碼:
passwd 80st
仍舊是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重啟SSH服務(wù)。以后,先使用weidao 登陸,再su root即可得到ROOT管理權(quán)限。
login as: 80st
weidao@ip password:*****
Last login: Tue Nov 22 15:18:18 2011 from 1.2.3.4
su root
Password:*********** #注這里輸入ROOT的密碼
三、使用DDos deflate簡單防落CC和DDOS攻擊
使用netstat命令,查看VPS當(dāng)前鏈接確認(rèn)是否受到攻擊:
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
IP前面的數(shù)字,即為連接數(shù),如果說正常網(wǎng)站,幾十到一百都屬于正常連接,但出現(xiàn)幾百,或上千的就可以墾定這個IP與你的VPS之間可能存在可疑連接現(xiàn)象。
可以使用iptables直接BAN了這個IP的永久訪問:
iptables -A INPUT -s 12.34.56.78 -j DROP
使用軟件DDos deflate來自動檢測并直接BAN掉的方法,首先要確認(rèn)一下iptables服務(wù)狀態(tài),默認(rèn)CENTOS就安裝的,不看也行。
service iptables status
安裝DDos deflat:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod +x install.sh
./install.sh
安裝后需要修改/usr/local/ddos/ddos.conf,主要是APF_BAN=1要設(shè)置成0,因?yàn)橐褂胕ptables來封某些可疑連接,注意EMAIL_TO=”root”,這樣BAN哪個IP會有郵件提示:
##### Paths of the script and other files
PROGDIR=”/usr/local/ddos”
PROG=”/usr/local/ddos/ddos.sh”
IGNORE_IP_LIST=”/usr/local/ddos/ignore.ip.list” //IP地址白名單
CRON=”/etc/cron.d/ddos.cron”//定時(shí)執(zhí)行程序
APF=”/etc/apf/apf”
IPT=”/sbin/iptables”
##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with –cron
##### option so that the new frequency takes effect
FREQ=1 //檢查時(shí)間間隔,默認(rèn)1分鐘
##### How many connections define a bad IP? Indicate
that below.
NO_OF_CONNECTIONS=150 //最大連接數(shù),超過這個數(shù)IP就會被屏蔽,一般默認(rèn)即可
##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1 //使用APF還是iptables。推薦使用iptables,將APF_BAN的值改為0即可。
##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1 //是否屏蔽IP,默認(rèn)即可
##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO=”root”//當(dāng)IP被屏蔽時(shí)給指定郵箱發(fā)送郵件,推薦使用,換成自己的郵箱即可
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600 //禁用IP時(shí)間,默認(rèn)600秒,可根據(jù)情況調(diào)整
四、使用iftop查看詳細(xì)網(wǎng)絡(luò)狀況
安裝IFTOP軟件:
yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make && make install
安裝后,使用iftop運(yùn)行,查看網(wǎng)絡(luò)情況。TX,發(fā)送流量;RX,接收流量;TOTAL,總流量;Cumm,運(yùn)行iftop期間流量;peak,流量峰值;rates,分別代表2秒、10秒、40秒的平均流量。
快捷鍵:h幫助,n切換顯示IP主機(jī)名,s是否顯示本機(jī)信息,d是否顯示遠(yuǎn)端信息,N切換端口服務(wù)名稱,b切換是否時(shí)數(shù)流量圖形條。
五、升級LNMP中的NGINX到最新版
現(xiàn)在最新版是0.8.53,如果以后出新版,只要更新版本號就可以,在SSH里運(yùn)行:
wget http://www.nginx.org/download/nginx-0.8.53.tar.gz
tar zxvf nginx-0.8.53.tar.gz
cd nginx-0.8.53
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cd objs/
cp nginx /usr/local/nginx/sbin/
/usr/local/nginx/sbin/nginx -t
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill -QUI
T `cat /usr/local/nginx/logs/nginx.pid.oldbin`
/usr/local/nginx/sbin/nginx -v
cd ..
cd ..
rm -rf nginx-0.8.53
rm -rf nginx-0.8.53.tar.gz
六、常用netstat命令:
1.查看所有80端口的連接數(shù)
netstat -nat|grep -i “80″|wc -l
2.對連接的IP按連接數(shù)量進(jìn)行排序
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
3.查看TCP連接狀態(tài)
netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn
netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’
netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,” ”,state[key]}’
netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,” ”,arr[k]}’
netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn
netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]‘ | sort | uniq -c
4.查看80端口連接數(shù)最多的20個IP
netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20
5.用tcpdump嗅探80端口的訪問看看誰最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’| sort | uniq -c | sort -nr |head -20
6.查找較多time_wait連接
netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20
7.找查較多的SYN連接
netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more
linux中php如何安裝CURL擴(kuò)展方法
如果php已經(jīng)在系統(tǒng)編譯好,后來又需要添加新的擴(kuò)展。一種方式就是重新完全編譯php,另一種方式就是單獨(dú)編譯擴(kuò)展庫,以extension的形式擴(kuò)展。下面以安裝curl擴(kuò)展為例:
1、下載curl安裝包。(我的php是4.4.4的,下載最新的curl 7.16 不能使用,最后下載7.14的才可以,所以要注意一下版本問題)
./configure
make
php要求curl的目錄要有include和lib目錄,并且include下要有easy.h 和curl.h兩個文件,lib下要有l(wèi)ibcurl.a。經(jīng)編譯后include下的文件有了,但是lib目錄下沒有。原來生成到lib/.libs目錄下,所以要copy到lib目錄
2、進(jìn)入安裝原php的源碼目錄
cd ext
cd curl
phpize
./configure --with-curl=DIR
make
就會在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
3、復(fù)制curl.so文件到extensions的配置目錄,修改php.ini就好
LINUX常用命令大全(一)
1文件與目錄操作命令
1.1文件內(nèi)容查詢命令
grep、fgrep、egrep
語法:grep[選項(xiàng)][查找模式][文件名1,文件名2,……]
選項(xiàng):-E每個模式作為一個擴(kuò)展的正則表達(dá)式對待
-F每個模式作為一組固定字符串對待,而不作為正則表達(dá)式
-i比較時(shí)不區(qū)分大小寫
-l顯示首次匹配匹配串所在的文件名并用換行符將其分開。當(dāng)在文件中多次出現(xiàn)匹配串時(shí),不重復(fù)顯示次文件名;
-x只顯示整行嚴(yán)格匹配的行
1.2文件查找命令find、locate
語法:find起始目錄尋找條件操作
以名稱和文件屬性查找
-name‘字串‘查找文件名匹配所給字串的所有文件,字串內(nèi)可用通配符*、?、[]。
-lname‘字串‘查找文件名匹配所給字串的所有符號鏈接文件,字串內(nèi)可用通配符*、?、[]。
-gidn查找屬于ID號為n的用戶組的所有文件。
-uidn查找屬于ID號為n的用戶的所有文件。
-group‘字串‘查找屬于用戶組名為所給字串的所有的文件。
-user‘字串‘查找屬于用戶名為所給字串的所有的文件。
-path‘字串‘查找路徑名匹配所給字串的所有文件,字串內(nèi)可用通配符*、?、[]。
-perm權(quán)限查找具有指定權(quán)限的文件和目錄,權(quán)限的表示可以如711、644。
-typex查找類型為x的文件,
語法:locate相關(guān)字
1.3文件的復(fù)制、刪除和移動命令
文件復(fù)制命令cp[選項(xiàng)]源文件或目錄目標(biāo)文件或目錄
選項(xiàng):-a通常在拷貝目錄時(shí)使用
-d拷貝時(shí)保留連接
-f刪除已經(jīng)存在的目標(biāo)文件而不提示
-i和f選項(xiàng)相反
-p此時(shí)cp除復(fù)制源文件內(nèi)容外,還將其修改的時(shí)間和訪問權(quán)限也復(fù)制到新文件中
-r若給出的源文件是一目錄文件,此時(shí)cp將遞歸復(fù)制該目錄下的所有的子目錄和文件,此時(shí)目標(biāo)文件必須為一個目錄名;
-l不作拷貝,只是鏈接文件
文件移動命令mv[選項(xiàng)]源文件或目錄目標(biāo)文件或目錄
-i交互式操作
-f禁止交互式操作
文件刪除命令rm[選項(xiàng)]文件…
-f忽略不存在的文件,從不給出提示
-r指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除
-i進(jìn)行交互式刪除
1.4文件鏈接命令
ln[選項(xiàng)]目標(biāo)[鏈接名]或ln[選項(xiàng)]目標(biāo)目錄
選項(xiàng):-s建立符號鏈接
1.5目錄的創(chuàng)建和刪除命令
mkdir創(chuàng)建一個目錄
語法:mkdir[選項(xiàng)]dirname
選項(xiàng):-m對新建目錄設(shè)置存取權(quán)限
-p可以是一個路徑名稱。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
r
mdir刪除空目錄
語法:rmdir[選項(xiàng)]dirname
選項(xiàng):-p遞歸刪除目錄dirname,當(dāng)子目錄刪除后其父目錄為空時(shí),也一同被刪除。
1.6改變工作目錄,顯示目錄內(nèi)容命令
1、改變工作目錄:cd[directory]
2、顯示當(dāng)前工作的目錄的絕對路徑:pwd
3、顯示目錄內(nèi)容:ls[選項(xiàng)][目錄或是文件]
選項(xiàng):-a顯示指定目錄下所有子目錄與文件,包括隱藏文件;
-c按照文件的修改時(shí)間排序
-C分成多列顯示各項(xiàng)
-d如果參數(shù)是目錄,只顯示其名稱而不顯示其下的個文件
-F在目錄名后面標(biāo)記“/”,可執(zhí)行文件后面標(biāo)記“*”,符號鏈接后面標(biāo)記“@”,管道(或FIFO)后面標(biāo)記“|”,socket文件后面標(biāo)記“=”。
-l以長格式來顯示文件的詳細(xì)信息
-L若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件
-t顯示時(shí)按修改時(shí)間而不是名字排序
-u顯示時(shí)按文件上次存取的時(shí)間而不是名字排序
4、改變文件或目錄的訪問權(quán)限命令
chmod[who][+|-|=][mode]文件名?
Who選項(xiàng):
-u表示用戶,即文件和目錄的所有者
-g表示同組用戶
-o(other)表示其他用戶
-a(all)表示所有用戶
操作符號:
+添加某個權(quán)限-取消某個權(quán)限
=賦予給定權(quán)限并取消其他所有的權(quán)限(如果有的話)
mode選項(xiàng):
-r可讀
-w可寫
-x可執(zhí)行
chgrp[-R]groupfilename?改變目錄或文件所屬的組
chown[-Rv]用戶或組文件
1.7備份與壓縮命令
1、tar命令為文件和目錄創(chuàng)建檔案
語法:tar[主選項(xiàng)+輔助選項(xiàng)]文件或者目錄
u主選項(xiàng)
c創(chuàng)建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項(xiàng)
r把要存檔的文件追加到檔案文件的末尾
t列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件;
u更新文件
x從檔案文件中釋放文件;
u輔助選項(xiàng)
b該選項(xiàng)為磁帶機(jī)設(shè)定的,其后跟一位數(shù)字,用來說明區(qū)塊的大小,系統(tǒng)預(yù)設(shè)值為20
f使用檔案文件或設(shè)備,這個選項(xiàng)通常是必選的
k保存已經(jīng)存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進(jìn)行覆蓋;
m在還原文件時(shí),把所有文件的修改時(shí)間設(shè)定為現(xiàn)在;
M創(chuàng)建多卷的檔案文件,以便在幾個磁盤中存放;
v詳細(xì)報(bào)告tar處理的文件信息
w每一步都要求確認(rèn)
z用gzip來壓縮/解壓縮文件
2、gzip命令壓縮/解壓縮命令
語法:gzip[選項(xiàng)]壓縮(解壓縮)的文件名
選項(xiàng):-c將輸出寫到
標(biāo)準(zhǔn)輸出上,并保留原有文件
-d將壓縮文件解壓
-l顯示每個壓縮文件的詳細(xì)信息
-r遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮
-t測試、檢查壓縮文件是否完整
-v對每一個壓縮和解壓的文件,顯示文件名和壓縮比
3、unzip命令
用MSwindows下的壓縮軟件winzip壓縮的文件在linux系統(tǒng)下展開
語法:unzip[選項(xiàng)]壓縮文件名.zip
選項(xiàng):-x文件列表解壓縮文件,但不包括指定的file文件
-v查看壓縮文件目錄,但不解壓
-t測試文件有無損壞,但不解壓
-d目錄將壓縮文件解到指定目錄下
-z只顯示壓縮文件的注解
-n不覆蓋已經(jīng)存在的文件
-o覆蓋已經(jīng)存在的文件且不要求用戶確認(rèn)
-j不重建文檔的目錄結(jié)構(gòu),把所有文件解壓到同一目錄下
1.8在LINUX環(huán)境下運(yùn)行DOS命令
linux系統(tǒng)提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標(biāo)準(zhǔn)的DOS軟盤上讀寫文件和目錄。
mcd目錄名改變MSDOS目錄
mcopy源文件目標(biāo)文件在MSDOS和UNIX之間復(fù)制文件;
mdel目錄名刪除MSDOS目錄
mdir目錄名顯示MSDOS目錄
mformat驅(qū)動器號在低級格式化的軟盤上創(chuàng)建MSDOS文件系統(tǒng)
rnlabel驅(qū)動器號產(chǎn)生MSDOS卷標(biāo)
mmd目錄名刪除MSDOS目錄
mren源文件目標(biāo)文件重新命名已存在的MSDOS文件
mtype文件名顯示MSDOS文件的內(nèi)容
2設(shè)備管理命令
linux采用下面的形式定義一個IDE硬盤:/dev/hd[drive][partition]
SCSI硬盤使用同樣的機(jī)制表示:/dev/sd[drive][partition]
對于一般的LINUX分區(qū),可以用mkfs將其格式化并生成文件系統(tǒng),命令如下:
mk2fs–c
裝載文件系統(tǒng):mount–text2[-ooptioms]partitionmountpiont
其中,-t為指定裝載文件系統(tǒng)的類型;-o指定一些選項(xiàng),如只讀ro,可讀可寫rw等等;partition定義分區(qū)名稱;mountpiont定義文件系統(tǒng)被裝載的目錄名稱。
裝載CD-ROM文件系統(tǒng):mount–tiso9660–r/dev/cdrom/mnt/cdrom
裝載軟驅(qū)文件系統(tǒng):mount–tmsdos–rw/dev/fd0/dev/mnt/floppy
卸載文件系統(tǒng)umount/mnt/cdrom
磁帶設(shè)備的安裝要注意以下幾點(diǎn):
1、首先要選擇一個唯
一的SCSIID號,然后再將設(shè)備鏈接到適當(dāng)?shù)奈恢?/p>
2、選擇驅(qū)動程序。
3、生成設(shè)備文件。SCSI磁帶設(shè)備的主要設(shè)備號是9,次要設(shè)備號是0。設(shè)備文件名通常是/dev/nrst0(不支持回繞的磁帶設(shè)備)或/dev/nst0(支持回繞的磁帶設(shè)備)
用ls/dev/*rst*
檢查磁帶設(shè)備文件是否存在,如果不存在,用
mknod–m666/dev/nrst0c99
mknod–m666/dev/rst0c90生成
4、可以對塊長度、緩存、磁帶密度等參數(shù)進(jìn)行一些設(shè)置,例如
mtsetblk20將塊長度指定為20
mtsetblk0指定塊程度沒有限制
5、通過檢查系統(tǒng)的啟動信息可以確定系統(tǒng)是否識別了新的磁帶設(shè)備。用dmesg命令,查看是否有以下類似的信息:
aha274x:target4nowsynchronousat4.4Mb/s
Vendor:TANDBERGModel:TDC3800Rev:=05:
Type:Sequential-AccessANSISCSIrevision:02
Detectedscsitapest0atscsi0,id4,lun0
Scsi:detected1SCSItape1SCSIcrom1SCSIdisktotal
3軟件包管理命令
3.1軟件安裝的步驟
在LINUX系統(tǒng)上安裝軟件的步驟有:
1、查找所要安裝軟件的源文件
2、把源文件解開放到一個目錄中,命令如下:
tarzxvf<源文件名>
3、針對本操作系統(tǒng)配置源文件?梢允蔷庉媘ake文件或其他文件,也可能是運(yùn)行該軟件自帶的自動配置工具,如./configure
4、make源文件,通常是運(yùn)行make命令,即執(zhí)行make
5、安裝二進(jìn)制文件和其他支撐文件,運(yùn)行命令:makeinstall
6、最后,完成所有其他必須的配置
3.2軟件包管理命令
rpm–ivh<軟件包>
//安裝指定的軟件包,并在安裝過程中用#表示安裝的進(jìn)度
rpm–Uvh<軟件包>
//更新一個已經(jīng)存在的或還沒安裝好的軟件包,并刪除所有該軟件包的舊版本。
rpm–e
//卸載一個rpm軟件包
rpm–qa
//查看系統(tǒng)中已經(jīng)安裝的軟件包
rpm–q<軟件包>
//查看系統(tǒng)中某個軟件包的版本號;
rpm–qlp<軟件包>
//列出某個軟件包中的所有文件
rpm–qf<軟件包>
//找出一個文件屬于哪個軟件包
4LINUX系統(tǒng)常用命令
4.1與系統(tǒng)管理有關(guān)的命令
Wall(WriteAll)
對全部已登錄的用戶發(fā)送信息,用戶可以先反要發(fā)送的信息寫好存入一個文件中,然后輸入:#wall<FileName
例:Wall‘Thankyou!’
Write
向某一用戶發(fā)送信息。
Writexxq
hello
輸入Ctrl+C組合即可終止
Shutdown命令
Shutdown[選項(xiàng)][時(shí)間][警告信息]
-k并不真正關(guān)機(jī),而只是發(fā)出警告信息給所有的用戶。
-r關(guān)機(jī)后立即重新啟動。
-h關(guān)機(jī)后不重新啟動。
-f快速關(guān)機(jī),啟動時(shí)跳過fsck。
-n快速關(guān)機(jī),不經(jīng)過init程序。
-c取消一個已經(jīng)運(yùn)行的shutdown
例:系統(tǒng)馬上關(guān)機(jī):Shutdown–hnow
Free命令
查看當(dāng)前系統(tǒng)內(nèi)存的使用情況,
Free[-b][-k][-m]
-b以字節(jié)為單位顯示。
-k以K字節(jié)為單位顯示。
-m以M字節(jié)為單位顯示。
Uptime
顯示系統(tǒng)已經(jīng)運(yùn)行了多長的時(shí)間:現(xiàn)在時(shí)間、系統(tǒng)已經(jīng)運(yùn)行的時(shí)間、目前有多少登錄用戶、系統(tǒng)在過去的1分鐘、5分鐘和15分鐘內(nèi)的平均負(fù)載。
4.2與用戶有關(guān)的命令
Passwd命令
設(shè)置、更換用戶口令。
Passwd[用戶名]
Su
使一個普通的用戶具有超級用戶的權(quán)利,離開可用EXIT命令。
4.3其它命令
Echo命令
在顯示器上顯示一段文字,一般起到一個提示的作用。
echo[-n]字符串
Cal命令
顯示某年某月的日歷。
cal[選項(xiàng)][月[年]]
選項(xiàng)的含義:
-j顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。
-y顯示也整年的日歷。
Date命令
date命令的功能是顯示和設(shè)置系統(tǒng)日期和時(shí)間。
4.4磁盤管理
磁盤空間管理
df命令
檢查文件系統(tǒng)的磁盤空間占用局部。
Df[選項(xiàng)]
-a顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng),如/proc文件系統(tǒng)。
-k以K字節(jié)為單位顯示。
-i顯示i節(jié)點(diǎn)信息,而不是磁盤塊。
-t顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x列出不是某一指定類型文件系統(tǒng)的磁盤窨使用情況(與t相反)。
-T顯示文件系統(tǒng)類型。
du命令
du的英文原意為diskusage,含義為顯示磁盤空間的使用情況。功能是統(tǒng)計(jì)目錄(或文件)所占磁盤空間的大小。
du[選項(xiàng)][Names…]
-s對每人Names參數(shù)只給也占用的數(shù)據(jù)塊總數(shù)。
-a遞歸地顯示指定目錄中各文件用子孫目錄中的各文件占用的數(shù)據(jù)塊總數(shù)。
-b以字節(jié)為單位列也磁盤窨使用情部(缺省以K字節(jié)為單位)
-k以1024字節(jié)為單位列也磁盤空間使用情況。
-c最后再加上一個總計(jì)(系統(tǒng)缺。
-l計(jì)算所有的文件大小,對硬鏈接文件,則計(jì)算多次。
-x跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計(jì)。
dd命令
把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝的過程中可以進(jìn)行格式轉(zhuǎn)換。語法:
dd [選項(xiàng)]
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í)設(shè)置讀/寫緩沖區(qū)的字節(jié)數(shù)(等于設(shè)置obs和obs)。
cbs=bytes一次轉(zhuǎn)換bytes字節(jié)。
count=blocks只拷貝輸入的blocks塊。
conv=ASCII把EBCDIC碼轉(zhuǎn)換為ASCII碼。
conv=ebcdic把ASCII碼轉(zhuǎn)換為EBCDIC碼。
conv=ibm把ASCII碼轉(zhuǎn)換為alternateEBCDIC碼。
conv=blick把變動位轉(zhuǎn)換成固定字符。
conv=ublock把固定們轉(zhuǎn)換成變動位
conv=ucase把字母由小寫變?yōu)榇髮憽?/p>
conv=lcase把字母由大寫變?yōu)樾憽?/p>
conv=notrunc不截短輸出文件。
conv=swab交換每一對輸入字節(jié)。
conv=noerror出錯時(shí)不停止處理。
conv=sync把每個輸入記錄的大小都調(diào)到ibs的大小(用ibs填充)。
fdformat命令
低級格式化軟盤。
format[-n]device
-n格式化后不做檢驗(yàn)。
4.5常用的網(wǎng)絡(luò)命令
FTP命令
Telnet命令。
Netstat命令
-a顯示所有的scoket,包括正在監(jiān)聽和。
-c每隔1秒就重新顯示一遍,直到用戶中斷它。
-i顯示所有網(wǎng)絡(luò)接口的信息,格式同”ifconfig–e”
-n以網(wǎng)絡(luò)IP地址代替名稱,顯示也網(wǎng)絡(luò)連接情形。
-r顯示核心路由表,格式同”route–e:。
-t顯示TCP協(xié)議的連接情況。
-u顯示UDP協(xié)議的連接情況。
-v顯示正在進(jìn)行的工作。
nslookup命令。
finger命令,功能是查詢用戶的信息。
ping命令。
(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。
。
4.6有關(guān)進(jìn)程的命令。
進(jìn)程和啟動
at[-V][-q][-f文件名][-mldbv]時(shí)間
at–c作業(yè)[作業(yè)….]
AT命令啟動的進(jìn)程系統(tǒng)只執(zhí)行一次。
batch[-V][-q隊(duì)列][-f文件名][-mv][時(shí)間]
在系統(tǒng)負(fù)載較小時(shí),資源比較空閑時(shí)執(zhí)行。
cron命令
按一定的時(shí)間間隔執(zhí)行命令。
crontab命令
用于安裝、刪除或列出用于驅(qū)支cron后臺進(jìn)程的表格。
進(jìn)程查看
who命令。
w命令
是一個比who命令更強(qiáng)大的命令
w–[husfV][user]
-h不顯示標(biāo)題。
-u當(dāng)列出當(dāng)前進(jìn)程和CPU時(shí)間時(shí)忽略用戶名。
-s使用短模式。不顯示登錄時(shí)間JCPU和PCPU時(shí)間。
-f切換顯示FROM項(xiàng),也就是遠(yuǎn)程主機(jī)名項(xiàng)。
-V顯示版本信息。
user只顯示指定用戶的情況。
ps命令。
-e顯示所有進(jìn)程。
-f全格式
-h不顯示標(biāo)題。
-l長格式。
-w寬輸出。
a顯示終端上所有進(jìn)程,包括其他用戶的進(jìn)程。
r只顯示正在運(yùn)行的進(jìn)程。
x顯示沒有控制終端的進(jìn)程。
top命令
動態(tài)顯示系統(tǒng)當(dāng)前的進(jìn)程和其他狀況。
5系統(tǒng)的啟動過程。
5.1初始啟動
在PC機(jī)啟動時(shí),BIOS從指定的啟動設(shè)備中讀入“主引導(dǎo)記錄”(MBR)。MBR的格式是:
地址偏移量內(nèi)容大小
+00h可執(zhí)行的代碼(啟動模塊)可能變化
+1BEh第一分區(qū)表項(xiàng)16字節(jié)
+1CEh第二分區(qū)表項(xiàng)16字節(jié)
+1DEh第三分區(qū)表項(xiàng)16字節(jié)
+1EEh第四分區(qū)表項(xiàng)16字節(jié)
+1FEh可執(zhí)行的標(biāo)記(AA55h)2字節(jié)
啟動模塊包含足以裝入操作系統(tǒng)的代碼,或者是第二步的加載代碼的位置。啟動模塊需要使用BIOS調(diào)用來從磁盤裝入數(shù)據(jù),而這些中斷調(diào)用,如INT13h 等,限制了最大磁盤柱面號為1023。這也就是說啟動模塊需要加載的一切內(nèi)容,如初始內(nèi)存磁盤、內(nèi)核、啟動的時(shí)間信息等,必須存放在1024個柱面以內(nèi)。
在MBR中只有四個分區(qū)表項(xiàng),每個表項(xiàng)的格式如下:
地址偏移內(nèi)容大小
+00h分區(qū)狀態(tài):00代表非啟動分區(qū),80h代表啟動分區(qū)1字節(jié)
+01h分區(qū)的起始位置磁頭1字節(jié)
+02h分區(qū)的起始位置柱面和扇區(qū)1字節(jié)
+04h分區(qū)的類型1字節(jié)
+05h分區(qū)的結(jié)束位置磁頭1字節(jié)
+06h分區(qū)的結(jié)束位置柱面和扇區(qū)1字節(jié)
+08h在主引導(dǎo)區(qū)和本分區(qū)的第一個扇區(qū)間的扇區(qū)數(shù)目4字節(jié)
+0Ch分區(qū)內(nèi)的扇區(qū)數(shù)目4字節(jié)
5.2
;作為鏡像源文件,現(xiàn)在rawirte會立即顯示如下提示信息:
Entertargetdiskettedrive:
4.輸入適當(dāng)?shù)尿?qū)動器名
5.將格式化的空盤插入到軟驅(qū)中,按回車鍵繼續(xù)
6.rawrite實(shí)用程序?qū)裝oot.img鏡像到磁盤中,操作完畢;
6.2在LINUX下創(chuàng)建引導(dǎo)盤
步驟:
根據(jù)常規(guī)裝上REDHATCD-ROM盤,這里假定已經(jīng)把系統(tǒng)裝在/mnt/cdrom目錄下,F(xiàn)在應(yīng)把當(dāng)前目錄更改成/mnt/cdrom/images,以便存放引導(dǎo)鏡像文件;
假定軟驅(qū)是/dev/fd0,使用的是1.44M軟盤,運(yùn)行以下命令:
ddif=boot.imgof=/dev/fd0bs=1440k
這樣便創(chuàng)建了所需的引導(dǎo)盤。還可以創(chuàng)建輔助鏡像軟盤,只需把上面命令中的if=boot.img該成if=supp.img語句即可。
linux命令行修改IP的2個方法
本文介紹了通過linux命令行修改IP的方法,通過linux命令行修改IP可以通過以下兩種方式實(shí)現(xiàn)。
方式一:
ifconfig eth0 192.168.1.18 netmask 255.255.255.0
說明:該種方式可以使改變即時(shí)生效,重啟后會恢復(fù)為原來的IP
方式二:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
說明:該方式要重啟后生效,且是永久的
如果要立即更改且永久生效,就只能以上兩種方式同時(shí)使用了。
以上是通過linux命令行修改IP的方法。
怎么卸載Linux系統(tǒng)分區(qū)
系統(tǒng)為windows xp sp2和redhat as 5雙系統(tǒng),其中l(wèi)inux系統(tǒng)后安裝的在D盤,今天發(fā)現(xiàn)硬盤不夠用了,想干掉linux分區(qū),在虛擬機(jī)中用linux。就在windows的磁盤管理(命令為:diskmgmt)下刪除linux分區(qū),有的人也許不明白怎么查看,你看有個“未知”的就是了,有點(diǎn)常識的都能看到,刪除后就成為未分配分區(qū)了。再創(chuàng)建了邏輯盤。
好了。有了一個打磁盤開始倒騰文件了。一會重啟系統(tǒng),當(dāng)按下重啟按鈕時(shí)我就想完了,系統(tǒng)引導(dǎo)文件未修改。原來都是linux的引導(dǎo)界面,現(xiàn)在吧linux 刪除掉了。保重引導(dǎo)出錯。開機(jī)后果然出現(xiàn)了我意料中的問題。于是不慌忙的拿出“系統(tǒng)引導(dǎo)修復(fù)”順利進(jìn)入系統(tǒng)。修改系統(tǒng)盤根目錄下的boot.ini文件,發(fā)現(xiàn)此文件沒有l(wèi)inux啟動信息。
于是在啟動到dos下,使用命令: fdisk /mbr。修改磁盤主分區(qū)表。重啟動時(shí)提示系統(tǒng)文件丟失。再次使用番茄花園的“系統(tǒng)引導(dǎo)修復(fù)”順利進(jìn)入系統(tǒng)。重啟后發(fā)現(xiàn)你一切正常。需要注意的是 fdisk /mbr有時(shí)候會使系統(tǒng)無法啟動,請慎重使用。
【Linux操作系統(tǒng)使用命令總結(jié)】相關(guān)文章:
Linux系統(tǒng)常用的網(wǎng)絡(luò)命令及使用方法12-02
linux系統(tǒng)命令11-23
linux系統(tǒng)命令(經(jīng)典)01-25
LINUX操作系統(tǒng)01-22
Linux操作系統(tǒng)的安裝01-23
linux操作系統(tǒng)原理知識01-24
LINUX系統(tǒng)教程:passwd命令的用法09-26