从工作中总结了一些非常实用的linux命令如下:
命令实例 | 功能 |
curl -I http://127.0.0.1:8088/index.jsp curl -I http://127.0.0.1:8088/index.jsp | 返回200确认服务正常 |
sudo mv healthcheck healthcheck.bak | 摘掉healthcheck |
sudo vi xxx | 修改文件 |
cd 目录 less / cat / tac 文件名 shift+g less 文件名 |tail -200 cat 文件 | grep -i 'error' 不分大小写 cat 文件 | grep -v 'error' 不包含 cat /etc/hosts 查看host文件 | 查看文件 看结尾 |
ls -al 目录 | 显示目录 |
lsattr -a test
-a:显示所有文件属性
-d:仅显示目录属性
-R:递归显示
| 显示加锁文件内容 查看文件的隐藏属性 |
sudo chattr -i filename | 对文件加锁 |
sudo chattr +i filename | 解锁 |
history 100 | 历史 |
tail -200f 文件 | 末尾查看 |
ps aux | grep nginx ps -aux|grep tomcat | 显示所有程序 |
netstat -an | grep ':80'
| 找出运行在指定端口的进程 |
wgethttp://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make && make install | 安装 |
cat /proc/cpuinfo|grepcores | 查看cpu核数 |
cat/proc/meminfo |grep MemTotal | 查看内存大小 |
df -hl | 磁盘 |
sudo find / -name http.conf | 查找文件 |
sudo vim startenv.sh 注释掉原来的: 添加下面的 exportJAVA_OPTS="-Xms2048m -Xmx2048m -XX:NewSize=256m -XX:PermSize=256m-server -Xdebug -Xnoagent-Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=23455"重启tomcat | 开启tomcat的debug模式 |
参考:http://edu.cnzz.cn/201008/649705bb.shtml 方法一: 想要让特定任务运行一次 ,可以使用at 方法二:crontab cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。 由于Cron 是Linux的内置服务,但它不自动起来 /sbin/service crond start//启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload//重新载入配置 /sbin/service crond status//查看服务状态 crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务 crontab -e //编辑某个用户的cron服务比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fred的cron设置:crontab -u fred -r ps -ax | grep cron 查看服务是否已经运行 *****command(例如/bin/sh /home/start.sh) 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令crontab文件的一些例子: #每晚的21:30重启apache。 30 21 * * * /usr/local/etc/rc.d/lighttpd restart #每月1、10、22日 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart #每天早上6点10分 10 6 * * * date #每两个小时 0 */2 * * * date | 定时任务设置 |
chmod +x nusers | 执行权限 |
sudo rm -rf 目录名字 | 强制递归删除 |
du -h --max-depth=1 /home/* | 查看文件及文件夹的详细大小 |
测试NG cd /home/nginx/ sudo ./sbin/nginx -t 启动NG cd /home/nginx/ sudo./sbin/nginx -s reload | |
sudo /home/tools/bin/restart_tomcat.sh tomcat名称 | 重启tomcat |
sudo sz + 文件名 | 下载 |
sudo rz -bey | 上传 |
atnodes 'grep 'xception' error.log 若干机器 | 批量查看 |
version.sh | 查tomcat版本号 |
命令 | 描述 |
cat/proc/meminfo | 内存 这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。 进程的内存使用信息也可以通过 /proc/<pid>/statm 和 /proc/<pid>/status 来查看。 |
内存:http://9iphp.com/linux/1247.htmlfree-h free -b -s5 (每5秒更新一次) ps aux--sort-rss sudo smem --pie name -c "pss" top vmstat -s pmap -d 5647 | free命令是一个快速查看内存使用情况的方法, 它是对 /proc/meminfo 收集到的信息的一个概述 free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。 ps命令可以实时的显示各个进程的内存使用情况 可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序: smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。 top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。 vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。 可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示 |
top -d 2 ---两秒刷新一次 top -d 2 -p 2955 ---只输出指定进程的信息 | 它的缺点是会消耗很多系统资源
|
ln -s /home/tomcat /tomcat ln a b 是建立硬链接 | 建立软链接---linux下的软链接类似于windows下的快捷方式 ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录 注意的是: 执行命令的时候,应该是a目录已经建立,目录b没有建立。我最开始操作的是也把b目录给建立了,结果就不对了 软硬链接区别: 1)软连接可以 跨文件系统 ,硬连接不可以 。 (2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是 源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件 任何一个的时候 ,其他的 文件都会做同步的修改 。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但 是 删除 源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名. (3)软连接可以对一个不存在的文件名进行连接 。 (4)软连接可以对目录进行连接。 |
rm -rf b 注意不是rm -rf b/ | 删除软链接
|
[oracle@Linux]$ touch f1 #创建一个测试文件f1 当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效 | 参考: http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html 总结 依此您可以做一些相关的测试,可以得到以下全部结论: 1).删除符号连接f3,对f1,f2无影响; 2).删除硬连接f2,对f1,f3也无影响; 3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效; 4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。 |
jstat jmap jconsole | JVM:查看java内存情况命令
参考:
|
getconf LONG_BIT 或者 file /sbin/init 或者uname -a | linux是32位还是64位 |
mysql 环境变量配置:
vi .bash_profile export MYSQL_HOME=../mysql-5.7.13-osx10.11-x86_64/bin PATH=$PATH:$MYSQL_HOME source ~/.bash_profile--让以上所做的配置生效 | mysql添加环境变量 |
free -m | 显示free是显示的当前内存的使用,-m的意思是M字节来显示内容 |
方法一: lsof -i:8080 查看: lsof -i:port 杀进程: kill -9 processId 方法二: netstat -tunlp |grep 8080 | 查看端口号占用 |
linux 性能
简单shell脚本
- web java 项目 打成war包, 并直接拷贝到tomat下: run.sh test myProject(结果将myProject.war部署)
if [ ! $# == 2 ]; then
echo "the length_in_params is 2"
exit
fi
jenkinspath=$1
warname=$2
cd /xxx/$jenkinspath/
/yyy/software/apache-maven-3.5.0/bin/mvn clean
/yyy/software/apache-maven-3.5.0/bin/mvn install -Pdev
cp /xxx/$jenkinspath/target/${warname}.war /xxx/apache-tomcat-8.5.15/webapps/