文件操作
查看文件内容
cat <fileName>
创建文件夹
mkdir <filePath>
复制文件
cp <sourcePath> <destPath>
创建文件
touch <fileName>
删除文件
# 会递归把目录下的所有文件删除。
rm -rf <fileName>
查看当前所在的路径
pwd
创建软连接
ln -s <fileName> <otherName>
使用 yum 安装所需软件包
yum install <softName>
下载压缩包
wget http://www.xxxx.tar.gz
解压压缩包
tar -zxvf <压缩包名> <压缩到的路径>
日志查询
如何查日志:根据客服反馈,得到用户的一些信息,以及问题发生的时间。grep 、zgrep 去查日志文件。找到报错的地方,看是不是由于本系统的原因导致的,还是因为下游的一些系统引起的。如果是的话,就把 traceId 交给其他系统的负责人。
实时日志查询
tailf -100 sysName.log
查询最后 n 行,并且查找关键字 ‘XXX’,比如:查询最后 n 行,且查询找关键字 insert
tailf -100 sysName.log | grep 'insert'
根据 traceId 查询相关日志,关键字标红,且显示关键字上下 20 行信息
grep 'traceId' sysName.log --color -C 20
时间段查询
# 方法一
grep "2019-12-29 12:0[4-7]” sysName.log | grep ‘keyword’
# 方法二
sed -n '/2019-12-02 12:00:00/,/2019-12-02 12:17:00/p' sysName.log
awk
free -m | awk '/Mem/{print $2}'
grep 与
grep 'pattern1' filename | grep 'pattern2'
grep 或
grep 'pattern1|pattern2' filename
grep 非
grep -v 'pattern' filename
查看系统运行状态
查看某个端口被哪个程序占用及杀进程方法
sudo lsof -i :8888
sudo kill -9 61342
8888 是端口号;61342 是 pid。
查看某个端口的连接数,比如:查看 80 端口的连接数
netstat -nat|grep -i "80"|wc -l
查看某个进程的状态,比如:pid
ps -ef | grep <processName>
实时显示进程状态
top
top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。
通过端口查看进程
netstat -nap | grep 端口号
查看所有进程
ps -ef
查看进程树
pstree -up
Linux 下磁盘空间满可能有两种情况 :
可以通过命令 df -h,查看磁盘空间占用。实际上是查看磁盘块占用的文件(block)
df -i 查看索引节点的占用(Inodes)
磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满。所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是 inodes 节点已满。
通过命令:find / -size +100M |xargs ls -lh
,列出系统内大于 100M 的文件
查看当前目录内文件夹的大小
du -h --max-depth=1
切换用户
su <用户名>
文件权限修改
chmod 777 <file_name>
去掉相邻的重复行并把去重后的行输出到 result.txt 文件中。
sort test.txt | uniq > result.txt
搜索替换
替换 test.txt 文件中的 php.cn 为 java.com
sed -i "s/php.cn/java.com/g" ` test.txt