天天看點

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 [email protected]:/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/ 此目錄中可以找到相應系統的版本

利用 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日志前題條件:開啟對象通路設定(檔案夾屬性-安全-進階-稽核-添加對象通路設定

<a href="http://www.01happy.com/python-request-url-set-timeout/" target="_blank">http://www.01happy.com/python-request-url-set-timeout/</a>

http://blog.csdn.net/andoring/article/details/6445834 

郵件伺服器相關記錄設定

A   mail 202.96.54.65

mx  @   mail.xxxx.com    

     本文轉自itwork 51CTO部落格,原文連結:http://blog.51cto.com/369369/792732,如需轉載請自行聯系原作者