「sg(1)」-

以不同的GID来执行命令
命令语法格式
sg [-] [group [-c ] command]
命令描述
命令sg与命令newgrp类似,但命令sg接受参数command,这将使用/bin/sh来执行命令command。对于大多数shell,你可以运行sg,但你需要使用引号来处理包含多个字的命令。
命令newgrp和sg之间的另一个区别:有些Shell会对newgrp特殊处理,它们会用newgrp创建的Shell新实例替换它们自身。使用sg不会发生这种情况,因此从sg命令退出后,您将返回到您的以前的GID。
配置文件
在/etc/login.defs中的以下配置变量会影响命令sg的行为:
SYSLOG_SG_ENAB (boolean) 启用syslog来记录命令sg的活动。
相关文件
/etc/passwd 用户账户信息。
/etc/shadow 安全的用户帐号信息。
/etc/group 组帐号信息。
/etc/gshadow 安全组帐号信息。
相关手册
id(1), login(1), newgrp(1), su(1), gpasswd(1), group(5), gshadow(5).
参考文献

man 1 sg, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「su(1)」-

修改UID或者成为超级用户
命令语法格式
su [options] [username]
命令描述
在会话登录期间,可以使用su命令成为另一个用户。在没有指定username的情况下,默认的username为root,即成为超级用户。
在username之后可以提供附加参数,在这种情况下,这些参数会被提供给用户的登录Shell。特别是,选项-c的参数将使其参数被视为命令来执行。该命令将由/etc/passwd中为username指定的Shell来执行。
您可以使用“–”参数将su选项与提供给Shell的参数分开。
如果命令行参数正确,将提示输入username的密码。密码无效将产生错误消息。所有的操作都会记录到日志中,用于检测系统的滥用。
当前环境变量将传递给新Shell。对于普通用户,$PATH的值重置为/bin:/usr/bin;超级用户则重置为/sbin:/bin:/usr/sbin:/usr/bin。这可以通过更改/etc/login.defs中ENV_PATH和ENV_SUPATH来重新定义。
通过存在“*”作为登录shell的第一个字符来指示是子系统登录。给定的主目录将用作用户实际登录的新文件系统的根目录。
命令支持的选项及含义
命令su支持如下选项:
-c, –command COMMAND 指定Shell将使用其-c选项执行的命令。
被执行的命令没有控制终端。此选项不能用于执行需要控制终端的交互式程序,比如passwd等。
-, -l, –login 提供类似于用户直接登录时所期望的环境变量,即登录Shell。
使用“-”时,“-”必须在任何用户名之前指定。出于可移植性考虑,建议将其用作所有选项的最后一个,并在用户名之前。使用其他两个选项(-l和–login)时,则没有此限制。
-s, –shell SHELL 将被调用的Shell。命令su将以如下顺序确定要使用的Shell,以下优先级有高到低:

首先,使用由–shell选项指定的Shell;
如果使用了–preserve-environment选项,则使用由$SHELL环境变量指定Shell;
在/etc/passwd中查找为目标用户username设置的Shell;
如果上述任何方法都无法找到Shell,则使用/bin/sh;

如果目标用户具有受限制Shell(即在/etc/passwd中此,此用户的Shell字段是未列在/etc/shells中),则不会采用–shell选项或$SHELL环境变量,除非su是被root执行的。
-m, -p, –preserve-environment 保存[……]

READ MORE

「useradd(8)」-

创建新用户或者更新默认新用户的信息
命令语法格式
useradd [options] LOGIN
useradd -D
useradd -D [options]
命令描述
命令useradd是一个用于添加用户的低级实用程序。在Debian上,管理员通常应该使用adduser(8)。
在不使用-D选项调用useradd命令时,命令useradd使用命令行中指定的值以及系统的默认值来创建新用户帐户。根据命令行选项,命令useradd将会更新系统文件,以及创建新用户的主目录并复制初始文件。
默认情况下,还将为新用户创建一个组,该组名通常与用户名相同,请参阅-g、-N、-U、USERGROUPS_ENAB。
命令支持的选项及含义
命令useradd支持如下选项:
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-u, –uid UID 用户ID的数值。除非使用-o选项,否则此值必须是唯一的。该值必须是非负数。默认是使用大于或等于UID_MIN,且大于每个其他用户的最小ID值。
另请参见-r选项和UID_MAX描述。
-o, –non-unique 允许创建具有重复(非唯一)UID的用户帐户。此选项仅与-u选项一起使用时有效。
如果未指定-g、-N、-U选项,默认行为由/etc/login.defs中的USERGROUPS_ENAB变量定义。
-r, –system 创建系统帐户。
将在/etc/shadow中创建没有时效信息的系统用户,并且在/etc/login.defs中定义的SYS_UID_MIN-SYS_UID_MAX范围中选择其ID,而不是UID_MIN-UID_MAX(及其对应的GID用于创建组)。
请注意,无论/etc/login.defs中的CREATE_HOME如何设置,useradd都不会为此类用户创建主目录。如果需要系统帐户的主目录,则必须指定-m选项进行创建。
-Z, –selinux-user SEUSER 用户登录的SELinux用户。默认设置是将此字段留空,这会导致系统选择默认的SELinux用户。
密码相关
-p, –password PASSWORD 加密密码,由crypt(3)返回。默认设置是禁用密码。
注意:建议不要使用此选项,因为列出进程的用户可以看到密码(或加密密码)。
你应该确保密码符合系统的密码策略。
-e, –expiredate EXPIRE_DATE 用户帐户将被禁用的日期。日期以YYYY-MM-DD格式指定。
如果未指定,则useradd将使用[……]

