1. ##將"/"的文字刪除,即輸出"/"符號之前的不重複數據,僅僅是打印出,不會改動源文件:
cat ~/vob.log | sed 's/\/.*//g' | uniq
2. 刪除多餘bfagent 進程:
ps aux | grep bfagent | grep Rs | awk '{print $2}'| xargs kill -9
ps -el | grep bfagent | grep -v S | awk '{print $4}'| xargs kill -9
3. 全目錄拷貝命令:
(cd bay319/ && tar cf - .)| (cd scripts/ && tar xpvf -)
4. 列出home目錄大小:
for dir in $(ls /home)
do user=$(ls -ld /home/$dir | awk '{print $3}');su $user -c "du -sh /home/$dir"
done
5.查看sprac 機器配置信息:
prtconf -v;showrev
6.查看solaris 硬件配置信息:
prtdiag -v
7. Solaris 8 的加密算法爲DES,而linux 爲MD5,solaris 9 以上支持MD5算法。
8. cut -d ":" -f1 ~/nis_user.txt輸出用戶名
9. 如果想下載一個網站上目錄中的所有文件, 我需要執行一長串wget命令, 但這樣做會更好:
wget -nd -r -l1 --no-parent http://www.foo.com/mp3/
這條命令可以執行的很好,但有時會下載像 index.@xx 這樣一些我不想要的文件. 如果你知道想要文件的格式, 可以用下面的命令來避免下載那些多餘的文件:
wget -nd -r -l1 --no-parent -A .mp3 -A .wma http://www.foo.com/mp3/
10.腳本添加用戶:
cnbjnis:~ # useradd -u 3001 chenxj
cnbjnis:~ # echo password | passwd --stdin chenxj
11. solaris 提示terminal too wide.
stty columns 120
12. 有時候爲了方便管理,我們常常喜歡在Linux中將之安裝爲服務,然後就可以使用服務來管理。
但是當我們運行安裝服務的命令時候,假設服務名爲myservice
chkconfig --add myservice
常常會出現
"service myservice does not support chkconfig"
我們一般在腳本開頭加入下面兩句就好了
vim /etc/init.d/myservice
添加下面兩句到 #!/bin/bash 之後。
# chkconfig: 2345 10 90
# description: myservice ....
其中2345是默認啓動級別,級別有0-6共7個級別。
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網絡連接的多用戶命令行模式
等級3表示:有網絡連接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啓動
10是啓動優先級,90是停止優先級,優先級範圍是0-100,數字越大,優先級越低。
#vi /var/lib/dhclient/dhclient-eth0.leases
13. sed最常用的用法莫過於替換文件,其默認的模式是直接輸出在shell中,Old 爲要替換的文本,New 爲將要替換成的文本。
sed 's/Old/New/' My_File.txt
如果我們想要sed直接在文件中更改,只需要在sed後面添加 -i 或 -ig即可,-g應該是指全局。
sed -i 's/Old/New' My_File.txt
在mac中需要添加 -ig才能夠執行(沒有嘗試過)
14. 檢查進程號
checkproc -v proc
15. 查找incoming目錄下的2個月以前的文件,並將它們移動到/pub/pub/clearcase/multisite_bak/incoming/下:
find /shipping/ms_ship/incoming -mtime +2 -print -exec mv {} /pub/pub/clearcase/multisite_bak/incoming/ \;
16. 殺掉該用戶的所有進程
kill -9 `lsof -t -u daniel`
17. 打印從包含 "BEGIN" 的行開始,並且以包含 "END" 的行結束的文本塊:
sed -n -e '/BEGIN/,/END/p' /my/test/file | more
如果沒發現 "BEGIN",那麼將不打印數據。如果發現了 "BEGIN",但是在這之後的所有行中都沒發現 "END",那麼將打印所有後續行。發生這種情況是因爲 sed 面向流的特性 -- 它不知道是否會出現 "END"
18. Solaris 10 開啓SSH
系統版本:SunOS solaris1 5.10
內核版本:5.10 i86pc
Solaris 10在安裝完成後,默認是沒有開啓ssh服務的,如果要開啓ssh服務,就要做如下操作。
1. 修改配置文件
vi /etc/ssh/sshd_config
將PermitRootLogin no更改爲PermitRootLogin yes
2. 重啓ssh服務
/lib/svc/method/sshd restart
3. 查看ssh開放服務的端口,ssh默認開放端口爲22端口,通過從查看端口來確定服務是否開啓。
netstat -avn | grep 22
19. shell分類:
1.交互式登錄shell:以一個用戶的身份登陸進去,輸入命令的格式的shell。
讀取配置文件的順序:
/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
2.非交互式登錄shell:只在一個腳本的,不需要用戶登錄,自動運行。
讀取配置文件的順序:
/.bashrc-->/etc/bashrc-->/etc/profile.d/*
20.檢查網址是否連通
ping=`ping -c 3 192.168.1.69|awk 'NR==7 {print $4}'`
ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
21.以數字形式顯示文件權限:stat -c %a