linux下超強命令(shell語句)組合

 記性很差勁,經常在系統,網絡之間轉,沒有專搞系統。時間一長,所以難免有些命令或組合式語句忘記了,今天把它們集合到一起,以後跑博客上找就是了,陸續更新中...

服務器雙網卡,雙IP,第二個網卡路由設置格式如下:
vi /etc/sysconfig/network-scripts/route-eth0
192.168.1.0/24 via 192.168.0.1

-------------
下載windows下的所有軟件地址
http://msdn.itellyou.cn/

----------
windows7 添加硬件
在運行中輸入hdwwiz.exe
-----------
linux中卸載vm workstation
#vmware-installer -u vmware-workstation

--------
開關外部ping自己
echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all
將其值改爲1後爲禁止PING,0爲解除禁止PING

ping 202.96.134.134 |awk '{print $0"\t" strftime("%H:%M:%S",systime())}'

--------
linux下查出口IP地址
curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: \([0-9\.]*\).*/\1/g'

wget http://members.3322.org/dyndns/getip
cat getip

curl ifconfig.me 

或 

curl http://members.3322.org/dyndns/getip 

elinks www.123cha.com | awk -F '[][]' '/ip:/{print $4}'

------------
mysql編譯參數(5.5版查不出來):
# cat "/usr/local/mysql/bin/mysqlbug"|grep configure
php編譯參數:
# /usr/local/php/bin/php -i |grep configure
apache編譯參數:
# cat /usr/local/apache2/build/config.nice
nginx編譯參數:
#/usr/local/nginx/sbin/nginx -V

--------
打開linux系統nat轉發
echo "1" > /proc/sys/net/ipv4/ip_forward

--------

在數據庫服務器是通過tcpdump抓sql語句

tcpdump -i em3 -s 0 -l -w out.log port 3306 | strings

strings out.log

--------
查看服務器併發數
netstat -an | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]}'
netstat -an | awk '/^tcp/ {print $6}'|sort |uniq -c|sort -nr
ss -an | awk '{print $1}'|sort|uniq -c |sort
第一個命令語句解釋

再來看看awk:

/^tcp/
濾出tcp開頭的記錄,屏蔽udp, socket等無關記錄。
state[]
相當於定義了一個名叫state的數組
NF
表示記錄的字段數,如上所示的記錄,NF等於6
$NF
表示某個字段的值,如上所示的記錄,$NF也就是$6,表示第6個字段的值,也就是TIME_WAIT
state[$NF]
表示數組元素的值,如上所示的記錄,就是state[TIME_WAIT]狀態的連接數
++state[$NF]
表示把某個數加一,如上所示的記錄,就是把state[TIME_WAIT]狀態的連接數加一
END
表示在最後階段要執行的命令
for(key in state)
遍歷數組
print key,”\t”,state[key]
打印數組的鍵和值,中間用\t製表符分割,美化一下


--------
查看併發最多的獨立IP,取其前10個
ss -an|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n 10

--------
windows下超出最大連接數,強制登錄
mstsc /console /v:192.168.0.1:3389

----------
批量管理windwos服務器軟件
Remote Administrator
Xmanager Enterprise
mremote

--------
windows下改3389爲6666
打開註冊表,進入以下路徑:[HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],看見PortNamber值了嗎?其默認值是3389,修改成所希望的端口即可,例如6666。

  再打開[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP\Tcp],將PortNumber的值(默認是3389)修改成端口6666。

--------
防火牆開放多端口
iptables -A INPUT -p tcp -m multiport --dports 80,20,21,22,8080 -j ACCEPT

---------
查看IO情況,需要安裝sysstat軟件,每3秒統計一次,共統計10次
iostat -x 3 10

---------
JVM虛擬機參數設置(linux 64bit 16G)
JAVA_OPTS="$JAVA_OPTS -server -Xms3G -Xmx3G -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+UseParallelOldGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/aaa/dump -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/usr/aaa/dump/heap_trace.txt -XX:NewSize=1G -XX:MaxNewSize=1G"