READ MORE

「userdel(8)」-

删除用户及相关文件
命令语法格式
userdel [options] LOGIN
命令描述
命令userdel修改系统帐户文件,删除所有引用用户名LOGIN的条目。指定的用户必须存在。
命令userdel是用于删除用户的低级实用程序。在Debian上,管理员通常应该使用deluser(8)命令。
命令支持的选项及含义
命令userdel支持如下选项:
-r, –remove 用户主目录中的文件将与主目录本身和用户的邮件目录一起删除。位于其他文件系统中的文件必须手动搜索和删除。
-f, –force 此选项强制删除用户帐户,即使用户仍然登录。它还强制userdel删除用户的主目录和邮件目录,即使其他用户使用相同的主目录或邮件目录不属于指定用户。如果在/etc/login.defs中将USERGROUPS_ENAB定义为yes,并且如果存在与已删除用户同名的组,则该组将被删除,即使它是仍然是另一个用户的主要组。
注意:此选项很危险,很可能会使系统账户处于不一致状态。
邮件目录由login.defs文件中的MAIL_DIR变量定义。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-Z, –selinux-user 删除用户登录的任何SELinux用户映射。
-h, –help 显示帮助信息并退出。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
MAIL_DIR (string) 邮件目录。修改或删除相应的用户帐户时,需要该变量来操作邮箱。如果未指定,则使用编译时默认值。
MAIL_FILE (string) 定义用户邮件文件相对于其主目录的位置。
命令useradd、usermod、userdel会使用MAIL_DIR和MAIL_FILE变量来创建、移动、删除用户的邮件。
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否则不应使用此变量。
USERDEL_CMD (string) 如果已定义,则在删除用户时将运行此命令。该命[……]

READ MORE

「usermod(8)」-

