Linux日常操作命令

本文指导如何检查端口状态、查找进程ID、修改环境变量、监控内存使用、结束进程、操作变量、关闭端口、查询软件安装、清理无访问文件、管理目录、合并文件、复杂搜索、批量操作、日志记录、计数文件、优化内存配置、查看系统信息、CPU和内存诊断、获取CPU和内存详细、分析CPU使用、管理内存、文件名筛选、防火墙控制、进程资源查看、进程与线程操作、文件搜索、文件清理、定时任务、用户权限调整和共享内存释放。
摘要由CSDN通过智能技术生成
查看指定端口是否启动
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

  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过滤前几行和最后的空行:

 

释放共享内存
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让系统参数生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值