apachectl

apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其他Linux的Apache HTTP服务器不一定有这个文件

configtest:检查设置文件中的语法是否正确
fullstatus:显示服务器完整的状态信息
graceful:重新启动Apache服务器,但不会中断原有的连接
help:显示帮助信息
restart:重新启动Apache服务器
start:启动Apache服务器
status:显示服务器摘要的状态信息
stop:停止Apache服务器

arpwatch

arpwatch可监听区域网络中的ARP数据包并记录,同时将监听到的变化通过E-mail来报告

-d:启动排错模式。
-f<记录文件>:设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat。
-i<接口>:指定监听ARP的接口,预设的接口为eth0。
-r<记录文件>:从指定的文件中读取ARP记录,而不是从网络上监听。
-n:指定附加的本地网络
-u:指定用户和用户组
-e:发送邮件给指定用户,非默认的root用户
-s:指定用户名作为返回地址,而不是默认的用户root

alias

用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名

alias net(随便单词)='ll  -ha'
unalias: 取消别名
unalias net

设置永久别名

vim ./.bashrc

添加你设置的别名,退出之后执行设置的别名但是你会发现执行不成功这时候需要执行

source ~/.bashrc
这时候在执行设置的别名就好使了

ar

ar 建立或修改备存文件,或是从备存文件中抽取文件,ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限

指令参数

-d:删除备存文件中的成员文件
-m:变更成员文件在备存文件中的次序
-p:显示备存文件中的成员文件内容
-q:将文件附加在备存文件末端
-r:将文件插入备存文件中
-t:显示备存文件中所包含的文件
-x:自备存文件中取出成员文件

选项参数

a <成员文件>:将文件插入备存文件中指定的成员文件之后
b<成员文件>:将文件插入备存文件中指定的成员文件之前
c:建立备存文件
f:为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,
截掉要放入备存文件中过长的成员文件名称
i<成员文件>:将文件插入备存文件中指定的成员文件之前
o:保留备存文件中文件的日期
s:若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表
S:不产生符号表
u:只将日期较新文件插入备存文件中
v:程序执行时显示详细的信息
V:显示版本信息

打包 a.c b.c文件

ar rv one.bak a.c b.c
ar: 正在创建 one.bak
a - a.c
a - b.c

打包以.c结尾的文件

ar rv two.bak *.c
ar: 正在创建 two.bak
a - a.c
a - b.c
a - c.c
a - d.c

显示打包文件的内容

ar t two.bak
a.c
b.c
c.c
d.c

badblocks

被用来在设备(通常是磁盘分区)中检测坏区块。 device 参数是设备的名字(例如 /dev/hdc1 ). blocks-count 参数是设备上总的区块数目;如果没有指定这个参数,默认值就是设备的容量大小。 start-block参数是一个可选参数,它指定从多少区块号开始进行检测。因此,检测允许从磁盘的中间部分开始

badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块]
-b<区块大小>:指定磁盘的区块大小,单位为字节。
-o<输出文件>:将检查的结果写入指定的输出文件。
-s:在检查时显示进度。
-v:执行时显示详细的信息。
-w:在检查时,执行写入测试。
[磁盘装置]:指定要检查的磁盘装置。
[磁盘区块数]:指定磁盘装置的区块总数。
[启始区块]:指定要从哪个区块开始检查

检测坏区块,并记录

badblocks -b 4096 -o /root/sda1.bad /dev/sda1

检查”/dev/sda2″

badblocks -s -v /dev/sda2
Checking blocks 0 to 30681000
Checking for bad blocks (read-only test): 306809600674112/ 306810000000
Pass completed, 37 bad blocks found.其中,“37 bad blocks found”表示硬盘存在
37个坏块。

用badblocks的写测试功能,对这些坏块进行重写(注意! -w写测试会覆盖数据)

badblocks -w -f /dev/sdb5 16435904 16435904

bind

命令用于显示或设置键盘按键与其相关的功能

bind [-dlv][-f <按键配置文件>][-m <按键配置>][-q <功能>]
-d:显示按键配置的内容。
-f<按键配置文件>:载入指定的按键配置文件。
-l:列出所有的功能。
-m<按键配置>:指定按键配置。
-q<功能>:显示指定功能的按键。
-v:列出目前的按键配置与其功能

