> 查出某个域名绑定的IP nslookup api.kaixin001.com
Non-authoritative answer:
Name: a.kaixin001.com
Addresses:
220.181.100.243,
220.181.100.244,
220.181.100.242,
220.181.100.245,
220.181.100.241,
220.181.100.246
Aliases: api.kaixin001.com
如何导出存在SecureCRT上的机器列表
C:\Documents and Settings\Allen\Application Data\VanDyke
startup.sh //启动tomcat,startup.sh做了映射,可以在任何目录下
shutdown.sh //关tomcat
cd /home //到home 目录
ll 列出当前目录下的所有文件,包括每个文件的详细信息
ls //?只列出文件名
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可以查看以前输入过的命令(对该服务器输入过的历史命令,并不一定都是自己曾输的)。
# 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 <程序识别码>][<程序识别码>/<用户名称>]
补充说明:pstree指令用ASCII字符显示树状结构,清楚地表达程序间的相互关
系。如果不指定程序识别码或用户名称,则会把系统启动时的第一个程序视为基层,并
显示之后的所有程序。若指定用户名称,便会以隶属该用户的第一个程序当作基层,然
后显示该用户的所有程序。
参 数:
-a 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示。
-c 不使用精简标示法。
-G 使用VT100终端机的列绘图字符。
-h 列出树状图时,特别标明现在执行的程序。
-H<程序识别码> 此参数的效果和指定"-h"参数类似,但特别标明指定的程序。
-l 采用长列格式显示树状图。
-n 用程序识别码排序。预设是以程序名称来排序。
-p 显示程序识别码。
-u 显示用户名称。
-U 使用UTF-8列绘图字符。
-V 显示版本信息。
Pstree命令的优点在于可以立即找出某进程的父进程:当用户想要终止整个进程系列而且其中存在了许许多多的下属分支进程,您只需终止最上层的进程即可。您可能会需要使用 -p 选项显示每个进程的 PID,以及 -u 选项来显示启动该进程的用户名。一般来说,这一树结构比较长,您就需要这么执行 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的 哈哈
1、当你对一个网络进行完一个操作后,忽然发现你忘了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
2、将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 移动file1、file2、file3等多个文件到dir目录中;
#mv dir1 dir2 ... ... dirn 注:移动目录dir1和dir2等多个目录到dirn目录中
一、ls 列出文件和目录
-A:列出所有文件,包含隐藏文件。
-l:列表形式,包含文件的绝大部分属性。
-R:递归显示。
--help:此命令的帮助。
二、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文件
unzip a.zip
---上面解压完之后执行下面的命令。
tar -xvf netty.tar 解完之后会出现多一个文件夹 netty
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
文件搜索
2.locate 是用来通过文件名搜索文件的工具,它的用法也比较简单。locate 的应用,首先要通过updatedb建立索引数据库,然后才能应用;如果您新安装了软件或者存放了新的文件,也要先运行updatedb命令,以生成最新索引库。
用法:locate 文件名
我们要先运行updatedb;
- [root@localhost ~]# updatedb
举例: 我们要找vsftpd.conf文件都位于哪个位置;
3.whereis 是来寻找命令的二进制文件,同时也会找到其帮助文件;
比如我们不知道fdisk工具放在哪里,我们就可以用whereis fdisk 来查找;
- [root@localhost ~]# whereis fdisk
- fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz
如果我们寻找grub在哪里,应该用如下命令,说明grub位于/sbin目录,他的帮助文件是grub.8.gz ,也就是man grub;
- grub: /sbin/grub /etc/grub.conf /usr/share/grub /usr/share/man/man8/grub.8.gz
4.which 和where 相似,只是我们所设置的环境变量中设置好的路径中寻找;比如;
- /sbin/fdisk
修改文件权限命令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 ([email protected]) (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 -SHn 655350
用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,当作负载较大的服务器时,很容易遇到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 ,只查看9530端口的状况
查看9528端口被那个应用占据
lsof -i:9528
netstat -nltp 查看所有端口的使用情况
netstat -nltp|grep 9528 查看所有端口9528 的使用情况
可以动态查看
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
监控某个端口是否有连上来,是否有流量:
tcpdump -i eth1 port 8080
查看任意一块网卡 的9525端口 ,从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 [email protected]:/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/
vim-7.3-5.3.x86_64.rar
内存,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 恢复到正常状态
如果遇到执行后 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
重启服务器 reboot
关闭防火墙
service iptables restart
刚才防火墙开着的
连结命令
例: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 *
服务器维护目录:
- 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打包数据的内容
本文来源于:http://blog.csdn.net/jiangguilong2000/article/details/7817835