工作中linux常用命令记录

430 阅读2分钟

查看磁盘IO使用率[iostat]

iostat -x 2 5    ##查看IO情况,每2秒执行一次,总执行5次

查看内存使用率[free]

free -m    ##查看内存占用情况

查看Cpu使用率[top]

top    ##动态显示cpu、内存等资源占用情况,隔几秒刷新一次
top -n 1   ##查看一次top命令执行情况,直接返回
top后,按shift键+大写M   ##执行top,然后按内存占用倒序排序
top后,按shift键+大写P   ##执行top,然后按Cpu占用倒序排序

查看文件大小[du/ll等]

du -h --max-depth=1 ##查看各文件夹大小
du -sh . ##查看当前文件夹大小,人容易识别的单位显示
ll -hrS ##目录下文件大小排序倒序
ll -hS ##目录下文件大小排序升序

查看进程启动的精确时间和启动后所流逝的时间

##如查看进程Ete100015CollectStart的精确时间和启动后所流逝的时间
ps -eo pid,lstart,etime,cmd | grep Ete100015CollectStart |grep -v grep

结果示例:

[sendi@localhost ~]$  ps -eo pid,lstart,etime,cmd | grep qmgr |grep -v grep                     
  1800 Wed May 19 15:21:12 2021 56-21:39:17 qmgr -l -t unix -u

查看文件内容

vi ##通过vi 文件名可以查看
more ##通过more 文件名可以查看
cat ##通过cat文件名可以查看

查看日志内容[tail]

##tail -f 用于查看文件的末尾日志,并锁住滚动刷新,用于看tomcat或springboot程序日志,如:
tail -f /home/testuser/tomcat/logs/error.log  

##tail -1000 用于查看文件的末尾1000行日志,如
tail -1000 /home/testuser/tomcat/logs/error.log

找出目录下特定文件特定内容的linux命令

##找出当前目录下文件名包含"trace-"的,且文件内容包含"172.168.201.177#13"的文件
find . -type f -name "trace-" | xargs grep "172.168.201.177#13" -l  

##查询文件时并过滤无权限的内容,如
find / -name "bloc-cloud-gateway-2.1.4.RELEASE.jar" 2> /dev/null

找出linux大文件命令[find]

##找出目录下大于800M的文件,会显示大于800M的文件的全路径
find . -type f -size +800M

解压/压缩

tar zxvf FileName.tar.gz    ##tar把FileName.tar.gz解压到当前文件夹 tar zcvf FileName.tar.gz DirName    ##tar把文件夹DirName压缩成FileName.tar.gz

unzip filename.zip    ##unzip解压filename.zip unzip -o -d /home/sunny myfile.zip   ##把myfile.zip文件解压到 /home/sunny/ zip -r filename.zip dirName    ##把dirName目录压缩成filename.zip文件

将文件清空的方法

##第一种方法 echo "" > a.txt ##通过echo将文件清空

##第二种方法通过重定向将文件清空
> a.txt
##第三种方法通过cat命令将文件清空
cat > a.txt << EOF

EOF

linux代理上网设置

##如已有http代理服务器192.168.56.1,端口1080,账号admin,密码admin123 export http_proxy=http://admin:admin123@192.168.56.1:1080 ##http访问走代理
export https_proxy=http://admin:admin123@192.168.56.1:1080 ##https访问走代理
export no_proxy='127.0.0.1' ##过滤127.0.0.1的访问不走代理

cat

cat top.out    ##查看top.out文件的内容
cat top.out | grep nginx    ##查看top.out文件的内容并过滤只显示带"nginx"的部分

##在/etc/security/limits.conf文件中追加内容到文件最后,如果将>>换成>,则为替换而不是追加
cat >> /etc/security/limits.conf << EOF
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
EOF

cd

cd /root ##进行/root目录下
cd liu ##从当前目录进行子目录liu下
cd .. ##退回上一级目录
cd /usr/local/jdk ##cd+绝对路径,直接进入路径参数所在目录

crontab

crontab -l ##查看linux下当前用户定时任务情况
crontab -e ##编辑linux下当前用户定时任务情况,类似vi操作的方式,执行wq进行保存

echo

echo "ab" >> a.txt ##echo将"ab"追加一行到a.txt末行处。
echo "ab" > a.txt ##echo将"ab"写入a.txt文件,a.txt原有的内容被清除。

ls

##ls只显示文件名
ls -l | grep ^[^d] | awk '{print $9}'

ls -hl ##按人类习惯的方式显示目录下的所有文件,一行一个

mkdir

mkdir liu ##在当前目录下创建目录liu
mkdir /home/testuser/tempdir ##创建tempdir,这里需要/home/testuser目录已建好
mkdir /home/testuser/tempdir -p ##带了-p参数,功能同上,/home/testuser不存在时,会递归建不存在的目录,

netstat

netstat -lntup ##查看系统的端口占用情况
netstat -lntup|grep 8188 ##查看系统中占用了8188的程序情况,

ps

ps -ef ##查看所有的进程
ps -ef|grep java ##查看所有的java进程

rm

##通过rm -rf 文件绝对路径,删除文件如
rm -rf /home/testuser/teerror.log

rpm

rpm -qa    ##查看已安装的所有rpm包
rpm -qa|grep python    ##查看名称包含python的rpm包
rpm -ivh rpmName    ##rpm安装软件,带上rpm文件名

sed

##文件内容替换,好用的命令,示例如下,将* soft nproc 4096这一行的内容的4096换成65536:
sed -i 's/^* soft nproc 4096$/* soft nproc 65536/' /etc/security/limits.d/20-nproc.conf

####常见的 sed 替换字符串的语法
sed -i 's/Search_String/Replacement_String/g' Input_File