显示按键组合的内容

bind -l

显示组合按键的设置

bind -v

列出指定功能的按键和按键组合

bind -q abort
abort can be invoked via "\C-g", "\C-x\C-g", "\e\C-g"

bzip2

命令是.bz2文件的压缩程序,采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件

bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级]
[要压缩的文件]
-c或--stdout:将压缩与解压缩的结果送到标准输出。
-d或--decompress:执行解压缩。
-f或--force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,
预设不会覆盖现有文件。若要覆盖,请使用此参数。
-h或--help:显示帮助。
-k或--keep:bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,
请使用此参数。
-s或--small:降低程序执行时内存的使用量。
-t或--test:测试.bz2压缩文件的完整性。
-v或--verbose:压缩或解压缩文件时,显示详细的信息。
-z或--compress:强制执行压缩。
-L,--license:显示软件版本,许可证条款及条件
-1 to -9:在压缩时将块长度设为 100 k、200 k .. 900 k。 对解压缩没有影响
-V或--version:显示版本信息。
--repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果。
--repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行速度。
-压缩等级压缩时的区块大小

压缩文件

[root@dmxsp ~]# bzip2 -z dmxsp.sh
[root@dmxsp ~]# ll
-rw-r--r-- 1 root root 14 Jun 18 21:50 dmxsp.sh.bz2

压缩原文保留

[root@dmxsp ~]# bzip2 -kv dmxsp.sh
dmxsp.sh: no data compressed.
[root@dmxsp ~]# ll
-rw-r--r-- 1 root root 0 Jun 18 21:50 dmxsp.sh
-rw-r--r-- 1 root root 14 Jun 18 21:50 dmxsp.sh.bz2

检查文件完整性

[root@dmxsp ~]# bzip2 -t dmxsp.sh.bz2

bunzip2

命令是.bz2文件的解压缩程序,可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同

bunzip2 [-fkLsvV][.bz2压缩文件]
-f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件。
若要覆盖,请使用此参数。
-k或--keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数
-s或--small:降低程序执行时,内存的使用量。
-v或--verbose:解压缩文件时,显示详细的信息。
-L,--license,-V或--version:显示版本信息

解压.bz2文件

[root@dmxsp ~]# bunzip2 -v dmxsp.sh.bz2

bzip2recover

命令用来修复损坏的.bz2文件,是以区块的方式来压缩文件,每个区块视为独立的单位。因此,当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。通常只适用在压缩文件很大的情况

bzip2recover [.bz2 压缩文件]

修复.bz2文件

[root@dmxsp ~]# bzip2recover dmxsp.sh.bz2

cat

查看文件内容

cat [-AbeEnstTuv] [--help] [--version] fileName
-A: 查看特殊字符
-n: 查看文件内容的行号
-E:每行结束处显示 $
-b:和 -n 相似,只不过对于空白行不编号
-v:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外
-T将 TAB 字符显示为 ^I
-s:当遇到有连续两行以上的空白行,就代换为一行的空白行

chattr

系统运维人员有时候可能会遇到通过Root用户都不能修改或删除某个文件的情况,产生这种情况的大部分原因可能是这个文件被锁定了。在Linux下锁定文件的命令是chattr,通过这个命令可以修改ext2、ext3、ext4文件系统下文件属性,但是这个命令必须有超级用户Root来执行。和这个命令对应的命令是lsattr,这个命令用来查询文件属性,这些属性共有以下8种模式

a:让文件或目录仅供附加用途
b:不更新文件或目录的最后存取时间
c:将文件或目录压缩后存放
d:将文件或目录排除在倾倒操作之外
i:不得任意更动文件或目录
s:保密性删除文件或目录
S:即时更新文件或目录
u:预防意外删除
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
-R:递归处理,将指定目录下的所有文件及子目录一并处理
-v<版本编号>:设置文件或目录版本
-V:显示指令执行过程
+<属性>:开启文件或目录的该项属性
-<属性>:关闭文件或目录的该项属性
=<属性>:指定文件或目录的该项属性

