分类 操作系统 下的文章

我们在查看系统所有进程的进程树可以使用 pstree, 例如:

root@server:/etc/X11# pstree                          
systemd─┬─VBoxService─┬─{automount}                                
        │             ├─{control}                                  
        │             ├─{cpuhotplug}                               
        │             ├─{memballoon}                               
        │             ├─{timesync}                                
        │             ├─{vminfo}                                   
        │             └─{vmstats}                                  
        ├─accounts-daemon─┬─{gdbus}                                
        │                 └─{gmain}                                
        ├─acpid                                                    
        ├─atd                                                      
        ├─cgmanager                                                
        ├─cron                                                     
        ├─dbus-daemon                                              
        ├─dhclient                                                 
        ├─dhcpd                                                   
        ├─dnsmasq───dnsmasq                                        
        ├─3*[dynomite───2*[{dynomite}]]                            
        ├─epmd                                                     
        ├─in.tftpd                                                 
        ├─irqbalance                                               
        ├─2*[iscsid] 
......

而对于某个目录, 我们想知道目录树下的大致结构以及目录下的文件布局信息, 我们可以使用 tree 命令, tree 非系统核心包, 需要手动安装:

- 阅读剩余部分 -

在Linux环境下, 经常会接触到一些压缩文件, 常见的有 tar/tar.gz/xz/zip等等,这些文件我们到底该如何解压文件和压缩文件呢? 下面我们介绍下不同工具的使用方式.

tar

tar 将目录归档为一个文件,其自身并不压缩内容,因此一般 tar 文档偏大.

  • 归档一个目录 tar cvf filename.tar dirname
  • 展开一个归档 tar xvf filename.tar

常用的一些可选项的含义:

  • c 创建归档文件
  • v 输出详细信息
  • f 指定归档文件

tar 命令能解压压缩后的归档文件,需要指定不同的参数

  • gzip 压缩文件解压 tar xvfz filename.tar.gz
  • bz2 压缩文件解压 tar xvfj filename.tar.bz2
  • xz 压缩文件解压 tar xvfJ filename.tar.xz

- 阅读剩余部分 -

线程是在一个进程里,一个并发执行的顺序的流程。

例如,考虑一个文本编辑器,它在输入特定长度的文本后执行自动保存操作。
现在有两个任务,首先显示输入到编辑器中的文本,然后执行自动保存。
因为这两个任务应该并行执行,所以它们在不同的线程中执行。如果两个操作都在同一个线程上执行,那么当线程忙于保存时,它就不能执行输入过程,并且会显示一个延迟,直到保存操作完成。

创建线程有两种方法。

继承Thread类

每个线程都是线程的一个实例。因此,可以通过扩展thread类来创建一个新线程。扩展Thread的类应该运行其中定义的方法。Run方法包含要在线程中执行的任务。通过调用start方法启动新线程。

- 阅读剩余部分 -

快捷键有助于我们提升工作效率,减少对鼠标的依赖,让编码过程更加协调.

文本编辑

  • Ctrl + 左键 或者 Ctrl 右键 光标向左/向右跳过一个单词
  • Ctrl + Shift + 左键 或者 Ctrl + Shift + 右键 光标向左/向右选中一个完整单词
  • Alt + 上键 或者 Alt + 下键 将光标所在行上移/下移
  • Alt + Shift + 上键 或者 Alt + Shift + 下键 将光标所在行内容复制到上一行或者下一行
  • Ctrl + q 光标移动到最后编辑的地方
  • Home/End 光标移动到行首或者行尾

内容查找

  • Ctrl + k 查找下一个和选中内容相同的内容
  • Ctrl + o 列出类的属性视图

- 阅读剩余部分 -

当我们要统计目录的使用情况时, du 工具专门用于统计目录的磁盘使用情况, 接下来我们就看看 du 命令的一些常规使用场景

统计当前目录的磁盘使用情况

du --si -s .
  • --si 以便于人阅读的单位来统计大小,
  • -s 递归统计目录下的所有内容

统计当前目录下的一级目录的大小

du --si -d1 | sort -h
  • -d 选项指定统计深度, 这里仅统计1级目录
  • -h sort命令的 -h 选项, 已便于使用者阅读的格式排序

- 阅读剩余部分 -

Redis持久化

Redis提供了不同级别的持久化方式:

  • RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储.
  • AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.
  • 如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式.
  • 你也可以同时开启两种持久化方式, 在这种情况下, 当redis重启的时候会优先载入AOF文件来恢复原始的数据,因为在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整.

最重要的事情是了解RDB和AOF持久化方式的不同,让我们以RDB持久化方式开始:

- 阅读剩余部分 -

在我们使用 Linux 的过程中, 我们经常需要对文本进行处理,需要一些强有力的工具, 来提升我们的效率.接下来介绍下 grep/cat/awk/uniq这些常用命令的使用.

grep

grep 是我们用的非常多的命令, 查询日志, 查找关键内容等等.

查看匹配到的行

查询包含 xyz 的行

grep 'xyz' myFile

在当前目录下所有html文件中查询包含 xyz 的行

grep 'xyz' *html

- 阅读剩余部分 -

查找Linux Kernel版本

root@server:~# uname -a
Linux server 4.4.0-157-generic #185-Ubuntu SMP Tue Jul 23 09:17:01 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

查看当前系统的发行版名称和版本

root@server:~# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"

当然你同样可以使用 lsb_release 命令来查看上述信息

- 阅读剩余部分 -