script
记录终端会话的所有操作
补充说明script 用于在终端会话中,记录用户的所有操作和命令的输出信息。简而言之,记录终端会话发生的一切信息,如同一台终端录像机。例如,用户在输入某条命令时,字符的键入和删除也都会被记录。用户在终端的所有操作、终端的回显等信息会被以 raw 格式存储在日志文件,称为终端数据文件。命令的时间信息会被单独以另一种结构储存为日志文件,称为时间日志文件。使用命令exit或者快捷键Ctrl + D停止记录。
语法1script(选项)(参数)
选项12345678910111213-a, --append # 对终端会话的操作信息,以追加方式写入文件(保留原文件内容)-c, --command command # 只运行 command 命令而不打开交互终端。相当于开启 script ,执行 command ,再退出 script # command 可以是任意能够在终端会话执行的命令-e, --return # 返回子进程的退出状态码-f, --flush ...
systool
显示基于总线、类和拓扑显示系统中设备的信息
补充说明systool命令 指令显示基于总线、类和拓扑显示系统中设备的信息。
语法1systool(选项)(参数)
选项1234567891011-a:显示被请求资源的属性;-b<总线>:显示指定总线的信息;-c<class>:显示指定类的信息;-d:仅显示设备;-h:显示指令的用法;-m<模块名称>:显示指定模块的信息;-p:显示资源的“sysfs”绝对路径;-v:显示所有属性;-A<属性>:显示请求资源的属性值;-D:仅显示驱动程序信息;-P:显示设备的父类。
参数设备:指定要查看信息的设备名称。
实例1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011 ...
dpkg-statoverride
Debian Linux中覆盖文件的所有权和模式
补充说明dpkg-statoverride命令 用于Debian Linux中覆盖文件的所有权和模式,让dpkg于包安装时使得文件所有权与模式失效。
语法1dpkg-statoverride(选项)
选项1234-add:为文件添加一个改写;--remove:为文件删除一个改写;--list:显示所有改写列表;--update:如果文件存在,则立刻执行改写操作。
实例修改文件夹的权限属性:
1sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
强制修改文件夹的权限属性:
1sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
将文件从数据库中删除:
1sudo dpkg-statoverride --remove /usr/bin/wall
sar
系统运行状态统计工具
补充说明sar命令 是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。
语法1sar(选项)(参数)
选项123456789101112131415-A: 显示所有的报告信息;-b: 显示I/O速率;-B: 显示换页状态;-c: 显示进程创建活动;-d: 显示每个块设备的状态;-e: 设置显示报告的结束时间;-f: 从指定文件提取报告;-i: 设状态信息刷新的间隔时间;-n: 报告网络统计信息。-P: 报告每个CPU的状态;-R: 显示内存状态;-u: 显示CPU利用率;-v: 显示索引节点,文件和其他内核表的状态;-w: 显示交换分区状态;-x: 显示给定进程的状态。
12345-r: 以分页方式显示输出,每页最多显示 100 行。 -o: 输出选项,指定要显示的列。例如,`-o mrk,prt,cvg` 将显示 CPU 使用 ...
screen
用于命令行终端切换
补充说明Screen 是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
会话恢复
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
多窗口
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话 ...
seq
以指定增量从首数开始打印数字到尾数
补充说明seq命令 用于产生从某个数到另外一个数之间的所有整数。
语法123seq [选项]... 尾数seq [选项]... 首数 尾数seq [选项]... 首数 增量 尾数
选项123-f, --format=格式 使用printf 样式的浮点格式-s, --separator=字符串 使用指定字符串分隔数字(默认使用:\n)-w, --equal-width 在列前添加0 使得宽度相同
实例 -f选项:指定格式
1234#seq -f"%3g" 9 1191011
%后面指定数字的位数 默认是%g,%3g那么数字位数不足部分是空格。
12345#sed -f"%03g" 9 11#seq -f"str%03g" 9 11str009str010str011
这样的话数字位数不足部分是0,%前面制定字符串。
-w选项:指定输出数字同宽
12345seq -w 98 101098099100101
不能和-f一起用,输出是同宽的。
-s选 ...
nano
字符终端文本编辑器
补充说明nano 是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。
nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成系统不灵了。因此,如果你想避免这种情况出现,就加上-w选项吧。
语法1nano [选项] [[+行,列] 文件名]...
选项123456789101112131415161718192021222324252627282930313233343536373839404142-h, -? --help 显示此信息+行,列 从所指列数与行数开始-A --smarthome 启用智能 ...
inotifywait
异步文件系统监控机制
补充说明Inotify 一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。。
inotify-tools 是一个C库和一组命令行的工作提供Linux下inotify的简单接口。inotify-tools安装后会得到inotifywait和inotifywatch这两条命令:
inotifywait命令 可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装inotify-tools,这个命令还需要将inotify支持编译入Linux内核,好在大多数Linux发行版都在内核中启用了inotify。
inotifywatch命令 用于收集关于被监视的文件系统的统计数据,包括每个 inotify 事件发生多少次。
开始之前需要检测系统内核是否支持inotify:
使用uname -r命令检查Linux内核,如果低于2.6.13,就需要重新编译内核加入inotify的支持。
使用ll /proc/sys/fs/inot ...
git
是目前世界上最先进的分布式版本控制系统
补充说明git命令 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeep ...
ar
建立或修改备存文件,或是从备存文件中抽取文件
补充说明ar命令 是一个建立或修改备存文件,或是从备存文件中抽取文件的工具,ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限
语法12用法: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file... ar -M [<mri-脚本]
选项
以下内容来自 GNU ar (GNU Binutils) 2.40 版本指令
12345678910111213141516171819202122232425262728293031323334353637命令: d - 从归档文件中删除文件 m[ab] - 在归档文件中移动文件 p - 打印在归档文件中找到的文件 q[f] ...