设置该文件不能进行任何形势的修改+i

[root@dmxsp ~]# ll
-rw-r--r-- 1 root root 0 Jun 18 21:50 dmxsp.sh

[root@dmxsp ~]# chattr +i dmxsp.sh


[root@dmxsp ~]# ll
-rw-r--r-- 1 root root 0 Jun 18 21:50 dmxsp.sh

[root@dmxsp ~]# mv dmxsp.sh dmxsp
mv: cannot move ‘dmxsp.sh’ to ‘dmxsp/dmxsp.sh’: Operation not permitted

查看chattr设置的权限

[root@dmxsp ~]# lsattr
----i----------- ./dmxsp.sh

取消-i的权限设置,查看

[root@dmxsp ~]# chattr -i dmxsp.sh

[root@dmxsp ~]# lsattr
---------------- ./dmxsp.sh

让某个文件只能往里面追加数据,但不能删除

[root@dmxsp ~]# chattr +a dmxsp/abc.txt

[root@dmxsp ~]# rm -rf dmxsp/abc.txt 
rm: cannot remove ‘dmxsp/abc.txt’: Operation not permitted

查看chattr设置的权限

[root@dmxsp ~]# lsattr dmxsp/
-----a---------- dmxsp/abc.txt

chgrp

chgrp(英文全拼:change group)命令用于变更文件或目录的所属群组,与 chown 命令不同,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员,在 UNIX 系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用 chgrp 指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可

chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]  
chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
-c 或 --changes:效果类似"-v"参数,但仅回报更改的部分
-f 或 --quiet 或 --silent:不显示错误信息
-h 或 --no-dereference:只对符号连接的文件作修改,而不改动其他任何相关文件
-R 或 --recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v 或 --verbose:显示指令执行过程
--help:在线帮助
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或
目录的所属群组相同
--version:显示版本信息

改变用户组

[root@dmxsp ~]# ll
-rw-r--r-- 1 root root 0 Jun 18 21:50 dmxsp.sh

[root@dmxsp ~]# chgrp -v dmxsp dmxsp.sh
changed group of ‘dmxsp.sh’ from root to dmxsp

[root@dmxsp ~]# ll
-rw-r--r-- 1 root dmxsp 0 Jun 18 21:50 dmxsp.sh

根据指定文件改变文件的群组属性

[root@dmxsp ~]# chgrp --reference=dmxsp.sh dmxsp.sh.bz2

[root@dmxsp ~]# ll
-rw-r--r-- 1 root dmxsp 0 Jun 18 21:50 dmxsp.sh
-rw-r--r-- 1 root dmxsp 14 Jun 18 21:50 dmxsp.sh.bz2

通过群组识别码改变文件群组属性(id号)

[root@dmxsp ~]# chgrp -R 100 dmxsp/

[root@dmxsp ~]# ll dmxsp
-rw-r--r-- 1 root users 73 May 20 22:35 dmxsp.gz
-rw-r--r-- 1 root users 10367387 May 21 00:51 etc.tar.gz

chmod

是控制用户对文件的权限的命令

-R:以递归方式更改所有的文件及子目录
-f:去除大部份的错误信息
-v:为处理的所有文件显示诊断信息

操作对像

u:文件属主权限
g:同组用户权限
o:其它用户权限
a:所有用户(包括以上三种)

权限设定

+:增加权限
-:取消权限
=:唯一设定权限

权限类别

r 读权限
w 写权限
x 执行权限
X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
s 文件属主和组id
i 给文件加锁,使其它用户无法访问

chown

用于设置文件所有者和文件关联组的命令

chown [-cfhvR] [--help] [--version] user[:group] file...
user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者组(group)
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
--help : 显示辅助说明
--version : 显示版本
chown -R dmxsp:仅变更属主
chown -R .dmxsp:仅变更属组
chown -R root.dmxsp:同时变更属主和属组

cksum

CRC是一种排错检查方式,该演算法的标准由CCITT所指定,至少可检测到99 998%的已知错误。指定文件交由cksum演算,它会回报计算结果,供用户核对文件是否正确无误。若不指定任何文件名称或是所给予的文件名为 – ,则cksum命令会从标准输入设备读取数据