修改用户账户信息
命令语法格式
usermod [options] LOGIN
命令描述
命令usermod通过命令行指定的选项来修改系统帐户文件中对应的字段。
命令支持的选项及含义
命令usermode支持如下选项:
-c, –comment COMMENT 用户密码文件中注释字段的新值。通常使用chfn(1)命令进行修改,因为虽然它只是一个字段,但是里面包含了许多其他的信息。
-g, –gid GROUP 用户的新初始登录组的组名或编号。该GROUP必须是一个已经存在的组。
在用户主目录中,属于前一个用户基本组的任何文件都将归该新组所有。而用户主目录之外的文件的组所有权必须手动修复。
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]] 修改用户的补充组列表。每个组用逗号分隔,而之间没有空格。这些组受到的限制与-g选项给出的组相同。
如果用户当前是未列出的组的成员,则将从该组中删除该用户。可以通过-a选项更改此行为,该选项-a会将用户附加到当前的补充组列表。
-a, –append 将用户追加到补充组。只能与-G选项一起使用。
-d, –home HOME_DIR 用户的新的主目录。如果给出了-m选项,则当前主目录的内容将被移动到新的主目录,如果该主目录尚不存在,则创建该目录。
-m, –move-home 将用户主目录的内容移动到新位置。此选项仅与-d(或–home)选项一起使用时有效。
命令usermod将尝试调整文件的所有权,并复制权限、ACL、扩展属性,但之后也可能需要手动更改某些东西。
-l, –login NEW_LOGIN 用户名将从LOGIN更改为NEW_LOGIN。不做其他改变。特别是,应该手动重命名用户的主目录或邮件目录以反映新的登录名。
-p, –password PASSWORD 加密密码,由crypt(3)返回,而不是密码明文。注意:建议不要使用此选项,因为列出进程的用户可以看到密码(或加密密码)。
密码将写入本地/etc/passwd或/etc/shadow文件中。 这可能与PAM配置中配置的密码数据库不同。
您应该确保密码符合系统的密码策略。
-L, –lock 锁定用户的密码。该命令是在加密密码前面添加了一个’!’,有效地禁用了密码。 您不能将此选项与-p或-U一起使用。
注意:如果您希望锁定帐户(不仅禁止密码访问),还应将EXPIRE_DATE设置为1。
-U, –unlock 解锁用户密码。该选项删除了在加密密码前面添加的‘!’ 。您不能将此选项与-p或-L一起使用。
注意:如果您希望解锁帐户(不仅[……]

READ MORE

「vigr(8)」-

修改group、gshadow文件
命令语法格式
vigr [options]
命令描述
该命令的用法与vipw完全相同,请参考vigr(8)。
相关手册
vi(1), group(5), gshadow(5) , passwd(5), shadow(5)
参考文献

man 8 vigr, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「vipw(8)」-

修改passwd、group、shadow、gshadow文件
命令语法格式
vipw [options]
vigr [options]
命令描述
命令vipw和vigr分别用于编辑文件/etc/passwd和/etc/group。使用-s选项时,它们将分别编辑对应shadows文件(/etc/shadow和/etc/gshadow)。
该程序在编辑时,将设置适当的锁,以防止文件损坏,这也是该程序存在的真正目的,而不是鼓励你用编辑器直接修改这些文件。
在查找编辑器时,程序将首先尝试环境变量$VISUAL,然后是环境变量$EDITOR,最后是默认编辑器vi(1)。
注意:虽然这些命令提供了编辑文件的安全方式,但是仍然不鼓励使用,因为这些文件之间存在关联关系,错误的编辑会导致数据不一致。建议使用相关的命令进行修改。除非你知道自己在做什么。
命令支持的选项及含义
适用于vipw和vigr命令的选项如下:
-g, –group 编辑group数据库文件。
-p, –passwd 编辑passwd数据库文件。
-s, –shadow 修改相应的shadow文件或者gshadow文件。需要与-g或-p选项一起使用。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
其他选项
-q, –quiet 安静模式。
-h, –help 显示帮助信息并退出。
相关环境变量
VISUAL 修改文件时使用的编辑器。
EDITOR 如果VISUAL未设置,则使用使用该环境变量指定的编辑器。
相关文件
/etc/group 该文件中保存了组帐号信息。
/etc/gshadow 该文件保存了安全组帐号信息。
/etc/passwd 该文件保存了用户账户信息。
/etc/shadow 该文件保存了安全用户账户信息。
相关手册
vi(1), group(5), gshadow(5) , passwd(5), , shadow(5).
参考文献

man 8 vipw, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「strace」-

功能简述
介绍命令功能,使用壹句话进行介绍,直接翻译手册页面即可。
常用命令
追踪命令打开的文件:

strace -e trace=openat,close,read,write,connect,accept cat /tmp/demo.txt

语法格式

命令描述
命令选项
附加说明
参考文献
How do I monitor opened files of a process in realtime? – Unix & Linux Stack Exchange[……]

READ MORE

「stress」-

功能简述
向系统施加负载和压力测试的工具
常用命令
产生四个工作进程,并循环调用 sync() 系统调用,以产生 I/O 负载,

stress –io 4

语法格式

stress [OPTION [ARG]] …

命令描述
命令 stress 用于向系统施加某种类型的计算压力。
命令选项
-c, –cpu N 产生 N 个工作进程,快速循环调用 sqrt() 函数,以产生 CPU 负载。
-i, –io N

spawn N workers spinning on sync()

-m, –vm N

spawn N workers spinning on malloc()/free()

–vm-bytes B

malloc B bytes per vm worker (default is 256MB)

–vm-stride B

touch a byte every B bytes (default is 4096)

–vm-hang N

sleep N secs before free (default none, 0 is inf)

–vm-keep

redirty memory instead of freeing and reallocating

-d, –hdd N

spawn N workers spinning on write()/unlink()

–hdd-bytes B

write B bytes per hdd worker (default is 1GB)

命令运行
-n, –dry-run 显示将执行哪些动作,但不会实际执行
-t, –timeout N 在执行 N 秒之后退出。
–backoff N 在开始工作前,等待因数为 N 的微妙。这样可以逐渐提高系统的负载。
注意事项,使用 –verbose 选项可以查看工作进程等待的时间。当 N = 5000 时,工作进程分别等待 20000 15000 10000 5000 微妙。
控制输出
-v, –verbose 显示更多日志。
-q, –quiet 安静模式,不显示任何输出。
其他选项
-?, –help 显示帮助信息。
–version 显示版本信息。
附加说明
数字可以后缀单位,时间(s,m,h,d,y),大小(B,K[……]

READ MORE

「sudo」

Sudo,该软件包包含了一些程序,这些程序允许管理员给某些用户(或用户组)在以root或以另一个用户登录时运行命令的能力。
包含的命令列表
sudo 以/etc/sudoers配置文件中允许的身份来执行命令。
sudoedit is a symlink to sudo that implies the -e option to invoke an editor as another user.
sudoreplay is used to play back or list the output logs created by sudo.
visudo allows for safer editing of the sudoers file.
参考文献

Homepage: http://www.sudo.ws/
LFS / Sudo:http://www.linuxfromscratch.org/blfs/view/stable/postlfs/sudo.html
Sudo Online Manual[……]

READ MORE

「sudo(8)」-

以其他用户身份执行命令
命令语法格式
sudo -h | -K | -k | -V
sudo -v [-AknS] [-a type] [-g group] [-h host] [-p prompt] [-u user]
sudo -l [-AknS] [-a type] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo [-AbEHnPS] [-a type] [-C num] [-c class] [-g group] [-h host] [-p prompt] [-r role] [-t type] [-u user] [VAR=value] [-i | -s] [command]
sudoedit [-AknS] [-a type] [-C num] [-c class] [-g group] [-h host] [-p prompt] [-u user] file …
命令描述
命令sudo允许被许可的用户以超级用户或其他用户的身份执行命令,如由安全策略所指定的。调用sudo的用户的“真实用户ID”(非有效用户ID)用于确定用户名,并使用该用户名查询安全策略。
命令sudo支持插件体系结构,用于安全策略和输入/输出日志记录的。第三方可以开发和分发自己的策略和I/O日志插件,以便与sudo前端无缝协作。默认安全策略是sudoers,它通过/etc/sudoers或LDAP进行配置。有关更多信息,请参阅「插件」部分。
安全策略确定用户运行sudo时具有的权限(如果有)。该策略可能要求用户使用密码或其他身份验证机制对自身进行身份验证。如果需要身份验证,如果未在可配置的时间限制内输入用户密码,则sudo将退出。此限制是特定于策略的;对于sudoers安全策略,默认密码提示超时是不受限制的。
安全策略可以支持凭证缓存,以允许用户在一段时间内不需要身份验证的情况下可再次运行sudo命令。对于sudoers策略,它会将凭证缓存15分钟,除非在sudoers(5)中被覆盖。通过使用-v选项运行sudo,用户可以在不运行命令的情况下更新缓存的凭据。
安全策略可能会记录使用sudo的成功和失败尝试。如果配置了I/O插件,则也可以记录运行命令的输入和输出。
当作为sudoedit调用时,隐含-e选项(如下所述)。
命令行选项
-u user, –user=user 以默认目标用户(通常为root)以外的用户身份运行该命令。 用户可以是用户名或以“#”字符为前缀的数字用户ID(UID)(例如,对于0可表示为UID #0)。当将命令作为UID运行时,许多Shell要求使用反斜杠[……]

READ MORE

「sudoedit(8)」-

以指定的用户身份调用编辑器
命令描述
参考sudo(8)手册。
参考文献

man 8 sudo, Version 1.8.19p1-1

更新日志

10/24/2018 创建文章[……]

READ MORE

「sysfsutils」

systool

章节列表
「systool(1)」-[……]

READ MORE

「systool(1)」-

通过总线、类、拓扑来查看系统设备信息
命令语法格式
systool [options [device]]
命令描述
调用不带参数的systool将显示所有可用的总线类型、设备类、根设备。
提供device时,仅显示指定设备的选项所需信息,否则将显示所有当前设备。
命令systool使用libsysfs提供的API来收集信息。命令systool仅在运行内核2.5或更高版本的Linux系统上运行,并且安装了sysfs文件系统。
命令支持的选项及含义
-a 显示所请求资源的属性
-b bus 显示特定总线的信息
-c class 显示特定类的信息
-d 只显示设备
-m module_name 显示特定模块的信息
-p 显示资源的绝对sysfs路径
-v 显示包含值的所有属性
-A attribute 显示所请求资源的属性值
-D 只显示驱动
-P 显示设备的父设备
-h 显示使用信息
相关手册
The web page of libsysfs at http://linux-diag.sourceforge.net/Sysfsutils.html
参考文献

man 1 systool, Version 2.1.0+repack-4+b2

更新日志

11/06/2018 创建文章[……]

READ MORE

「sysstat」

Sysstat,软件包包含了一些用于监视系统性能和使用活动的命令程序。Sysstat包含常见于许多商业Unix的sar程序及可以通过cron计划来收集和历史化性能和活动数据的工具。
安装
从发行版的源中安装

#!/bin/sh

# Ubuntu 16.04.2 LTS
apt-get install sysstat

从源码中安装 参考BLFS7.10/Sysstat-11.4.0: http://www.linuxfromscratch.org/blfs/view/7.10/general/sysstat.html
安装的命令列表
cifsiostat 报告CIFS文件系统上的IO统计数据。
iostat 报告CPU的统计数据,以及设备和分区的IO的统计数据。
mpstat 每个可用的处理器的写活动。
pidstat 用于监控当前由Linux Kernel管理的各项任务。
sadf 用于显示由sar命令创建的数据文件的内容。但与sar不同的是,sadf可以以许多不同的格式编写数据。
sar 用于显示操作系统中选定的累积活动计数器的内容。
tapestat 用于监视连接到系统的磁带驱动器的活动。
参考文献

BLFS/Sysstat-11.4.0
SYSSTAT Home Page: http://sebastien.godard.pagesperso-orange.fr/[……]

READ MORE

「iostat(1)」-

报告设备和分区的CPU统计信息和输入/输出统计信息
命令语法格式
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | … } ] [ [ -H ] -g group_name ] [ -p [ device [,…] | ALL ] ] [ device […] | ALL ] [ interval [ count ] ]
命令描述
命令iostat用于通过观察设备相对于其平均传输速率的活动时间来监视系统输入/输出设备负载。命令iostat生成可用于更改系统配置的报告,以更好地平衡物理磁盘之间的输入/输出负载。
命令iostat生成的第一个报告提供了有关自系统引导以来的时间的统计信息,除非使用了-y选项(在这种情况下,省略了第一个报告)。每个后续报告都涵盖自上次报告以来的时间。每次运行iostat命令时都会报告所有统计信息。该报告由一个CPU标题行和一行CPU统计信息组成。在多处理器系统上,CPU统计信息在系统范围内计算为所有处理器之间的平均值。将显示设备标题行,然后显示已配置的每个设备的统计信息行。
参数interval指定每个报告之间的时间量(以秒为单位)。参数count可以与interval参数一起指定。如果指定了count参数,则count的值确定以间隔秒间隔生成的报告数。如果指定了interval参数而没有count参数,则iostat命令会连续生成报告。
命令支持的选项及含义
-c 仅显示CPU的使用率报告。
-d 仅显示存储设备的使用率报告。
-g group_name { device […] | ALL } 显示一组设备的统计信息。命令iostat报告列表中每个单独设备的统计信息,然后显示以group_name为名的全局统计信息,并由列表中的所有设备组成。关键词ALL意味着系统定义的所有块设备都应包含在组中。
-H 此选项必须与选项-g一起使用,并指示仅显示组的全局统计信息,而不显示组中各个设备的统计信息。使用选项-h隐式启用此选项。
-h 已更加易读的方式显示设备使用率。
-j { ID | LABEL | PATH | UUID | … } [ device […] | ALL ] 显示持久的设备名称。选项(ID,LABEL等)指定持久名称的类型。这些选项不受限制,唯一的条件是具有所需持久性名的目录存在于/dev/disk中。可以在所选择的持久名称类型中指定多个设备。因为持久的设备名称通常很长的选项。
-k 以kb为单位显示统计数据。[……]