---------
nginx平滑重載
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
/usr/local/nginx/sbin/nginx -s reload (0.7.53以上可用這命令)
停止操作
ps -ef | grep nginx
在進程列表裏 面找master進程,它的編號就是主進程號了。
步驟2:發送信號
從容停止Nginx:
kill -QUIT 主進程號
快速停止Nginx:
kill -TERM 主進程號
強制停止Nginx:
pkill -9 nginx

------------
linux只安裝文本的情況下安裝x-windows
  5.X版本對比了圖形模式安裝與文本模式安裝後/root目錄下的anaconda-ks.cfg文件,發現文本模式少組件gnome-desktop,base-x,少軟件包vnc-server,xorg-x11-server-Xnest,xorg-x11-server-Xvfb,組件用groupinstall安裝,軟件包用install安裝。
yum groupinstall gnome-desktop
yum groupinstall base-x
yum install vnc-server
yum install xorg-x11-server-Xnest
yum install xorg-x11-server-Xvfb


6.X版本

yum groupinstall  "Desktop" "Desktop Platform" "X Window System" "Chinese Support"

yum install xorg-x11-drivers

在text遠程終端上,輸入startx,還是會報錯,估計是終端問題

如果不放心,可以再多安裝一些包,如以下

yum groupinstall -y   "Desktop"   "Desktop Platform"   "Desktop Platform Development"  "Fonts"  "General Purpose Desktop"  "Graphical Administration Tools"  "Graphics Creation Tools"  "Input Methods"  "X Window System"  "Chinese Support [zh]" "Internet Browser"

----------
linux下修改時間
date -s 03/14/2012
clock -w //很少人用過date後會用這個命令,如果你date後,馬上重啓服務器,服務器會取cmos上的時間,相當於你剛纔的操作白乾了,clock -w是把系統時間寫入到cmos中去,當然不重啓服務器,系統會隔11分鐘左右,自動去執行clock -w命令。
date 查看一下服務器當前時間,時區爲EDT,這是rhel默認的時區。

修改EDT爲CST的過程,很簡單。
1.mv /etc/localtime /etc/localtime-2013(先備份)
2.cp /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
3.date -s “2012-06-10 12:00”
4.hwclock -w --systohc (將系統時間同步到硬件上)
5.date 查看一下

------------
查看服務器序列號
dmidecode |grep “Serial Number” (查看機器其他硬件信息也可用這個命令)

-------------
查看網卡是否有網線物理連接
/sbin/mii-tool

--------------
中國國家信息安全漏洞庫:http://www.cnnvd.org.cn/
輸入漏洞編號(CNNVD-200909-302),即可查到相應的解決方案
綠盟漏洞查詢地址:http://www.nsfocus.net/index.php?act=sec_bug

--------------
lsof命令
lsof abc.txt 顯示開啓文件abc.txt的進程
lsof -i :22 知道22端口現在運行什麼程序
lsof -c abc 顯示abc進程現在打開的文件
lsof -p 12 看進程號爲12的進程打開了哪些文件

--------------
web安全檢測常用軟件
IBM WEB APPSCAN(以下簡稱 AppScan)
Acunetix Web Vulnerability Scanner(以下簡稱 WVS)

----------------------
linux下遠程註銷一個用戶
#who -a 查到pid
#kill pid號

-----------
linux下ll查看文件,顯示完整的時間
ll --time-style=long-iso

------------
重新掛載/目錄(當/etc/fstab設置錯誤時)
mount -o remount,rw,auto /

------------
dd測試磁盤讀寫速度
shell>dd if=/dev/zero of=/opt/test bs=1M,count=1000 oflag=direct
shell>dd if=/opt/test of=/dev/null bs=1M,count=1000
(if=/dev/zero不產生IO,所以可以用來測試磁盤寫速度;of=dev/null.不產生IO,所以可以用來測試磁盤讀速度,數據越大,測試越精確;bs表示塊大小,count表示讀寫塊數量)

-------------
查找zombie進程
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
-A 參數列出所有進程
-o 自定義輸出字段 我們設定顯示字段爲 stat(狀態), ppid(進程父id), pid(進程id),cmd(命令)這四個參數
因爲狀態爲 z或者Z的進程爲殭屍進程,所以我們使用grep抓取stat狀態爲zZ進程

