本文主要是介绍Linux环境shell脚本:如何提升在Linux环境中的工作效率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景:任何环境下,生活得久了,有一些工作行为就变成了习惯!尽管不断的切换工作环境,但是所从事的工作,大相径庭;还是要来一句牢骚:虽然用得不是很熟练,但是好在有笔记啊,脑海里有印象,然后翻翻笔记,也好过去问东问西,做自己的百科全书!闲话少叙......
1、scp远程服务器拷贝文件
scp file username@serverid:path,验证username密码;从当前服务器拷贝file到serverid服务器path路径下;如果是文件夹需要参数:scp -r file_folder。。。
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
2、编辑shell脚本:vim
:set nu 显示行号
:100 回车,移动到指定行号
按数字9再按两次y,表示复制光标下的9行数据,p即在当前光标下粘贴yy所复制所有行的内容
:10,20 s/^/#/g ,^标识行首,替换#注释符号,从10行到20行,g表示所有,没有g则只是第一行,即第10行
:10,20 s/^#//g ,即上面的反向操作,取消注解
3、过滤文件内容grep
grep "" /logs/* -R # 参数-R过滤目录
4、shell脚本复制命令,重复不需要确认:\cp -rf
5、git查看远程仓库地址命令:
$git remote -v
$git remote add origin url # 增加远程仓库地址
6、手动操作linux释放缓存:echo 3 > /proc/sys/vm/drop_caches
tips:在此之前,保护文档,需先执行:sync
7、windows系统下的dos命令curl下载当前地址的文件:
curl -O url即可download当前目录,
curl --help帮助文档,学习几个参数:
curl -o "your_file_name" url 指定下载输出的文件名称及格式;
8、linux根据pid进程/线程id,10进制转换成16进制语句:printf "%x\n" 2644
9、查询文件下后缀是html结束的文件,并以时间降序排列,取第一个并打印出来:find ./java_reports/ -name "*.html" |xargs ls -lt |head -n 1 |awk '{print $9}'
10、redis-cli客户端,在安装部署redis-server时,就应该带了客户端,但是它并没有到linux'/bin目录下,是可执行命令。
我们ln -s [源文件] [目标文件] 软链创建可执行命令,redis-cli -p 端口号,auth yourpasswd 认证用户。dbsize是查看key的数量,KEYS * 列出具体的所有key,select 1 选择db,flushdb 清除当前db,flushall 清除所有db; config get databases查询db个数,默认从0开始,在redis.conf可配置个数。
11、# linux运维替换命令
grep -R "active=test" hcp-* | awk -F':' '{print $1}' |xargs sed -i 's/active=test/active=uat/g'
# 查找文件正则匹配,两分钟以前有update的文件
find ./ -name 'sql*' -mmin -2
# 查找符合规则的文件,然后进行内容查找, xargs 接执行命令:rm -rf 删除、grep 过滤
find ./ -name 'sql*' -mmin -2 |xargs grep 'context'
12、mysql数据库操作:drop database dbname ; mysql -uroot -p # 登录这里默认了ip(本机执行)、端口
言而总之、总而言之,一句话:需要多加熟练,能记牢的还是记牢一点。**日拱一卒无有尽,功不唐捐终入海!**
这篇关于Linux环境shell脚本:如何提升在Linux环境中的工作效率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!