作为一个非运维人员,基本的linux操作还是需要会的,下面的命令都是自己在工作中使用过的,以后用到其他的命令之后,会及时补充。
环境:CentOS7
日志操作
more/less的使用:
more 日志文件:
打开日志的时候,可以按下空格键,一屏一屏的查看日志。Ctrl+C结束。
less 日志文件:
打开日志后,可以使用 ↑↓和pgdn pgup详细查看日志。Ctrl+C之后,输入q结束。
启动tomcat并查看catalina日志:
# sh bin/startup.sh;tail -f logs/catalina.out
分号表示执行多条命令,尽量别用分号,用&&;
tail -f 表示实时查看
搜索日志文件中的关键字:
tail -3000 tomcatProduct/logs/catalina.out | grep -A5 -B5 --color '开始校验借款利率'
查询指定文件中倒数3000行数据里是否有‘开始校验借款利率’,如果有,该关键字高亮,并显示该关键字的所在行及其上下5行数据。加上tail命令之后,会一直监视该日志文件
-A:后 -B:前 -C:前后
cat *12-16*|grep -A 60 -B 60 "导入二次贷"
使用通配符(包含12-16名称的文件)的同时查看目标的前后60行
进程操作
ps命令搜索:
# ps -ef|grep tomcat
ps 查看运行中的tomcat进程
ps -ef |grep abc 查看含有"abc"的活动进程
ps -ef |grep -v abc 查看不含abc的活动进程
杀死进程
# kill -9 31074
先使用上面的ps命令搜索到进程号,然后杀死指定进程
vim编辑文件
编辑文件:vim 文件名称+后缀
编辑的时候按下 i 代表插入的意思
停止编辑:Esc键
不保存:首先 shift+: 然后 q! 最后 回车
保存:首先 shift+: 然后 wq 最后回车
搜索:首先 / 然后输入关键字 然后按 n 进行查找
其他vim命令自行网上搜索吧,
文件、文件夹的操作
重命名(移动)文件和文件夹:
mv test ../test2
mv haha.txt ./gaga.txt
创建文件:
touch haha.txt
创建文件夹:
mkdir test
删除文件:
rm -f gaga.txt
-f强制删除,不加的话会询问是否删除,该方法不能删除文件夹
删除文件夹:
rm -rf test2/
-rf 强制递归删除该目录及子目录以及目录中的文件
复制
1.将远程服务器上的文件复制到本机
#scp remote@www.abc.com:/usr/local/sin.sh /home/administrator
remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)
/usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件
/home/administrator 将远程文件复制到本地的绝对路径
例子:远程文件夹赋值到本机
scp -r tomcat@192.168.3.81:/usr/local/tomcat/ /Data/tomcat/wlcTomcat/wlc_dkweb_client_tomcat
2.本机复制
$ cp - i exam1.c /usr/wang/shiyan1.c
该命令将文件exam1.c拷贝到/usr/wang 这个目录下,并改名为 shiyan1.c
若不希望重新命名,可以使用下面的命令:
$ cp exam1.c /usr/ wang/
将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中,命令如下:
$ cp - r /usr/xu/ /usr/liu/
压缩、解压缩文件
tar -czvf wlc_dkweb_client_tomcat.tar.gz ./ROOT
将Root文件夹下的所有文件压缩为wlc_dkweb_client_tomcat.tar.gz文件到当前目录中
tar -xzvf ./etc.tar.gz
解压etc.tar.gz文件到当前目录
查看文件和文件夹大小及目录:
du -ah --max-depth=1
详细参考:[du查看某个文件或目录占用磁盘空间的大小](http://www.cnblogs.com/kobe8/p/3825461.html)
搜索命令
find / -name '*wlc*'
从根目录查找name中带wlc的文件或文件夹并显示出完整目录,如果不是从根目录,则从查找定位的目录开始
查找大于500M的文件:
find . -type f -size +500M -print0 | xargs -0 du -h | sort -nr
locate /etc/sh
查找/etc目录下以sh开头的文件和文件夹
可参考 [find与locate](https://blog.csdn.net/looper66/article/details/55254682)
whereis nginx
搜索nginx进程位置
如果出现Permission denied的情况,最前面加个sudo即可
防火墙和端口操作
1.查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-ports
2.开启80端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)
3.重启防火墙
firewall-cmd --reload
4.停止防火墙
systemctl stop firewalld.service
5.禁止防火墙开机启动
systemctl disable firewalld.service
6.删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
权限相关
chmod: 修改文件或目录的访问权限
chmod -R u+x /sam 修改/sam文件夹的所有者权限为可执行
chmod -R 777 /sam 递归修改/sam文件夹的u/g/o的权限为最高权限
chown: 更改文件或目录所属者、所属组
chown -R ftpuser:ftpuser ./ftpfile ftpuser是新建的用户和组
useradd ftpuser groupadd ftpuser
chgrp: 修改文件或目录的所属组
chgrp -R ftpuser ./ftpfile 将ftpfile的所属组改为ftpuser
可参考 https://blog.csdn.net/fanrenxiang/article/details/79618484
其他,待补充和归类
svn co url(具体自己写):checkout下来指定svn目录下的文件
技巧:在命令后面跟 --help 可以查看帮助
echo ' ' > catalina.out
echo:显示 >:写入 这句话的意思是将显示的空格写入到catalina.out文件中
查看哪个程序占用了目标端口的步骤:
a. 查找占用该端口的pid
netstat -apn | grep 8010 (8010是要找的端口号)
b. 根据pid查找是哪个程序占用的
ps -aux | grep 31784 (31784是pid)
查看磁盘利率:
df -hl
文件赋予权限:
chmod 777 ./start.sh
查看linux64或者32位:
getconf LONG_BIT
查看内存和cpu利用率:
top