READ MORE

「mpstat(1)」-

功能简述
报告处理器相关的统计数据
常用命令
在所有处理器中,以两秒为间隔,显示五个全局统计报告:

# mpstat 2 5

以两秒为间隔显示所有处理器的五个统计报告:

# mpstat -P ALL 2 5

语法格式

mpstat [ -A ] [ -u ] [ -V ] [ -I { keyword [,…] | ALL } ] [ -P { cpu [,…] | ON | ALL } ] [ interval [ count ] ]

命令描述
命令mpstat先的标准输写入每个可用处理器出活动,处理器0是第一个。还报告了所有处理器之间的全局平均活动。命令mpstat可以在SMP和UP机器上使用,但在后者中,只打印全局平均活动。 如果未选择任何活动,则默认报告为CPU利用率报告。
参数interval指定每个报告之间的时间量(以秒为单位)。值0(或根本没有参数)表示自系统启动(引导)以来报告处理器统计信息的时间。如果此参数未设置为零,则可以将count参数与interval参数一起指定。 count的值确定以间隔秒间隔生成的报告数。如果指定了interval参数而没有count参数,则mpstat命令会连续生成报告。
命令选项
-A 等价于-u -I ALL -P ALL的组合。
-P { cpu [,…] | ON | ALL } 指示要报告统计信息的处理器编号。参数cpu是处理器号。请注意,处理器0是第一个处理器。关键字ON表示要为每个在线处理器报告统计信息,而ALL关键字表示要为所有处理器报告统计信息。
-I { keyword [,…] | ALL } 报告中断统计信息。可用的关键字有:SUM, CPU, SCPU
使用SUM关键字,命令mpstat报告每个处理器的中断总数。 将显示以下值:

