find / -amin -10 # 查找在系統(tǒng)中最后10分鐘訪問的文件
find / -atime -2 # 查找在系統(tǒng)中最后48小時(shí)訪問的文件
find / -empty # 查找在系統(tǒng)中為空的文件或者文件夾
find / -group cat # 查找在系統(tǒng)中屬于 groupcat的文件
find / -mmin -5 # 查找在系統(tǒng)中最后5分鐘里修改過的文件
find / -mtime -1 #查找在系統(tǒng)中最后24小時(shí)里修改過的文件
find / -nouser #查找在系統(tǒng)中屬于作廢用戶的文件
find / -user fred #查找在系統(tǒng)中屬于FRED這個(gè)用戶的文件
find / -mtime +2 兩天之前
find / -mtime -2 兩天以內(nèi)
/sbin/iptables -A INPUT-i lo -j ACCEPT
# Accept EstablishedConnections
/sbin/iptables -A INPUT-m state --state ESTABLISHED,RELATED -j ACCEPT
# ICMP Control
/sbin/iptables -A INPUT-p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
watch -n 1 "ifconfig eth0|grep bytes" 查看網(wǎng)卡速率
rpm -i --test *.rpm 查詢 rpm 包是否可以被安裝
tar 小結(jié)
1.#查看tar包中的內(nèi)容
tar -tf XXX.tar來查看tar包中的內(nèi)容
2.#刪除tar包中的目錄
tar --delete (tar包中目錄) -vf XXX.tar
3.#打包時(shí)排除個(gè)別目錄
tar -zcvf XXX.tar.gz --exclude=test/XXX1 --exclude=test/XXX2 test
要注意的有3點(diǎn)
1. "-f"參數(shù)后要緊跟文件名
2."tar.gz" 包不能用tar --delete刪除其中目錄(先用gzip -d解開.gz)
3.配合是用file命令查看文件類型,到底是tar包,還是tar.gz
1.如果主機(jī)的 tar 是 GNU 的版本,exclude 參數(shù)就要放在前面了:
2.注意--exclude后面的排除目錄后不能帶/ ,否則不起作用。
# export PATH=$PATH:/usr/local/mysql/bin
檢查下 PATH 中是否寫入了 /usr/local/mysql/bin 路徑:
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
小注意點(diǎn):在進(jìn)行./configure安裝配置軟件的時(shí)候,此時(shí)會用/tmp目錄,如果此時(shí)/tmp被掛載別的設(shè)備,此時(shí)./configure就無法進(jìn)行,會出錯(cuò).我發(fā)生過/tmp掛載光盤, 在./configure安裝別的軟件是發(fā)生錯(cuò)誤.[root@localhost ~]# ifconfig eth0 |awk '/HWaddr/{print $5}'
00:0C:29:0F:C7:D8
[root@localhost ~]# ifconfig eth0 |awk '/inet addr/{print $2}'|awk -F: '{print $2}'
192.168.187.129
查看是否中了arp欺騙方法:發(fā)現(xiàn)網(wǎng)關(guān)的mac在變化
arping -I eth0 網(wǎng)關(guān)地址
如sh# arping 192.168.0.125
ARPING 192.168.0.125 from 192.168.0.1 eth0
Unicast reply from 192.168.0.125 [00:E0:4D:06:5C:C4] 0.700ms
Unicast reply from 192.168.0.125 [00:E0:4D:06:5C:C4] 0.677ms
Unicast reply from 192.168.0.125 [00:E0:4C:00:32:F9] 837.700ms
查看是否中的洪水syn flood:查看是否有大量請求來自同一個(gè)主機(jī)
netstat -ant | wc -l
netstat -ant | grep -c SYN_RECV
查看節(jié)點(diǎn)號inode
stat filename
ls -i filename
df -i
給CentOS YUM加速
CentOS 5.x下 安裝 yum-fastestmirror (yum install yum-fastestmirror)
CentOS 4.x下 安裝 yum-plugin-fastestmirror (yum install yum-plugin-fastestmirror)
確保/etc/yum.conf里有 plugins=1 一行
curl -I www.badiu.com
curl --head www.baidu.com
host/nslookup/dig www.baidu.com
netstat -an |awk '/^tcp/{++a[$NF]}END{for(i in a)print i, a[i]}'
# netstat -lntp # 查看所有監(jiān)聽端口
# netstat -antp # 查看所有已經(jīng)建立的連接
# netstat -s # 查看網(wǎng)絡(luò)統(tǒng)計(jì)信息
rpm -qpl 包名,查看包中內(nèi)容
rpm -qf /bin/ping 可以查看命令屬于那個(gè)包
redhat/solaris下允許root通過telnet登錄
在redhat中對于遠(yuǎn)程login的限制,體現(xiàn)在/etc/pam.d/login文件中,缺省有一行:
auth required /lib/security/pam_security.so注釋該行,任何限制都沒有,root當(dāng)然可以直接telnet登陸echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
vi /etc/sysctl.conf
file /sbin/init 或 file /bin/ls查看系統(tǒng)是32位還是64位的(os) ,i386,i686都是32位的, x86_64 x86_64 x86_64 是64位的
dd if=/etc/passwd of=/tmp/passwd.bak 備份
gcc -v 查看GCC版本
chattr +i filename 禁止刪除 chattr -i filename 取消禁止
lsattr 顯示隱藏檔屬性
ifdown eth0 關(guān)閉網(wǎng)卡
ifup eth0 開啟網(wǎng)卡
clear 清屏
history 歷史記錄 !55 執(zhí)行第55個(gè)指令
stty 設(shè)置終端 stty -a
fdisk /mbr 刪除GRUB
at 僅進(jìn)行一次的工作排程
jobs 觀看后臺暫停的程序 jobs -l
kill 結(jié)束進(jìn)程 kill -9 PID [9]強(qiáng)制結(jié)束,[15]正常結(jié)束,[l]列出可用的kill信號
top 查看后臺程序 top -d 2 每兩秒更新一次 top -d 2 -p10604 觀看某個(gè)PID
top -b -n 2 > /tmp/top.txt ----->將 top 的資訊進(jìn)行 2 次,然後將結(jié)果輸出到 /tmp/top.txt
pstree 以樹狀圖顯示程序 [A]以 ASCII 來連接, [u]列出PID, [p]列出帳號
killall 要刪除某個(gè)服務(wù) killall -9 httpd
free 顯示內(nèi)存狀態(tài) free -m -------->以M為單位顯示
uptime 顯示目前系統(tǒng)開機(jī)時(shí)間
netstat 顯示網(wǎng)絡(luò)狀態(tài) netstat -tulnp------>找出目前系統(tǒng)上已在監(jiān)聽的網(wǎng)路連線及其 PID
nice 設(shè)置優(yōu)先權(quán) nice -n -5 vi & ----->用 root 給一個(gè) nice 植為 -5 ,用於執(zhí)行 vi
runlevel 顯示目前的runlevel
depmod 分析可載入模塊的相依性
lsmod 顯示已載入系統(tǒng)的模塊
modinfo 顯示kernel模塊的信息
insmod 載入模塊
modprobe 自動處理可載入模塊 modprobe -l
rmmod 刪除模塊
chkconfig 檢查,設(shè)置系統(tǒng)的各種服務(wù) chkconfig --list ----->列出各項(xiàng)服務(wù)狀態(tài)
ntsysv 設(shè)置系統(tǒng)的各種服務(wù)
cpio 備份文件
vi一般用法
一般模式 編輯模式 指令模式
h 左 a,i,r,o,A,I,R,O :w 保存
j 下 進(jìn)入編輯模式 :w! 強(qiáng)制保存
k 上 dd 刪除光標(biāo)當(dāng)前行 :q! 不保存離開
l 右 ndd 刪除n行 :wq! 保存后離開
0 移動到行首 yy 復(fù)制當(dāng)前行 :e! 還原原始檔
$ 移動到行尾 nyy 復(fù)制n行 :w filename 另存為
H 屏幕最上 p,P 粘貼 :set nu 設(shè)置行號
M 屏幕中央 u 撤消 :set nonu 取消行號
L 屏幕最下 [Ctrl]+r 重做上一個(gè)動作 ZZ 保存離開
G 檔案最后一行 [ctrl]+z 暫停退出 :set nohlsearch 永久地關(guān)閉高亮顯示
/work 向下搜索 :sp 同時(shí)打開兩個(gè)文檔
?work 向上搜索 [Ctrl]+w 兩個(gè)文檔設(shè)換
gg 移動到檔案第一行 :nohlsearch 暫時(shí)關(guān)閉高亮顯示
有用:
G 檔案最后一行
gg 移動到檔案第一行
H 屏幕最上
M 屏幕中央
L 屏幕最下
4yl是向后復(fù)制4個(gè)字符,l是用來指明方向的吧? 4yh用向前復(fù)制四個(gè)字符。
通過vim 編輯文件,用V 進(jìn)行塊選
alias 顯示當(dāng)前所有的命令別名
alias lm="ls -al" 命令別名 unalias lm 取消命令別
type 類似which
exprot 設(shè)置或顯示環(huán)境變量
exprot PATH="$PATH":/sbin 添加/sbin入PATH路徑
echo $PATH 顯示PATH路徑
bash 進(jìn)入子程序
name=yang 設(shè)定變量
unset name 取消變量
echo $name 顯示變量的內(nèi)容
myname="$name its me" & myname='$name its me' 單引號時(shí)$name失去變量內(nèi)容
ciw=/etc/sysconfig/network-scripts/ 設(shè)置路徑
env 列出所有環(huán)境變量
echo $RANDOM 顯示隨意產(chǎn)生的數(shù)
set 設(shè)置SHELL
PS1='[\u@\h \w \A #\#]\$ ' 提示字元的設(shè)定
[root@linux ~]# read [-pt] variable -----------讀取鍵盤輸入的變量
參數(shù):
-p :後面可以接提示字元!
-t :後面可以接等待的『秒數(shù)!』
declare 聲明 shell 變量
ulimit -a 顯示所有限制資料
ls /tmp/yang && echo "exist" || echo "not exist"
意思是說,當(dāng) ls /tmp/yang 執(zhí)行後,若正確,就執(zhí)行echo "exist" ,若有問題,就執(zhí)行echo "not exist"
echo $PATH | cut -d ':' -f 5 以:為分隔符,讀取第5段內(nèi)容
export | cut -c 10-20 讀取第10到20個(gè)字節(jié)的內(nèi)容
last | grep 'root' 搜索有root的一行,加[-v]反向搜索
cat /etc/passwd | sort 排序顯示
cat /etc/passwd | wc 顯示『行、字?jǐn)?shù)、字節(jié)數(shù)』
正規(guī)表示法
[root@test root]# grep [-acinv] '搜尋字串' filename
參數(shù)說明:
-a :將 binary 檔案以 text 檔案的方式搜尋資料
-c :計(jì)算找到 '搜尋字串' 的次數(shù)
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內(nèi)容的那一行!
grep -n 'the' 123.txt 搜索the字符 -----------搜尋特定字串
grep -n 't[ea]st' 123.txt 搜索test或taste兩個(gè)字符---------利用 [] 來搜尋集合字元
grep -n '[^g]oo' 123.txt 搜索前面不為g的oo-----------向選擇 [^]
grep -n '[0-9]' 123.txt 搜索有0-9的數(shù)字
grep -n '^the' 123.txt 搜索以the為行首-----------行首搜索^
grep -n '^[^a-zA-Z]' 123.txt 搜索不以英文字母開頭
grep -n '[a-z]$' 123.txt 搜索以a-z結(jié)尾的行---------- 行尾搜索$
grep -n 'g..d' 123.txt 搜索開頭g結(jié)尾d字符----------任意一個(gè)字元 .
grep -n 'ooo*' 123.txt 搜索至少有兩個(gè)oo的字符---------重複字元 *
sed 文本流編輯器 利用腳本命令來處理文本文件
awk 模式掃描和處理語言
nl 123.txt | sed '2,5d' 刪除第二到第五行的內(nèi)容
nl 123.txt | sed -n '2,5p'顯示2-5行內(nèi)容
diff 比較文件的差異
cmp 比較兩個(gè)文件是否有差異
patch 修補(bǔ)文件
pr 要打印的文件格式化
sudo 以其他身份來執(zhí)行指令
visudo 編輯/etc/sudoers 加入一行『 test ALL=(ALL) ALL 』
%wheel ALL = (ALL) ALL 系統(tǒng)里所有wheel群組的用戶都可用sudo
%wheel ALL = (ALL) NOPASSWD: ALL wheel群組所有用戶都不用密碼NOPASSWD
User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3 加入ADMPW組
ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \
!/usr/bin/passwd root 可以更改使用者密碼,但不能更改root密碼 (在指令前面加入 ! 代表不可)
PAM (Pluggable Authentication Modules, 嵌入式模組)
who & w 看誰在線
last 最近登陸主機(jī)的信息
lastlog 最近登入的時(shí)間 讀取 /var/log/lastlog 這點(diǎn)重要
talk 與其他用戶交談
write 發(fā)送信息 write test [ctrl]+d 發(fā)送
mesg 設(shè)置終端機(jī)的寫入權(quán)限 mesg n 禁止接收 mesg y
wall 向所有用戶發(fā)送信息 wall this is q test
mail 寫mail
/etc/default/useradd 家目錄默認(rèn)設(shè)置
quota 顯示磁盤已使用的空間與限制 quota -guvs ----->秀出目前 root 自己的 quota 限制值
quota -vu 查詢
quotacheck 檢查磁盤的使用空間與限制 quotacheck -avug ----->將所有的在 /etc/mtab 內(nèi),含有 quota
支援的 partition 進(jìn)行掃瞄
[-m] 強(qiáng)制掃描
quota一定要是獨(dú)立的分區(qū),要有quota.user和quota.group兩件文件,在/etc/fstab添加一句:
/dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
chmod 600 quota* 設(shè)置完成,重啟生效
edquota 編輯用戶或群組的quota [u]用戶,[g]群組,[p]復(fù)制,[t]設(shè)置寬限期限
edquota -a yang edquota -p yang -u young ----->復(fù)制
quotaon 開啟磁盤空間限制 quotaon -auvg -------->啟動所有的具有 quota 的 filesystem
quotaoff 關(guān)閉磁盤空間限制 quotaoff -a -------->關(guān)閉了 quota 的限制
repquota -av 查閱系統(tǒng)內(nèi)所有的具有 quota 的 filesystem 的限值狀態(tài)
Quota 從開始準(zhǔn)備 filesystem 的支援到整個(gè)設(shè)定結(jié)束的主要的步驟大概是:
1、設(shè)定 partition 的 filesystem 支援 quota 參數(shù):
由於 quota 必須要讓 partition 上面的 filesystem 支援才行,一般來說, 支援度最好的是 ext2/ext3 ,
其他的 filesystem 類型鳥哥我是沒有試過啦! 啟動 filesystem 支援 quota 最簡單就是編輯 /etc/fstab ,
使得準(zhǔn)備要開放的 quota 磁碟可以支援 quota 囉;
2、建立 quota 記錄檔:
剛剛前面講過,整個(gè) quota 進(jìn)行磁碟限制值記錄的檔案是 aquota.user/aquota.group,
要建立這兩個(gè)檔案就必須要先利用 quotacheck 掃瞄才行喔!
3、編輯 quota 限制值資料:
再來就是使用 edquota 來編輯每個(gè)使用者或群組的可使用空間囉;
4、重新掃瞄與啟動 quota :
設(shè)定好 quota 之後,建議可以再進(jìn)行一次 quotacheck ,然後再以 quotaon 來啟動吧!
開機(jī)流程簡介
1、載入 BIOS 的硬體資訊,並取得第一個(gè)開機(jī)裝置的代號;
2、讀取第一個(gè)開機(jī)裝置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等) 的開機(jī)資訊;
3、載入 Kernel 作業(yè)系統(tǒng)核心資訊, Kernel 開始解壓縮,並且嘗試驅(qū)動所有硬體裝置;
4、Kernel 執(zhí)行 init 程式並取得 run-level 資訊;
5、init 執(zhí)行 /etc/rc.d/rc.sysinit 檔案;
6、啟動核心的外掛模組 (/etc/modprobe.conf);
7、init 執(zhí)行 run-level 的各個(gè)批次檔( Scripts );
8、init 執(zhí)行 /etc/rc.d/rc.local 檔案;
9、執(zhí)行 /bin/login 程式,並等待使用者登入;
10、登入之後開始以 Shell 控管主機(jī)。
在/etc/rc.d/rc3.d內(nèi),以S開頭的為開機(jī)啟動,以K開頭的為關(guān)閉,接著的數(shù)字代表執(zhí)行順序
GRUB vga設(shè)定
彩度\解析度 640x480 800x600 1024x768 1280x1024 bit
256 769 771 773 775 8 bit
32768 784 787 790 793 15 bit
65536 785 788 791 794 16 bit
16.8M 786 789 792 795 32 bit
./configure 檢查系統(tǒng)信息 ./configure --help | more 幫助信息
make clean 清除之前留下的文件
make 編譯
make install 安裝
rpm -q ----->查詢是否安裝 rpm -ql ------>查詢該套件所有的目錄
rpm -qi ----->查詢套件的說明資料 rpm -qc[d] ----->設(shè)定檔與說明檔
rpm -ivh ---->安裝 rpm -V -------->查看套件有否更動過
rpm -e ------>刪除 rpm -Uvh ------->升級安裝
--nodeps ----->強(qiáng)行安裝 --test ----->測試安裝
-pql 查看包中內(nèi)容 -qf command 查命令屬于那個(gè)包