linux 杂碎1

查看某进程名 的 进程号 pidof name  

top 命令 查看指定进程 top -p pid

sed -i(直接修改文件,不在命令行输出) sed -e 只在命令行输出,不修改文件

sed -i 's/zhangsan/lisi/g' *.txt

find . -name *.txt |xargs sed -i 's/444/666/g'

$ cat 1.txt
name=kkk
$ sed -i "/^name/s/=.*/=hhh/g" 1.txt
$ cat 1.txt
name=hhh

find . |grep -ril "dmg.zhonghuass.cn" |xargs sed -i 's/kang/dmg/g'

grep -ril "dmg.zhonghuass.cn" |xargs sed -i 's/kang/dmg/g'

 find . -name "*.html" |grep -ril href=.http:..img.zhonghuass.cn |xargs sed -i s/href=.http:..img.zhonghuass.cn/href="/g

Linux  &  进程前后台切换

cmd & cmd命令将在后台进行运行

执行 jobs 命令列出所有正在后台运行的进程列表。

执行  fg 命令将后台执行的命令调至前台运行

执行 ctrl + z   将前台正在执行的命令放到前台。

执行 bg 命令将在后台暂停的命令 继续执行。

php页面报502错误

执行free -m 查看内存使用情况, buff/cache 已经使用绝大部分内存

手动进行内存的清理和释放

echo 1 > /proc/sys/vm/drop_caches

192.168.10.0/24   指 192.168.10.0,192.168.10.1,192.168.10.2,192.168.10.3

192.168.10.0/16   值 192.168.。。。。

192.168.10.0/8     指 192 。。。。。

cat /etc/passwd |cut -d : -f 1-3

awk  指定分隔符打印

awk -F 'p' '{print $1}' 3.txt   以p为分隔符打印第一列。

uniq 筛选(和sort结合使用,隔行重复的不行,得用sort)

cat access.log | awk '{print $1}' | sort | uniq

打印多列时中间如果不加分隔符会导致 挤在一起  

 cat 1.txt  |awk '{print $1 " "  $2}'

在shell 脚本中 使用 $() 来代替 `` 反斜杠。 反斜杠不好看,会和引号混淆

linux 服务开机自启动

在 /etc/rc.d/rc.local  中假如要执行的命令

给予文件执行权限   chmod +x /etc/rc.d/rc.local

date -r filename   文件最后的修改时间

关于 grep -q   不打印任何标准输入输出,适合于 if 判断语句

if netstat -tnpl | grep -q nginx;then。。。。

关于 selinux 

查看 selinux 配置  cat /etc/selinux/config 

阿里云默认 SELINUX=disabled  为关闭状态。 有三种状态  enforcing 开启  permissive  提醒 disabled 

更新配置中的状态后需要重启机器,不方便重启时 可以直接  setenforce 0 (关闭)

关于查看Linux 核数

cat /proc/cpuinfo |grep processor |wc -l

sar  命令 查看 服务器性能,包括文件读写,系统的调用情况,磁盘I/O ,cpu 效率,内存的使用情况等。

 进程活动,以及IPC 等 有关的活动,命令由  sysstat    包 提供。

yum -y install sysstat

-A:所有报告的总和

-b:显示I/O和传递速率的统计信息

-B:显示换页状态

-d:输出每一块磁盘的使用信息

-e:设置显示报告的结束时间

-f:从制定的文件读取报告

-i:设置状态信息刷新的间隔时间

-P:报告每个CPU的状态

-R:显示内存状态

–u:输出cpu使用情况和统计信息

–v:显示索引节点、文件和其他内核表的状态

-w:显示交换分区的状态

-x:显示给定进程的装

-r:报告内存利用率的统计信息

统计 CPU 的使用情况,每一秒统计一次,统计三次

[root@caiji ~]# sar -u 1 3
Linux 3.10.0-327.22.2.el7.x86_64 (caiji)     06/20/2017     _x86_64_    (4 CPU)

03:46:03 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
03:46:04 PM     all      0.25      0.00      0.00      0.00      0.00     99.75
03:46:05 PM     all      0.25      0.00      0.25      0.00      0.00     99.50
03:46:06 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
Average:        all      0.17      0.00      0.08      0.00      0.00     99.75

关于 sar 命令的 具体使用方法 请参看  http://www.cnblogs.com/howhy/p/6396437.html

关于 xargs   ,可以先和 xargs echo 查看下参数。

ls |xargs -I{} echo {} >> 1.txt

cat hosts | xargs -I{} ssh root@{} hostname

pstree -p 查看进程树

使用 ss -plat  查看哪些进程在监听端口。

 关于shell 编程中的 单引号  双引号 

dir=/home/dir

echo "$dir"     输出 /home/dir
echo  '$dir'    输出  $dir
获取一个sh 脚本内容并执行
curl  -sSL  http://IP/1.sh |sh

关于lsof  

lsof -i tcp:80  查看  http进程
lsof 1.txt 显示打开文件的指定进程
lsof -i :22 查看22 端口的使用状况
lsof -i -sTCP:LISTEN 找出正在等待连接的端口

在编写脚本的时候在前面加上

set -e    
当脚本运行失败时候退出
set -u
当脚本使用未声明变量时脚本退出
bash -n script.sh   对脚本进行语法检车,不执行脚本

 服务器设置禁ping(禁止发送icmp包)

 /etc/sysctl.conf

net.ipv4.icmp_echo_ignore_all=1    禁止ICMP

net.ipv4.icmp_echo_ignore_all=0    允许ICMP 

关于环境变量的配置。

vim /etc/profile                     

PATH=$PATH:/dir/bin

export $PATH

source /etc/profile           

ta

原文地址:https://www.cnblogs.com/jkklearn/p/6667428.html