Linux常用工具 一、Linux 项目自动化构建工具 - make/Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile 定义了一系列的规则来指定,哪些文件需要先编译 在 windows 操作系统中,比如 vs2019 这款编译器,有了图形化界面,我们可以直接一键生成解决方案,即编译;但在 Linux 系统中,需要我们使用 gcc 或 g++ 手动进行编译工作,当我们需要编译的文件多起来时 一般而言,一个文件被查看的频率是非常高的;我们所看到的文件,都在磁盘中存放,而文件 = 内容 + 属性,所以更改文件时间的本质其实是访问磁盘,而访问磁盘的效率是很低的,所以,Linux 为了提高效率,更改了 如果我们的 Linux 中没有安装 git,可以执行 sudo yum install -y git 进行安装。 三、Linux 调试器 - gdb 程序的发布方式有两种,debug 模式和 release 模式;Linux gcc/g++ 编译出来的二进制程序,默认是 release 模式;要使用 gdb 调试,
Linux 常用工具 一、Linux 软件包管理器 yum 1. 软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 命令可以清除缓存中老旧的头文件和软件包 yum clean all 命令可以清除缓存中老旧的头文件和软件包 yum -y upgrade 只升级所有包,不升级软件和系统内核,软件和内核保持原样 二、Linux (5)保存并退出(底行模式) 我们在命令模式下按下 Esc ,再按下 shift + ;,即可切换到底行模式,我们在底行模式下可以执行以下操作: w:保存文本(w! 三、Linux 编译器 - gcc/g++ 使用 1、程序的翻译过程 在学习 gcc/g++ 之前,我们先回忆一下程序的翻译过程,预处理和程序环境;程序的翻译过程包括预处理、编译、汇编、链接。
--- 身为码农,表示十分痛恨服务器上的各种乱七八糟配置,平时很少用到Linux命令,对Linux一直保持在学了就忘,忘了再学的死循环中,故做此笔记,可能以后翻看的机会也不多,毕竟总有用到的时候 PS: 本文仅针对CentOS,使用其他发行版Linux请绕行,有补充的可以fork我 另外本文不包含安装部分,不会安装的请自行查阅 - - - 一、准备 操作系统 CentOS (本人使用的是7,推荐安装Minimal 安装gcc(C语言源码编译) 安装zlib(解压缩工具) 安装wget(下载工具) 安装pcre(正则表达式) 安装openssl(用于https) 安装make(安装工具) - - - 六、环境变量 linux lib/pgsql/data/pg_hba.conf 将如下内容修改或复制 host all all 127.0.0.1/32(允许哪个IP访问,如果允许全部,则写成0.0.0.0/0) md5( md5为密码验证) 重启数据库 systemctl restart postgresql 使用密码登录数据库 psql -U admin(用户名) -d testdb(数据库) -h 127.0.0.1
内存分析工具 valgrind valgrind辅助工具 qcachegrind 可视化查看valgrind结果 淘宝DBA团队发布的监控脚本,使用perl开发,可以完成对linux -io/total- ----total-cpu-usage---- ----most-expensive---- --most-expensive- -most-expensive- 1m 5m vvv lspci -vvv -t 查看所有硬件信息 dmidecode 查看网卡型号 lspci | grep -i ethernet 一条命令取机器IP地址,不同Linux 查看网卡RingBuffer大小 ethtool -g eth1 查看流量 sar -n DEV 1 # 流量信息 sar -n EDEV 1 # 错误信息 sar -u 2 5 # 每2秒报告CPU使用率,共显示5行(次) sar -I 14 -o int14.file 2 10 每2秒报告14号中断,共显示10行(次),结果写入文件int14.file sar -f /var
内存分析工具 valgrind valgrind辅助工具 qcachegrind 可视化查看valgrind结果 淘宝DBA团队发布的监控脚本,使用perl开发,可以完成对linux 多功能的网络工具(Socket CAT,netcat加强版) netpipes socket操作 ab wget curl tsung 压力测试工具 siege 压力测试和评测工具 nmon 监控Linux 的网络连接查看工具(socket statistics) ccze 用不同颜色高亮日志协助管理员进行区分和查看分析 netstat 网络统计 ifconfig (ifup ifdown) Linux vvv lspci -vvv -t 查看所有硬件信息 dmidecode 查看网卡型号 lspci | grep -i ethernet 一条命令取机器IP地址,不同Linux
3553340 775800 22420964 0 0 0 41 0 0 6 10 84 0 0 4.3. iostat系统级磁盘IO监测工具 $ iostat Linux 7.2. perf性能分析工具 Linux自带的功能强大的性能分析工具,可结合火焰图。使用方式,如:perf top -p pid。自带了生成SVG格式的图形化工具timechart。 一个进程所创建和打开的文件描述符,全在/proc/PID/fd下,以Linux的init进程为例: # ls /proc/1/fd 0 1 10 11 12 13 14 15 16 几种修改Linux主机名的方法 在安装一些系统时,需要修改hostname,比如安装Hadoop时需要修改主机名,而且主机名不能包含下划线。 永久修改主机名 不同的Linux发行版本,对应的系统配置文件可能不同,SuSE 10.1是/etc/HOSTNAME: # cat /etc/HOSTNAME hadoop_10202 将文件中的
dstat、vmstat、iostat、netstat、nfstat、ifstat
md5sum md5sum 是一个用于计算和校验文件报文摘要的工具程序。 补充说明 md5sum 命令采用 MD5 报文摘要算法(128 位)来计算和检查文件的校验和。 一般来说,安装了 Linux 后,就会拥有 md5sum 这个工具,可以直接在命令行终端中使用。 MD5 算法常常被用来验证网络文件传输的完整性,以防止文件被篡改。 MD5 全称是报文摘要算法(Message-Digest Algorithm 5)。 MD5 文件: md5sum testfile > testfile.md5 进行检查: md5sum testfile -c testfile.md5 如果文件没有发生变化,输出应如下所示: testfile formatted MD5 checksum line md5sum: testfile.md5: no properly formatted MD5 checksum lines found 在这里
用它来远程管理Linux十分好用,其主要优点如下: ◆ 全面支持ssh1和ssh2; ◆ 绿色软件,无需安装,下载后在桌面建个快捷方式即可使用; ◆ 体积很小,仅364KB (0.54 beta版本); 简单的说是Windows下登录UNIX、Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。 它使得用户能轻松和安全地从Windows PC上访问Unix/Linux主机。 Xftp是一个用于MS Windows平台的强大的FTP和SFTP文件传输程序。 Xftp让你能安全地在Unix/Linux和Windows PC之间传输文件。 Xlpd是一个用于MS Windows平台的LPD(行式打印机虚拟后台程序)应用程序。 参考推荐: SecureCRT 实用配置 GTK、KDE、Gnome、XWindows 图形界面 Xmanager远程控制LINUX、UNIX系统X界面
package com.wazn.learn.util; import java.security.MessageDigest; /** * MD5加密工具类 * <功能详细描述> * */ public abstract class MD5Util { public final static String MD5(String pwd) { //用于加密的字符 char md5String[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', MessageDigest mdInst = MessageDigest.getInstance("MD5"); //MessageDigest [byte0 >>> 4 & 0xf]; // 5 str[k++] = md5String[byte0 & 0xf]; // F
Linux 常用工具: enca: http://dl.cihar.com/enca/ 文件名编码转换 iconv: 文件编码转换 convmv: 文件名编码转换 ldd: 查看可执行文件或动态链接库的依赖库 Special devices (设备说明) 5. File formats (文件格式) 6. Games and toys (游戏和娱乐) 7. ${var:0-5:3} # 保留var右边第5个字符起的3个字符 (t.n) echo ${var:0-5} # 截取var最后5个字符 (t.net) echo d: -f2 共接受数据包:/sbin/ifconfig eth0 2> /dev/null | grep 'RX packets' | awk '{print $2}'|cut -d: -f2 使Linux 比如虚拟机里搞个GUI版本的Linux,远程连接到宿主机上。 CentOS的网络管理是NetworkManager和原来的network.service并存,并且NetworkManager先启动。
服务,设置HTTP协议最初是提供一种发布和接受HTML页面的方法 3、www全称world wide web(万维网) 4、HTTP协议的WWW服务应用的默认端口为80,https加密的端口为443 5、 也增加了服务器推送功能 3.0:基于UDP实现,基于UDP的多路复用,加密认证的报文 #HTTP状态码 是用来表示web服务器响应http请求状态的数字代码 #状态码可分为5大类
能支持几万并发连接 2、资源消耗少:在3万并发连接下,开启10个nginx进程消耗的内存不到200MB 3、开源做HTTP反向代理及加速缓存,即负载均衡 4、具备Squid等专业缓存软件等的缓存功能 5、 支持异步网络I/O时间模型epoll(Linux2.6+ 内核) #扩展:异步网络和同步网络 #异步网络:将数据发送到缓冲区就返回,发送成功的消息是通过事件通知的 #同步网络:收发数据,等到数据真正发送出去或者接收到 --user=USER #进程用户权限 5. --group=GROUP #进程用户组权限 6. --with-http-stub_status_module #激活状态信息 7. 也相应的修改一下 #总结配置虚拟主机的步骤 1、增加一个完整的server标签段,要放再http里面 2、更改server_name及root根目 录 3、创建index.html文件 4、检查语法然后重启服务 5、 访问 5.nginx的反向代理 反向代理:接收用户请求代替用户去后端访问 #反向代理的重要参数 ?
2、jdk内存分析命令:jmap、jstack、jstat、jConsole、jvisualvm
常用工具 在线工具 在线工具 开发者工具 在线IDE(coder-server) 腾讯开发者手册 get-pip脚本 各种计算器 镜像站 清华源主页 清华yum源 清华epel源 清华pip源 清华apt源 清华Node源 清华Docker源 Mac软件 gif录制工具:kap 粘贴板工具:Maccy 截图工具:ishot Windows软件 粘贴板:CopyQ 粘贴板:Ditto Linux 软件 以web形式共享你的终端:ttyd 将linux命令以HttpServer的形式共享:gotty 画图工具 ProcessOn Draw.io MindLine在线 在线思维导图 PlantUML
常用软件 Title 开发工具(Windows) 名称说明IDEAJava开发工具Google Chrome最好用的浏览器Navicat数据库图形化界面WebStorm前端开发工具VMware虚拟机管理Xshell一个强大的安全终端模拟软件xftp可以通过网络传输文件notepad++浏览文本文件Sublime text3浏览文本文件Q-Dir资源管理器,可多窗口显示,不占内存其他软件 Foxmail邮件管理网易邮箱大师邮件管理Picgo图片管理Typoramarkdown书写工具Listary系统检索和搜
代码编辑 Cmd Markdown 免费在线Markdown编辑器,一直再用,很不错。 Cmd Markdown下载地址:X86 | X64 反编译 dotPeek dotPeek 是
MDG模块DRF常用工具汇总如下: DRFSUB适用于以下场景: 假设现在甲方有这样的一个需求,他们新加了一个数据接收系统A,该业务系统仅仅接收MDG发送的这两种供应商数据: -国家为“德国”的“ 定义一个DRF过滤器,只允许国家 = “德国”的供应商数据分发到A系统 5. 为了将德国之外其他国家的“旧”数据也发送回系统A,我们需要首先通过DRFSUB将A系统中所有现存的供应商数据加以订阅。
Java开发工具 Idea Java反编译工具 Java Decompiler
Linux网络开发者面临的问题往往比较复杂,因此需要使用一些工具和命令来进行定位和解决。 在本篇博客中,我将总结一些常用的Linux网络开发者工具和命令,包括网络包观测、各层网络状况快速诊断、网络关键统计计数收集、性能诊断、问题复现等方面的命令总结。 bcc 基于 BPF(Berkeley Packet Filter)技术的动态跟踪和性能分析工具集,主要用于 Linux 系统的内核和用户空间程序分析。 比bpftrace更灵活。 网络场景构造 iptables 用于设置和管理 Linux 内核的防火墙。通过 iptables 命令可以设置网络连接的规则、过滤数据包、进行网络地址转换等操作。 可以对特定特征进行丢包,转换。 stress 一个简单但功能强大的 Linux 压力测试工具,可以测试 CPU、内存、I/O、网络等方面的性能。 在我的公众号中有一篇文章---怎样进行问题定位,总结了开发者定位问题的方法论。