使用指令”cksum”计算文件”dmxsp.sh”的完整性

[root@dmxsp ~]# cksum dmxsp.sh
4294967295 0 dmxsp.sh

cmp

命令用于比较两个文件是否有差异,当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为”-“,则cmp指令会从标准输入设备读取数据

cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]

必要参数

-c或--print-chars:除了标明差异处的十进制字码之外,一并显示该字符所对应字符
-l或--verbose:标示出所有不一样的地方
-s或--quiet或--silent:不显示错误信息

选择参数

-i<字符数目>或--ignore-initial=<字符数目>:指定一个数目
-v或--version:显示版本信息
--help:在线帮助

函数的返回值

0:文件时同样的
1:文件是不同的
>1:发生错误

比较二个文件的不同

[root@dmxsp ~]# cmp dmxsp.sh dmxsp1.sh 
dmxsp.sh dmxsp1.sh differ: byte 1, line 1

显示所有不同

[root@dmxsp ~]# cmp -l dmxsp.sh dmxsp1.sh 
1 141 61
3 142 62
5 143 63
7 144 64
9 12 65
cmp: EOF on dmxsp.sh

cut

用于显示每行从开头算起 num1 到 num2 的文字

cut  [-bn] [file]、cut [-c] [file]、cut [-df] [file]
-b:以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志
-c:以字符为单位进行分割
-d:自定义分隔符,默认为制表符
-f:与-d一起使用,指定显示哪个区域
-n:取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 
-b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除

输出文件的第一个字节

[root@dmxsp ~]# cat /etc/passwd | cut -b 1 | head -3
r
b
d

输出文件的前四个字符

[root@dmxsp ~]# cat /etc/passwd | cut -b 1-5 | head -3
root:
bin:x
daemo

以:分割文件,输出第一个字段

[root@dmxsp ~]# cat /etc/passwd | cut -f1 -d ":" | head -3
root
bin
daemon

将所有行的第四个字符打印出来

[root@dmxsp ~]# cat /etc/passwd | cut -c4 | head -3
t
:
m

将每一行的第四个和第六个字符打印出来

[root@dmxsp ~]# cat /etc/passwd | cut -c4,6 | head -3
tx
::
mn

col

用于过滤控制字符,在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符”>”和”>>”,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符

col [-bfx][-l<缓冲区列数>]
-b:过滤掉所有的控制字符,包括RLF和HRLF
-f:滤除RLF字符,但允许将HRLF字符呈现出来
-x:以多个空格字符来表示跳格字符
-l<缓冲区列数>:预设的内存缓冲区有128列,您可以自行指定缓冲区的大小

col 所能理解的用于回车操作的控制序列以及它们的十进制值都列在下面

ESC-7   反向换行符(escape后接7) 
ESC-8   反向半换行符(escape后接8) 
ESC-9   正向半换行符(escape后接9) 
backspace   反向移动一列(8);在第一列则忽略. 
carriage return   (13) 
newline   正向换行符(10);同时执行回车(carriage return)操作 
shift in   转到正常字符集(15) 
shift out   转到备选的字符集(14) 
space   正向移动一列(32) 
tab   正向移动到下一个tab(9) 
vertical tab   反向换行符(11) 
丢弃所有不被承认的控制字符和escape序列
当读取字符时, col 保持着与字符集的联系,而且在输出时确保字符集是正确的

将cp命令的帮助文档保存为cp.man,使用-b 参数过滤所有控制字符。在终端中使用如下命令

[root@dmxsp ~]# man cp | col > cp.man

colrm

用于滤掉指定的行,指令从标准输入设备读取书记,转而输出到标准输出设备。如果不加任何参数,则该指令不会过滤任何一行

colrm [开始行数编号<结束行数编号>]

如想要删除第4 列之后的所有内容

[root@dmxsp ~]# colrm 4 < passwd | head -3
roo
bin
dae

如删除第4列到第6列的内容

[root@dmxsp ~]# colrm 4 6 < passwd | head -3
roo:0:0:root:/root:/bin/bash
bin1:1:bin:/bin:/sbin/nologin
dae:x:2:2:daemon:/sbin:/sbin/nologin

