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下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 4. yum 其他指令的功能 yum makecache 命令的功能是将服务器的软件包信息缓存到本地 yum search 命令可以在所有软件包中搜索包含有指定关键字的软件包 yum clean all 我们还可以在文本中进行特定的操作,如下: gg:定位到代码的第一行 shift + g:定位到代码的最后一行(n + shift + g :定位到代码的第n行) shift + 6(^) :定位到特定一行的开始 shift + 4( 粘贴内容到当前行之后(n + p:粘贴n行) dd:剪切/删除光标所在行(n + dd) u:对刚刚的操作进行撤销(即windows下的ctrl+z) ctrl + r:反撤销(windows下的ctrl + y) (4) 三、Linux 编译器 - gcc/g++ 使用 1、程序的翻译过程 在学习 gcc/g++ 之前,我们先回忆一下程序的翻译过程,预处理和程序环境;程序的翻译过程包括预处理、编译、汇编、链接。
--- 身为码农,表示十分痛恨服务器上的各种乱七八糟配置,平时很少用到Linux命令,对Linux一直保持在学了就忘,忘了再学的死循环中,故做此笔记,可能以后翻看的机会也不多,毕竟总有用到的时候 PS: 本文仅针对CentOS,使用其他发行版Linux请绕行,有补充的可以fork我 另外本文不包含安装部分,不会安装的请自行查阅 - - - 一、准备 操作系统 CentOS (本人使用的是7,推荐安装Minimal 安装gcc(C语言源码编译) 安装zlib(解压缩工具) 安装wget(下载工具) 安装pcre(正则表达式) 安装openssl(用于https) 安装make(安装工具) - - - 六、环境变量 linux 5.5.41-2.el7_0.x86_64 Minimal版本也没有libaio,需要安装 yum -y install libaio 以及net-tools yum -y install net-tools Linux - Hadoop 无需安装,直接解压缩后修改配置文件既可用,但需要先安装Jdk 不配私钥只能玩单机版,就个人学习而言,单机版已经足够 以hadoop-2.7.2为例,解压后进入hadoop路径,创建4个文件夹
内存分析工具 valgrind valgrind辅助工具 qcachegrind 可视化查看valgrind结果 淘宝DBA团队发布的监控脚本,使用perl开发,可以完成对linux ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 4 多功能的网络工具(Socket CAT,netcat加强版) netpipes socket操作 ab wget curl tsung 压力测试工具 siege 压力测试和评测工具 nmon 监控Linux vvv lspci -vvv -t 查看所有硬件信息 dmidecode 查看网卡型号 lspci | grep -i ethernet 一条命令取机器IP地址,不同Linux 稍有不同: netstat -ie|awk /broadcast/'{print $2}' netstat -ie|awk -F '[ :]+' /cast/'{print $4}' netstat
内存分析工具 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 稍有不同: netstat -ie|awk /broadcast/'{print $2}' netstat -ie|awk -F '[ :]+' /cast/'{print $4}' netstat
4) 同时多个替换 不同替换间使用分号分开。 显示目录下被进程开启的文件 lsof +d /usr/local/ 5) 显示使用fd为4的进程 lsof -d 4 6) 以UID,列出打开的文件 lsof -u username 7) 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时需要修改主机名,而且主机名不能包含下划线。
dstat、vmstat、iostat、netstat、nfstat、ifstat
简单的说是Windows下登录UNIX、Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。 VT220、ANSI竞争,能从命令行中运行或从浏览器中运行,其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与 它使得用户能轻松和安全地从Windows PC上访问Unix/Linux主机。 Xftp是一个用于MS Windows平台的强大的FTP和SFTP文件传输程序。 4、WinSCP WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。 参考推荐: SecureCRT 实用配置 GTK、KDE、Gnome、XWindows 图形界面 Xmanager远程控制LINUX、UNIX系统X界面
Linux 常用工具: enca: http://dl.cihar.com/enca/ 文件名编码转换 iconv: 文件编码转换 convmv: 文件名编码转换 ldd: 查看可执行文件或动态链接库的依赖库 Library functions (库函数) 4. Special devices (设备说明) 5. File formats (文件格式) 6. library/au-lsof.html ) 字符串操作: #, 删除左边第一个匹配串,保留右边字符串 ##, 删除左边最后一个匹配串,保留右边字符串 %, 删除右边第一个匹配串,保留左边字符串 4 addr' | awk '{print $2}' | cut -d: -f2 子网掩码:/sbin/ifconfig eth1 2> /dev/null | grep 'Mask' | cut -d: -f4 制表符长度为4 :set shiftwidth=4 缩进符为长度为4的空格 ctrl-t, ctrl-d 插入模式的缩进和取消缩进 >> 缩进 << 取消缩进 文件系统 :e .
ctrl+r:历史命令搜索,决定了,Linux系统一定记录了历史命令 四、Linux 常用指令学习小结 本篇博客主要介绍时间相关指令 、其他指令和热键(快捷键) 一、时间相关指令 1、日志的基本概念: 3 Hello Linux 4 Hello World 5 lovely cat 6 lovely dog [xzx@instance-157t533k 9_26 9_26]$ cat -n data.txt 1 hello world 2 hello linux 3 Hello Linux 4 Hello World 3:Hello Linux 4:Hello World -v:反向选择,即显示出没有搜索字符串的行内容 [xzx@instance-157t533k 9_26]$ cat -n data.txt 1 hello world 2 hello linux 3 Hello Linux 4 Hello World 5 lovely cat 6 lovely
Transfer Protocol,中文名超文本传输协议 2、HTTP的重要应用之一是WWW服务,设置HTTP协议最初是提供一种发布和接受HTML页面的方法 3、www全称world wide web(万维网) 4、 OSI模型中第七层应用层 6、官网:www.apache.org #特点 1、2.2版本非常稳定强大,2.4版本性能更高 2、prefork模式取消了进程创建开销 3、高并发时消耗系统资源相对多 4、 视频类流媒体文件,如.mp4 、.swf、.avi 、.wmv 、. ftv #动态网页介绍 动态网页和静态网页是相对的,以.php .js .asp等形式结尾的 #动态网页的特点 1、网页扩展名后缀常见为 :.asp .aspx .php 2、一般以数据库技术为基础 3、实现更多的功能 4、网址中有?
/nginx.org #特点 1、支持高并发:能支持几万并发连接 2、资源消耗少:在3万并发连接下,开启10个nginx进程消耗的内存不到200MB 3、开源做HTTP反向代理及加速缓存,即负载均衡 4、 具备Squid等专业缓存软件等的缓存功能 5、支持异步网络I/O时间模型epoll(Linux2.6+ 内核) #扩展:异步网络和同步网络 #异步网络:将数据发送到缓冲区就返回,发送成功的消息是通过事件通知的 --prefix=PATH #设置安装路径 4. --user=USER #进程用户权限 5. --group=GROUP #进程用户组权限 6. 4.nginx的虚拟主机 1、虚拟主机就是一个独立的站点,这个站点对应独立的域名、或者使IP或端口,也有独立的程序和资源目录 2、由一定的格式标签段标记,Apache使用<VirtualHost></VirtualHost server_name也相应的修改一下 #总结配置虚拟主机的步骤 1、增加一个完整的server标签段,要放再http里面 2、更改server_name及root根目 录 3、创建index.html文件 4、
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系统检索和搜
Fiddler下载地址:Fiddler For .NET4 | Fiddler For .NET2 版本管理 SourceTree SourceTree 是 Windows 和 OS X 下免费的
列出一些看不出来的特殊字符 [root@jkc ~]# cat -n /root/test.py 1 def a(): 2 print("0000") 3 4 8 print("2222") 9 10 def a3(): 11 print("3333") 12 13 def a4( 如: [root@jkc ~]# tac /root/test.py print("5555") def 5(): print("4444") def a4(): print
Java开发工具 Idea Java反编译工具 Java Decompiler
Linux权限 shell命令以及运行原理 Linux权限的概念 Linux权限管理 01. 文件访问者的分类(人) 02.文件类型和访问权限(事物属性) 03. shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。 Linux权限的概念 Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制。 普通用户:在linux下做有限的事情。 需要注意的是,对于后缀来说,Linux的文件属性虽然与其无关,但在其他命令比如gcc的命令下,对于后缀的要求和windows下是一样的,因为gcc只是Linux其中的一个工具,对应windows下的软件 4. 给目录设置粘滞位 对于设置粘滞位,是以root身份设置的,对于root创建的公共目录来说,无论是cfy还是hwc都属于Others,因此我们设置的粘滞位是给Others设置的粘滞位。
一般来说,安装了 Linux 后,就会拥有 md5sum 这个工具,可以直接在命令行终端中使用。 MD5 算法常常被用来验证网络文件传输的完整性,以防止文件被篡改。