> 查出某个域名绑定的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能够查看曾经输入过的命令(对该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的 哈哈
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 one.zip one.log
解压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。
举例: 我们要找vsftpd.conf文件都位于哪个位置;
- [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 (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 -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。当作负载较大的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/
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 恢复到正常状态
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
关闭防火墙
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 *
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