CPU,处理器编号。关键字ALL表示统计数据计算为所有处理器之间的平均值。
intr/s,显示CPU每秒接收的中断总数。

使用CPU关键字,将显示CPU每秒接收的每个中断的数量。 中断是/proc/interrupts中列出的中断。
使用SCPU关键字,显示CPU每秒接收的每个软中断的数量。 此选项仅适用于内核2.6.31及更高版本。 软中断是/proc/softirqs中列出的那些。
关键字ALL相当于指定上面的所有关键字,因此显示所有中断统计信息。
-u 报告CPU利用率。将显示以下值:

CPU,处理器编号。关键字All表示统计数据计算为所有处理器之间的平均值。
%usr,显示在用户级别(应用程序)执行时发[……]

READ MORE

「pidstat」

pidstat,报告Linux任务的统计。

The pidstat command is used for monitoring individual tasks currently being managed by the Linux kernel. It
writes to standard output activities for every task selected with option -p or for every task managed by the
Linux kernel if option -p ALL has been used. Not selecting any tasks is equivalent to specifying -p ALL but
only active tasks (tasks with non-zero statistics values) will appear in the report.

The pidstat command can also be used for monitoring the child processes of selected tasks. Read about option
-T below.

The interval parameter specifies the amount of time in seconds between each report. A value of 0 (or no
parameters at all) indicates that tasks statistics are to be reported for the time since system startup
(boot). The count parameter can be specified in conjunction with the interval parameter if this one is not
set to zero. The value of count determines the number of reports generated at interval seconds apart. If the
interval parameter is specified without the count parameter, the pidstat command generates reports continu‐
ously.