comm

用于比较两个已排过序的文件,这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成 3 列显示:第 1 列仅是在第 1 个文件中出现过的列,第 2 列是仅在第 2 个文件中出现过的列,第 3 列则是在第 1 与第 2 个文件里都出现过的列。若给予的文件名称为  ,则 comm 指令会从标准输入设备读取数据

comm [-123][--help][--version][第1个文件][第2个文件]
-1:不显示只在第 1 个文件里出现过的列
-2:不显示只在第 2 个文件里出现过的列
-3:不显示只在第 1 和第 2 个文件里出现过的列
--help:在线帮助
--version:显示版本信息

dmxsp.sh与 dmxsp1.sh的文件内容如下

[root@dmxsp ~]# cat dmxsp.sh 
aaa
bbb
ccc
ddd
eee
111
222
[root@dmxsp ~]# cat dmxsp1.sh 
bbb
ccc
aaa
hhh
ttt
jjj

执行 comm 命令输出结果

[root@dmxsp ~]# comm dmxsp.sh dmxsp1.sh 
aaa
bbb
ccc
comm: file 2 is not in sorted order
aaa
ddd
eee
comm: file 1 is not in sorted order
111
222
hhh
ttt
jjj

csplit

用于分割文件,将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02…的文件。若给予的文件名称为”-“,则csplit指令会从标准输入设备读取数据

csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
[-n<输出文件名位数>][--help][--version][文件][范本样式...]
-b<输出格式>或--suffix-format=<输出格式>:预设的输出格式其文件名称为
xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名
-f<输出字首字符串>或--prefix=<输出字首字符串>:预设的输出字首字符串其文件名为
xx00,xx01...等,如果你指定输出字首字符串为"hello",
则输出的文件名称会变成hello00,hello01...等
-k或--keep-files:保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件
-n<输出文件名位数>或--digits=<输出文件名位数>:预设的输出文件名位数其文件名称为
xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成
xx000,xx001...等
-q或-s或--quiet或--silent:不显示指令执行过程
-z或--elide-empty-files:删除长度为0 Byte文件
--help:在线帮助
--version:显示版本信息

将文本文件dmxsp.sh以第 3 行为分界点切割成两份

[root@dmxsp ~]# cat dmxsp.sh
aaa
bbb
ccc
ddd
eee
111
222
[root@dmxsp ~]# csplit dmxsp.sh 3
8
20
[root@dmxsp ~]# cat xx00
aaa
bbb
[root@dmxsp ~]# cat xx01 
ccc
ddd
eee
111
222

cd

切换目录,类似windows双击进入目录,默认执行cd,会回到当前用户的家目录

. 当前目录
.. 当前目录的上一级目录
~ 当前用户的家目录
- 返回上一次离开的目录
[root@localhost ~]# cd /etc/
[root@localhost etc]# cd .
[root@localhost etc]# cd ..
[root@localhost /]# cd ~
[root@localhost ~]# cd -
/
[root@localhost /]#

cfdisk

用于磁盘分区,是用来磁盘分区的程序,它十分类似DOS的fdisk,具有互动式操作界面而非传统fdisk的问答式界面,您可以轻易地利用方向键来操控分区操作

cfdisk [-avz][-c <柱面数目>-h <磁头数目>-s <盘区数目>][-P <r,s,t>]
[外围设备代号]
-a:在程序里不用反白代表选取,而以箭头表示
-c<柱面数目>:忽略BIOS的数值,直接指定磁盘的柱面数目
-h<磁头数目>:忽略BIOS的数值,直接指定磁盘的磁头数目
-P<r,s,t>:显示分区表的内容,附加参数"r"会显示整个分区表的详细资料,
附加参数"s"会依照磁区的顺序显示相关信息,附加参数"t"则会以磁头,
磁区,柱面的方式来显示资料
-s<磁区数目>:忽略BIOS的数值,直接指定磁盘的磁区数目
-v:显示版本信息
-z:不读取现有的分区,直接当作没有分区的新磁盘使用

进行磁盘分区

[root@dmxsp ~]# cfdisk

进行磁盘分区,使用箭头进行操作,而不使用反白表示

[root@dmxsp ~]# cfdisk -a

