> 查出某個域名綁定的IP nslookup api.kaixin001.com
Non-authoritative answer:
Name: a.kaixin001.com
Addresses: html
220.181.100.243,
220.181.100.244,
220.181.100.242,
220.181.100.245,
220.181.100.241,
220.181.100.246java
Aliases: api.kaixin001.comnode
怎樣導出存在SecureCRT上的機器列表mysql
C:\Documents and Settings\Allen\Application Data\VanDykelinux
startup.sh //啓動tomcat,startup.sh作了映射,可以在不論什麼文件夾下nginx
shutdown.sh //關tomcatweb
cd /home //到home 文件夾redis
ll 列出當前文件夾下的所有文件,包含每個文件的具體信息sql
ls //?僅僅列出文件名稱shell
ps -ef //查看server的進程,以列表形式顯示的server進程。
ps -ef|grep java 僅僅查詢java 的進程
ps 顯示當前在系統執行的進程 /usr/bin/ps [選項] -e 顯示每個現在執行的進程 -f 生成一個全然的列表
top 該命令是Linux下常用的性能分析工具。能夠實時顯示系統中各個進程的資源佔用情況。相似於Windows的任務管理器。
top|grep java 實時顯示java進程的資源佔用情況
ant -buildfile CMS_MainTrunk.xml //build 包
過程:先Undeploy ,再關tomcat,而後再build(ant),最後啓動tomcat
在http://127.0.0.1:8080/manager/html中Undeploy
tomcate root: /usr/local/jakarta-tomcat-5.0.28
[root@localhost classes]# vi offercfg.properties //瀏覽文件內容
怎樣改動文件內容?怎樣跳出
i {insert寫輸入}
esc 退出insert
:wq! write 保存並退出vi模式
:q! 不保存退出vi模式
[root@localhost classes]# vi offercfg.properties //瀏覽文件內容
在tomcat 中reload一下
pwd //?
pwdPrenset working Directory (呈現工做中的文件夾)
顯示當前工做文件夾,pwd 顯示你當前在文件系統層次結構中的文件夾名 ,無論什麼時候你登陸你的UNIX系統,你都會被置於文件系統中的某個文件夾下。這個文件夾一般被以爲是你的工做文件夾。
pwd命令會報告你當前在UNIX文件系統中位置的絕對路徑名,pwd是英文呈現工做文件夾的一個縮寫。
由於UNIX系統贊成用戶在文件系統中隨意地移動位置。所有的用戶都依靠這個命令來肯定他們在系統中的位置。新用戶在文件系統中移動的時候。會頻繁地使用這個命令來了解他們的當前的位置
[root@boss1 root]# cd /home
[root@boss1 home]# cd /blis
[root@boss1 blis]# ll
[root@boss1 blis]# cd blissoa_project/
[root@boss1 blissoa_project]# ant clean
[root@boss1 blissoa_project]# ant
快捷鍵Tab會提供智能嵌入(smart insert)的功能
使用[向上箭頭]和[向下箭頭]鍵來上下滾動可以使用前面已經鍵入過的命令。
在 shell 提示下鍵入 history可以查看曾經輸入過的命令(對該server輸入過的歷史命令,並不必定都是本身曾輸的)。
# history 20 (顯示最後20條命令)
平時用secureCRT查看server的進程時,我通常習慣用ps –ef命令,這樣看到以列表形式顯示的server進程。
偶然發現還有命令可以以進程樹的形式顯示server進程,也就是可以顯示進程的派生關係。認爲挺好玩,就輸入了這個命令pstree怎麼是亂碼啊,那就設置一下中文字體看看吧。
在secureCRT中:Options->SessionOptions->Appearance->font把default改爲UTF-8就可以了:
再用命令pstree來查看server的進程,這樣看到以樹的形式顯示的server進程。
例如如下:
看看pstree的man手冊怎麼說的把:
功能說明:以樹狀圖顯示程序。
語 法:pstree [-acGhlnpuUV][-H <程序識別碼>][<程序識別碼>/<username稱>]
補充說明:pstree指令用ASCII字符顯示樹狀結構,清楚地表達程序間的相互關
系。假設不指定程序識別碼或username稱。則會把系統啓動時的第一個程序視爲基層。並
顯示以後的所有程序。若指定username稱,便會以隸屬該用戶的第一個程序看成基層。然
後顯示該用戶的所有程序。
參 數:
-a 顯示每個程序的完整指令,包括路徑,參數或是常駐服務的標示。
-c 不使用精簡標示法。
-G 使用VT100終端機的列畫圖字符。
-h 列出樹狀圖時,特別標明現在運行的程序。
-H<程序識別碼> 此參數的效果和指定"-h"參數相似。但特別標明指定的程序。
-l 採用長列格式顯示樹狀圖。
-n 用程序識別碼排序。預設是以程序名稱來排序。
-p 顯示程序識別碼。
-u 顯示username稱。
-U 使用UTF-8列畫圖字符。
-V 顯示版本號信息。
Pstree命令的長處在於可以立刻找出某進程的父進程:當用戶想要終止整個進程系列而且當中存在了許不少多的下屬分支進程,您僅僅需終止最上層的進程就能夠。您可能會需要使用 -p 選項顯示每個進程的 PID。以及 -u 選項來顯示啓動該進程的username。通常來講,這一樹結構比較長,您就需要這麼運行 pstree –up | less 這將讓您縱覽整個進程樹結構。
怎樣改動下載上傳文件夾,用戶會話選項-->Z/Y/Zmodem->上傳下載
hostname:查hostname
ifconfig 查詢主機IP
sbin/ifconfig
在你是否之前因爲在S-CRT下不能用ctrl+c 和ctrl+v而煩惱?
Options-----Global Options---Edit default Settings進去後點Terminal----Emulation而後點Mapped Keys,點中低部的。use windows copy and paste key,點確認 OK的 哈哈
一、當你對一個網絡進行完一個操做後,突然發現你忘了monitor session ,或者sh run 出來將近一萬行命令,屏幕往回翻。又翻不了幾頁,這時,你可以改動一個參數,達到效果,詳細例如如下:
Options-----Global Options---Edit default Settings進去後點Terminal----Emulation---如下的Scroll back後面的數字本身改動好了,比方我選了10000。你也可以選更大的。再點OK
調整顯示列寬和水平滾動欄
Options-----Global Options---外觀-最大列
有些機子未有裝SZ,RZ命令,需要安裝,運行
yum -y install lrzsz
、將linux上文件傳到PC機上
shell> sz /etc/rc.local
例:
[root@test root]# sz /etc/rc.local
rz
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring rc.local...
100% 464 bytes 464 bytes/s 00:00:01 0 Errors
二、將PC機上文件傳到linux上
shell> rz
選擇要傳送的文件。肯定。
sz 指定文件名稱。用tab,就下載到download下了
rm 刪除文件
rm -rf *刪除文件夾下所有文件
rm -rf *.log 刪除log後綴的文件
rm -rf {*.log,*.xml} 刪除log和xml後綴的文件
cd .. 回到上一文件夾
新建一個文本文件 vi myfilename (myfilename 爲文件名稱 )
新建個文件夾 mkdir temp (temp爲文件夾)
rmdir
功能:刪除空文件夾。
語法:rmdir [選項] dir-name
說明:dir-name表示文件夾名。
該命令從一個文件夾中刪除一個或多個子文件夾項。
需要 特別注意的是,一個文件夾被刪除以前必須是空的。
rm - r dir命令可取代 rmdir,但是有危急性。刪除某文件夾時也必須具備對父文件夾的寫權限。
移動文件或文件夾的命令 mv ;
mv 命令是用來移動文件或文件夾的;有下面幾種格式;
#mv file1 file2 注:把file1移動到file2,假設file2不存在,則建立file2文件名稱;
#mv file1 dir 注:把一個文件移動到一個事實存在的文件夾;
#mv dir1 dir2 移動文件夾dir1 到 dir2 ,假設dir2不存在,則建立它;
#mv file1 file2 file3 ... ... dir 移動file一、file二、file3等多個文件到dir文件夾中;
#mv dir1 dir2 ... ... dirn 注:移動文件夾dir1和dir2等多個文件夾到dirn文件夾中
1、ls 列出文件和文件夾
-A:列出所有文件。包括隱藏文件。
-l:列表形式。包括文件的絕大部分屬性。
-R:遞歸顯示。
--help:此命令的幫助。
2、cd 改變文件夾
cd /:進入根文件夾
cd :回到本身的文件夾(用戶不一樣則文件夾也不一樣,root爲/root,xxt爲/home/xxt
cd ..:回到上級文件夾
pwd:顯示當前所在的文件夾
apt-get install g++ setup the software
經過grep/cat/more等linux指令查看日誌,日誌存放在/log/rat/文件夾下。
grep的使用方法
grep是linux下用於搜索輸出內容中所含內容的一個命令。
1.好比我要搜索名爲aaa.txt中的一串字符"bbb",可以用
cat aaa.txt|grep bbb
grep bbb gameserver-2009-11-*.log |more
2.我要搜索當前文件夾含有bb的文件,可以用
ls |grep bb
3.搜索某個以thrift後綴的文件的全路徑
先到根文件夾下
cd ..
find / -name *.thrift
tar czvf 打包tar.gz的文件
tar czvf js.tar.gz js
tar -xzvf 解壓tar.gz的文件
壓縮
zip one.zip one.log
解壓zip文件
unzip a.zip
grep 地圖點刪除異常緣由 jobserver.*|wc -l 僅僅輸出文件行數
grep 地圖點刪除異常緣由 jobserver.* -more 一頁頁看過來
grep 地圖點刪除異常緣由 jobserver.* > /tmp/aa.txt
查看時間
date
改動時間
date -s "2015-08-08 00:34:00"
date -s 09:16:00 #改動成09:16:00
時間設定成2012年11月10日的命令例如如下:
date -s 11/10/2012
cat /etc/sysconfig/clock
文件搜索
使用方法:locate 文件名稱
咱們要先執行updatedb。
改動文件權限命令chmod的使用方法
[root@localhost ~]# ll 用於顯示文件的操做權限
改動linux文件權限命令:chmod
r=4 讀的權限
w=2 寫的權限
x=1 運行的權限
若要rwx屬性則4+2+1=7。
若要rw-屬性則4+2=6。
若要r-x屬性則4+1=5。
當中a,b,c各爲一個數字,分別表示User 檔案擁有者、Group 與其所屬同一個羣體者、及Other其它之外的人的權限。
範例:
對文件file 檔案擁有者有讀寫運行的權限。Group 和other僅僅有讀的權限
chmod 744 file
結果爲:-rwxr--r--
所有人有讀寫運行的權限
chmod 777 file
結果爲:-rwxrwxrwr
更改文件所屬角色
chown -R ztgame. /log/rat/
改動rabbit文件夾下的文件權限爲777
chmod -R 777 rabbit
複製
cp rabbit.txt /home/build/ 吧rabbit.txt 複製到/home/build/下
cp -r /home/WebServer/rabbit/* /home/build/ 把/home/WebServer/rabbit下的所有文件夾和文件複製到/home/build/下,不包括rabbit文件夾
cp -r /home/WebServer/rabbit/ /home/build/ 把/home/WebServer/rabbit下的所有文件夾和文件複製到/home/build/下,包括rabbit文件夾
---------------------------------------------------------------
線上查問題的時候有些命令是必備,有必要把一些常用命令總結一下(這類命令和相關參數至關多,僅僅總結本身常用獲得的),查找問題通常可以分爲系統參數、性能參數、進程、內存、網絡、存儲、內存和jvm這麼幾類: 系統參數 [root@localhost framework]# cat /proc/version 操做系統的版本號 Linux version 2.6.18-348.3.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)) #1 SMP Mon Mar 11 19:39:25 EDT 2013 [root@localhost framework]# lsb_release -a
MemTotal: 12301772 kB
1. 查看物理CPU的個數 cat /proc/meminfo 內存相關參數 free free -m //以M單位顯示 VM_235_195:~ # free -m linux下在終端環境下可以使用free命令看到系統實際使用內存的狀況,筆者通常喜歡用free -m方式查看內存佔用狀況。 而系統實際可用內存是否是free部分呢,不是的。系統實際內存佔用以及可用內存有例如如下幾個加減法:
如上數據作個樣例。那麼
虛擬內存(swap)爲2055M |
cat /proc/loadavg 負載狀況
性能參數
1)top
M:按內存使用排序
P:按CPU佔用排序
1:顯示各CPU的使用狀況
k:kill進程
o:不少其它排序規則
回車:刷新數據
2)ulimit
ulimit -a:顯示本用戶的系統限制參數
ulimit -Hn <num>:更改最大Hard open file數
ulimit -Sn <num>:更改最大Soft open file數
5.Linux系統 Tomcat 報錯;Too many open files
早晨6點開始報錯 Too many open files
個人系統裏設置的
用ulimit -a 查看 可以查看到
用 ulimit -n 51200 可以強制改掉,我用ulimit -SHn 51200發現無效
ulimit -n 查看生效的打開數量上限
臺灣爲300000
查看所有進程的文件打開數
lsof |wc -l
這個值設置太小的話。會致使進程無端停掉
lsof -p pid |wc -l 查看某個進程佔用文件數量
-------
使用ulimit -a 可以查看當前系統的所有限制值,使用ulimit -n 可以查看當前的最大打開文件數。
新裝的linux默認僅僅有1024。看成負載較大的server時,很是easy遇到error: too many open files。所以。需要將其改大。
使用 ulimit -n 65535 可即時改動,是系統級別的生效,應用程序需要從新啓動才幹生效,但機器從新啓動後就無效了。(注ulimit -SHn 65535 等效 ulimit -n 65535。-S指soft,-H指hard)
有例如如下三種改動方式:
臺灣的
vim /etc/security/limits.conf
* soft nofile 51200
* hard nofile 51200
#<domain> <type> <item> <value>
#
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
# End of file
* soft nofile 51200
* hard nofile 51200
1.在/etc/rc.local 中添加一行 ulimit -SHn 65535
2.在/etc/profile 中添加一行 ulimit -SHn 65535
3.在/etc/security/limits.conf最後添加例如如下兩行記錄
* soft nofile 65535
* hard nofile 65535
詳細使用哪一種。試試哪一種有效吧。我在 CentOS中使用第1種方式無效果,使用第3種方式有效果。而在Debian中使用第2種有效果
3)vmstat
vmstat 5 -S m:以5秒的數據刷新vmstat數據(單位爲m)
進程
1)ps
ps aux:顯示所有用戶進程詳情
ps -ef:顯示所有用戶進程詳情還有一種風格
假設顯示不全可以經過-w加寬,如ps aux -www
網絡
1)netstat
netstat -na:顯示所有網絡鏈接
netstat -nap:顯示所有網絡鏈接。並帶上進程相關信息
netstat -nat:顯示所有tcp類型的網絡鏈接
netstat -ln:顯示所有監聽狀態的網絡鏈接
netstat -ln|grep 9530 ,僅僅查看9530port的情況
查看9528port被那個應用佔領
lsof -i:9528
netstat -nltp 查看所有port的使用狀況
netstat -nltp|grep 9528 查看所有port9528 的使用狀況
可以動態查看
watch "netstat -an | grep EST|grep -c 1471" 查看鏈接數
watch "netstat -an |grep -c 1471" 查看詳情
[root@localhost ~]# netstat -an |grep 8888|grep -c TIME_WAIT
0
[root@localhost ~]# netstat -an |grep 8888|grep TIME_WAIT
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.21:8888 192.168.3.31:54082 TIME_WAIT
tcp 0 0 192.168.1.21:8888 192.168.2.72:59372 TIME_WAIT
tcp 0 0 192.168.1.21:8888 192.168.2.74:50378 TIME_WAIT
tcp 0 0 192.168.1.21:8888 192.168.2.85:49194 TIME_WAIT
tcp 0 0 192.168.1.21:8888 192.168.2.131:60215 TIME_WAIT
tcp 0 0 192.168.1.21:8888 192.168.2.129:56363 TIME_WAIT
tcp 0 0 192.168.1.21:8888 192.168.2.65:53195 TIME_WAIT
tcp 0 0 192.168.1.21:8888 192.168.3.40:58853 TIME_WAIT
windows下查看鏈接數:
netstat -an | find /c "172.16.1.16"
1833
netstat -an |find "EST"| find /c "172.16.1.16"
1831
netstat -an |find "EST"| find /c "172.16.1.16:1470"
netstat -an |find /v "EST"| find "172.16.1.16"
TCP 172.16.1.203:52847 172.16.1.16:3306 CLOSE_WAIT
TCP 172.16.1.203:52848 172.16.1.16:3306 CLOSE_WAIT
存儲
1)df -h:硬盤存儲總體狀況 看不到的話用 fdisk -l
2)du --max-depth=1 -h <路徑>:指定路徑下所有目錄的大小(遞歸一層)
3)du -sh <路徑>:指定文件夾的大小
內存
free -m
值得注意的是:空暇內存=free+buffers+cached=total-used
SecureCRT鏈接超時設置
option->session option->Terminal->Anti-idle->Send protocol NO-OP very__seconds
會話選項->終端->發送協議 NO-OP 每 60 秒
測試某個IP連不練得上,
先ping ,而後telnet,最後tracert
比方tracert 203.67.68.158
監控某個port是否有連上來。是否有流量:
tcpdump -i eth1 port 8080
查看隨意一塊網卡 的9525port ,從123.150.190.13發過來的消息
tcpdump -i any port 9525 |grep 123.150.190.13
netstat -na | wc -l
看看socket是否耗盡了
查看哪些用戶session在
ps x
查看系統日誌
grep 'Mar 27' /var/log/messages
語言國際化。複製
scp /etc/sysconfig/i18n 10.0.0.67:/etc/sysconfig/
拷貝文件
scp global.tar.gz javadev@121.199.34.75:/home/javadev/server
在/home/ztgame下。
tools/allscp.sh /webgame/tomcat/bin/catalina.sh /webgame/tomcat/bin/
tools/allscp.sh /home/ztgame/config/config.xml /home/ztgame/config/
複製配置文件
怎樣讓文字高亮顯示
先系統要安裝vim
vi ~/.bashrc
加上alias vi="vim"
Options-> Session Options,在Terminal下的Emulation標籤頁。Terminal選擇Linux或者ANSI,而後把「ANSI Color」前面的複選框勾上
要查找RPM 請訪問 http://rpm.pbone.net/
內存,CPU佔用
top -p pid
獲得linux下某一進程佔用內存
cat /proc/pid/status
VmSize(KB) 任務虛擬地址空間的大小
(total_vm-reserved_vm),當中total_vm爲進程的地址空間的大小。reserved_vm:進程在預留或特殊的內存間的物理頁
VmLck(KB) 任務已經鎖住的物理內存的大小。
鎖住的物理內存不能交換到硬盤 (locked_vm)
VmRSS(KB) 應用程序正在使用的物理內存的大小,就是用ps命令的參數rss的值 (rss)
VmData(KB) 程序數據段的大小(所佔虛擬內存的大小)。存放初始化了的數據;
(total_vm-shared_vm-stack_vm)
VmStk(KB) 任務在用戶態的棧的大小 (stack_vm)
VmExe(KB) 程序所擁有的可運行虛擬內存的大小,代碼段,不包含任務使用的庫 (end_code-start_code)
按cpu的佔用量降序
ps -aux|awk '{print $3,$11}'|sort -r
按內存的佔用量降序
ps -aux|awk '{print $4,$11}'|sort -r
查看軟件版本號
rpm -qa|grep 軟件名
文件重命名
mv filename_1 filename_2
模擬系統網絡傳輸延遲
/sbin/tc qdisc add dev eth0 root netem delay 100ms 10ms 25% 可以對經過eth0 網卡的25%的消息作100ms±10ms延遲範圍的延遲
/sbin/tc qdisc del dev eth0 root 恢復到正常狀態
3 模擬網絡丟包:
# tc qdisc add dev eth0 root netem loss 1%
該命令將 eth0 網卡的傳輸設置爲隨機丟掉 1% 的數據包。演示樣例:在 216 上運行
#tc qdisc add dev eth0 root netem loss 10%
顯示 16 個包僅僅有 13 個收到了。也可以設置丟包的成功率:
# tc qdisc add dev eth0 root netem loss 1% 30%
該命令將 eth0 網卡的傳輸設置爲隨機丟掉 1% 的數據包,成功率爲 30%
假設遇到運行後 RTNETLINK answers: File exists
則是network 和 NetworkManager 衝突了,關閉它從新啓動便可
[root@embedded ~]# chkconfig --list NetworkManager
NetworkManager 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:關閉 6:關閉
僅僅表示啓動後的狀態。不表示眼下這個service是否執行
chkconfig --level 123456 NetworkManager off
chkconfig --list|grep mysql
chkconfig mysqld off //關閉mysql
chkconfig mysqld on //開啓mysql
從新啓動server reboot
關閉防火牆
例:ln -s tmp tmp2
unlink tmp2
取消連接,並tmp2會消失
ln -s /log/fairy/filestore /usr/local/nginx/html/report
report->/log/fairy/filestore
網卡流量查看方法
sar –n DEV 1 5
進入 telnet 模式後,退出 ctrl+] 而後輸入quit
統計某個文件夾下的所有文件大小總和。包含子級文件夾下的文件
du -sh
列出所有文件的大小。用M爲單位
du -ksh *
server維護文件夾:
VM_235_195:/data/ztgame # ls back config fix_sql_2012-7-11.sql out12.sql P20120711R1_serveradmin public_html S20120705R1 tools.tar.gz .bash_history data flashserver out.sql P20120711R1_sqladmin S20120704R1 S20120712R1 .viminfo bin Documents .lftp P20120706R3_data_Patch1 P20120712R3_data_Patch1 S20120704R2 tools
java端調查開啓文件多的緣由
Linux下查看進程打開了哪些文件
lsof -p 進程id -> 打開的詳細文件
lsof -p 進程id|wc -l -> 打開文件的數量
war包
把當前文件夾下的所有文件打包成game.war
jar -cvfM0 game.war ./
-c 建立war包
-v 顯示過程信息
-f
-M
-0 這個是阿拉伯數字,僅僅打包不壓縮的意思
解壓game.war
jar -xvf game.war
解壓到當前文件夾
Cpu0 : 0.0%us, 0.0%sy,
第一個值指CPU真正被工做的比例,第二個值是被鎖或者線程切換所佔消耗比例
//查看文件屬性
[root@localhost mysql]# stat sql.2014-07-31-21.log
File: 「sql.2014-07-31-21.log」
Size: 47050334 Blocks: 92000 IO Block: 4096 通常文件
Device: 811h/2065d Inode: 705064 Links: 1
Access: (0660/-rw-rw----) Uid: ( 501/ mysql) Gid: ( 501/ mysql)
Access: 2014-07-31 21:00:01.000000000 +0800
Modify: 2014-07-31 21:28:27.000000000 +0800
Change: 2014-07-31 21:28:27.000000000 +0800
機器啓動時加點初始化程序進去
vi /etc/rc.local
/usr/sbin/apachectl start
sh /opt/atlassian/jira/bin/catalina.sh start
sh /opt/atlassian/confluence/bin/catalina.sh start
redis-server /etc/redis.conf
打包的數據用zgrep可以grep打包數據的內容
把天天的日誌流彙總
tables=`mysql-ib -e "use logger;show tables"|grep money_flow_log_` for i in $tables;do echo $i mysqldump --single-transaction -h127.0.0.1 --port 5029 -u root -p"" -t --default-character-set=utf8 --skip-tz-utc --complete-insert logger $tables -w"currency_type>=2 and currency_type<=3" > ./data_money_flow_record.sql done