You can select[……]

READ MORE

「systemd」

What is this?
systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, maintains mount and automount points, and implements an elaborate transactional dependency-based service control logic. systemd supports SysV and LSB init scripts and works as a replacement for sysvinit. Other parts include a logging daemon, utilities to control basic system configuration like the hostname, date, locale, maintain a list of logged-in users and running containers and virtual machines, system accounts, runtime directories and settings, and daemons to manage simple network configuration, network time synchronization, log forwarding, and name resolution. See Lennart’s blog story for a longer introduction, and the three status updates since then. Also see the Wikipedia article. If you are wondering whether systemd is for you, please have a look at this comparison of init systems by one of the crea[……]

READ MORE

「halt(8)」-

关闭、断电、重启计算机
命令语法格式
halt [OPTIONS…]
poweroff [OPTIONS…]
reboot [OPTIONS…]
命令描述
这个三个命令分别用于关闭(halt)、断电(poweroff)、重启(reboot)计算机。
这些命令都是指向systemctl的软链接。
命令支持的选项及含义
命令支持的选项如下:
–halt 无论调用三个命令中的哪一个,都停止(halt)计算机。
-p, –poweroff 无论调用三个命令中的哪一个,都关闭(poweroff)计算机。
–reboot 无论调用三个命令中的哪一个,都重启(reboot)计算机。
-f, –force 强行立即停止,关机,重启。不要联系init系统。
-w, –wtmp-only 只向wtmp中写入关机条目,但实际上不会停止,关机,重启。
-d, –no-wtmp 不要向wtmp中写入关机条目。
-n, –no-sync 在停止、关闭电源、重启之前,请勿同步硬盘/存储介质。
–no-wall 在停止、关机、重启之前,不要发送消息。
注意事项
这些旧版命令仅可用于兼容性。
关于halt和poweroff的不同
命令poweroff用于关闭计算机。它会终止所有进程,并关闭CPU,同时它也会关闭设备本身(灯光和PC上的所有东西)并向板上发送ACPI命令,然后向PSU发送,以切断电源。
命令halt也是用于关闭计算机。但是,它只会终止所有进程,并关闭cpu。
退出状态
0 成功
>0 失败
相关手册
systemd(1), systemctl(1), shutdown(8), wall(1)
参考文献

man 8 halt, Version 232-22
What’s the difference between poweroff and halt? [duplicate]

更新日志

08/10/2018 创建文章[……]

READ MORE

「hostnamectl(1)」-

控制系统主机名
命令语法格式
hostnamectl [OPTIONS…] {COMMAND}
命令描述
命令hostnamectl可用于查询和更改系统主机名和相关设置。
这个工具区分了三个不同的主机名:

高级“漂亮”主机名:可能包含各种特殊字符(例如“Lennart’s Laptop”);
静态主机名:用于在启动时初始化内核主机名(例如“lennarts-laptop”);
临时主机名,它是从网络配置接收到的回退值。如果设置了静态主机名并且该主机名有效(“localhost”之外的其他主机名),则不使用临时主机名。

