Linux日常操作命令

查看指定端口是否启动 netstat -na|grep 8265 查看指定进程的进程号 ps -ef|grep BPMSRV|awk '{printf "%s\n",$2}'    查看进程BPMSRV的进程号 vi置换 :%s/旧/新/g :g/旧/s//新/g 查看java进程占用内存情况 ps -el|grep java 添加环境变量 修改用户根目录下的.profile文件        例如添加环境变量LANG:export LANG=C 然后运行该文件:./.profile 查看内存使用情况       vmstat 杀死指定服务进程 kill -9 `ps -ef |grep bizware|grep BPMS|awk '{ printf " %s ",$2}'`         或        kill -9 `ps -ef|grep bmpcollect|grep -iv grep|awk '{print $2}'` 打印变量中指定的子字符串 echo |awk '{print substr('$end_date',3,4)}' 打印变量end_date中的第3位至第6位 获取变量中指定的子字符串,并赋值给新变量 DATE=`echo |awk '{print substr('$end_date',3,4)}'` 将变量end_date中的第3位至第6位赋值给变量DATE 关闭正在监听的端口 lsof   -i   :<port> kill   <pid> 如: lsof -i :8002 查看相关软件是否安装 rpm -qa|grep 软件名称 如: rpm -qa|grep gcc 删除当前目录下所有一周之内没有被访问过的a .out或*.o文件 find . (- name a.out - o - name ‘*.o')> - atime +7 - exec rm {} ;  只列子目录的方法 ls -F | grep /$  或 ls -l | grep "^d" 将指定的多个文件合并成一个文件 cat `find . -name S_CHK04_20090629` 先搜索指定的行,再取指定的列的值 grep 00262605442901 S_CHK04_20090629|awk -F"|" '{printf "%s",$9}' 批量删除指定文件 find . -name CVS|awk '{printf "rm -rf %s\n",$0}'|sh 统计指定日期、指定时间内生成的txt文件个数 ls -lR |grep 1月26 |grep 18时|grep txt |wc -l 写日志文件的同时,界面也显示 db2 -td@ -f up.sql |tee -a 1.log 统计当前目录及子目录下的文件个数 ls -l |grep  "-" |wc -l 统计当前目录下的子目录个数 ls -l  |grep  "d"|wc -l 查看操作系统版本信息 uname -a 查看操作系统版本号 uname -r 查看内核版本 cat /proc/version 显示的结果如下: Linux version 2.6.18-164.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Thu Sep 3 03:28:30 EDT 2009 其中:Linux version 2.6.18-164.el5  为linux内核版本号       gcc version 4.1.2 20080704    为gcc编译器版本号       Red Hat 4.1.2-46              为Red Hat版本号 查看CPU信息       grep "model name" /proc/cpuinfo 查看内存大小       grep MemTotal /proc/meminfo 只显示当前路径下的所有文件的文件名 ls -l| grep "^-"|awk '{ printf "%s\n",$9}' root用户的环境变量保存在/root/.bash_profile下 关闭TCP、UDP端口 lsof   -P   -n   -i :port kill pid $!  可以表示前一个你在后台执行的pid 查找以sh结尾的文件 ls |grep "sh$" 查找以sh开头的文件 ls |grep "^sh" 后台运行 commond &  (这种方式在关闭当前窗口时,会导致运行终止) 后台运行,并将输出重定义到文件中 nohup command > myout.file 2>&1 & 在当前路径及子路径下查找包括指定字符的文件 grep INDEX `find . -name *.cpp` grep INDEX `find . -name *.cpp`|awk '{printf "%s\n", $1}' 去除重复 awk -F'|' '!a[$1,$3]++' test > test.bak 关闭防火墙 /etc/init.d/iptables stop

# linux 下 取进程占用 cpu 最高的前10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head


# linux 下 取进程占用内存(MEM)最高的前10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

使用top,按用户查看 如查看yanyf用户下的进程情况,执行命令:top -u yanyf Linux日常操作命令

  PID:进程的ID   USER:进程所有者   PR:进程的优先级别,越小越优先被执行   NInice:值   VIRT:进程占用的虚拟内存   RES:进程占用的物理内存   SHR:进程使用的共享内存   S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数   %CPU:进程占用CPU的使用率   %MEM:进程使用的物理内存和总内存的百分比   TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。   COMMAND:进程启动命令名称 使用top,按进程号查看进程占用资源情况 如执行命令:top -p 4930 使用ps,按进程号查看进程占用资源情况(其中rsz是是实际内存) 如执行命令:ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep 4930 循环显示用户yanyf下的进程信息,间隔2秒,命令如下: while true; do ps -ef |grep yanyf ; sleep 2; done 使用su切换用户时,出现如下错误: su: failed to execute /bin/bash: Resource temporarily unavailable 解决办法,修改/etc/security/limits.conf文件,添加如下两行: * soft nproc 65535 * hard nproc 16384 awk过滤前几行和最后的空行: Linux日常操作命令

 

释放共享内存 ipcs -m | awk '$2 ~/[0-9]+/ {print $2}' | while read s; do sudo ipcrm –m $s; done 列出当前目录下的文件,不显示目录 ls -lR | grep "^-"|awk '{print $9}' 使用grep在当前目录下搜索所有文件中含有的字符串 grep -r UpdateTaskSum ./ 使用grep搜索当前目录下、所有包含BILLFLAG的、文件名以.cpp结尾的文件 grep -r --include="*.cpp" BILLFLAG . 根据进程号查看进程包含的线程信息 ps -Lf 277999 查找最近两小时内生成的文件: find . -amin -120 查找2020-06-30 09:20:00后生成的文件: find . -newermt '2020-06-30 09:20:00' 针对文件名中包含20200630的文件,若其中第21列的值为空,则输出第1列的值 awk -F '|' '{if(length($21)==0 && length($1) > 3) print($1)}' `ls *20200630*` 查找当前目录下为空的子目录: find -type d -empty 查看进程占用的端口 netstat -nap | grep 进程pid 查看当前pid进程启动时的工作目录 pwdx pid 调整swap和mem内存使用 这个交换参数控制内核从物理内存移出进程,移到交换空间。该参数从0到100,当该参数=0,表示只要有可能就尽力避免交换进程移出物理内存;该参数=100,这告诉内核疯狂的将数据移出物理内存移到swap缓存中。 PS:设置vm.swappiness=0 后并不代表禁用swap分区,只是告诉内核,能少用到swap分区就尽量少用到,设置vm.swappiness=100的话,则表示尽量使用swap分区,默认的值是60 第一步:vi /etc/sysctl.conf //必须修改此项,最小预留空间,如果过大,也会导致使用swap频繁 vm.min_free_kbytes = 5242880 vm.swappiness = 10 第二步:cat /proc/sys/vm/swappiness  第三步:执行 sysctl -p让系统参数生效
上一篇:1小时学会jenkins集成邮件/微信/钉钉通知


下一篇:切取端口号