提升Linux环境中的工作效率的几个小技巧
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
背景
任何环境下,生活得久了,有一些工作行为就变成了习惯!尽管不断的切换工作环境,但是所从事的工作,大相径庭;还是要来一句牢骚:虽然用得不是很熟练,但是好在有笔记啊,脑海里有印象,然后翻翻笔记,也好过去问东问西,做自己的百科全书!闲话少叙......
1、scp远程服务器拷贝文件 ``` scp file [email protected]: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(本机执行)、端口
言而总之、总而言之,一句话:需要多加熟练,能记牢的还是记牢一点。