- Bang(!)命令
- 系统信息
- arch 显示主机的硬件结构类型
- uname 显示系统相关信息
- dmidecode 显示机器的DMI信息
- lspci 显示当前设备所有PCI总线信息
- lsusb 显示本机的USB设备列表信息
- date 显示或设置系统时间与日期
- lsb_release 查看LSB信息
- Linux 关机/重启/注销
- 文件和目录
- cd 切换目录
- pwd 显示工作路径
- ls 列出指定目录下的内容
- ll 列出当前文件或目录的详细信息
- tree 树状图列出目录的内容
- mkdir 创建目录
- rmdir 删除空目录
- rm 删除文件和目录
- mv 重命名/移动
- 文件搜索
- find 查找文件和目录
- xargs 命令是给其他命令传递参数的一个过滤器
- locate 文件查找工具
- whereis 显示命令及相关文件的路径
- which 查找并显示给定命令的绝对路径
- 磁盘空间
- du 显示每个文件和目录的磁盘使用空间
- df 显示磁盘空间使用情况
- 用户和群组
- groupadd 用于创建一个新的工作组
- groupdel 删除用户组
- groupmod 更改群组识别码或名称
- useradd 创建用户
- userdel 删除用户
- usermod 修改用户账号
- passwd 修改用户账户密码
- chage 修改帐号和密码的有效期限
- pwck 用来验证系统认证文件内容和格式的完整性
- grpck 用于验证组文件的完整性
- w 显示已登录用户
- 文件权限
- chmod 改变文件或目录权限
- chown 用来变更文件或目录的拥有者或所属群组
- chgrp 用来变更文件或目录的所属群组
- 文件的特殊属性
- chattr 用来改变文件属性
- lsattr 显示特殊的属性
- 打包和压缩文件
- bunzip2 bz2 格式文件的解压缩程序
- bzip2 bz2文件的压缩程序
- gunzip 解压文件
- gzip 压缩和解压文件
- rar 压缩文件
- unrar 解压rar文件
- tar 打包和备份的归档工具
- rpm RPM软件包管理器
- YUM 基于RPM的软件包管理器
- dpkg 管理deb包
- apt-get APT软件包管理工具
- 查看文件内容
- cat 在终端设备上显示文件内容
- tac 将文件以行为单位的反序输出
- more 显示文本文件内容
- less 上下翻页浏览文件内容
- head 在屏幕上显示指定文件的开头若干行
- tail 在屏幕上显示指定文件的末尾若干行
- grep 强大的文本搜索工具
- sed 功能强大的流式文本编辑器
- awk 文本和数据进行处理的编程语言
- echo 输出指定的字符串或者变量的值
- paste 将多个文件按列队列合并
- sort 将文件进行排序并输出
- comm 比较两个已排过序的文件
- 字符设置和文件格式转换
- dos2unix 将DOS格式的文本文件转换成UNIX格式
- 文件系统分析
- badblocks 查找磁盘中损坏的区块
- fsck 检查并修复Linux文件系统
- dosfsck
- e2fsck 检查使用 Linux ext2档案系统的partition是否正常工作
- 初始化一个文件系统
- mkfs 用于在设备上创建Linux文件系统
- mke2fs 创建磁盘分区上的“etc2/etc3”文件系统
- fdformat 对指定的软碟机装置进行低阶格式化
- SWAP文件系统
- mkswap 建立和设置SWAP交换分区
- swapon 激活交换空间
- 备份
- dump 用于备份ext2或者ext3文件系统
- restore 还原备份
- rsync 远程数据同步工具
- 参考示例
- dd 复制文件并对原文件的内容进行转换和格式化处理
- 光盘
- cdrecord 光盘刻录工具
- mkisofs 建立ISO 9660映像文件
- mount 用于挂载Linux系统外的文件
- 网络 - (以太网和WIFI无线)
- ifconfig 配置和显示Linux系统网卡的网络参数
- ifup 激活指定的网络接口
- ifdown 禁用指定的网络接口
- dhclient 动态获取或释放IP地址
- route 显示并设置路由
- hostname
- host 域名查询
- nslookup 查询域名DNS信息的工具
- ip 网络配置工具
- mii-tool 配置网络设备协商方式的工具
- ethtool 显示或修改以太网卡的配置信息
- netstat 查看Linux中网络系统状态信息
- tcpdump 监听网络流量
- iwlist 从无线网卡获取更详细的无线信息
- iwconfig 配置无线网络接口
- whois 用于查找并显示用户信息
- 进程相关
- ps 显示进程状态
- pstree 以树状图显示进程
- top 实时显示进程动态
- htop 互动的进程查看器
- nice 调整进程的优先级
- renice 修改正在运行的进程的调度优先级
- kill 杀死进程
- killall 使用进程名称来杀死一组进程
- ulimit 控制shell程序的资源
- pgrep 用于检索当前正在运行的进程
- fg 将作业放到前台运行
- bg 将作业放到后台运行
- ipcs 分析消息队列共享内存和信号量
- cpu和内存
- iostat 监视系统输入输出设备和 cpu 的使用情况
- vmstat 显示虚拟内存状态
- cup 相关命令
请点击查看详情
系统信息 arch 显示主机的硬件结构类型请点击查看详情
uname 显示系统相关信息请点击查看详情
dmidecode 显示机器的DMI信息请点击查看详情
lspci 显示当前设备所有PCI总线信息请点击查看详情
lsusb 显示本机的USB设备列表信息请点击查看详情
date 显示或设置系统时间与日期请点击查看详情
lsb_release 查看LSB信息LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带选项,则默认加上-v选项。
语法格式: lsb_release [选项]
选项说明-i显示系统名称简写-d显示系统全称和版本号-r显示版本号-a显示LSB所有信息使用-a选项显示LSB所有信息:
[root@htlwk0001host ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.2.2004 (Core)
Release: 8.2.2004
Codename: Core
[root@htlwk0001host ~]#
使用-d选项显示系统全称:
[root@linuxcool ~]# lsb_release -d
Linux 关机/重启/注销
请点击查看详情
文件和目录 cd 切换目录请点击查看详情
pwd 显示工作路径[root@htlwk0001host local]# pwd
/usr/local
[root@htlwk0001host local]#
ls 列出指定目录下的内容
请点击查看详情
ll 列出当前文件或目录的详细信息请点击查看详情
tree 树状图列出目录的内容请点击查看详情
mkdir 创建目录请点击查看详情
rmdir 删除空目录rmdir
命令作用是删除空的目录,英文全称:“remove directory”。
注意:rmdir
命令只能删除空目录,有内容的目录无法删除,rmdir
不能使用-r
和-f
选项,要删除非空目录时,就要使用带有-r
选项的rm
命令。
语法格式 : rmdir [选项] [参数]
选项:
选项说明-p
或--parents
删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除--ignore-fail-on-non-empty
此选项使rmdir命令忽略由于删除非空目录时导致的错误信息-v或-verboes
显示命令的详细执行过程--help
显示命令的帮助信息--version
显示命令的版本信息
参数: 要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。
示例: 示例1,删除一个叫test的目录,命令语句如下:
[root@htlwk0001host liaowenxiong]# rmdir test
[root@htlwk0001host liaowenxiong]#
示例2,把工作目录下的 www 目录中Test 目录删除,若 Test 删除后,www 目录成为空目录,则 www 亦予删除:
[root@htlwk0001host liaowenxiong]# rmdir -p www/Test
rm 删除文件和目录
请点击查看详情
mv 重命名/移动请点击查看详情
文件搜索 find 查找文件和目录请点击查看详情
xargs 命令是给其他命令传递参数的一个过滤器xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者 stdin 并将其转换成特定命令的命令参数。
xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是 echo,空格是默认定界符。这意味着通过管道传递给 xargs的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。xargs是构建单行命令的重要组件之一。
了解具体用法,请参考以下文档 在线工具
locate 文件查找工具请点击查看详情
whereis 显示命令及相关文件的路径请点击查看详情
which 查找并显示给定命令的绝对路径请点击查看详情
磁盘空间 du 显示每个文件和目录的磁盘使用空间请点击查看详情
df 显示磁盘空间使用情况请点击查看详情
用户和群组 groupadd 用于创建一个新的工作组请点击查看详情
groupdel 删除用户组请点击查看详情
groupmod 更改群组识别码或名称请点击查看详情
useradd 创建用户请点击查看详情
userdel 删除用户请点击查看详情
usermod 修改用户账号请点击查看详情
passwd 修改用户账户密码请点击查看详情
chage 修改帐号和密码的有效期限请点击查看详情
pwck 用来验证系统认证文件内容和格式的完整性请点击查看详情
grpck 用于验证组文件的完整性请点击查看详情
w 显示已登录用户请点击查看详情
文件权限 chmod 改变文件或目录权限请点击查看详情
chown 用来变更文件或目录的拥有者或所属群组请点击查看详情
chgrp 用来变更文件或目录的所属群组请点击查看详情
文件的特殊属性 chattr 用来改变文件属性chattr命令 用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
模式代号说明a让文件或目录仅供附加用途b不更新文件或目录的最后存取时间c将文件或目录压缩后存放d将文件或目录排除在倾倒操作之外i不得任意更动文件或目录s保密性删除文件或目录S即时更新文件或目录u预防意外删除示例1,用chattr命令防止系统中某个关键文件被修改:
[root@linuxcool ~]# chattr +i /etc/fstab
然后试一下rm、mv、rename等命令操作于该文件,都是得到Operation not permitted的结果。
示例2,让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作:
[root@linuxcool ~]# chattr +a /data1/user_act.log
lsattr 显示特殊的属性
lsattr命令的英文全称即“list attribute”,用于查看特定设备或特定文件在Linux第二扩展文件系统上的特有属性信息 。该命令常与chattr一起使用,chattr命令用于改变文件或目录的隐藏属性,而lsattr命令则用于查看其属性 。
示例1,使用 lsattr 命令来显示文件属性::
[root@linuxcool ~]# lsattr /etc/resolv.conf
打包和压缩文件
bunzip2 bz2 格式文件的解压缩程序
请点击查看详情
bzip2 bz2文件的压缩程序请点击查看详情
gunzip 解压文件请点击查看详情
gzip 压缩和解压文件请点击查看详情
rar 压缩文件需要安装 rarlinux 才能使用该命令
unrar 解压rar文件 tar 打包和备份的归档工具请点击查看详情
rpm RPM软件包管理器请点击查看详情
YUM 基于RPM的软件包管理器请点击查看详情
dpkg 管理deb包dpkg命令的英文全称是“Debian package”,故名意思是Debian Linux系统用来安装、创建和管理软件包( deb包)的实用工具。
常用选项:
选项说明-i安装软件包-r删除软件包,但保留其配置信息-l查看当前系统中已经安装的软件包的信息-L显示与软件包关联的文件,查看已安装软件的详细文件列表-c显示软件包的文件列表,即查询deb包文件中所包含的文件-e将主控信息解压-f把字段内容打印到标准输出-x将软件包中的文件释放到指定目录下-X将软件包中的文件释放到指定目录下,并显示释放文件的详细过程-W显示软件包的信息-R提取控制信息和存档的清单文件-b创建debian软件包-P彻底的卸载,包括软件的配置文件等-A从软件包里面读取软件的信息-s查看已经安装的指定软件包的详细信息-S查看系统中的某个文件属于那个软件包-p显示包的具体信息–unpack解开软件包示例1,安装软件包:
[root@linuxcool ~]# dpkg -i package.deb
示例2,删除软件包:
dpkg -r package_name # 从系统删除一个deb包
示例3,显示系统中所有已经安装的 deb 包 :
dpkg -l
示例4,显示所有名称中包含 “httpd” 的deb包 :
dpkg -l | grep httpd
示例5,安装一个目录下面所有的软件包:
dpkg -R /usr/local/src
示例6,显示已经安装的deb包的文件列表:
dpkg -L package_name
示例7,显示尚未安装的一个包的文件列表:
dpkg --contents package.deb
示例8,查询文件/bin/ping属于哪个软件包:
dpkg -S /bin/ping
apt-get APT软件包管理工具
请点击查看详情
查看文件内容 cat 在终端设备上显示文件内容请点击查看详情
tac 将文件以行为单位的反序输出tac命令就是将文件反向输出,刚好和cat输出相反。 tac命令用于将文件以行为单位的反序输出,即第一行最后显示,最后一行先显示。
示例1,反向列出test.txt文件的内容:
[root@linuxcool ~]# cat test.txt
hello world
hello linuxcool
hello linuxprobe
[root@linuxcool ~]# tac test.txt
hello linuxprobe
hello linuxcool
hello world
more 显示文本文件内容
请点击查看详情
less 上下翻页浏览文件内容请点击查看详情
head 在屏幕上显示指定文件的开头若干行请点击查看详情
tail 在屏幕上显示指定文件的末尾若干行请点击查看详情
grep 强大的文本搜索工具请点击查看详情
sed 功能强大的流式文本编辑器请点击查看详情
awk 文本和数据进行处理的编程语言awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。
了解详情请参考以下文档: 在线工具
echo 输出指定的字符串或者变量的值请点击查看详情
paste 将多个文件按列队列合并paste命令会把每个文件以列对列的方式,一列列地加以合并 ,他就是相当于把两个不同的文件内容粘贴在一起,形成新的文件。
注意:paste默认粘贴方式以列的方式粘贴,加上-s
选项则以行方式粘贴。
常用选项:
选项说明-d
默认域的分隔符是空格或tab键,设置新的域分隔符-s
将每个文件粘贴成一行--
从标准输入中读取数据
示例1,将file_2和file_2粘贴成一个新的文件:
[root@linuxcool ~]# cat file_1
aaa
bbb
ccc
ddd
eee
[root@linuxcool ~]# cat file_2
AAA
BBB
CCC
DDD
EEE
[root@linuxcool ~]# paste file_1 file_2
aaa AAA
bbb BBB
ccc CCC
ddd DDD
eee EEE
示例2,设置域分隔符为:
粘贴成新的文件:
[root@linuxcool ~]# paste -d: file_1 file_2
aaa:AAA
bbb:BBB
ccc:CCC
ddd:DDD
eee:EEE
示例3,将每个文件粘贴成一行:
[root@linuxcool ~]# cat file_1
aaa
bbb
ccc
ddd
eee
[root@linuxcool ~]# cat file_2
AAA
BBB
CCC
DDD
EEE
[root@linuxcool ~]# paste -d: -s file_1 file_2
aaa:bbb:ccc:ddd:eee
AAA:BBB:CCC:DDD:EEE
示例4,从标准输入中读取数据,每行显示5个文件名:
[root@linuxcool ~]# ls | paste -d" " - - - - -
anaconda-ks.cfg dir_1 file1 file_1 file_1.db
file_2 file_3 file_4 file_5 file_6
file.db file_hobby_1 file_hobby.db file_hobby_sort.db file_sort.db
initial-setup-ks.cfg testfile
sort 将文件进行排序并输出
sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。
示例1,取出两个文件的并集(重复的行只保留一份) :
sort file1 file2 | uniq
示例2,删除交集,留下其他的行 :
sort file1 file2 | uniq -u
示例3,取出两个文件的交集(只留下同时存在于两个文件中的文件) :
sort file1 file2 | uniq -d
了解更多请查看以下文档: Linux命令大全(手册) 在线工具
comm 比较两个已排过序的文件comm命令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。若给予的文件名称为”-“,则comm指令会从标准输入设备读取数据。
示例1,比较两个文件的内容只删除 ‘file1’ 所包含的内容 :
comm -1 file1 file2
示例2,比较两个文件的内容只删除 ‘file2’ 所包含的内容 :
comm -2 file1 file2
示例3,比较两个文件的内容只删除两个文件共有的部分
comm -3 file1 file2
Linux命令大全(手册) 在线工具
字符设置和文件格式转换 dos2unix 将DOS格式的文本文件转换成UNIX格式dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是0A。
DOS格式的文本文件在Linux下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件。如果是个shell脚本,而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。
了解更多请参考以下文档: Linux命令大全(手册) 在线工具
文件系统分析 badblocks 查找磁盘中损坏的区块badblock命令用于查找磁盘中损坏的区块。 硬盘是一个损耗设备,当使用一段时间后可能会出现坏道等物理故障。电脑硬盘出现坏道后,如果不及时更换或进行技术处理,坏道就会越来越多,并会造成频繁死机和数据丢失。最好的处理方式是更换磁盘,但在临时的情况下,应及时屏蔽坏道部分的扇区,不要触动它们。badblocks就是一个很好的检查坏道位置的工具。
选项:
选项说明-b指定磁盘的区块大小,单位为字节-o将检查的结果写入指定的输出文件-s在检查时显示进度-v执行时显示详细的信息-w在检查时,执行写入测试示例1,检查磁盘hda1上的坏磁块
badblocks -v /dev/hda1
参考以下文档: 在线工具 Linux命令大全(手册)
fsck 检查并修复Linux文件系统fsck命令的英文全称是“filesystem check”,即检查文件系统的意思,常用于检查并修复Linux文件系统的一些错误信息,操作文件系统需要先备份重要数据,以防丢失。
Linux fsck命令用于检查并修复Linux文件系统,可以同时检查一个或多个 Linux 文件系统;若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。 示例1,修复/检查hda1磁盘上linux文件系统的完整性 :
fsck /dev/hda1
示例2,修复/检查hda1磁盘上ext2文件系统的完整性 :
fsck.ext2 /dev/hda1
示例3,修复/检查hda1磁盘上ext3文件系统的完整性 :
fsck.ext3 /dev/hda1
示例4,修复/检查hda1磁盘上fat文件系统的完整性
fsck.vfat /dev/hda1
示例5,修复/检查hda1磁盘上dos文件系统的完整性
fsck.msdos /dev/hda1
参考以下文档: 在线工具 Linux命令大全(手册) fsck命令详解
dosfsck示例1,修复/检查hda1磁盘上dos文件系统的完整性 :
dosfsck /dev/hda1
e2fsck 检查使用 Linux ext2档案系统的partition是否正常工作
示例1,修复/检查hda1磁盘上ext2文件系统的完整性 :
e2fsck /dev/hda1
示例2,修复/检查hda1磁盘上ext3文件系统的完整性 :
e2fsck -j /dev/hda1
参考以下文档: 在线工具 Linux命令大全(手册)
初始化一个文件系统 mkfs 用于在设备上创建Linux文件系统在磁盘分区上创建ext2、ext3、ext4、ms-dos、vfat文件系统,默认情况下会创建ext2。mkfs用于在设备上构建Linux文件系统,通常是硬盘分区。文件要么是设备名称(例如/dev/hda1,/dev/sdb2),要么是包含文件系统的常规文件。成功返回0,失败返回1。
实际上,mkfs只是Linux下可用的各种文件系统构建器(mkfs.fstype)的前端,在可能/sbin、/sbin/fs、/sbin/fs.d、/etc/fs、/etc/fs等多个目录中搜索特定于文件系统的生成器(编译时定义了精确的列表,但至少包含/sbin和/sbin/fs),最后在PATH环境变量中列出的目录中搜索。
示例1,在hda1分区创建一个文件系统 :
mkfs /dev/hda1
示例2,创建一个 FAT32 文件系统 :
mkfs -t vfat 32 -F /dev/hda1
参考文档: Linux命令大全(手册) 在线工具
mke2fs 创建磁盘分区上的“etc2/etc3”文件系统mke2fs命令 被用于创建磁盘分区上的“etc2/etc3”文件系统。
示例1,在hda1分区创建一个linux ext2的文件系统 :
mke2fs /dev/hda1
示例2,在hda1分区创建一个linux ext3(日志型)的文件系统 :
mke2fs -j /dev/hda1
参考文档: 在线工具 Linux命令大全
fdformat 对指定的软碟机装置进行低阶格式化fdformat -n /dev/fd0 格式化一个软盘
SWAP文件系统
mkswap 建立和设置SWAP交换分区
示例1,创建一个swap文件系统 :
mkswap /dev/hda3
参考文档: 在线工具 Linux命令大全 深入理解swap交换分区及扩存
swapon 激活交换空间swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。
启用一个新的swap文件系统 :
swapon /dev/hda3
启用两个swap分区 :
swapon /dev/hda2 /dev/hdb3
参考文档: Linux命令大全(手册)
备份 dump 用于备份ext2或者ext3文件系统dump命令用于备份ext2或者ext3文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
常用选项:
选项说明-0123456789备份的层级-b指定区块的大小,单位为KB-B指定备份卷册的区块数目-c修改备份磁带预设的密度与容量-d设置磁带的密度。单位为BPI-f指定备份设备或者指定备份之后的文件名-h当备份层级等于或大于指定的层级时,将不备份用户标示为“nodump”的文件-n当备份工作需要管理员介入时,向所有“operator”群组中的使用者发出通知-s备份磁带的长度,单位为英尺-T指定备份的时间与日期-u备份完毕后,在/etc/dumpdates中记录备份的文件系统、层级、日期与时间等-w与-W类似,但仅显示需要备份的文件-W显示需要备份的文件及其最后一次备份的层级、时间与日期-j调用 bzlib 库压缩备份文件,其实就是把备份文件压缩为 .bz2 格式,默认压缩等级是 2备份层级: dump 命令可以支持 0~9 共 10 个备份级别。其中,0 级别指的就是完全备份,1~9 级别都是增量备份级别。
也就是说,当我们备份一份数据时,第一次备份应该使用 0 级别,会把所有数据完全备份一次;第二次备份就可以使用 1 级别了,它会和 0 级别进行比较,把 0 级别备份之后变化的数据进行备份;第三次备份使用 2 级别,2 级别会和 1 级别进行比较,把 1 级别备份之后变化的数据进行备份;以此类推。
需要注意的是,只有在备份整个分区或整块硬盘时,才能支持 1~9 的增量备份级别;如果只是备份某个文件或不是分区的目录,则只能使用 0 级别进行完全备份。
通过dump命令的备份层级,可实现完整+增量备份、完整+差异备份,在配合crontab可以实现无人值守备份。
示例1,将/home目录所有内容备份到/tmp/homeback.bak文件中,备份层级为0并在/etc/dumpdates中记录相关信息:
dump -0u -f /tmp/homeback.bak /home
示例2,将/home目录所有内容备份到/tmp/homeback.bak文件中,备份层级为1(只备份上次使用层次0备份后发生过改变的数据)并在/etc/dumpdates中记录相关信息:
dump -1u -f /tmp/homeback.bak /home
参考文档如下: dump命令详解
restore 还原备份restore命令用来还原由dump操作所备份下来的文件或整个文件系统(一个分区)。还原操作是写回这些已备份的文件。
常用选项:
选项说明-b设置区块大小,单位为Byte-c不检查倾倒操作的备份格式,仅准许读取使用旧格式的备份文件-C使用对比模式,将备份的文件与现行的文件相互对比-D允许用户指定文件系统的名称-f从指定的文件中读取备份数据,进行还原操作-h仅解除目录而不包括与该目录相关的所有文件-i使用互动模式,在进行还原操作时,restore指令将依序询问用户-m解开符合指定的inode编号的文件或目录而非用文件名称指定-r进行还原操作-R全面还原文件系统时,检查应从何处开始进行-s当备份数据超过一卷磁带时,用户可以指定备份文件的编号-t指定文件名称,若该文件已存在备份文件中,则列出它们的名称-v显示指令执行过程-x设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内-y不询问任何问题,一律以同意回答并继续执行指令示例1,备份后,再还原备份:
dump -9 -u -f /dev/hda3 /home/frank/
restore -rf /dev/hda3 /home/frank # 用restore命令来恢复备份
示例2,用restore命令来查看备份文件里的文件列表:
restore -ft /dev/hda3
示例3,使用已执行的转储来执行完全重建:
[root@linuxcool ~]# restore -rf /dev/nst0
示例4,仅从磁带备份中提取 /etc 目录:
[root@linuxcool ~]# restore -xf /dev/nst0 /etc
示例5,交互式还原:
[root@linuxcool ~]# restore -if /dev/nst0
示例6,完全重建,且一律同意执行:
[root@linuxcool ~]# restore -rfy /dev/nst0
rsync 远程数据同步工具
rsync命令 是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
语法:
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]host:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
对应于以上六种命令格式,rsync有六种不同的工作模式:
-
拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
-
使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:
rsync -avz *.c foo:src
-
使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:
rsync -avz foo:src/bar /data
-
从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:
rsync -av root@192.168.78.192::www /databack
-
从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:
rsync -av /databack root@192.168.78.192::www
-
列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:
rsync -v rsync://192.168.78.192/www
选项:
选项说明-v, --verbose详细模式输出-q, --quiet精简输出模式-c, --checksum打开校验开关,强制对文件传输进行校验-a, --archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD-r, --recursive对子目录以递归模式处理-R, --relative使用相对路径信息-b, --backup创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用–suffix选项来指定不同的备份文件前缀–backup-dir将备份文件(如~filename)存放在在目录下-suffix=SUFFIX定义备份文件前缀-u, --update仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件-l, --links保留软链结-L, --copy-links想对待常规文件一样处理软链结–copy-unsafe-links仅仅拷贝指向SRC路径目录树以外的链结–safe-links忽略指向SRC路径目录树以外的链结-H, --hard-links保留硬链结-p, --perms保持文件权限-o, --owner保持文件属主信息-g, --group保持文件属组信息-D, --devices保持设备文件信息-t, --times保持文件时间信息-S, --sparse对稀疏文件进行特殊处理以节省DST的空间-n, --dry-run现实哪些文件将被传输-w, --whole-file拷贝文件,不进行增量检测-x, --one-file-system不要跨越文件系统边界-B, --block-size=SIZE检验算法使用的块尺寸,默认是700字节-e, --rsh=command指定使用rsh、ssh方式进行数据同步–rsync-path=PATH指定远程服务器上的rsync命令所在路径信息-C, --cvs-exclude使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件–existing仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件–delete删除那些DST中SRC没有的文件–delete-excluded同样删除接收端那些被该选项指定排除的文件–delete-after传输结束以后再删除–ignore-errors及时出现IO错误也进行删除–max-delete=NUM最多删除NUM个文件-P 或者 --partial保留那些因故没有完全传输的文件,以是加快随后的再次传输–force强制删除目录,即使不为空–numeric-ids不将数字的用户和组id匹配为用户名和组名–timeout=timeip超时时间,单位为秒-I, --ignore-times不跳过那些有同样的时间和长度的文件–size-only当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间–modify-window=NUM决定文件是否时间相同时使用的时间戳窗口,默认为0-T --temp-dir=DIR在DIR中创建临时文件–compare-dest=DIR同样比较DIR中的文件来决定是否需要备份–progress显示备份过程-z, --compress对备份的文件在传输时进行压缩处理–exclude=PATTERN指定排除不需要传输的文件模式–include=PATTERN指定不排除而需要传输的文件模式–exclude-from=FILE排除FILE中指定模式的文件–include-from=FILE不排除FILE指定模式匹配的文件–version打印版本信息–address绑定到特定的地址–config=FILE指定其他的配置文件,不使用默认的rsyncd.conf文件–port=PORT指定其他的rsync服务端口–blocking-io对远程shell使用阻塞IO-stats给出某些文件的传输状态–progress在传输时现实传输过程–log-format=formAT指定日志文件格式–password-file=FILE从FILE中得到密码–bwlimit=KBPS限制I/O带宽,KBytes per second-h, --help显示帮助信息 参考示例示例1,通过SSH方式同步:
首先在服务端启动ssh服务:
service sshd start
启动 sshd: [确定]
接下来就可以在客户端使用rsync命令来同步(备份)服务端上的数据了,SSH方式是通过系统用户来进行同步的,如下:
rsync -vzrtopg --progress -e ssh --delete work@172.16.78.192:/www/* /databack/experiment/rsync
work@172.16.78.192's password:
receiving file list ...
5 files to consider
test/
a
0 100% 0.00kB/s 527:35:41 (1, 20.0% of 5)
b
67 100% 65.43kB/s 0:00:00 (2, 40.0% of 5)
c
0 100% 0.00kB/s 527:35:41 (3, 60.0% of 5)
dd
100663296 100% 42.22MB/s 0:00:02 (4, 80.0% of 5)
sent 96 bytes received 98190 bytes 11563.06 bytes/sec
total size is 100663363 speedup is 1024.19
上面的信息描述了整个的备份过程,以及总共备份数据的大小。
示例2,后台服务方式: 启动rsync服务,编辑/etc/xinetd.d/rsync
文件,将其中的disable=yes
改为disable=no
,并重启xinetd
服务,如下:
vi /etc/xinetd.d/rsync
#default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync {
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
/etc/init.d/xinetd restart
停止 xinetd: [确定]
启动 xinetd: [确定]
创建配置文件,默认安装好rsync程序后,并不会自动创建rsync的主配置文件,需要手工来创建,其主配置文件为“/etc/rsyncd.conf”,创建该文件并插入如下内容:
vi /etc/rsyncd.conf
uid=root
gid=root
max connections=4
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsyncd.passwd
hosts deny=172.16.78.0/22
[www]
comment= backup web
path=/www
read only = no
exclude=test
auth users=work
创建密码文件,采用这种方式不能使用系统用户对客户端进行认证,所以需要创建一个密码文件,其格式为“username:password”,用户名可以和密码可以随便定义,最好不要和系统帐户一致,同时要把创建的密码文件权限设置为600,这在前面的模块参数做了详细介绍。
echo "work:abc123" > /etc/rsyncd.passwd
chmod 600 /etc/rsyncd.passwd
备份,完成以上工作,现在就可以对数据进行备份了,如下:
rsync -avz --progress --delete work@172.16.78.192::www /databack/experiment/rsync
Password:
receiving file list ...
6 files to consider
./ files...
a
0 100% 0.00kB/s 528:20:41 (1, 50.0% of 6)
b
67 100% 65.43kB/s 0:00:00 (2, 66.7% of 6)
c
0 100% 0.00kB/s 528:20:41 (3, 83.3% of 6)
dd
100663296 100% 37.49MB/s 0:00:02 (4, 100.0% of 6)
sent 172 bytes received 98276 bytes 17899.64 bytes/sec
total size is 150995011 speedup is 1533.75
恢复,当服务器的数据出现问题时,那么这时就需要通过客户端的数据对服务端进行恢复,但前提是服务端允许客户端有写入权限,否则也不能在客户端直接对服务端进行恢复,使用rsync对数据进行恢复的方法如下:
rsync -avz --progress /databack/experiment/rsync/ work@172.16.78.192::www
Password:
building file list ...
6 files to consider
./
a
b
67 100% 0.00kB/s 0:00:00 (2, 66.7% of 6)
c
sent 258 bytes received 76 bytes 95.43 bytes/sec
total size is 150995011 speedup is 452080.87
示例3,同步两边的目录 :
rsync -rogpav --delete /home /tmp
示例4,通过SSH通道同步:
rsync -rogpav -e ssh --delete /home ip_address:/tmp
示例5,通过ssh和压缩将一个远程目录同步到本地目录 :
rsync -az -e ssh --delete ip_addr:/home/public /home/local
示例6,通过ssh和压缩将本地目录同步到远程目录 :
rsync -az -e ssh --delete /home/local ip_addr:/home/public
dd 复制文件并对原文件的内容进行转换和格式化处理
dd命令用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。
建议在有需要的时候使用dd 对物理磁盘操作,如果是文件系统的话还是使用tar backup cpio等其他命令更加方便。另外,使用dd对磁盘操作时,最好使用块设备文件。
示例1,通过ssh在远程主机上执行一次备份本地磁盘的操作 :
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
示例2,备份磁盘内容到一个文件 :
dd if=/dev/sda of=/tmp/file1
示例3,将本地的/dev/hdb整盘备份到/dev/hdd:
[root@linuxcool ~]# dd if=/dev/hdb of=/dev/hdd
示例4,做一个将 MBR (Master Boot Record)内容复制到软盘的动作 :
dd if=/dev/hda of=/dev/fd0 bs=512 count=1
示例5,从已经保存到软盘的备份中恢复MBR内容:
dd if=/dev/fd0 of=/dev/hda bs=512 count=1
示例6,校验一个设备的md5sum编码,例如一张 CD :
dd if=/dev/hdc | md5sum
了解更多请参考以下文档: 在线工具 Linux命令大全
光盘 cdrecord 光盘刻录工具cdrecord命令用于Linux系统下光盘刻录,它支持CD和DVD格式。linux下一般都带有cdrecord软件。cdrecord命令支持刻录音视频、数据等多种类型光盘。
语法: cdrecord[选项][参数]
选项:
项目Value-v显示刻录光盘的详细过程-eject刻录完成后弹出光盘speed=指定光盘刻录的倍速dev=指定使用“-scanbus”参数扫描到的刻录机的设备号-scanbus扫描系统中可用的刻录机示例1,清空一个可复写的光盘内容 :
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
示例2,刻录一个ISO镜像文件 :
cdrecord -v dev=/dev/cdrom cd.iso
示例3,扫描总线以识别scsi通道 :
cdrecord --scanbus
参考文档: 线上工具
mkisofs 建立ISO 9660映像文件mkisofs命令 用来将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。
示例1,在磁盘上创建一个光盘的iso镜像文件 :
mkisofs /dev/cdrom > cd.iso
示例2,在磁盘上创建一个压缩了的光盘iso镜像文件 :
mkisofs /dev/cdrom | gzip > cd_iso.gz
示例3,创建一个目录的iso镜像文件 :
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd
参考文档: 线上工具
mount 用于挂载Linux系统外的文件mount命令 Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件
参考文档: 线上工具
网络 - (以太网和WIFI无线) ifconfig 配置和显示Linux系统网卡的网络参数请点击查看详情
ifup 激活指定的网络接口ifup命令用于激活指定的网络接口。ifup命令会去读取/etc/sysconfig/network-scripts/目录下的相关网络接口的配置文件,并根据配置文件的内容来激活该网络接口。
注意:网络接口名称必须是/etc/sysconfig/network-scripts/目录配置文件中设置的才可以。如果使用ifconfig命令改变了网络接口后,ifup命令就不会识别了。因为ifup命令会对比当前网络的参数与/etc/sysconfig/network-scripts/中配置文件的内容是否相符。
示例1,激活网络接口eth0:
[root@linuxcool ~]# ifup eth0
ifdown 禁用指定的网络接口
ifdown命令用于禁用指定的网络接口。该命令会去读取/etc/sysconfig/network-scripts/目录下的相关网络接口的配置文件,并根据配置文件的内容来关闭该网络接口。
注意:网络接口名称必须是/etc/sysconfig/network-scripts/目录配置文件中设置的才可以。如果使用ifconfig命令改变了网络接口后,ifdown命令就不会识别了。因为ifdown命令会对比当前网络的参数与/etc/sysconfig/network-scripts/中配置文件的内容是否相符。
示例1,禁用网络接口eth0:
[root@linuxcool ~]# ifdown eth0
dhclient 动态获取或释放IP地址
dhclient命令的作用是:使用动态主机配置协议动态的配置网络接口的网络参数,也支持BOOTP协议。
参考文档: Linux命令大全(手册)
route 显示并设置路由route命令用来显示并设置linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在linux系统中设置路由通常是为了解决以下问题:该linux系统在一个局域网中,局域网中有一个网关,能够让主机访问Internet,那么就需要将这台机器的ip地址设置为linux机器的默认路由。
要注意的是:直接在命令行下执行route命令来添加路由,不会永久保存。当网卡重启或者机器重启之后,该路由就失效了。可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
参考文档: 在线工具 Linux命令大全(手册)
hostname选项:
选项说明-a显示主机别名-d显示DNS域名-f显示FQDN名称-i显示主机的ip地址-s显示短主机名称,在第一个点处截断-y显示NIS域名使用-a参数显示主机别名:
[root@linuxcool ~]# hostname -a
使用-i参数显示主机的ip地址:
[root@linuxcool ~]# hostname -i
显示主机名称:
[root@AY1307311912260196fcZ ~]# hostname
AY1307311912260196fcZ
更改主机名称:
hostname newname # 这样修改的主机名称当前有效,重启后失效
vi /etc/hosts # 配置文件修改,永久有效
reboot # 配置文件改了,要重启系统
host 域名查询
host命令是一个用于执行DNS查找的简单实用程序。它通常用于将名称转换为IP地址,反之亦然。 如果没有给出参数或选项,host将打印其命令行参数和选项的简短摘要。
选项:
选项说明-a显示详细的DNS信息-c指定查询类型,默认值为“IN”-C查询指定主机的完整的SOA记录-r不使用递归的查询方式查询域名-t指定查询的域名信息类型-v显示指令执行的详细信息-w如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答-W指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出-4使用IPv4查询传输 (默认)-6使用IPv6查询传输查询域名对应的IP地址:
[root@linuxcool ~]# host linuxcool.com
显示执行域名查询的详细信息:
[root@linuxcool ~]# host -v linuxcool.com
查询域名的MX信息:
[root@linuxcool ~]# host -t MX linuxcool.com
nslookup 查询域名DNS信息的工具
请点击查看详情
ip 网络配置工具ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具
常用选项:
选项说明-V显示指令版本信息-s输出更详细的信息-f强制使用指定的协议族-4指定使用的网络层协议是IPv4协议-6指定使用的网络层协议是IPv6协议-0输出信息每条记录输出一行,即使内容较多也不换行显示-r显示主机时,不使用IP地址,而使用主机的域名参考示例:
ip link show # 显示网络接口信息
ip link set eth0 up # 开启网卡
ip link set eth0 down # 关闭网卡
ip link set eth0 promisc on # 开启网卡的混合模式
ip link set eth0 promisc offi # 关闭网卡的混个模式
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
ip link set eth0 mtu 1400 # 设置网卡最大传输单元
ip addr show # 显示网卡IP信息
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
ip route show # 显示系统路由
ip route add default via 192.168.1.254 # 设置系统默认路由
ip route list # 查看路由信息
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
ip route del default # 删除默认路由
ip route delete 192.168.1.0/24 dev eth0 # 删除路由
参考文章: 在线工具
mii-tool 配置网络设备协商方式的工具mii-tool命令 是用于查看、管理介质的网络接口的状态,有时网卡需要配置协商方式,比如10/100/1000M的网卡半双工、全双工、自动协商的配置。但大多数的网络设备是不用我们来修改协商,因为大多数网络设置接入的时候,都采用自动协商来解决相互通信的问题。不过自动协商也不是万能的,有时也会出现错误,比如丢包率比较高,这时就要我们来指定网卡的协商方式。mii-tool就是能指定网卡的协商方式。下面我们说一说mii-tool的用法。
参考文档: 在线工具
ethtool 显示或修改以太网卡的配置信息ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。
参考文档: 在线工具
netstat 查看Linux中网络系统状态信息请点击查看详情
tcpdump 监听网络流量请点击查看详情
iwlist 从无线网卡获取更详细的无线信息请点击查看详情
iwconfig 配置无线网络接口请点击查看详情
whois 用于查找并显示用户信息请点击查看详情
进程相关 ps 显示进程状态请点击查看详情
pstree 以树状图显示进程请点击查看详情
top 实时显示进程动态请点击查看详情
htop 互动的进程查看器请点击查看详情
nice 调整进程的优先级通过 nice 命令的帮助,用户可以设置和改变进程的优先级。提高一个进程的优先级,内核会分配更多CPU时间片给这个进程。默认情况下,进程以0的优先级启动。进程优先级可以通过top命令显示的NI(nice value)列查看。
进程优先级值的范围从-20到19。值越低,优先级越高。
renice 修改正在运行的进程的调度优先级renice 命令类似 nice 命令。使用这个命令可以改变正在运行的进程优先值。
该命令预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。
kill 杀死进程请点击查看详情
killall 使用进程名称来杀死一组进程请点击查看详情
ulimit 控制shell程序的资源请点击查看详情
pgrep 用于检索当前正在运行的进程请点击查看详情
fg 将作业放到前台运行fg 命令用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行
bg 将作业放到后台运行bg 命令用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号 &
的效果是相同的,都是将其放到系统后台执行
在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。
ipcs 分析消息队列共享内存和信号量ipcs命令是用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息
cpu和内存 iostat 监视系统输入输出设备和 cpu 的使用情况请点击查看详情
vmstat 显示虚拟内存状态请点击查看详情
cup 相关命令请点击查看详情