提升Linux环境中的工作效率的几个小技巧

语言: CN / TW / HK

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

背景

任何环境下,生活得久了,有一些工作行为就变成了习惯!尽管不断的切换工作环境,但是所从事的工作,大相径庭;还是要来一句牢骚:虽然用得不是很熟练,但是好在有笔记啊,脑海里有印象,然后翻翻笔记,也好过去问东问西,做自己的百科全书!闲话少叙......

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(本机执行)、端口

言而总之、总而言之,一句话:需要多加熟练,能记牢的还是记牢一点。