如何使用 grep 输出标题?

我们知道 ps 命令是一个方便的实用程序,用于列出系统上当前正在运行的进程。此外,grep 命令擅长过滤文本。

在本教程中,我们将探索如何结合 head、grep、sed、awk 命令来查找所需的进程并保留ps输出的标题行,以及为什么我们不应该使用 ps -ef | {head -1; grep 'patter';} 方法。

Read more

Linux 查找大文件、大目录,解决磁盘空间不足的问题

最近阿里云服务器频繁报警,报警原因就是服务器的内存使用率又高达 98%,云盘使用高达 93%。

云盘空间不足,那就删除文件,它相比解决内存不足要简单,今天我们先来解决云盘空间不足的问题。 而解决此问题,无非就是找大文件和大量小文件,比如:

  • 没有按日期存储的日志文件,如果一直不删除该日志文件,那么它会越来越大。
  • 按日期存储的日志文件,没有按日期删除的话,单个文件可能不大,但是大量的单个文件就不小了。
Read more

Linux 命令实用技巧

掌握这些 Linux 命令技巧后,操作 Linux 命令将更快更便捷!
目前想到哪些文章编写哪些,因此会持续更新!

如何通过一条命令合并文件夹下文件到一个文件,并且文件之间添加换行符?

在申请软件著作权的时候,需要将代码放到一个 Word 文档中,用于审核。
如果面对大量的代码文件,你一个个去拷贝,那你这个程序员就不合格了😱。

如果你 Linux 命令学的好,在终端一条命令就可以完成合并文件的操作。
但是也有不少人在使用命令时,卡在了文件之间如何添加换行符这里。

Read more

Linux 中你可能一直在错误的使用 kill 进程

我先抛出如下问题:

  1. 杀死了父进程后,子进程也会被杀死吗?
  2. 你了解进程组吗?

请你先思考下。再看结论:

graph TB
a[kill 父进程] -->b{父进程 ID 和进程组 ID 是否相同?}
b -->|是| c[父进程和子进程都会被 kill]
b -->|否| d[父进程会被 kill, 但是子进程不一定会被 kill]
c --> e[通过 kill 进程组可以 kill 父进程和全部子进程]
d --> e

classDef mainStep fill:#02d7f2,color:#000
class e mainStep

使用crontab 和 Certbot 对免费的 Let’s Encrypt 证书自动续期

Let’s Encrypt 颁发的证书的有效期只有90天,每次快过期的时候就需要手动更新 SSL 证书。
如果项目只有你一个人维护,刚好你休假了,休假前你也忘记手动更新证书了,那么就没法了,想想在外面玩,遇到这事还得找个网吧紧急处理的心情。😞😞😞

如果你有看过我写的 Linux定时任务crontab,我相信你已经想到了使用crontab来创建一个任务定时自动更新证书。
没错,这篇文章就是要讲这个。

Read more

Linux上统计文件和目录个数命令详解

使用Linux的时候我们经常百度或谷歌搜索命令,其实很多比较长命令我们没必要去死记它,其实你如果把长命令的每个命令分解下,就很容易记住它了。

比如统计目录下文件个数的命令 ls -l | grep "^-" | wc -l ,我们先分析这条命令中各个命令是什么意思,然后再推导出统计目录下目录个数的命令。

Read more
macOS、Linux安装Zsh和Oh My Zsh教程

macOS、Linux安装Zsh和Oh My Zsh教程

前言

Linux系统提供多种不同的Shell以供选择。常用的有 Bourne Shell(简称sh)、C-Shell(简称csh)、Korn Shell(简称ksh)和 Bourne Again Shell (简称 bash )等。对于经常使用终端的用户,我推荐大家都安装Zsh,因为体验更好。