chsh

用于更改使用者 shell 设定

-s, --shell:指定 用户的 登录 shell
-l, --list-shells:显示 /etc/shells 中的 shell 列表, 然后退出
-u, --help:显示 使用方法, 然后退出
-v, --version:显示 版本信息, 然后退出

必变当前用户的shell

[root@dmxsp ~]# chsh 
Changing shell for root.
New shell [/bin/bash]: /bin/sh     #输入新的shell地址
Shell changed.

改变当前用户shell,设置为 /bin/sh

[root@dmxsp ~]# chsh -s /bin/sh 
Changing shell for root.
Shell not changed.

clear

指令用来清除终端屏幕,在终端中通过快捷键 Ctrl+L 清除屏幕

chroot

把根目录换成指定的目的目录

改变根目录到/mnt/usb/下面

[root@dmxsp ~]#chroot /mnt/usb/

clock

设置或者显示硬件时间的近似值

必要参数

--adjust 自动调整硬件时钟时间
--debug 运行时,输出详细的处理过程
--directisa 不通过设备文件/etc/rtc,直接对硬件时钟进行存取
--getepoch 输出硬件时钟的数值到标准输出
--hctosys 时钟同步,使系统时钟和硬件时钟同步
--se--date 设置硬件时间
--show 显示硬件时钟到标准输出
--systohc 系统时间写入硬件时钟
--test 进行测试
--utc 将硬件时钟的时间设置为UTC

选择参数

-setepoch-epoch=<年份> 设置硬件时钟的年份
--version 显示版本信息

显示硬件时钟时间

[root@dmxsp ~]# clock
Sat 25 Jun 2022 11:00:50 PM +08 -0.115869 seconds

显示utc硬件时钟时间

[root@dmxsp ~]# clock --utc
Sat 25 Jun 2022 11:01:00 PM +08 -0.790326 seconds

设置硬件时钟时间

[root@dmxsp ~]# clock --set --date="05/04/2022 14:30:01"

cp

主要用于复制文件或目录

-r:递归复制,支持复制目录
-p:保持文件原有属性
-v:显示过程
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。
其作用等于dpR参数组合
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式
-f:覆盖已经存在的目标文件而不给出提示
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,
回答 y 时目标文件将被覆盖
-l:不复制文件,只是生成链接文件

复制前在目标目录创建来源文件路径中的所有目录

[root@dmxsp ~]# cp -p --parents /usr/search/tdk/Formatter.php /tmp/

复制文件,只有源文件较目的文件的修改时间新时,才复制文件

[root@dmxsp ~]#  cp -u -v file1 file2

将test.rb copy到test目录,并且保留原文件的属性

[root@dmxsp ~]# cp -p test.rb /home/test

将Dir目录copy到test目录下

[root@dmxsp ~]# cp -r Dir/ /home/test

将Dir下面的所有文件强制copy到test目录下

[root@dmxsp ~]# cp -fr Dir/* /home/test

备份test.rb,并在尾部加上.bak后缀

[root@dmxsp ~]# cp test.rb{,.bak}

使用反斜杠“\”符号,可以默认进行覆盖且不再重复提醒

 [root@dmxsp ~]# \cp -rf /root/downloads/* /tmp/123/

chkconfig

用于检查,设置系统的各种服务,这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务

chkconfig [--add][--del][--list][系统服务]  
chkconfig [--level <等级代号>][系统服务][on/off/reset]

必要参数

--add:增加所指定的系统服务,让 chkconfig 指令得以管理它,
并同时在系统启动的叙述文件内增加相关数据
--del:删除所指定的系统服务,不再由 chkconfig 指令管理,
并同时在系统启动的叙述文件内删除相关数据
--list:列出chkconfig所知道的所有服务

选择参数

--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕
--help:显示帮助信息
--version:显示版本信息

查看系统程序列表

[root@dmxsp ~]# chkconfig --list

将httpd加入开机启动

[root@dmxsp ~]# chkconfig httpd on
Note: Forwarding request to 'systemctl enable httpd.service'.
Created symlink from /etc/systemd/system/multi-user.target.
wants/httpd.service to /usr/lib/systemd/system/httpd.service.