请注意,漂亮的主机名对使用的字符和长度几乎没有限制,而静态和瞬态主机名仅限于网络域名通常接受的字符,最多64个字符(后者是Linux的限制)。
静态主机名存储在/etc/hostname中,有关详细信息,请参阅hostname(5)。漂亮的主机名、机器类型、图标名称存储在/etc/machine-info中,请参阅machine-info(5)手册。
对于已挂载(但未启动)的系统映像,使用systemd-firstboot(1)来初始化系统主机名。
命令支持的选项及含义
命令支持的选项如下:
–static, –transient, –pretty 如果COMMAND为“status”,或者没有给出明确的COMMAND,并且指定了其中一个选项,则命令hostnamectl将仅打印出对应的主机名。
如果COMMAND为“set-hostname”,则只更新选定的主机名。如果指定了多个这些选项,则将更新所有指定的主机名。
-H, –host= 在远程主机上执行操作。该选项指定要连接的主机名,或用“@”分隔的用户名和主机名。主机名可以后缀容器名,以“:”分隔,它直接连接到指定主机上的特定容器。这将使用SSH来与远程机器管理器实例通信。可以使用machinectl -H HOST枚举容器名称。
-M, –machine= 在本地容器上执行操作。指定要连接的容器名称。
–no-ask-password 对于特权操作,不要向用户查询身份验证。
-h, –help 显示帮助信息并退出。
–version 显示版本信息并退出。
支持的命令
本部分描述了在命令中COMMAND的可能取值:
status 显示当前系统主机名和相关信息。
set-hostname NAME 将系统主机名设置为NAME。
默认情况下,这将改变漂亮、静态、临时主机名;但是,如果使用–static、–transnsient、–pretty中的一个或多个,则只更改选[……]

READ MORE

「init(1)」-

systemd系统和服务的管理器
命令描述
参考systemd(1)手册。
参考文献

man 1 systemd, Version 239-7

更新日志

09/26/2018 创建文章[……]

READ MORE

「poweroff(8)」-

关闭计算机
命令描述
参考halt(8)手册。
参考文献

man 8 halt, Version 232-22

更新日志

08/10/2018 创建文章[……]

READ MORE

「reboot(8)」-

重启计算机
命令描述
参考halt(8)手册。
参考文献

man 8 halt, Version 232-22

更新日志

08/10/2018 创建文章[……]

READ MORE

「runlevel(8)」-

打印之前和当前的SysV运行级别
命令语法格式
runlevel [options…]
命令描述
概述
“运行级别”是启动和停止在SysV的init中使用的服务组的过时方式。systemd提供了一个兼容层,用于将”运行级别“映射到”目标“,以及相关的二进制文件,如runlevel。 然而,在给定时间只有一个运行级别可以“活动”,而systemd可以同时激活多个目标,因此映射到运行级别是令人困惑的并且只是近似的。 不应在新代码中使用运行级别,并且它们最常用作在内核引导参数中作为”引用匹配的systemd目标“的简便方法。
Table 1. Mapping between runlevels and systemd targets
┌─────────┬───────────────────┐
│Runlevel │ Target │
├─────────┼───────────────────┤
│0 │ poweroff.target │
├─────────┼───────────────────┤
│1 │ rescue.target │
├─────────┼───────────────────┤
│2, 3, 4 │ multi-user.target │
├─────────┼───────────────────┤
│5 │ graphical.target │
├─────────┼───────────────────┤
│6 │ reboot.target │
└─────────┴───────────────────┘

关于runlevel命令
如果已知,则runlevel打印上一个和当前的SysV运行级别。
两个运行级别字符由单个空格字符( )分隔。 如果无法确定运行级别,则会打印N。如果两者都无法确定,则打印“unknown”一词。
除非在环境中被覆盖,否则将检查utmp数据库以查找最近的运行级别更改。
命令支持的选项及含义
–help 打印简单的帮助信息,然后退出。
相关文件
/var/run/utmp utmp数据库,runlevel从中读取之前和当前的运行级别。
相关环境变量
RUNLEVEL 如果设置了$RUNLEVEL,则runlevel将此值作为”当前运行级别“打印,并忽略utmp。
PREVLEVEL 如果设置了$PREVLEVEL,则runlevel将此值作为”上一个运行级别“打印,并忽略utmp。
退出状态
0 能有确定一个或者两个运行级别。
>0 非零的失败码。
相关手[……]

READ MORE

「shutdown(8)」-

停止、关闭、重启主机
命令语法格式
shutdown [OPTIONS…] [TIME] [WALL…]
命令描述
命令shutdown可用于暂停、关闭电源、重启机器。
参数TIME是可选的,可以是时间字符串(通常是“now”)。时间字符串TIME可以采用“hh:mm”格式,表示”小时/分钟“,指定执行关闭时间,以24小时时钟格式指定。或者,它可以是语法“+m”,指的是从现在开始的指定分钟数后关机。“now”是“+0”的别名,即用于触发立即关闭。如果未指定时间参数TIME,则默认为“+1”。
如果使用了TIME参数,则在系统关闭前5分钟会创建/run/nologin文件以确保不允许进一步登录。
参数WALL是可选。表示在停止之前,向所有登录用户发送WALL消息。注意,要指定WALL消息,则必须指定时间TIME参数。
命令支持的选项及含义
命令支持的选项如下:
-H, –halt 停止机器。
-P, –poweroff 关闭机器电源(默认)。
-r, –reboot 重新启动机器。
-h 相当于–poweroff,除非指定了–halt选项。
-k 不要停止、关机、重新启动,只需写入留言信息WALL。
–no-wall 在停止、关机、重启之前,不要发送墙消息。
-c 取消挂起的关机。这可以用于取消参数TIME不为“+0”或“now”的shutdown的调用。
–help 显示帮助信息并退出。
退出状态
0 成功
>0 失败
相关手册
systemd(1), systemctl(1), halt(8), wall(1)
参考文献