--------------
linux 下查看文件個數及大小
ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l
查看某文件夾下文件的個數,包括子文件夾裏的。
ls -lR|grep "^-"|wc -l
查看某文件夾下文件夾的個數,包括子文件夾裏的。
ls -lR|grep "^d"|wc -l

說明:
ls -l
長列表輸出該目錄下文件信息(注意這裏的文件,不同於一般的文件,可能是目錄、鏈接、設備文件等)
grep "^-"
這裏將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d
wc -l
統計輸出信息的行數,因爲已經過濾得只剩一般文件了,所以統計結果就是一般文件信息的行數,又由於
一行信息對應一個文件,所以也就是文件的個數。

-----------------
Linux查看文件夾大小
du -sh 查看當前文件夾大小
du -sh * | sort -n 統計當前文件夾(目錄)大小,並按文件大小排序
du -sk filename 查看指定文件大小

-------------
linux掛載鏡像文件
shell>mount -o loop /opt/centos6.2_x86_64.iso /mnt/cdrom
linux掛載帶中文名的U盤
shell>mount -t vfat -o iocharset=cp950 /dev/sdc1 /mnt/flash

-------------
鏈接文件及打包命令
shell>ln -s 源文件 目標文件   //不帶s,表示爲硬鏈接
shell>tar zcvf 目標文件 源文件  //弄反這兩個命令,否則會有數據丟失

--------------
vim顯示顏色   //需要在secertCRT中將終端設置爲ANSI
vim ~/.vimrc  //在每用戶下新建.vimrc,不要去修改/etc/vimrc文件
set hlsearch  //高亮度反白
set backspace=2 //可隨時用退格鍵刪除
set autoindent //自動縮排
set ruler    //可顯示最後一行狀態
set showmode  //左下角那一行的最前面顯示行號
set nu     //可以在每一行最前面顯示行號  
set bg=dark   //顯示不同的底***調
syntax on    //進行語法檢驗,顏色顯示

---------------
A服務器訪問B服務器不要密碼
[chenlb@A~]$ ssh-keygen -t rsa
[chenlb@A~]$scp .ssh/id_rsa.pub chenlb@19.16.1.1:/home/chenlb/id_rsa.pub
[chenlb@B ~]$ cat id_rsa.pub >> .ssh/authorized_keys
[chenlb@B ~]$ chmod 600 .ssh/authorized_keys

----------------
linux cache內存釋放(釋放前最好sync一下):
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

----------------
LINUX下啓動程序時,如提示Address already in use,必須要等這連FIN_WAIT鏈接在系統清除後纔可以,但清除時間是不定的,所以要通過工具來解決
在dsniff集成工具包中有一個tcpkill命令,可以解決這類問題:
下載地址:http://pkgs.repoforge.org/dsniff/ 此目錄中可以找到相應系統的版本

wget  http://pkgs.repoforge.org/dsniff/dsniff-2.4-0.1.b1.el5.rf.x86_64.rpm
rpm -ivh dsniff-2.4-0.1.b1.el5.rf.x86_64.rpm
tcpkill -9 port ftp&>/dev/null
tcpkill -9 host 192.168.10.30 &>/dev/null
tcpkill -9 port 53 and port 8000&>/dev/null
tcpkill -9 net 192.168.10 &>/dev/null
tcpkill -9 net 192.168.10 and port 22&>/dev/null

--------------
利用 Python 搭建一個簡單的 Web 服務器,可通過 http://$HOSTNAME:8000 訪問
python -m SimpleHTTPServer

---------------
nginx打開目錄瀏覽功能
utoindex on;
autoindex_exact_size off;
默認爲on,顯示出文件的確切大小,單位是bytes。
改爲off後,顯示出文件的大概大小,單位是kB或者MB或者GB
autoindex_localtime on;
默認爲off,顯示的文件時間爲GMT時間。
改爲on後,顯示的文件時間爲文件的服務器時間

