首页 文章 精选 留言 我的

精选列表

搜索[linux],共10000篇文章
优秀的个人博客,低调大师

20个堪称神器的Linux命令行软件

1.ag:比grep、ack更快的递归搜索文件内容。 2.tig:字符模式下交互查看git项目,可以替代git命令。 3.mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。 4.jq: json文件处理以及格式化显示,支持高亮,可以替换python -m json.tool。 5.shellcheck:shell脚本静态检查工具,能够识别语法错误以及不规范的写法。 6.yapf:Google开发的python代码格式规范化工具,支持pep8以及Google代码风格。 7.mosh:基于UDP的终端连接,可以替代ssh,连接更稳定,即使IP变了,也能自动重连。 8.fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端ctrl-r历史命令搜索简直完美。 9.PathPicker(fpp):在命令行输出中自动识别目录和文件,支持交互式,配合git非常有用。 运行以下命令: git diff HEAD~8 --stat | fpp 10.htop: 提供更美观、更方便的进程监控工具,替代top命令。 11.axel:多线程下载工具,下载文件时可以替代curl、wget。 axel -n 20 http://centos.ustc.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso 12.sz/rz:交互式文件传输,在多重跳板机下传输文件非常好用,不用一级一级传输。 13.cloc:代码统计工具,能够统计代码的空行数、注释行、编程语言。 14.ccache:高速C/C++编译缓存工具,反复编译内核非常有用。使用起来也非常方便: gcc foo.c改成: ccache gcc foo.c 15.tmux:终端复用工具,替代screen、nohup。 16.neovim: 替代vim。 17.script/scriptreplay: 终端会话录制。 script -t 2>time.txt session.typescript # 录制开始# your commandsexit # 录制结束回放: scriptreplay -t time.txt session.typescript 18.you-get: 非常强大的媒体下载工具,支持youtube、google+、优酷、芒果TV、腾讯视频、秒拍等视频下载。 还有mac专有的pbcopy/pbpaste: 把命令行输出拷贝到系统粘贴板: cat test.sh| pbcopy把系统粘贴板内容拷到终端: pbpastemac下的say命令支持多种语言(英语、普通话、粤语)文本朗读,支持各种销魂恐怖的语气。跑这个命令感受下,小心被吓着了: for i in `say -v '?' | cut -d ' ' -f 1`; do echo $i && say -v "$i" 'Hello World';done19.thefuck:用途是每次命令行打错了以后,打一句fuck就会自动更正命令。比如apt-get打成了aptget。fuck以后自动变成apt-get。但还是没加sudo。再fuck,成功! 又比如git branch打成了git brnch。fuck!更正成git branch。 又比如python打成了puthon。fuck!一秒变python。 而且关键是每次打命令和内心os完全一致,有种人机合一的快感。fuck! 20.tldr: 如果你经常不想详读man文档,那么你应该试试这个小工具。 使用 $ man tar时 使用 $ tldr tar 时 原文发布时间为:2018-12-4 本文作者:机器学习算法与Python学习 本文来自云栖社区合作伙伴“机器学习算法与Python学习”,了解相关信息可以关注“guodongwei1991”微信公众号

优秀的个人博客,低调大师

Linux系统Docker配置阿里云镜像加速器

安装/升级Docker客户端 推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce 配置镜像加速器 针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://v2ltjwbg.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker

优秀的个人博客,低调大师

linux】tomcat新版本特性引发的url问题

通过我们的测试,在tomcat7.0.73版本以上都会出现下列描述的问题。 1、测试报错: Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:192) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1028) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) 2、通过抓包看出,当get请求为: http://localhost:8080/sma-scm/interface.do?req={"hard":"FD89C82352A9B0940BC5C86D9F1E36DF4F8E70382D265975","channel":"ADDB1A3E0F6EDA9AE89B542B977107C0A25B1EE205A42BE1"} 会出现这种报错,因为升级tomcat后有一些字符(例如“{,}“),当他们直接放在Url中的时候,可能会引起解析程序的歧义 Tomcat8.5,当Get请求中包含了未经编码的非法字符时,会报以下错误,请求未到应用程序在Tomcat层就被拦截了。 经过测试,paphone控件和老版本的APP SDK请求时都会报此错 Tomcat报错: java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 会返回400错误。 3、经查询,Tomcat7.0.73就已经添加了RFC 3986这个规范。 RFC 3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(! * ’ ( ) ; : @ & = + $ , / ? # [ ])。 还有一些字符当直接放在Url中的时候,可能会引起解析程序的歧义,这些字符被视为不安全字符。 ?空格:Url在传输的过程,或者用户在排版的过程,或者文本处理程序在处理Url的过程,都有可能引入无关紧要的空格,或者将那些有意义的空格给去掉。 ?引号以及<>:引号和尖括号通常用于在普通文本中起到分隔Url的作用 ?#:通常用于表示书签或者锚点 ?%:百分号本身用作对不安全字符进行编码时使用的特殊字符,因此本身需要编码 ?{}|\^[]`~:某一些网关或者传输代理会篡改这些字符 4、对于此问题,有以下几种解决方案。 1)切换版本到低版本。(不可用) 2)修改Tomcat源码。(不可用) 3)前端请求对URL编码。 4)修改Get方法为Post方法。 5)因{ }是不安全字符,默认被 tomcat拦截。如果需要在URL中传输json数据,在catalina.properties中添加支持。 5、以下是尝试结果: 1)尝试上报服务请求修改catalina.properties文件配置 添加tomcat.util.http.parser.HttpParser.requestTargetAllow=|{} 测试结果: IE浏览器还是有相同报错,如果请求里面只含有 { 、}不再报错,但是“仍然无法被识别,因此json无法被识别 改为tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}” 会显示 “是不允许的字符“ Google浏览器不会报错 2)使用HttpGet模拟发送get形式的json请求 测试结果:并没有到tomcat层面,控制台直接报错: Illegal character in query at index 61:http://localhost:8080/sma-scm/interface.do?req={"hard":"FD89C82352A9B0940BC5C86D9F1E36DF4F8E70382D265975","channel":"ADDB1A3E0F6EDA9AE89B542B977107C0A25B1EE205A42BE1"} 使用这种方式只要包含{、}、”都不允许发送请求(根本没到tomcat层面) 3)使用HttpPost模拟发送post形式的json请求 测试结果:无报错 4)尝试在使用HttpGet模拟发送get形式的json请求的时候将请求转义,例如: buf.append("req="+URLEncoder.encode(json, "utf-8")); 测试结果:无报错 5)尝试在服务接收的doGet方法里面转义 测试结果:无效果,请求未到应用程序在Tomcat层就被拦截了。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册