java工程师常用的Linux命令(crontab,netstat,service等命令)
开发过程中,难免会需要部署,所以也需要掌握一些基本的Linux命令,那些简单的ls,touch,mkdir,mv,cp等等这些就不列举了。
1.netstat:显示各种网络相关信息
这是一个非常实用的命令,当我们要查看某个端口是否开放的时候,就可以通过这个命令查询。此外,这个命令还可以用于显示路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
常用的参数:
-a (all)显示所有端口 (包括监听和未监听的),默认不显示LISTEN相关
-t (tcp)仅显示tcp相关连接
-u (udp)仅显示udp相关连接
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 列出所有处于监听状态的 Sockets
-p 在 netstat 输出中显示 PID 和进程名称
-r 显示核心路由信息
-e 显示扩展信息,例如uid等
-s 显示所有端口的统计信息
-c 每隔一个固定时间,执行该netstat命令
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
常用的组合:
列出所有 tcp /udp端口 netstat -at/-au
只列出所有监听 tcp /udp端口 netstat -lt/lu
显示 TCP 或 UDP 端口的统计信息 netstat -st/su
查找某个程序运行的端口,比如这里是查询ssh运行的端口,有些需要root权限才可以查看 netstat -ap | grep ssh
找出运行在指定端口的进程,比如这里是查询80端口运行的进程 netstat -an | grep ':80'
2.查看进程 ps -aux/ps -ef
想要查看某个程序或者服务是否启动,只需要使用这个命令即可: ps -aux/ps -ef | grep servicename
即ps -aux/ps -ef 然后管道 | ,然后grep进行搜索 。管道 | 即将上一个命令的输出结果作为下一个命令的输入结果,比如说这里的grep就是在上个命令的结果中进行搜索。
3.服务相关的命令 service
通过这个命令可以启动/停止/查看某个服务的状态,使用 service serviceName start/stop/status
比如:service tomcat status 查看Tomcat的状态;service tomcat start 启动Tomcat ; service tomcat stop 停止Tomcat
4.定时任务 crontab
所谓的定时任务,即认为地设定一个时间执行某个任务。使用crontab可以在指定的时间执行一个shell脚本或者一系列Linux命令。Linux下的任务调度分为两类,系统任务调度和用户任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
首先,可以先用crontab -l查看crontab是否安装,然后再用上面的命令查看crontab服务的状态,如果还没有启动的话可以先启动。
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
- minute: 区间为 0 – 59
- hour: 区间为0 – 23
- day-of-month: 区间为0 – 31
- month: 区间为1 – 12. 1 是1月. 12是12月.
- Day-of-week: 区间为0 – 7. 周日可以是0或7.
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
应用实例:
如果你想每天执行run.sh这个脚本的话,可以用
crontab –e 0 5 * * * /root/bin/run.sh ,这样的话,就会在每天的5点执行这个脚本
此外,还可以定时执行某个命令
crontab –e 0 5 * * * service tomcat restart 每天5点重启Tomcat
5.图片服务器FastDFS相关命令
/usr/bin/fdfs_storaged conf/storage.conf
/usr/bin/fdfs_trackerd conf/tracker.conf
反正就是fdfs_storaged和fdfs_trackerd这两个命令,路径不一定一样,可以用which找一下这两个命令的路径。
此外,nginx -s reload 重启Nginx