关闭httpd开机启动

[root@dmxsp ~]# chkconfig httpd off
Note: Forwarding request to 'systemctl disable httpd.service'.
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service

列出httpd服务设置情况

[root@dmxsp ~]# chkconfig –list httpd

compress

使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出”.Z”的扩展名。当要解压缩时,可执行uncompress指令。事实上uncompress是指向compress的符号连接,因此不论是压缩或解压缩,都可通过compress指令单独完成

-c:输出结果至标准输出设备(一般指荧幕)
-f:强迫写入档案,若目的档已经存在,则会被覆盖 (force)
-v:将程序执行的讯息印在荧幕上 (verbose)
-r:递归的操作方式
-b:设定共同字串数的上限,以位元计算,可以设定的值为 9 至 16 bits 。
由于值越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值 
16 bits (bits)
-d:将压缩档解压缩
-V:列出版本讯息

将源文件压缩成压缩包,源文件消失

compress srcfile

压缩或解压缩时显示详细信息

compress -v srcfile 或compress -v -d dstfile.Z

将源文件压缩成压缩包,源文件保留

compress -c srcfile > dstfile.Z

将压缩包解压成源文件,压缩包消失

compress -d dstfile.Z  或 uncompress dstfile.Z

将压缩包解压成源文件,压缩包保留

compress -d -c dstfile.Z > srcfile 或 zcat dstfile.Z > srcfile

cpio

cpio可以从cpio或tar格式的归档包(archive)中读写文件, 归档包是一种文件, 它 由归档文件及其相关信息组成, 例如:文件名, 属主, 时标(timestamp), 和访问权限. 归档包可以是磁盘上的文件, 也可以是磁带或管道

cpio [-0aABckLovV][-C <输入/输出大小>][-F <备份档>][-H <备份格式>][-O <备份档>]
[--block-size=<区块大小>][--force-local][--help][--quiet][--version] 
 cpio [-bBcdfikmnrsStuvV][-C <输入/输出大小>][-E <范本文件>][-F <备份档>]
[-H <备份格式>][-I <备份档>][-M <回传信息>][-R <拥有者><:/.><所属群组>]
[--block-size=<区块大小>][--force-local][--help][--no-absolute-filenames]
[--no-preserve-owner][--only-verify-crc][--quiet][--sparse][--version]
[范本样式...]  
cpio [-0adkiLmpuvV][-R <拥有者><:/.><所属群组>][--help][--no-preserve-owner]
[--quiet][--sparse][--version][目的目]

cpio三种操作模式

在copy-out模式中, cpio 把文件复制到归档包中.它从标准输入读取文件名列表, 每行一个文件名. 生成的归档包 写到标准输出. 产生文件名列表的典型方法是使用find命令; 你可能要在find后面用上-depth选项, 减少因为进入没有访问权限的目录引起的麻烦

copy-in模式中,cpio从归档包读取文件,或者列出归档包的内容,归档包来自标准输入.任何非选项命令行参数被视为shell的通配符模式串(globbingpattern);在归档包中,只读取文件名匹配这些模式串的文件.shell环境不一样,文件名起始处的‘.’可以匹配模式串起始处的通配符,文件名中的‘/’也可以匹配通配符.如果没有给出模式串,那么读取所有文件

copy-pass模式中,cpio把文件从一棵目录树复制到另一棵,它结合了copy-incopy-out的操作,但是没有使用归档包.cpio从标准输入读取欲复制的文件名列表;目标目录是非选项命令行参数