-----------------
rpm查詢所有已安裝的軟件(組件),依照安裝日期的先後順序列出
# rpm -qa --last | less

yum查詢已安裝的相關軟件(組件)
# yum list installed | grep xxx  

rpm查詢某個文件或命令屬於哪個軟件(包/組件)
# rpm -qf xxx   /* xxx爲文件的路徑名+文件名 */

rpm查詢某個軟件(包)在本地所對應的全部文件
# rpm -ql xxx | less   /* xxx爲軟件名,可由“rpm -qa|grep”查詢獲得 */

yum查詢已安裝或可供安裝的相關軟件
# yum list xxx   /* xxx爲通配符串 */

而如果我僅僅是想測試一下,安裝某個軟件包能否成功,或有無依賴關係,可以使用以下命令。執行以下命令後,該軟件包不會被安裝,只會返回測試安裝成功或失敗的信息,以及其依賴關係。
# rpm -ivh --test xxx

實際上,我們推薦每次使用“rpm -i”命令進行安裝軟件前都加上“–test”參數先行測試一下。然而,如果測試出錯,或者安裝出錯時,我們希望忽略錯誤提醒,仍然無論如何都要安裝該軟件包的話,則可以加上“–force”這個參數,完整命令如下:
# rpm -ivh --force xxx

----------------
linux centos5 設置千兆網卡速度及模式
方法一:
ethtool -s eth1 autoneg off speed 1000 duplex full
方法二:
若要eth1啓動時設置這些參數, 可以修改文件/etc/sysconfig/network-scripts/ifcfg-eth1 ,添加如下一行:
ETHTOOL_OPTS="speed 1000 duplex full autoneg off"
也可以將是面指令寫入/etc/rc.local之中

------------------
修改mysql數據庫root密碼
mysql>update user set password=PASSWORD('my123456') where user='root' and host ='127.0.0.1';

-----------------
我們用strace進行查看fastcgi在幹嗎

----------------
nginx,apache下,網頁變灰
新增mod_ext_filer模塊,nginx需要重新編譯

-----------------
1 YSlow
http://developer.yahoo.com/yslow/

2 PageSpeed
http://code.google.com/speed/page-speed/

3 Firebug
http://getfirebug.com/

------------------
php 5.3以下版本重啓命令用
/usr/local/php/sbin/php-fpm (start|stop|reload)等命令
5.3以上版本用信號控制:

master進程可以理解以下信號
INT, TERM 立刻終止
QUIT 平滑終止
USR1 重新打開日誌文件
USR2 平滑重載所有worker進程並重新載入配置和二進制模塊

示例:
php-fpm 關閉:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重啓:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

查看php-fpm進程數:
ps aux | grep -c php-fpm

--------------------
1.Linux 查看內存的插槽數,已經使用多少插槽.每條內存多大,已使用內存多大
dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range

2.Linux 查看內存支持的最大內存容量
dmidecode|grep -P 'Maximum\s+Capacity'

3.Linux 查看內存的頻率
dmidecode|grep -A16 "MemoryDevice"

----------------------
查看linux系統最消耗IO的進程腳本

#!/bin/sh
/etc/init.d/syslog stop
echo 1 > /proc/sys/vm/block_dump
sleep 60
dmesg | awk '/(READ|WRITE|dirtied)/ {process[$1]++} END {for (x in process) \
print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \
head -n 10
echo 0 > /proc/sys/vm/block_dump
/etc/init.d/syslog start

-----------------
進程守護程序防止程序爆掉後不重啓

abc.exe game%0*注:以上需要寫在一個批處理bat 文件裏面然後還需要將批處理文件放在程序所在的目錄裏面(或寫上絕對路徑),並用批處理來開啓程序-----------------------使用Log Parser Lizard分析Windows日誌前題條件:開啓對象訪問設置(文件夾屬性-安全-高級-審覈-添加對象訪問設置
http://www.01happy.com/python-request-url-set-timeout/
http://blog.csdn.net/andoring/article/details/6445834

----------------
郵件服務器相關記錄設置

A   mail 202.96.54.65

mx  @   mail.xxxx.com    



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章