Linux万花筒
文章平均质量分 93
良许Linux
公众号:良许Linux
展开
-
Linux系统僵尸进程详解
大安好,我是良许。本文我们将来讨论一下什么是僵尸进程,僵尸进程是怎么产生的,如何杀死一个僵尸进程。Linux中的进程是什么?讲到进程,我们要先了解一下另一个概念:程序。程序说白了就是躺在电脑硬盘上的一个文件而已(如同硬盘女神一样),在被 CPU 执行之前,它啥也做不了。当程序被执行之后,它运行的实例就称为进程 。一个程序可以对应多个进程。进程是系统的工作单元。系统由多个进程组成,其中有的是操作系统进程(执行系统代码),其他的是用户进程(执行用户代码)。所有这些进程都会并发执行,例如通过在单 C.原创 2021-11-14 21:13:44 · 1372 阅读 · 0 评论 -
秒杀系统后台实现详解
秒杀后台实现本文主要讲解项目实战中秒杀如何解决下面问题:1)实现秒杀异步下单,掌握如何保证生产者&消费者消息不丢失2)实现防止恶意刷单3)实现防止相同商品重复秒杀4)实现秒杀下单接口隐藏5)实现下单接口限流1 秒杀异步下单用户在下单的时候,需要基于JWT令牌信息进行登陆人信息认证,确定当前订单是属于谁的。针对秒杀的特殊业务场景,仅仅依靠对象缓存或者页面静态化等技术去解决服务端压力还是远远不够。对于数据库压力还是很大,所以需要异步下单,异步是最好的解决办法,但会带来一些额外的程序上原创 2020-09-08 21:24:31 · 1224 阅读 · 1 评论 -
给你一个反悔的机会
Linux 下 rm 命令是表示删除一个文件,而Linux是没有回收站机制,所以文件一旦删除的话,就彻底从磁盘上删除了。而很多人喜欢加上 -f 选项,是代表强制的意思,更暴力的是删除文件夹的时候使用 rm -rf 命令,这样一来,文件夹本身,以及文件夹下的子子孙孙,都一了百了了。而万一如果你执行了 rm -rf /* 命令,那无疑效果与下面等同:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kU4oVQy-1599380335220)(https://i.loli.ne原创 2020-09-06 16:19:31 · 588 阅读 · 0 评论 -
查看 Linux 系统服务的 5 大方法
Linux 系统服务有时也称为守护程序,是在Linux启动时自动加载并在Linux退出时自动停止的系统任务。在本文中,良许将为大家介绍如何列出 Linux 系统里所有运行的服务,以及如何检查某个服务的当前状态。Centos/RHEL 7.X 的 systemd 系统服务查看CentOS 7.x开始,CentOS开始使用 systemd 服务来代替 daemon ,原来管理系统启动和管理系统服务的相关命令全部由 systemctl 命令来代替。systemctl list-unit-files命令原创 2020-08-03 20:06:43 · 4575 阅读 · 0 评论 -
老生再谈 IoC
IoC,Spring的核心理念之一,确实这是一个老生常谈的东西。但是今天呢!又重新温习之后,想再说说自己对IOC的一些想法。IoC——Inversion of Control,控制反转。要想理解IoC还是要从其本身出发,首先就控制而言,控制是对谁的控制——是对象的控制。其次,反转是什么的反转或者说为什么要称做反转——是对象控制权反转。对象控制,传统的方式就是程序员通过new关键字的方式来生成一个对象,然后由程序员根据程序逻辑人为地控制对象的使用。从这里出发,就可以很好地理解什么是控制反转了。所谓控制反原创 2020-07-23 19:16:00 · 402 阅读 · 0 评论 -
从封装变化的角度看设计模式——组件协作
什么是设计模式 要了解设计模式,首先得清楚什么是模式。什么是模式?模式即解决一类问题的方法论,简单得来说,就是将解决某类问题的方法归纳总结到理论高度,就形成了模式。 设计模式就是将代码设计经验归纳总结到理论高度而形成的。其目的就在于:1)可重用代码,2)让代码更容易为他人理解,3)保证代码的可靠性。 使用面向对象的语言很容易,但是做到面向对象却很难。更多人用的是面向对象的语言写出结构化的代码,想想自己编写的代码有多少是不用修改源码可以真正实现重用,或者可以实现拿来主义。这是一件很正常的事,原创 2020-07-12 21:24:22 · 2759 阅读 · 0 评论 -
从封装变化的角度看设计模式——接口隔离
封装变化之接口隔离在组件的构建过程当中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)的接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。这里的接口隔离不同于接口隔离原则,接口隔离原则是对接口职责隔离,也就是尽量减少接口职责,使得一个类对另一个类的依赖应该建立在最小的接口上。而这里所讲到的接口隔离是对依赖或者通信关系的隔离,通过在原有系统中加入一个层次,使得整个系统的依赖关系大大的降低。而这样的模式主要有外观模式、代理模式、中介者模式和适配器模式。外观模式原创 2020-07-11 14:37:01 · 618 阅读 · 0 评论 -
从封装变化的角度看设计模式——对象创建
封装变化之对象创建在对象创建的过程中,经常会出现的一个问题就是通过显示地指定一个类来创建对象,从而导致紧耦合。这是因为创建对象时指定类名将使你受特定实现的约束而不是特定接口的约束。这会使未来的变化更加复杂。要避免这种情况,就应该间接地创建对象。这种紧耦合的问题很大程度是由new关键字带来的,由于new的紧耦合出现,使得紧耦合的类很难独立地被复用,因为它们之间是相互依赖的。并且紧耦合产生单块的系统,要改变或者删掉一个类,就必须要理解和改变其他许多类。这也是导致系统难以维护和移植的一个重要原因。所以可以通原创 2020-07-10 20:52:06 · 1014 阅读 · 0 评论 -
jvm之栈、堆
1. Java Virtual Machine 人群当中,一位叫java的小伙子正向周围一众人群细数着自己取得的荣耀与辉煌。就在此时,c老头和c++老头缓步走来,看着被众人围住的java,c老头感叹地对着身旁的c++说道:“原以为你就可以挑起我的梁子一直走下去的。” c++笑着回应道:“江山代有才人出,这世界以后总会是90后甚至00后的天下!”察觉到c和c++的java连忙走出人群,说道:“两位前辈谦虚了,这世界可还离不开两位前辈,我只不过是站在了两位前辈的肩上罢了。” “你这小子可是原创 2020-07-09 20:59:42 · 539 阅读 · 0 评论 -
Linux下diff命令用法详解
大家好,我是良许。我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点。在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也有很多很强大的工具,良许之前也写过一篇文章介绍:Linux下9种优秀的代码比对工具推荐这些比对工具其实都是基于 diff 命令,下面就详细介绍一些 diff 命令的用法。diff 命令是一个分析文件信息的命令,可以打印出文件之间的差异。它可以逐行地比较两个文件的内容,也可以递归地比较文件夹的内容。diff原创 2020-07-08 21:43:11 · 3068 阅读 · 0 评论 -
Java工具类之:包装类
我们都知道,JDK 其实给我们提供了很多很多 Java 开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工具类,你会发现它能很大程度的帮你节省时间,能很方便的实现你的需求。当然,没有这些包,你也能实现你的需求,但是你需要时间,今天我们主要是来学习一下包装类。一、包装类介绍1、为什么需要包装类?我们知道 Java 语言是一个面向对象的编程语言,但是 Java 中的基本数据类型却不是面向对象的,但是我们在实际使用中经常需要将基本数据类型转原创 2020-07-07 21:12:33 · 430 阅读 · 0 评论 -
Linux系统中虚拟设备文件的各种实用用法
大家好,我是良许。大家知道,在 Linux 下,一切皆文件,对于设备文件也是如此。我们在工作的过程中,经常会看到 /dev/null 这个玩意,那它到底是什么呢?专业地讲,/dev/null 是一个虚拟设备文件。而对程序而言,这些虚拟设备文件则会被当成真实的文件对待。程序可以向这种数据源请求数据,所得到的数据将由操作系统提供。但是,这些数据并不是从磁盘上读取到的,而是由操作系统动态生成的。虚拟设备文件的一个典型例子就是 /dev/zero 。然而,当你想向 /dev/null 写入数据时,无论你向 /原创 2020-07-06 23:51:26 · 816 阅读 · 0 评论 -
SpringBoot集成Spring Security
1、Spring Security介绍Spring security,是一个强大的和高度可定制的身份验证和访问控制框架。它是确保基于Spring的应用程序的标准 ——来自官方参考手册Spring security 和 shiro 一样,具有认证、授权、加密等用于权限管理的功能。和 shiro 不同的是,Spring security拥有比shiro更丰富的功能,并且,对于Springboot而言,Spring Security比Shiro更合适一些,因为都是Spring家族成员。今天,我们来为原创 2020-07-05 15:39:23 · 1326 阅读 · 0 评论 -
java实现冒泡排序
冒泡排序:算法重复走访要排序的数列,一次比较两个元素,如果它们顺序错误就交换它们的位置,这样最大的数就到了最后,重复操作即可得到有序数列。冒泡排序算法运行: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3. 针对所有的元素重复以上的步骤,除了最后一个。 4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。代码实现: public s原创 2020-07-04 20:52:24 · 2835 阅读 · 0 评论 -
使用telnet测试指定端口的连通性
大家好,我是良许。大家知道,telnet 是一个阉割版的 ssh ,它数据不加密,数据容易被盗窃,也容易受中间人攻击,所以默认情况下 telnet 端口是必须要被关闭的。telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性。确认远程主机的端口在测试端口的连通性之前,我们先使用 nmap 命令来查看目标服务器的端口开放状态。$ nmap lxlinux.net使用telnet测试端口的连通性在确认了目标服务器的端口开放性之后,我们就可以使用原创 2020-07-03 19:59:06 · 3990 阅读 · 2 评论 -
聊聊Java中的异常及处理
前言在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。今天就让我们来看看什么是异常和怎么合理的处理异常吧!异常与error介绍下面还是先让我们来看一下基本概念吧! 异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。异常机制本质就是当程序出现错误,程序安全退出的机制。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对原创 2020-07-02 20:22:12 · 380 阅读 · 0 评论 -
Java工具类——数学相关的类
Java工具类——数学相关的类在上一篇文章中,我们系统学习了 Java 里面的包装类,那么这篇文章,我们就来学习一下Java提供好的类——数学相关的类。一、数学类介绍在最早期学习 Java 基础语法结构的时候,其实我们学习并了解了加减乘除这些算数运算符,有了这些运算符,我们就可以做一些简单的运算了,但是当我们需要做一些比较复杂的运算的时候,其实用这些运算符是很难去处理的(比如获取随机数等等)。其实数学类对于我们并不陌生,在学习 Java 基础的时候,你一定用过 Math 类的,这个其实就是我们最早期接原创 2020-07-01 20:29:42 · 780 阅读 · 0 评论 -
谈谈javaSE中的==和equals的联系与区别
前言==和equals是我们面试中经常会碰到的问题。那么它们之间有什么联系和区别呢?今天我们就来聊聊吧!问题这里先抛出一些比较典型笔试问题:int x = 10;int y = 10;String str1 = new String("abc");String str2 = new String("abc");String str3 = "abc";String str4 = "abc";System.out.println(x == y); // 输出?System.out.prin原创 2020-06-30 19:56:31 · 529 阅读 · 0 评论 -
如何在Vim中更改颜色和主题
大家好,我是良许。Vim是我们在Linux中非常常用的一款文本编辑器。Vim 是一款免费、开源的文本编辑器,它的功能和许多其他的文本编辑器大致相同,比如 Sublime 和 Notepad++ 。Vim既可以在命令行中执行,也可以在图形界面中操作。Vim 的教程有很多,本文我们主要讲的是如何更改 Vim 的颜色和主题。Vim 对于初学者来讲的话,其实不是非常友好。但如果你熟练使用了 Vim 之后,你就会发现,你再也离不开 Vim 了。Vim的主题的什么东西?所谓的主题,其实本质上就是一种配色方案原创 2020-06-29 20:31:20 · 1171 阅读 · 2 评论 -
Java工具类——日期相关的类
前言在日常的开发工作当中,我们经常需要用到日期相关的类(包括日期类已经处理日期的类),所以,我就专门整理了一篇关于日期相关的类,希望可以帮助到大家。正文一、日期类介绍在 Java 里面,操作日期的类主要有以下几个类:工具类所属包继承关系实现接口Date类java.util包,需要导包默认继承ObjectSerializable, Cloneable, ComparableSimpleDateFormat类java.text包,需要导包继承DateFormat原创 2020-06-28 19:31:09 · 500 阅读 · 0 评论 -
Java笔试面试总结—try、catch、finally语句中有return 的各类情况
前言之前在刷笔试题和面试的时候经常会遇到或者被问到 try-catch-finally 语法块的执行顺序等问题,今天就抽空整理了一下这个知识点,然后记录下来。正文本篇文章主要是通过举例的方式来阐述各种情况,我这里根据 try-catch-finally 语法块分为两种大情况讨论:try-catch 语法块和 try-catch-finally 语句块,然后再在每种情况里再去具体讨论。一、try-catch 语句块我们可以看看下面程序:public static void main(Strin原创 2020-06-27 18:47:48 · 357 阅读 · 0 评论 -
Java工具类—包装类
Java工具类——包装类我们都知道,JDK 其实给我们提供了很多很多 Java 开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工具类,你会发现它能很大程度的帮你节省时间,能很方便的实现你的需求。当然,没有这些包,你也能实现你的需求,但是你需要时间,今天我们主要是来学习一下包装类。一、包装类介绍1、为什么需要包装类?我们知道 Java 语言是一个面向对象的编程语言,但是 Java 中的基本数据类型却不是面向对象的,但是我们在实际使用原创 2020-06-26 19:20:58 · 377 阅读 · 0 评论 -
线性表的链式存储--单链表
Java之线性表的链式存储——单链表我们都知道,线性表的存储结构分为两种,顺序存储结构和链式存储结构,线性表的分类可以参考下图来学习记忆。今天我们主要来学习一下链式存储结构。一、链式存储介绍“链式存储结构,地址可以连续也可以不连续的存储单元存储数据元素”——来自定义。其实,你可以想象这样一个场景,你想找一个人(他的名字叫小谭),于是你首先去问 A , A 说他不知道,但是他说 B 可能知道,并告诉了你 B 在哪里,于是你找到 B ,B 说他不知道,但是他说 C 可能知道,并告诉了你 C 的地址,于原创 2020-06-25 15:38:52 · 725 阅读 · 0 评论 -
Linux下9种优秀的代码比对工具推荐
大家好,我是良许。在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性。在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linux 下需要用到什么工具呢?本文介绍 9 种 Linux 下常用的 9 种代码比对工具,不仅有命令行工具,还有 GUI 界面工具,让你轻松进行代码比对。1. diff命令diff 命令是 Linux 下自带的一个强大的文本比对工具,而且使用起来非常方便。对于它的使用,我之前也单独写过一篇文章介绍,点击下方链原创 2020-06-24 20:24:22 · 2212 阅读 · 1 评论 -
搜索引擎ElasticSearch入门
前言最近项目上需要用到搜索引擎,由于之前自己没有了解过,所以整理了一下搜索引擎的相关概念知识。正文想查数据就免不了搜索,搜索就离不开搜索引擎,百度、谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据。然而对于我们自己的业务数据来说,肯定就没必要用这么复杂的技术了,如果我们想实现自己的搜索引擎,方便存储和检索,可以快速地储存、搜索和分析海量数据。搜索引擎有很多种,我这里主要讲两种比较流行的搜索引擎框架 Elasticsearch 和 Lucene 搜索引擎。一、搜索引擎实现原创 2020-06-23 19:10:57 · 643 阅读 · 0 评论 -
Linux下如何寻找相同文件?
大家好,我是良许。随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放一些空间。在 Linux 下,我们可以通过识别文件的 inode 值来找出系统中的相同文件。inode 是一个数据结构,记录了文件所有信息,除了文件名和文件内容。如果两个或多个文件具有相同的 inode 值,即使它们的文件名不一样,位置不一样,它们的内容、所有者、权限其实都是一样的,我们可原创 2020-06-22 19:25:44 · 3228 阅读 · 1 评论 -
Git 居然可以用来跟女神聊天?
Git 是用来做啥的?想必码农朋友都知道,Git 是版本控制软件,是软件开发过程中团队协作不可或缺的软件。但是,作为版本控制软件的 Git ,能跟聊天工具扯上关系吗?这二者似乎毫无关系,但脑洞大开的外国朋友 Ephi Gabay 就开发了一个 GIC ,活生生将 Git 改造成了一个聊天工具,有了它你就可以跟女神亲密沟通了!这位哥们是用 Node.js 写了这么一个工具,将 Git 改装成后台数据库!更详细的,他其实是把每一句聊天作为 commit 的内容提交到仓库里!所以,执行 git log 时,可原创 2020-06-19 19:08:29 · 523 阅读 · 0 评论 -
Linux nohup命令详解,终端关闭程序依然可以在执行!
大家好,我是良许。在工作中,我们很经常跑一个很重要的程序,有时候这个程序需要跑好几个小时,甚至需要几天,这个时候如果我们退出终端,或者网络不好连接中断,那么程序就会被中止。而这个情况肯定不是我们想看到的,我们希望即使终端关闭,程序依然可以在跑。这时我们就可以使用 nohup 这个命令。nohup 命令是英语词组 no hangup 的缩写,意思是不挂断,也就是指程序不退出。这个命令会使程序忽略 HUP 信号,保证程序能够正常进行。HUP 信号有些人可能比较陌生,它是在终端被中止的时候向它所关联的进程所原创 2020-06-18 19:23:49 · 747 阅读 · 0 评论 -
厉害了!除了find命令,还有这么多文件查找命令,高手必备!
大家好,我是良许。在系统里查找文件,是所有工程师都必备的技能(不管你用的是 Windows 、Linux、还是 MacOS 系统)。对于 Linux 操作系统,单单一个 find 命令就可以完成非常多的搜索工作。但是,文件搜索命令远不止一个 find 命令,还有很多。本文就对 Linux 下文件搜索命令进行一个科普,让你能够在短时间内找到自己需要的文件。1. findfind 命令应该是最经典的命令了,谈到搜索工具第一个想到的肯定是 find 命令。但是,find 命令非常强大,想要把它的功能都介绍原创 2020-06-16 19:22:37 · 881 阅读 · 0 评论 -
5 种方法重复执行历史命令
Linux 下,如果要执行一条或多条之前输过的指令,要怎么处理?很多人会想到使用上下箭头去翻查历史输入的命令。这当然是可以了,除了这种方法,本文再介绍另外 5 种方法来实现这样的效果。在正式开始之前,我们先随便执行几条命令,便于后面演示。为了节约篇幅,执行结果暂时不列出来。$ ls -l$ pwd$ date$ uname -a方法1:!!没错,两个叹号也是一条命令,它会重复执行最后执行的那条命令。$ !!这条命令等同于如下效果:$ !!uname -aLinux VM_0_16原创 2020-06-14 14:12:33 · 3170 阅读 · 0 评论 -
4步教你打造好莱坞科幻特效
大家一定有看过好莱坞电影,电影里的一幕大家一定印象深刻:男主角在电脑前熟练地敲着键盘,电脑屏幕飞快地闪动,字符也在快速跳动,很有科技感!这样的效果,在 Linux 下也可以实现,甚至连不懂任何 IT 技术的小白跟着本教程也可以轻松装13。我们先来看看 Linux 下的效果,看看跟电影是否类似。很震撼吧?与电影 100% 还原吧?本教程会用到一个工具,正是叫 hollywood ,它是由技(xian)术(de)精(wu)湛(liao)的 Dustin Kirkland 在业余时间所写的,这哥们还是 C原创 2020-06-13 17:46:50 · 789 阅读 · 0 评论 -
信息泄漏时代,如何让自己的密码更安全?
密码的重要性,相信大家都不言而喻。而密码泄漏或信息泄漏,经常是层出不穷地出现,令人防不胜防。所以,一个强大而复杂的密码是保证自己账户安全的第一步。为了防止信息泄漏,我们可以做些什么呢?密码足够复杂;每个平台密码都不一样,比如QQ,微信,邮箱等;定期更换密码。那怎样的密码才算是比较可靠的密码?一般而言,一个密码至少12位字符,包含数字,包含大小写,包含特殊符号,不使用现有单词,即是一个比较复杂的密码。那你自认为比较安全的密码,是否真正的安全呢?这里良许介绍两个工具可以用来评估你的密码的安全性—原创 2020-06-12 19:50:38 · 330 阅读 · 0 评论 -
Linux系统如何设置开机自动运行脚本?
大家好,我是良许。在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务。在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢?Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟,我更多是玩命令)。下面我们就介绍三种简单但可行的开机启动设置方法。方法一:修改 /etc/rc.d/rc.local 文件/etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后原创 2020-06-11 20:08:00 · 670 阅读 · 0 评论 -
信息泄漏时代,如何让自己的密码更安全?
密码的重要性,相信大家都不言而喻。而密码泄漏或信息泄漏,经常是层出不穷地出现,令人防不胜防。所以,一个强大而复杂的密码是保证自己账户安全的第一步。为了防止信息泄漏,我们可以做些什么呢?密码足够复杂;每个平台密码都不一样,比如QQ,微信,邮箱等;定期更换密码。那怎样的密码才算是比较可靠的密码?一般而言,一个密码至少12位字符,包含数字,包含大小写,包含特殊符号,不使用现有单词,即是一个比较复杂的密码。那你自认为比较安全的密码,是否真正的安全呢?这里良许介绍两个工具可以用来评估你的密码的安全性—原创 2020-06-10 19:04:06 · 639 阅读 · 0 评论 -
厉害了!知道这样重命名文件都是大佬级别!
大家好,我是良许。在 Linux 下,重命名一个文件,我们通常是使用 mv 命令,一般是这样操作的:$ mv file1.txt file2.txt这样重命令的方式当然是可以,但有个弊端就是你需要输入两次文件名。文件名比较短还好,一旦比较长的话,输两次会很让人崩溃的。本文就介绍几种更高效的文件重命令方法,一般人不知道哦,知道的都是大神级别。高效重命名文件的方法首先,我们需要使用 vim 编辑 ~/.bashrc 文件。$ vim ~/.bashrc将下面这段代码添加到 ~/.bashrc原创 2020-06-09 19:06:21 · 1542 阅读 · 3 评论 -
一个骚命令防止你的文件被误删除!
大家好,我是良许。文件是我们在电脑里最珍贵的财富,我们经常工作了老半天,然后出来的成果就只是一个文件而已。特别是程序员,我们写了半天的代码,结果也就是一个个代码文件而已。但是,我们都有过这样惨痛的经历——工作了老半天,结果不小心把文件删除了……这时候,你的心情是怎样的?痛苦?自责?无奈?今天良许就给大家介绍一个命令,它将给你的重要文件加一把锁,防止误删除或误修改,为你的宝贝文件保驾护航!chattr命令简介这里我们需要使用到一个命令是:chattr ,这个命令在大部分的 Linux 发行版里都有原创 2020-06-08 19:49:13 · 320 阅读 · 0 评论 -
钻进 Linux 内核看个究竟
Linux 内核,这个经常听见,却不不知道它具体是干嘛的东西,是不是觉得非常神秘?Linux 内核看不见摸不着,而对于这类东西,我们经常无从下手。本文就以浅显易懂的语言,带你钻进 Linux 内核,看它到底长啥样。内核是 Linux 操作系统的核心组件,它向上连接应用程序,向下直接与硬件打交道。其代码主要由 C 语言及少量汇编语言写成,并且它可以适配多种多样不同的硬件架构。内核并发运行着一系列的进程,并管理着硬件的各种资源。具体来讲,因为系统的资源有限,内核就为各个进程分配着诸如 CPU 时间、内存空原创 2020-06-07 14:51:52 · 1145 阅读 · 1 评论 -
如何监控 Linux 服务器状态?
Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。本文介绍的几个命令,不仅仅适用于服务器监控,也适用于我们日常情况下的开发。1. watchwatch 命令我们的使用频率很高,它的基本作用是,按照指定频率重复执行某一条指令。使用这个命令,我们可以重复调用一些命令来达到监控服务器的作用。默认情况下,watch 命令的执行周期是 2 秒,但我们可以使用 -n 选项来指定运行频率,比如我们想要每隔 5原创 2020-06-06 19:08:23 · 985 阅读 · 0 评论 -
3 种生成高强度密码的方法
现在信息泄露越来越严重,而强大的密码是防止个人敏感信息泄露的第一步。良许曾经分享过一篇文章,如何判断你的密码是否足够安全,点击以下链接查看:信息泄漏时代,如何让自己的密码更安全?在生活中,我们需要用到大量的密码,这些密码最好不要统一,否则万一泄漏的话,所有账号都暴露在风险之下。而在工作中,我们同样也需要用到大量密码,比如批量添加用户,批量设置服务器密码等。如果靠自己去想的话,想到的密码可以不够强大,而且比较费力。下面良许就介绍 3 种方法来批量生成高强度的密码。所谓的高强度密码,就是包含了大小写、数原创 2020-06-05 19:07:22 · 6051 阅读 · 0 评论 -
树莓派使用 OLED 屏显示图片及文字
树莓派默认是不带显示屏的,如果想要查看系统的一些信息,需要使用电脑登录到树莓派,或者通过 HDMI 连接外接显示器查看。这样做总是有点麻烦,我们可以通过外接一个 OLED 屏来显示一些关键参数或者图片。本文将详细介绍操作方法。OLED 模组介绍OLED 屏主要有两种:128×32 和 128×64 ,主要颜色是白、黄、蓝。OLED 屏的特点是功耗低,价格便宜,使用 I2C 接口与主机连接。本文所使用的是 128×64 尺寸的屏幕,外形如下:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直原创 2020-06-03 20:00:12 · 3331 阅读 · 3 评论