Linux
文章平均质量分 95
圣斗士Morty
Java开发者,技术学习爱好者,费曼技巧学习法践行者
展开
-
Linux 底层原理 —— epoll 与多路复用
引言epoll 是 Linux 系统下高性能网络服务的必备技术,很多面试中高频出现的 Nginx、Redis 都使用了这一技术,本文总结 linux 多路复用模型的演变过程,看一看epoll 是如何实现高性能的。一、相关基础知识1.1 文件描述符文件描述符:file descriptor,是Linux 内核为了高效管理已被打开的文件所创建的索引,形式上是一个非负整数,用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。最常见的文件描述符是 0 (标准输入)、1 (标准输.原创 2021-03-26 22:25:43 · 914 阅读 · 0 评论 -
Linux 实操 —— Linux 系统性能分析
引言最近配合解决压测(性能测试)方面的问题,了解到了一些可以监控 Linux 系统性能指标,如CPU、IO、内存等的工具。此篇博客主要讲解 Linux 系统监控的一些重点内容以及 sar 命令的使用。一、Linux 性能分析聚焦Linux 性能分析的重要参数包括:1、系统整体 cpu 利用率(利用率 >= 50 % 需要注意;>=70% 需要密切关注;>=9...原创 2020-01-02 14:50:42 · 610 阅读 · 0 评论 -
Linux 实操 —— 日志筛选操作(sed与wc命令介绍)
引言在处理数据交互业务场景的问题时,经常会出现需要统计日志中出现某些指定关键字的行数,或者行数,那么如何通过Linux 命令来快速统计一段时间之内,某个特定关键字出现的行数呢?这篇文章将会给你答案。一、快速统计一段时间内特定log关键字出现行数指令示例:sed -n '/2019-12-28 11:26/,/2019-12-28 12:13/p' nohup.out | grep...原创 2019-12-28 14:40:10 · 2099 阅读 · 0 评论 -
Linux 实操———— Shell 远程执行命令
引言目前,开发人员的部署方式是,将项目打包(Maven 打包) 然后将 生成的 jar 包等文件,通过Xshell 等终端工具手动传输到远程服务器上,然后再通过在终端执行远程服务器上的 shell 脚本来启动服务。本篇博客聚焦这样一种解决方案,通过在本地(Windows或Mac 系统等)运行 Shell 脚本,使用 scp 命令传输,并通过 ssh 命令执行远程服务器上的指令或脚本,来完成...原创 2019-10-13 19:52:13 · 3835 阅读 · 0 评论 -
Spring Boot 实用开发技巧————Eclipse 远程调试
引言在之前的开发当中,都会进行本地项目启动,然后向本地服务发起请求来进行 Debug 调试代码,这也是开发人员最常见的调试操作。但是当项目逐渐成型,慢慢的将各个模块部署到服务器后,调试的手段可能就仅仅剩下查看执行日志了。然而和本地 Debug 代码不同,通过日志排查问题是非常不方便的,你需要在特定的位置打印日志预测问题可能出现的原因,无法精确、快速的定位问题。为了解决这个问题,JVM 提供...原创 2019-10-13 00:52:42 · 962 阅读 · 0 评论 -
Linux 实操———CentOS 6 安装配置 Tomcat
引言Linux下安装Tomcat。一、下载、传输与解压同《Linux 实操———CentOS 6 安装配置 Oracle JDK 1.8》一样,前期都是先在远程机上下载压缩包,然后通过远程终端,将压缩包放在 Linux 的 opt 目录下,然后解压。下载地址是Tomcat 官网:https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5....原创 2019-10-07 21:21:04 · 538 阅读 · 0 评论 -
Linux 实操———CentOS 6 安装配置 Oracle JDK 1.8
引言本篇博客也属于Linux进阶系列,主要讲解如何在CentOS 6 下安装并配置 JDK 8。由于通过 yum 搜索的结果都是 openjdk,而目前企业中还是以 Oracle jdk 为主,因此,操作步骤这样的。在Oracle 官网把 jdk 1.8 下载下来,然后通过远程终端下载好的 tar.gz 文件放到 CentOS 6 下,再进行解压和配置操作。一、下载和传输在官网找到...原创 2019-10-05 09:07:08 · 414 阅读 · 0 评论 -
Linux进阶之路———Shell 编程入门
引言通过 Shell 编程的学习,铺平架构师道路上的一块大砖。Shell 在Linux 系统中的定位如下所示:一、第一个 Shell 脚本我们通过一个简单的 Shell 脚本来感受一下。在 Shell 中不需要加 “;” 结尾,通过 vim 可以进行 shell 的编程工作,并且一般建议为 shell 文件添加可执行权限。更改权限之后,执行脚本:另外如果...原创 2019-10-04 20:18:23 · 476 阅读 · 0 评论 -
Linux进阶之路———— RPM 与 YUM 包管理
引言rpm 是一种用于互联网下载的打包及安装工具,它包含在某些 Linux 发行版中,生成具有 .rpm 扩展名的文件。rpm 是 redhat package manager(RedHat 软件包管理器)的缩写,类似 Windows 下的 setup.exe 文件。这一文件格式虽然打上了 RedHat 的标志,但是理念是通用的。Yum (全称:Yellow dog Updater Mod...原创 2019-10-04 09:33:01 · 378 阅读 · 0 评论 -
Linux进阶之路————进程与服务管理
引言在Linux 中,每个执行的程序(代码)都成为一个进程,Linux 为每一个进程分配了一个唯一的 id 号 - PID。每个进程都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www 服务器。每个进程都可能以两种方式存在 - 前台/ 后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常运行在管理员无法感知的后台。...原创 2019-09-28 23:06:07 · 481 阅读 · 0 评论 -
Linux进阶之路————CentOS网络配置
引言Linux在装机后,如果没有特殊配置,会使用动态获取 IP 地址的策略。本文描述了,虚拟机使用网络的拓扑图,以及如何通过配置,将 IP 地址固定下来,不会因为重启而失效。同时可以访问外网地址。一、NAT模式NAT - 网络地址转换,是目前 IPv4 的ip 地址分配策略,可以解决 ip 地址不足的问题,同时有效地防止来自网络外部的攻击,隐藏并保护网络内部的计算机。具体细节请戳:...原创 2019-09-28 22:10:30 · 801 阅读 · 0 评论 -
Linux进阶之路————磁盘查询
引言承接《Linux进阶之路————Linux磁盘分区与挂载》,本文介绍实际生产中对于磁盘的监控和查询。一、查询磁盘整体使用情况基本语法:df -h该命令会显示包括我们手动挂载的磁盘,如果使用 umount 卸载磁盘,那么将不会显示:二、查询指定目录磁盘占用情况基本语法:du -h 目录名该命令查询指定目录的磁盘占用情况,默认为当前目录。常用...原创 2019-09-28 12:42:18 · 536 阅读 · 0 评论 -
服务端开发——云服务器的端口转发设置(SSH隧道)
引言本篇博客介绍端口转发的知识,并详细阐述操作和设置步骤。这是因为在实际工作中,会有很多企业从安全的角度考虑,为线上或重要的服务器设置一个跳板机(堡垒机),避免远程开发人员直接操作,是企业应用开发中的重要保护措施。一、端口转发端口转发(Port Forwarding),或者叫SSH隧道(SSH Tunnel),是运维人员相关操作的必修课,也是开发人员必须要了解的知识。以下引用百科中的一...原创 2019-09-13 21:29:27 · 8600 阅读 · 2 评论 -
Linux进阶之路————Linux磁盘分区与挂载
引言对于Linux来说,无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录 / ,一个独立且唯一的文件结构,Linux 中每个分区都是用来组成整个文件系统的一部分。Linux采用一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。一、Linux分区原理示意图二、Li...原创 2019-08-11 20:25:07 · 659 阅读 · 0 评论 -
Linux进阶之路————crond定时任务调度
引言crond 的概念和 crontab 是不可分割的。crontab 是一个命令,而 crond 是Linux 下用来周期性执行某种任务或等待处理某些事件的守护进程,类似于 Windows 下的计划任务。当装完操作系统之后,默认便会安装 crond 服务工具,并会自动启动 crond 进程,crond 进程每分钟定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Lin...原创 2019-08-11 12:43:53 · 520 阅读 · 0 评论 -
Linux进阶之路————组管理与权限管理
引言这篇博客将会总结一些关于组的概念和相关操作,以及文件的一些权限管理。一、组的基本介绍在前面的博文《Linux进阶之路————用户管理》已经有提到用户组的概念,实际上,组的概念并不局限于用户,文件和目录都有组的概念。在Linux中每个用户必须属于一个组,不能独立于组外。在Linux中,每个文件有所有者、所在组、其他组的概念。二、查看文件所有者及所在组命令如下:# a...原创 2019-04-29 17:06:01 · 350 阅读 · 0 评论 -
Linux进阶之路————scp指令介绍与演示
引言目前市场上很多终端软件都自带文件传输功能,且多为图形化界面,操作简单无脑。但是本着“指令最高端,拖拽贼JBLow”的原则,今天学习一下文件传输的命令:scp操作演示准备两台linux服务器 (我的是弄了两个CentOS 6 的虚拟机,安装参考《Linux——VMware虚拟机安装CentOS步骤》)A:192.168.1.137(local)B:192.168.1.129...原创 2019-04-24 11:35:06 · 558 阅读 · 0 评论 -
Linux问题处理————命令提示符显示 bash-4.1# 解决方案
引言本文系Linux学习过程中的一个小插曲。在使用root用户创建了一个普通的tom 用户之后,系统莫名其妙卡死,重启后,发现命令提示符不再是 “用户名 + 目录”这种组合,而变成了 bash-4.1# 开头:解决办法将/etc/skel 文件中的 .bash_profile 和.bashrc 这两个文件拷贝到当前用户主目录下重启即可。注意,首先需要切换到出问题的用户下,切换的...原创 2019-04-20 23:52:32 · 4284 阅读 · 3 评论 -
Linux进阶之路——常用命令总结
一、帮助命令helpmantype区分内建、外建命令【扩展】关于内建命令与外建命令。内建命令属于shell程序的一部分,包含一些比较简单的Linux命令。这些命令被写在/bin/bash 文件的 builtins 里面,由shell程序识别并在shell程序内部完成运行。通常在Linux系统加载运行时,shell就被加载并驻留在系统内存中。解析内建命令不she...原创 2019-04-20 22:30:37 · 514 阅读 · 0 评论 -
Linux进阶之路————Linux运行级别(重置密码)
引言前面的《Linux进阶之路————开机、重启和用户登录注销》已经简单介绍过Linux系统运行级别的概念,今天来详细介绍和总结一下Linux的运行级别。inittab配置文件在配置文件目录下有一个inittab文件/etc/inittab,用于专门存储系统的运行级别,当Linux系统启动时,会查询这个运行级别。从文件中大量的注释信息中我们了解到,该文件只用于设置系统的运行...原创 2019-04-20 14:17:19 · 399 阅读 · 0 评论 -
Linux进阶之路————用户管理
引言前面几篇关于Linux的已经大概领略了Linux的风采,本篇用户管理,将着重总结日常工作中,非常重要的用户管理功能。主要包括:新增用户、删除用户、查询用户信息、指定/修改密码、切换用户、用户组,以及与用户管理相关的三个重要文件。新增用户用户管理相关的操作都是比较简单,不涉及什么运行原理。Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管...原创 2019-04-14 23:30:28 · 324 阅读 · 0 评论 -
Linux进阶之路————开机、重启和用户登录注销
关机、重启命令shutdown 命令:1)shutdown -h now 立即关机2)shutdown -h 1 1分钟之后关机3)shutdown -r now 立即重启reboot 命令,直接使用,表示立即重启halt 命令,直接使用,效果等效于关机sync 命令,表示把内存中的数据同步到磁盘上。不管是重启系统还是关闭...原创 2019-04-14 22:18:20 · 601 阅读 · 0 评论 -
Linux进阶之路————远程登录与vim编辑器
远程登录远程的Linux系统中,如果希望通过ssh协议登录,那么在Linux需要有一个sshd服务监听22端口,也就是说要想通过ssh登录远程linux,那么linux必须安装sshd服务,并开启。这是一个远程登录成功的前提。vi、vim编辑器基本介绍所有的Linux系统都会内建vi文本编辑器。而vim具有程序编辑的能力,可以看做是vi的增强版,可以主动的以字体颜色辨别语法的正确性...原创 2019-04-14 21:38:37 · 434 阅读 · 0 评论 -
Linux进阶之路————Linux概述
引言Linux是一个开源、免费的操作系统。学习Linux知识分为以下几个阶段:第一阶段:Linux环境下的基本操作命令,包括文件操作命令(rm、mkdir、chmod、chown)编辑工具使用(vi、vim)Linux用户管理(useradd、userdel、usermod)等。第二阶段:Linux的各种配置(环境变量配置、网络配置、服务配置)第三阶段:Linux下如何搭建对应语言...原创 2019-04-14 21:32:23 · 253 阅读 · 0 评论 -
Linux——VMware虚拟机安装CentOS步骤
一、下载CentOS.iso镜像最地道的下载方式就是通过官网,大多数的网上连接会直接抛出网易、华为的镜像连接,实际上这些连接都可以在官网找到:官网地址(可直接百度搜索CentOS):https://www.centos.org/1.1 如何在官网找到正确的下载连接?最终连接:http://mirrors.huaweicloud.com/centos/6/isos/x86_64/Ce...原创 2019-01-16 18:57:31 · 695 阅读 · 1 评论 -
Linux下查看版本及系统信息
一、查看Linux发行版本[root@localhost ~]# cat /etc/issueCentOS release 6.8 (Final)Kernel \r on an \m[root@localhost ~]# cat /etc/redhat-releaseCentOS release 6.8 (Final)二、查看Linux内核信息[root@loca...原创 2019-01-15 16:30:33 · 599 阅读 · 0 评论 -
Linux——less指令常用操作
引言对于生产环境、测试环境中的日志文件,我们可以通过less指令来进行查看并通过关键字进行查找。less命令的含义是:分屏查看文件内容。它要比more命令更加强大,less在显示文件内容时,并不是一次将整个文件加载之后才显示,而是按需加载,对于显示大文件具有较高的效率。在日志操作中,通常需要快速定位“关键字”,因此可以在 less 命令下打开日志文件,然后按G移动到日志的最后,然后输入...原创 2018-10-25 14:54:24 · 3273 阅读 · 0 评论 -
UP装机部署步骤大纲
Linux装机插上网线,然后,Ubuntu系统安装(略)更改root密码以装机时设置的用户登陆后,sudo修改root用户密码,然后退出,重新登录root。$ sudo passwd root 下载并安装JDK$ java(根据提示安装jdk)下载并安装SSH安装 $ apt-get install openssh-server ## 安装ssh服务并...原创 2018-08-31 17:09:44 · 896 阅读 · 0 评论 -
Linux(Ubuntu)设置系统时区
设置东八区的时间:#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime查看:#date如果现实CST即为正确。另外,Java打成jar包后再linux下运行,获取的时间有可能不正确,我们需要修改一个文件,Ubuntu系统下的/etc/timezone,网上铺天盖地的/etc/sysconfig/clock,妈的,Ubuntu根本没这个文件,害得我...原创 2017-09-07 14:37:08 · 647 阅读 · 0 评论 -
Linux(Ubuntu)下设置开机自启shell脚本执行Java程序jar包
一、建立脚本文件:二、设置权限三、将脚本文件放到启动目录下四、更新优先级cd /etc/init.dsudo update-rc.d startm.sh defaults 90至此,开机启动已经完成,我们可以通过reboot重启linux,来查看jar包是否已经启动成功。而且,在/etc/rc2.d、rc3.d、rc4.d、rc5.d文件夹中也可以看到我们的st...原创 2017-09-07 11:11:20 · 8160 阅读 · 0 评论