man 8 shutdown, Version 232-22

更新日志

08/10/2018 创建文章[……]

READ MORE

「systemctl」-

功能简述
systemctl – Control the systemd system and service manager
常用命令
开机启动不在默认目录中的单元文件:

systemctl enable /path/to/my-service-file.serivce

语法格式

systemctl [OPTIONS…] COMMAND [NAME…]

命令描述
systemctl may be used to introspect and control the state of the “systemd” system and service manager. Please refer to systemd(1) for an introduction into the basic concepts and functionality this tool manages.
命令选项

The following options are understood:

-t, –type=

The argument should be a comma-separated list of unit types such as service and socket.

If one of the arguments is a unit type, when listing units, limit display to certain unit types. Otherwise, units of all types will be shown.

As a special case, if one of the arguments is help, a list of allowed values will be printed and the program will exit.

–state=

The argument should be a comma-separated list of unit LOAD, SUB, or ACTIVE states. When listing units, show only those in the specified states. Use –state=failed to show only failed units.

As a special case, if one of the arguments is hel[……]

READ MORE

「systemd-machine-id-setup」-

systemd-machine-id-setup – Initialize the machine ID in /etc/machine-id

命令语法格式

systemd-machine-id-setup

命令描述

systemd-machine-id-setup may be used by system installer tools to initialize the machine ID stored in /etc/machine-id at install time, with a provisioned or randomly generated ID. See machine-id(5) for more information about
this file.

If the tool is invoked without the –commit switch, /etc/machine-id is initialized with a valid, new machined ID if it is missing or empty. The new machine ID will be acquired in the following fashion:

1. If a valid D-Bus machine ID is already configured for the system, the D-Bus machine ID is copied and used to initialize the machine ID in /etc/machine-id.

2. If run inside a KVM virtual machine and a UUID is configured (via the -uuid option), this UUID is used to initialize the machine ID. The caller must ensure that the UUID passed is sufficiently unique and is different for

every booted instance of the VM.

3. Similarly, if run inside a Linux container environment and a UUID is configured for the container, this is used to i[……]

READ MORE

「systemd-tty-ask-password-agent」-

systemd-tty-ask-password-agent – List or process pending systemd password requests

命令语法格式

systemd-tty-ask-password-agent [OPTIONS…] [VARIABLE=VALUE…]

命令描述

systemd-tty-ask-password-agent is a password agent that handles password requests of the system, for example for hard disk encryption passwords or SSL certificate passwords that need to be queried at boot-time or during
runtime.

systemd-tty-ask-password-agent implements the Password Agents Specification[1].

命令支持的选项及含义

The following options are understood:

–list

Lists all currently pending system password requests.

–query

Process all currently pending system password requests by querying the user on the calling TTY.

–watch

Continuously process password requests.

–wall

Forward password requests to wall(1) instead of querying the user on the calling TTY.

–plymouth

Ask question with plymouth(8) instead of querying the user on the calling TTY.

–console

Ask question on /dev/console instead of quer[……]

READ MORE

「telinit(8)」-

修改SysV的运行级别
命令语法格式
telinit [OPTIONS…] {COMMAND}
命令描述
命令telinit可用于更改SysV系统运行级别。 由于SysV运行级别的概念已过时,运行级别请求将透明地转换为systemd单元激活请求。
命令支持的选项及含义
支持的选项([OPTIONS…])如下:
–help 显示简短的帮助信息,然后退出。
–no-wall 在重启/暂停/关机之前,不要发送墙消息。
支持的命令({COMMAND})如下:
0 关闭机器电源。 这被转换为poweroff.target的激活请求,相当于systemctl poweroff命令。
6 重新启动机器。 这被转换为reboot.target的激活请求,相当于systemctl reboot命令。
2, 3, 4, 5 更改SysV运行级别。 这被转换为runlevel2.target,runlevel3.target,…的激活请求,相当于systemctl isolate runlevel2.target,systemctl isolate runlevel3.target,…
1, s, S 进入系统救援模式。 这被转换为rescue.target的激活请求,相当于systemctl rescue命令。
q, Q 重新加载守护程序配置。 这相当于systemctl daemon-reload命令。
u, U 序列化状态,重新执行守护程序,并再次反序列化状态。 这相当于systemctl daemon-reexec命令。
注意事项
这是仅用于兼容性的旧命令。 它不应再被使用,因为运行级别的概念已经过时。
退出状态
0 成功
>0 失败
相关手册
systemd(1), systemctl(1), wall(1)
参考文献

man 8 telinit, Version 239-7

更新日志

09/27/2018 创建文章[……]

READ MORE