-0或--null:接受新增列控制字符,通常配合find指令的"-print0"参数使用
-a或--reset-access-time:重新设置文件的存取时间
-A或--append:附加到已存在的备份档中,且这个备份档必须存放在磁盘上,
而不能放置于磁带机里
-b或--swap:此参数的效果和同时指定"-sS"参数相同
-B:将输入/输出的区块大小改成5210 Bytes
-c:使用旧ASCII备份格式
-C<区块大小>或--io-size=<区块大小>:设置输入/输出的区块大小,单位是Byte
-d或--make-directories:如有需要cpio会自行建立目录
-E<范本文件>或--pattern-file=<范本文件>:指定范本文件,其内含有一个或多个范本样式
让cpio解开符合范本条件的文件,格式为每列一个范本样式
-f或--nonmatching:让cpio解开所有不符合范本条件的文件
-F<备份档>或--file=<备份档>:指定备份档的名称,用来取代标准输入或输出,
也能借此通过网络使用另一台主机的保存设备存取备份档
-H<备份格式>:指定备份时欲使用的文件格式
-i或--extract:执行copy-in模式,还原备份档
-l<备份档>:指定备份档的名称,用来取代标准输入,也能借此通过网络使用另一台主机的
保存设备读取备份档
-k:此参数将忽略不予处理,仅负责解决cpio不同版本间的兼容性问题
-l或--link:以硬连接的方式取代复制文件,可在copy-pass模式下运用
-L或--dereference:不建立符号连接,直接复制该连接所指向的原始文件
-m或preserve-modification-time:不去更换文件的更改时间
-M<回传信息>或--message=<回传信息>:设置更换保存媒体的信息
-n或--numeric-uid-gid:使用"-tv"参数列出备份档的内容时,若再加上参数"-n",
则会以用户识别码和群组识别码替代拥有者和群组名称列出文件清单
-o或--create:执行copy-out模式,建立备份档
-O<备份档>:指定备份档的名称,用来取代标准输出,也能借此通过网络 使用另一台
主机的保存设备存放备份档
-p或--pass-throug:执行copy-pass模式,略过备份步骤,直接将文件复制到目的目录
-r或--rename:当有文件名称需要更动时,采用互动模式
-R<拥有者><:/.><所属群组>或----owner<拥有者><:/.><所属群组>:在copy-in模式还原
备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组
-s或--swap-bytes:交换每对字节的内容
-S或--swap-halfwords:交换每半个字节的内容
-t或--list:将输入的内容呈现出来
-u或--unconditional:置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖
-v或--verbose:详细显示指令的执行过程
-V或--dot:执行指令时,在每个文件的执行程序前面加上"."号
--block-size=<区块大小>:设置输入/输出的区块大小,假如设置数值为5,
则区块大小为2500,若设置成10,则区块大小为5120,依次类推
--force-local:强制将备份档存放在本地主机
--help:在线帮助
--no-absolute-filenames:使用相对路径建立文件名称
--no-preserve-owner:不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有
-only-verify-crc:当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个
文件是否正确无误
--quiet:不显示复制了多少区块
--sparse:倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件
--version:显示版本信息

备份当前目录下的文件

[root@dmxsp ~]# ls|cpio -o > /home/dmxsp/test.cpio

导入以前的备份文件

[root@dmxsp ~]# cpio -i < /home/dmxsp/test.cpio

找出当前目录下的所有文件,然后将它们打包进一个cpio压缩包文件

find . -depth | cpio -ocvB > backup.cpio 
find .-depth-print | cpio -ocvB > backup.cpio

将当前目录下名为inittab文件加入initrd.cpio包中

find . -name inittab -depth | cpio -ovcB -A -F initrd.cpio
find . -name inittab -depth | cpio -ovcB -A -O initrd.cpio
find . -name inittab -depth | cpio -ovcB -A --quiet  -O  initrd.cpio

不忽略文件列表清单的文件名最前面的“/”

cpio --absolute-filenames -vtc < boot.cpio

默认是忽略文件列表清单的文件中最前面的

cpio --no-absolute-filenames -vtc < boot.cpio

解压到原始位置,解压出来的每个文件的时间属性改为当前时间

cpio --absolute-filenames -icvu < test.cpio

解压到原始位置,同时不改变解压出来的每个文件的时间属性

cpio --absolute-filenames -icvum < test.cpio

解压到当前目录下

cpio  -icvu < test.cpio 

在解包cpio时,对解包出来的文件进行交互的更名

cpio -icvdu -r < grub.cpio

将cpio包中的文件解压并输入标准输出

cpio -icvu --to-stdout < grub.cpio

复制文件并更改文件的属主与属组

find . -depth| cpio -R ruanxi:ruanxi -pL  /backup/

作者 dmxsp

发表回复

您的电子邮箱地址不会被公开。