随笔分类 -  Linux

摘要:笔者在前文《Linux job control》中介绍了进程组(job)的概念以及常见的 job control 操作,本文接着介绍 session 的概念。本文中演示部分使用的环境为 ubuntu 18.04。 session 是什么? 我们常见的 Linux session 一般是指 shell 阅读全文
posted @ 2020-01-17 10:45 sparkdev 阅读(35758) 评论(2) 推荐(9) 编辑
摘要:Linux 系统中有一个 job control 的概念,本文简单介绍什么是 job,以及常见的 job control 命令。本文中演示部分使用的环境为 ubuntu 18.04。 进程组(job) 执行一个命令会创建一个或多个进程,这些进程被称为一个进程组(process group)。进程组中 阅读全文
posted @ 2019-12-04 09:01 sparkdev 阅读(5699) 评论(0) 推荐(6) 编辑
摘要:通过《Linux 终端(TTY)》一文我们了解到:我们常说的终端分为终端 tty1-6 和伪终端。使用 tty1-6 的情况一般为 Linux 系统直接连了键盘和显示器,或者是使用了 vSphere console 等虚拟化方案,其它情况下使用的都是伪终端。本文将介绍伪终端的基本概念。本文中演示部分 阅读全文
posted @ 2019-09-29 08:45 sparkdev 阅读(58375) 评论(0) 推荐(15) 编辑
摘要:TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代。不管是电传打字机还是键盘显示器,都是作为计算机的终端设备存在的,所以 TTY 也泛指计算机的终端(terminal)设备。为了支持这些 TTY 设备,Linux 实现了一个叫 阅读全文
posted @ 2019-09-05 08:45 sparkdev 阅读(83851) 评论(7) 推荐(21) 编辑
摘要:为了执行权限检查,Linux 区分两类进程:特权进程(其有效用户标识为 0,也就是超级用户 root)和非特权进程(其有效用户标识为非零)。 特权进程绕过所有内核权限检查,而非特权进程则根据进程凭证(通常为有效 UID,有效 GID 和补充组列表)进行完全权限检查。 以常用的 passwd 命令为例 阅读全文
posted @ 2019-08-28 08:42 sparkdev 阅读(34335) 评论(5) 推荐(5) 编辑
摘要:Ubuntu(16.04/18.04) 默认会每天自动安装系统的安全更新,但是不会自动安装包的更新。本文梳理 Ubuntu 16.04/18.04 系统的自动更新机制,并介绍如何配置系统自动更新所有的包。说明:简单起见,本文中使用 Ubuntu 指代 Ubuntu 16.04/18.04。 系统需要 阅读全文
posted @ 2019-08-21 08:58 sparkdev 阅读(13945) 评论(2) 推荐(3) 编辑
摘要:apt 命令是一个功能强大的命令行工具,它不仅可以更新软件包列表索引、执行安装新软件包、升级现有软件包,还能够升级整个 Ubuntu 系统(apt 是 Debian 系操作系统的包管理工具)。与更专业的 APT(Advanced Packaging Tool) 工具 apt-get 和 apt-ca 阅读全文
posted @ 2019-08-15 13:14 sparkdev 阅读(14923) 评论(0) 推荐(1) 编辑
摘要:apt-get 命令是 Ubuntu 系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包,还可以用来把系统升级到新的版本。本文介绍 apt-get 命令的基本用法,演示环境为 Ubuntu 18.04。 基本语法语法格式:apt-get [options] command 配置文件:早期 a 阅读全文
posted @ 2019-08-13 08:45 sparkdev 阅读(51923) 评论(0) 推荐(5) 编辑
摘要:Grep 是 Global Regular Expression Print 的缩写,它搜索指定文件的内容,匹配指定的模式,默认情况下输出匹配内容所在的行。注意,grep 只支持匹配而不能替换匹配到的内容。 基本语法 语法格式:grep [OPTIONS] PATTERN [FILE...]grep 阅读全文
posted @ 2019-08-05 08:40 sparkdev 阅读(63738) 评论(1) 推荐(5) 编辑
摘要:Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称为硬链接文件、实体链接文件,Symbolic Link 文件则常被称为符号链接、软链接文件。 ln 命令用来在文件之间建立链接。在介绍 ln 命令前,让我们先来搞清楚究竟什么是硬链接,什 阅读全文
posted @ 2019-08-01 08:41 sparkdev 阅读(20346) 评论(6) 推荐(15) 编辑
摘要:笔者在前文《Linux EXT2 文件系统中》中介绍了 EXT2 文件系统中的基本概念,本文继续以 EXT2 文件系统为例介绍文件系统是如何管理文件存储的。 inode 在前文介绍文件系统时我们提到了 inode 和 data block。在 EXT2 文件系统中,inode 用来存放文件的元信息, 阅读全文
posted @ 2019-07-29 08:56 sparkdev 阅读(1769) 评论(1) 推荐(1) 编辑
摘要:AUFS 的英文全称为 Advanced Mult-Layered Unification Filesystem,曾经是 Another Mult-Layered Unification Filesystem,显然,现在的内涵规格更高些。说明:本文的演示环境为 ubuntu 16.04。 Union 阅读全文
posted @ 2019-07-25 09:01 sparkdev 阅读(6922) 评论(2) 推荐(1) 编辑
摘要:磁盘是用来储文件的,但是必须先把磁盘格式化为某种格式的文件系统,才能存储文件。文件系统的目的就是组织和管理磁盘中的文件。在 Linux 系统中,最长见的是 ext2 系列的文件系统。其早期版本为 ext2,后来又发展出 ext3 和 ext4。ext3 和 ext4 虽然对 ext2 进行了增强,但 阅读全文
posted @ 2019-07-22 09:00 sparkdev 阅读(2745) 评论(0) 推荐(1) 编辑
摘要:本文介绍 Linux 文件系统相关的基本概念。 硬盘的物理组成 盘片硬盘其实是由单个或多个圆形的盘片组成的,按照盘片能够容纳的数据量,分为单盘(一个硬盘里面只有一个盘片)或多盘(一个硬盘里面有多个盘片)的硬盘。下面是一张盘片的示意图(此图来自互联网): 磁道和柱面硬盘中有磁头在盘片上读写数据,磁头固 阅读全文
posted @ 2019-07-18 08:51 sparkdev 阅读(5496) 评论(0) 推荐(1) 编辑
摘要:前文中笔者介绍了管道,本文接着介绍命名管道。文中演示所用环境为 Ubuntu 18.04 desktop。 命名管道(named pipe)又被称为先进先出队列(FIFO),是一种特殊的管道,存在于文件系统中。命名管道与管道非常类似,但是又有自身的显著特征: 命名管道可以用于任何两个进程间的通信,而 阅读全文
posted @ 2019-06-12 13:06 sparkdev 阅读(9942) 评论(0) 推荐(3) 编辑
摘要:管道(pipe)是进程间通信的一种实现方式。在 Linux 系统中,管道本质上是一种特殊的文件,它的主要用途是实现进程间的通信。文中演示所用环境为 Ubuntu 18.04 desktop。 在 shell 中执行下面的命令: echo 命令的输出通过管道作为了 cat 命令的输入。这里面的具体操作 阅读全文
posted @ 2019-06-11 13:08 sparkdev 阅读(3015) 评论(0) 推荐(0) 编辑
摘要:其实准确点儿的描述应该是:Ubuntu Server 18.04 ,设置 LVM,安装完成后根目录的容量为什么只有 4G?只有 Server 版有问题,Desktop 版没有问题,Ubuntu 16.04 的 Server 版和 Desktop 版都没有这样的问题。 笔者在 vSphere 中安装虚 阅读全文
posted @ 2019-03-14 08:58 sparkdev 阅读(5764) 评论(4) 推荐(4) 编辑
摘要:随着 systemd 成了主流的 init 系统,systemd 的功能也在不断的增加,比如对系统日志的管理。Systemd 设计的日志系统好处多多,这里笔者就不再赘述了,本文笔者主要介绍 systemd journal 收集日志的三种方式: 程序使用 libc 库中的 syslog() 函数输出的 阅读全文
posted @ 2019-03-11 13:19 sparkdev 阅读(4687) 评论(0) 推荐(4) 编辑
摘要:Ubuntu Desktop 版本默认自带了图形化的备份/还原工具 Déjà Dup。该工具主要用来备份和还原用户的数据,当然我们也可以用它来备份/还原系统的数据。本文主要介绍 Déjà Dup 的主要功能和用法,如果没有特殊的说明,我们在文中称演 Déjà Dup 为备份工具。本文的演示环境为 U 阅读全文
posted @ 2019-03-04 13:30 sparkdev 阅读(10030) 评论(0) 推荐(1) 编辑
摘要:iostat 命令是 I/O statistics(输入/输出统计)的缩写,用来报告系统的 CPU 统计信息和块设备及其分区的 IO 统计信息。iostat 是 sysstat 工具集的一个工具,在 Ubuntu 系统中默认是不带 iostat 命令的,需要自行安装:$ sudo apt insta 阅读全文
posted @ 2019-02-25 11:28 sparkdev 阅读(11998) 评论(0) 推荐(4) 编辑