nginx重启命令
1,检查配置文件 /usr/local/nginx/sbin/nginx -t
2,加载更新的配置: kill -HUP `ps -ef |grep master |grep -v grep | awk '{print $2}'`
线上mongo重启命令
ps -ef|grep mongo
kill -9 PID
rm -rf /usr/local/mongoDB/data/config/mongod.lock
rm -rf /usr/local/mongoDB/data/shard1/mongod.lock
====================最新命令=====================================================================================
./mongod --shardsvr --replSet shard1 --port 10001 --dbpath /usr/local/mongoDB/data/shard1/ --logpath /usr/local/mongoDB/log/mongod.log --fork --journal --maxConns 10000
./mongod --fork --configsvr --port 10002 --dbpath /usr/local/mongoDB/data/config/ --logpath /usr/local/mongoDB/log/configsvr.log --logappend --oplogSize 1000
./mongos --port 10003 --configdb 172.16.1.30:10002,172.16.1.31:10002,172.16.1.32:10002 --chunkSize 256 --logpath /usr/local/mongoDB/log/mongos.log --fork
mongo连接数查询和跟踪
netstat -n |grep 10003 | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
如何查看服务器的型号:
impitool
线上MongoDB重启命令
1:先杀掉进程
2:删除mongod.lock文件
cd /usr/local/mongoDB/data
rm -rf ./config/mongod.lock
rm -rf ./shard1/mongod.lock
cd /usr/local/mongoDB/bin/
ps -ef |grep mongo
==============================连接数增加之后的命令,黄刚====================================================
./mongod --shardsvr --replSet shard1 --port 10001 --dbpath /usr/local/mongoDB/data/shard1/ --logpath /usr/local/mongoDB/log/mongod.log --logappend --oplogSize 1000 --fork --journal --maxConns 1000
./mongod --fork --configsvr --port 10002 --dbpath /usr/local/mongoDB/data/config/ --logpath /usr/local/mongoDB/log/configsvr.log --logappend
./mongos --fork --port 10003 --configdb 172.16.1.30:10002,172.16.1.30:10002,172.16.1.30:10002 --chunkSize 256 --logpath /usr/local/mongoDB/log/mongos.log
26,27执行线上静态快速缓存命令
启动命令:service squid restart
squidclient -m PURGE -p 80 http://static2.cairenhui.com/images/match/zszqbTop.jpg
squidclient -m PURGE -p 80 http://static.cairenhui.com/2012/09/130/
同步重启命令
/etc/rsyncd.conf
重启 rsync --daemon
redis老提示连不上,查看命令
netstat -n |grep 6379 | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
"netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
关机:init 0
查看redis(安装在linux服务器上)的版本
[root@db148 redis-2.6.10]# src/redis-server --version
Redis server v=2.6.10 sha=00000000:0 malloc=jemalloc-3.2.0 bits=32
[root@db148 redis-2.6.10]# ./src/redis-server -v
Redis server v=2.6.10 sha=00000000:0 malloc=jemalloc-3.2.0 bits=32
修改用户执行权限
#chmod a+x 文件名
#chown -R www:www VStock_TradeSync (修改文件夹权限)
chmod 600 rsyncd.secrets 给文件增加读写权限
修改用户的权限
[root@localhost mysql]# chown -R root:mysql
从管理员切换到普通用户
su 普通用户的用户名
把DOS系统文件转换成UNIX
dos2unix +文件名
查看用户名
cat /etc/passwd
修改密码
以root身份登陆,执行:
# passwd 用户名 (修改密码)
# useradd 用户名 (添加用户)
上传文件
#全局替换 :%s/shizhan/pzb/g
#rz # 打开上传文件窗口
#sz config.properties # 将config.properties文件下载到默认的下载目录下:如C:\Users\liufang\Downloads
#ls -lrt #显示文件的详细信息
#ll -rt #按时间显示文件
ls -lr |wc -l
备份,删除,移动文件
#cp 源文件 目标文件 #将***.sh备份成***.sh_back
#cp -rf源目录 目标目录 #将***.sh备份成***.sh_back
#cp -rf * ../../apache-tomcat-Cairh_Oss/lib/ 跨目录拷贝
#cp /etc/ /tmp #将/etc/目录下的所有内容复制到/tmp目录下
#rm -i 文件名 # 在删除前会询问用户是否操作
#rm 'Holiday .ini' #删除带空格的文件名
#rm -rf 目录 #删除一个不为空的目录
#mv 源文件 目标目录 #将文件移到目标目录中
scp远程复制
#scp local_file remote_username@remote_ip:remote_folder 例:scp -rf /usr/local/app/VStock_TradeSync 192.168.1.213:/usr/local/app/VStock_TradeSync
#scp 20120604.tar.gz 192.168.1.219:/back/
#scp -P8244 Restart_VStockMatch_ZG2_margin.sh 192.168.1.213:/var/Ant/
scp -P8244 vstocks_all.tar.gz root@172.16.1.12:/var/www/WebApp/
文件内容替换
sed -i s/\/bin\/sh\^M/\/bin\/sh/g VStockTradeSync.start.sh
sed -i 's/\/bin\/sh\^M/\/bin\/sh/g' VStockTradeSync.start.sh
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
tar 文件和目录
# tar -cvf ./etc.tar /ect #仅打包,不压缩 例:tar -cvf tradeFile.tar tradeFile/*
# tar -zcvf ./etc.tar.gz /ect #打包后,以gzip压缩 例:tar -zcvf tradeFile.tar.gz tradeFile/*
# tar -ztvf ./etc.tar.gz #查看gzip压缩tar file内的文件 例:tar -ztvf tradeFile.tar.gz
# tar -jcvf ./etc.tar.bz2 /etc #打包后,以bzip2压缩
#tar -xvf ./etc.tar #将打包文件解压到当前目录
# tar -zxvf ./etc.tar.gz #将/tmp/etc.tar.gz文件解压缩到执行此命令的目录中
SVN设置密码
[root@localhost conf]# pwd
/var/svnroot/cairh/conf
设置密码命令:/usr/local/apache/bin/htpasswd /var/svnroot/cairh/conf/users.auth liuf
一.linux操作系统
"Unix时间戳(Unix timestamp) → 北京时间
http://tool.chinaz.com/Tools/unixtime.aspx"
普通时间转unix/linux时间戳命令
date +%s -d"Jan 1, 2011 00:00:01"
时间戳转普通时间
date -d 1293811201
"二、查看和修改Linux的时间
1. 查看时间和日期
命令 : ""date""
2.设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : ""date -s 11/03/2009""
将系统时间设定成下午5点55分55秒的命令
命令 : ""date -s 17:55:55""
3. 将当前时间和日期写入BIOS,避免重启后失效
命令 : ""hwclock -w"""
安装jdk
#rpm –ivh jdk-6u20-linux-i586.rpm
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
#df -h #查看磁盘空间
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
#LANG=en_US.UTF-8 #修改服务器的编码 LANG=zh_CN.GB18030
#export LANG #重启生效
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
#du --max-depth=1 #查看哪个目录占的空间最大
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
#redis 127.0.0.1:6379> info #used_memory即为redis占用内存的情况
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
netstat -nap |grep ESTABLISHED
netstat -nat|grep -i "6379"|wc -l 查询某个服务的连接数
ps -ef|grep httpd|wc -l 统计httpd协议连接数
netstat -antlp |grep LIST 查询端口号
检查端口是否可用
# netstat -s # 查看网络统计信息
在日志中按关键字查询
grep 'error' catalina.out
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
Linux Shell命令
#ls /bin/*sh 查看当前系统有哪些shell
#env 查看当前系统环境
#cash -s /bin/csh linux下shell的修改
shell 命令补全功能 双击tab
man mkdir用法介绍
#history 查询历史记录
#!5 执行历史记录为5的命令
sh脚本删除进程
#!/bin/bash
kill -9 `ps -ef |grep AutoMatching_zg2/Stock_Turnover |grep -v grep | awk '{print $2}'`
sh脚本启动进程
"#!/bin/bash
/usr/local/app/AutoMatching_zg2/Stock_Consign/bin/serialsConsignPull"
TCP/IP基础
1)追踪路由和网关,还有速度 tracert 目标ip/域名 例:tracert www.baidu.com
2)ping 域名 测试两个IP是否畅通
3)ipconfig windows下查看IP情况
ifconfig linux下查看IP情况
4)netsend 192.168.255.255 对网段进行广播
5)ping 127.0.0.1 测自己网卡是否正确
127后除全0和全1都可回路
6)使用tomcat服务器程序 netstat -na 查询当前机器上存在的网络端口号
7)安装Fport工具,可显示网络端口号及启动程序
查询
#find ./ -name *.jar -print 查询所有文件夹下带*.jar的文件
#find / -name maven 查询maven所在的目录
#ls -lrt cairh* 过滤文件夹下带cairh的文件
#ls -ah 查看隐藏文件
#ls | wc -l 查看文件总数
#grep Exception catalina.out 过滤带关键字的LOG
#grep -Ev '(1361757|002570)' matching.log 过滤LOG中包含这两个信息的内容
#grep "1361757" matching.log|grep -v grep |grep "002570" 过滤LOG中同时包含这两个信息的内容
#grep ‘good’ * 在所有文件中搜索含有字符串 good 的行
#grep ‘^myline’ mytext 在文件mytext中搜索行首出现myline字符串的行
#grep -l 'VoIP' /home/znsys/* 查找 /home/znsys/ 下所有含 VoIP 的文件名称:
"#grep -i /home/znsys/*/data/* 'networking'
查找 /home/znsys/ 文件夹下的所有第三层目录内所有文件中包含 “networking"" 的行
如这些目录:
/home/znsys/client_1/data/
/home/znsys/client_2/data/
/home/znsys/vendor_1/data/"
如何在linux文件中多行移动
"Ctrl+v 用光标选择可视区域--->按d进行整体多行删除移动
Ctrl+v 用光标选择可视区域--->按shift:--->s/^/--->空格选择移动区域--->/g按回车键
如下:'<,'>s/^/ /g"
5、vi命令列表
1、下表列出命令模式下的一些键的功能:
h
左移光标一个字符
l
右移光标一个字符
k
光标上移一行
j
光标下移一行
^
光标移动至行首
0
数字"0",光标移至文章的开头
G
光标移至文章的最后
$
光标移动至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光标位置前插入字符
a
在光标所在位置的后一个字符开始增加
o
插入新的一行,从行首开始输入
ESC
从输入状态退至命令状态
x
删除光标后面的字符
#x
删除光标后的#个字符
X
(大写X),删除光标前面的字符
#X
删除光标前面的#个字符
dd
删除光标所在的行
#dd
删除从光标所在行数的#行
yw
复制光标所在位置的一个字
#yw
复制光标所在位置的#个字
yy
复制光标所在位置的一行
#yy
复制从光标所在行数的#行
p
粘贴
u
取消操作
cw
更改光标所在位置的一个字
#cw
更改光标所在位置的#个字
1,检查配置文件 /usr/local/nginx/sbin/nginx -t
2,加载更新的配置: kill -HUP `ps -ef |grep master |grep -v grep | awk '{print $2}'`
3:线上4台nginx还需要执行所有nginx同步脚步 /root/work/inotify/allNginxEffective.sh
===============================================
同步脚本内容:allNginxEffective.sh
#!/bin/bash
#this script is rsync exec the nginx.conf to effective
date=`date +%Y%m%d%T`
echo $date >> /root/work/inotify/switchHome/switch.txt
线上mongo重启命令
ps -ef|grep mongo
kill -9 PID
rm -rf /usr/local/mongoDB/data/config/mongod.lock
rm -rf /usr/local/mongoDB/data/shard1/mongod.lock
====================最新命令=====================================================================================
./mongod --shardsvr --replSet shard1 --port 10001 --dbpath /usr/local/mongoDB/data/shard1/ --logpath /usr/local/mongoDB/log/mongod.log --fork --journal --maxConns 10000
./mongod --fork --configsvr --port 10002 --dbpath /usr/local/mongoDB/data/config/ --logpath /usr/local/mongoDB/log/configsvr.log --logappend --oplogSize 1000
./mongos --port 10003 --configdb 172.16.1.30:10002,172.16.1.31:10002,172.16.1.32:10002 --chunkSize 256 --logpath /usr/local/mongoDB/log/mongos.log --fork
mongo连接数查询和跟踪
netstat -n |grep 10003 | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
如何查看服务器的型号:
impitool
线上MongoDB重启命令
1:先杀掉进程
2:删除mongod.lock文件
cd /usr/local/mongoDB/data
rm -rf ./config/mongod.lock
rm -rf ./shard1/mongod.lock
cd /usr/local/mongoDB/bin/
ps -ef |grep mongo
==============================连接数增加之后的命令,黄刚====================================================
./mongod --shardsvr --replSet shard1 --port 10001 --dbpath /usr/local/mongoDB/data/shard1/ --logpath /usr/local/mongoDB/log/mongod.log --logappend --oplogSize 1000 --fork --journal --maxConns 1000
./mongod --fork --configsvr --port 10002 --dbpath /usr/local/mongoDB/data/config/ --logpath /usr/local/mongoDB/log/configsvr.log --logappend
./mongos --fork --port 10003 --configdb 172.16.1.30:10002,172.16.1.30:10002,172.16.1.30:10002 --chunkSize 256 --logpath /usr/local/mongoDB/log/mongos.log
26,27执行线上静态快速缓存命令
启动命令:service squid restart
squidclient -m PURGE -p 80 http://static2.cairenhui.com/images/match/zszqbTop.jpg
squidclient -m PURGE -p 80 http://static.cairenhui.com/2012/09/130/
同步重启命令
/etc/rsyncd.conf
重启 rsync --daemon
redis老提示连不上,查看命令
netstat -n |grep 6379 | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
"netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
关机:init 0
查看redis(安装在linux服务器上)的版本
[root@db148 redis-2.6.10]# src/redis-server --version
Redis server v=2.6.10 sha=00000000:0 malloc=jemalloc-3.2.0 bits=32
[root@db148 redis-2.6.10]# ./src/redis-server -v
Redis server v=2.6.10 sha=00000000:0 malloc=jemalloc-3.2.0 bits=32
修改用户执行权限
#chmod a+x 文件名
#chown -R www:www VStock_TradeSync (修改文件夹权限)
chmod 600 rsyncd.secrets 给文件增加读写权限
修改用户的权限
[root@localhost mysql]# chown -R root:mysql
从管理员切换到普通用户
su 普通用户的用户名
把DOS系统文件转换成UNIX
dos2unix +文件名
查看用户名
cat /etc/passwd
修改密码
以root身份登陆,执行:
# passwd 用户名 (修改密码)
# useradd 用户名 (添加用户)
上传文件
#全局替换 :%s/shizhan/pzb/g
#rz # 打开上传文件窗口
#sz config.properties # 将config.properties文件下载到默认的下载目录下:如C:\Users\liufang\Downloads
#ls -lrt #显示文件的详细信息
#ll -rt #按时间显示文件
ls -lr |wc -l
备份,删除,移动文件
#cp 源文件 目标文件 #将***.sh备份成***.sh_back
#cp -rf源目录 目标目录 #将***.sh备份成***.sh_back
#cp -rf * ../../apache-tomcat-Cairh_Oss/lib/ 跨目录拷贝
#cp /etc/ /tmp #将/etc/目录下的所有内容复制到/tmp目录下
#rm -i 文件名 # 在删除前会询问用户是否操作
#rm 'Holiday .ini' #删除带空格的文件名
#rm -rf 目录 #删除一个不为空的目录
#mv 源文件 目标目录 #将文件移到目标目录中
scp远程复制
#scp local_file remote_username@remote_ip:remote_folder 例:scp -rf /usr/local/app/VStock_TradeSync 192.168.1.213:/usr/local/app/VStock_TradeSync
#scp 20120604.tar.gz 192.168.1.219:/back/
#scp -P8244 Restart_VStockMatch_ZG2_margin.sh 192.168.1.213:/var/Ant/
scp -P8244 vstocks_all.tar.gz root@172.16.1.12:/var/www/WebApp/
文件内容替换
sed -i s/\/bin\/sh\^M/\/bin\/sh/g VStockTradeSync.start.sh
sed -i 's/\/bin\/sh\^M/\/bin\/sh/g' VStockTradeSync.start.sh
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
tar 文件和目录
# tar -cvf ./etc.tar /ect #仅打包,不压缩 例:tar -cvf tradeFile.tar tradeFile/*
# tar -zcvf ./etc.tar.gz /ect #打包后,以gzip压缩 例:tar -zcvf tradeFile.tar.gz tradeFile/*
# tar -ztvf ./etc.tar.gz #查看gzip压缩tar file内的文件 例:tar -ztvf tradeFile.tar.gz
# tar -jcvf ./etc.tar.bz2 /etc #打包后,以bzip2压缩
#tar -xvf ./etc.tar #将打包文件解压到当前目录
# tar -zxvf ./etc.tar.gz #将/tmp/etc.tar.gz文件解压缩到执行此命令的目录中
SVN设置密码
[root@localhost conf]# pwd
/var/svnroot/cairh/conf
设置密码命令:/usr/local/apache/bin/htpasswd /var/svnroot/cairh/conf/users.auth liuf
一.linux操作系统
"Unix时间戳(Unix timestamp) → 北京时间
http://tool.chinaz.com/Tools/unixtime.aspx"
普通时间转unix/linux时间戳命令
date +%s -d"Jan 1, 2011 00:00:01"
时间戳转普通时间
date -d 1293811201
"二、查看和修改Linux的时间
1. 查看时间和日期
命令 : ""date""
2.设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : ""date -s 11/03/2009""
将系统时间设定成下午5点55分55秒的命令
命令 : ""date -s 17:55:55""
3. 将当前时间和日期写入BIOS,避免重启后失效
命令 : ""hwclock -w"""
安装jdk
#rpm –ivh jdk-6u20-linux-i586.rpm
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
#df -h #查看磁盘空间
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
#LANG=en_US.UTF-8 #修改服务器的编码 LANG=zh_CN.GB18030
#export LANG #重启生效
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
#du --max-depth=1 #查看哪个目录占的空间最大
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
#redis 127.0.0.1:6379> info #used_memory即为redis占用内存的情况
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
netstat -nap |grep ESTABLISHED
netstat -nat|grep -i "6379"|wc -l 查询某个服务的连接数
ps -ef|grep httpd|wc -l 统计httpd协议连接数
netstat -antlp |grep LIST 查询端口号
检查端口是否可用
# netstat -s # 查看网络统计信息
在日志中按关键字查询
grep 'error' catalina.out
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
Linux Shell命令
#ls /bin/*sh 查看当前系统有哪些shell
#env 查看当前系统环境
#cash -s /bin/csh linux下shell的修改
shell 命令补全功能 双击tab
man mkdir用法介绍
#history 查询历史记录
#!5 执行历史记录为5的命令
sh脚本删除进程
#!/bin/bash
kill -9 `ps -ef |grep AutoMatching_zg2/Stock_Turnover |grep -v grep | awk '{print $2}'`
sh脚本启动进程
"#!/bin/bash
/usr/local/app/AutoMatching_zg2/Stock_Consign/bin/serialsConsignPull"
TCP/IP基础
1)追踪路由和网关,还有速度 tracert 目标ip/域名 例:tracert www.baidu.com
2)ping 域名 测试两个IP是否畅通
3)ipconfig windows下查看IP情况
ifconfig linux下查看IP情况
4)netsend 192.168.255.255 对网段进行广播
5)ping 127.0.0.1 测自己网卡是否正确
127后除全0和全1都可回路
6)使用tomcat服务器程序 netstat -na 查询当前机器上存在的网络端口号
7)安装Fport工具,可显示网络端口号及启动程序
查询
#find ./ -name *.jar -print 查询所有文件夹下带*.jar的文件
#find / -name maven 查询maven所在的目录
#ls -lrt cairh* 过滤文件夹下带cairh的文件
#ls -ah 查看隐藏文件
#ls | wc -l 查看文件总数
#grep Exception catalina.out 过滤带关键字的LOG
#grep -Ev '(1361757|002570)' matching.log 过滤LOG中包含这两个信息的内容
#grep "1361757" matching.log|grep -v grep |grep "002570" 过滤LOG中同时包含这两个信息的内容
#grep ‘good’ * 在所有文件中搜索含有字符串 good 的行
#grep ‘^myline’ mytext 在文件mytext中搜索行首出现myline字符串的行
#grep -l 'VoIP' /home/znsys/* 查找 /home/znsys/ 下所有含 VoIP 的文件名称:
"#grep -i /home/znsys/*/data/* 'networking'
查找 /home/znsys/ 文件夹下的所有第三层目录内所有文件中包含 “networking"" 的行
如这些目录:
/home/znsys/client_1/data/
/home/znsys/client_2/data/
/home/znsys/vendor_1/data/"
如何在linux文件中多行移动
"Ctrl+v 用光标选择可视区域--->按d进行整体多行删除移动
Ctrl+v 用光标选择可视区域--->按shift:--->s/^/--->空格选择移动区域--->/g按回车键
如下:'<,'>s/^/ /g"
5、vi命令列表
1、下表列出命令模式下的一些键的功能:
h
左移光标一个字符
l
右移光标一个字符
k
光标上移一行
j
光标下移一行
^
光标移动至行首
0
数字"0",光标移至文章的开头
G
光标移至文章的最后
$
光标移动至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光标位置前插入字符
a
在光标所在位置的后一个字符开始增加
o
插入新的一行,从行首开始输入
ESC
从输入状态退至命令状态
x
删除光标后面的字符
#x
删除光标后的#个字符
X
(大写X),删除光标前面的字符
#X
删除光标前面的#个字符
dd
删除光标所在的行
#dd
删除从光标所在行数的#行
yw
复制光标所在位置的一个字
#yw
复制光标所在位置的#个字
yy
复制光标所在位置的一行
#yy
复制从光标所在行数的#行
p
粘贴
u
取消操作
cw
更改光标所在位置的一个字
#cw
更改光标所在位置的#个字