第1章 Linux命令行简介 1
1.1 Linux命令行概述 1
1.1.1 Linux命令行的重要作用 1
1.1.2 Linux命令行介绍 1
1.1.3 Linux命令行的启动及退出 2
1.1.4 Linux命令行提示符 2
1.1.5 命令行的历史记录和编辑 3
1.1.6 命令行快捷键 4
1.2 在命令行下使用Linux帮助信息 4
1.2.1 使用help命令获得bash的内部命令帮助 5
1.2.2 使用man获取帮助信息 6
1.2.3 使用info获取帮助信息 8
1.2.4 用发行版的系统手册 10
1.2.5 从Internet获得帮助 10
第2章 Linux文件管理命令 12
2.1 ls:显示文件名 12
2.2 cat:显示文本文件内容 16
2.3 rm:删除文件 17
2.4 less:分屏显示文件 18
2.5 cp:复制文件 21
2.6 mv:更改文件名 22
2.7 grep:查找字符串 23
2.8 head:显示文件头部 26
2.9 tail:显示文件尾部 27
2.10 sort:按顺序显示文件内容 28
2.11 uniq:忽略文件中的重复行 30
2.12 diff:比较两个文件 32
2.13 diffstat:diff结果的统计信息 36
2.14 file:测试文件内容 36
2.15 echo:显示文本 37
2.16 date:显示日期和时间 38
2.17 script:记录Linux会话信息 40
2.18 apropos:搜索关键字 42
2.19 locate:搜索文件 42
2.20 rmdir:删除目录 44
2.21 chattr:改变文件的属性 44
2.22 cksum:文件的CRC校验 45
2.23 cmp:比较文件差异 47
2.24 split:分割文件 47
2.25 dirname:显示文件除名字外的路径 48
2.26 find:查找目录或者文件 48
2.27 findfs:通过列表或用户ID查找文件系统 50
2.28 ln:链接文件或目录 51
2.29 lndir:链接目录内容 53
2.30 lsattr:显示文件属性 53
2.31 od:输出文件内容 54
2.32 paste:合并文件的列 55
2.33 stat:显示inode内容 56
2.34 tee:读取标准输入到标准输出并可保存为文件 58
2.35 tmpwatch:删除临时文件 59
2.36 touch:更新文件目录时间 59
2.37 tree:以树状图显示目录内容 60
2.38 umask:指定在建立文件时预设的权限掩码 62
2.39 chmod:设置文件或目录的访问权限 63
2.40 chgrp:改变文件或目录所属的群组 66
2.41 chown:改变文件的拥有者或群组 66
2.42 more:查看文件的内容 67
2.43 md5sum:MD5函数值计算和检查 69
2.44 awk:模式匹配语言 70
2.45 wc:输出文件中的行数、单词数、字节数 75
2.46 comm:比较排序文件 75
2.47 join:将两个文件中指定栏位内容相同的行连接起来 76
2.48 fmt:编排文本文件 77
2.49 tr:转换字符 78
2.50 col:过滤控制字符 80
2.51 colrm:删除指定的行 80
2.52 fold:限制文件列宽 80
2.53 iconv:转换给定文件的编码 81
2.54 dc:任意精度的计算器 82
2.55 expr:求表达式变量的值 82
2.56 strings:显示文件中的可打印字符 84
2.57 xargs:从标准输入读入参数 84
2.58 sum:计算文件的校验和,以及文件占用的块数 86
2.59 setfacl:设定文件访问控制列表 87
2.60 getfacl:获取文件访问控制列表 88
2.61 chacl:更改文件或目录的访问控制列表 89
第3章 Linux磁盘管理命令 91
3.1 df:显示报告文件系统磁盘使用信息 91
3.2 du:显示目录或者文件所占的磁盘空间 92
3.3 dd:磁盘操作 94
3.4 fdisk:磁盘分区 96
3.5 mount:挂载文件系统 99
3.6 umount:卸载文件系统 102
3.7 mkfs:建立各种文件系统 102
3.8 mkfs.ext2:建立一个Ext2/Ext3文件系统 104
3.9 mkbootdisk:建立启动盘 105
3.10 fsck:检查文件系统 105
3.11 blockdev:从命令行调用区块设备控制程序 106
3.12 hdparm:设置磁盘参数 107
3.13 mkswap:建立交换分区 109
3.14 swapon:使用交换空间 110
3.15 swapoff:关闭系统交换分区 111
3.16 sync:写入磁盘 111
3.17 e2label:设置卷标 112
3.18 badblocks:检查磁盘 112
3.19 quota:显示磁盘已使用的空间与限制 113
3.20 quotacheck:检查磁盘的使用空间与限制 113
3.21 quotaoff:关闭磁盘空间限制 114
3.22 quotaon:开启磁盘空间限制 114
3.23 quotastats:显示磁盘空间限制 115
3.24 repquota:检查磁盘空间限制的状态 116
3.25 mdadm:RAID设置工具 116
3.26 tune2fs:文件系统调整 119
3.27 mkisofs:建立ISO 9660映象文件 120
3.28 cfdisk:磁盘分区 121
3.29 sfdisk:硬盘分区工具程序 123
3.30 parted:磁盘分区工具 124
3.31 mkinitrd:建立要载入ramdisk的映象文件 126
3.32 ssm:命令行集中存储管理工具 126
3.33 使用xfs管理命令 129
3.34 LVM命令列表 134
第4章 Linux进程管理命令 141
4.1 accton:打开或关闭进程统计 141
4.2 lastcomm:显示以前使用过的命令的信息 142
4.3 sa:报告、清理并维护进程统计文件 143
4.4 at:定时运行命令 144
4.5 atq:显示目前使用at命令后待执行的命令队列 145
4.6 atrm:删除at命令中待执行的命令队列 146
4.7 batch:在系统负载水平允许的时候执行命令 146
4.8 bg:后台运行命令 147
4.9 fg:挂起程序 147
4.10 jobs:显示后台程序 148
4.11 kill:杀掉进程 149
4.12 crontab:设置计时器 150
4.13 ps:查看权限 151
4.14 pstree:显示进程状态树 153
4.15 top:显示进程 154
4.16 nice:改变优先权等级 156
4.17 renice:修改优先权等级 156
4.18 sleep:暂停进程 157
4.19 nohup:用户退出系统之后继续工作 158
4.20 pgrep:查找匹配条件的进程 158
4.21 fuser:用文件或者套接口表示进程 158
4.22 chkconfig:设置系统的各种服务 160
4.23 strace:跟踪一个进程的系统调用或信号产生的情况 162
4.24 ltrace:跟踪进程调用库函数的情况 162
4.25 vmstat:报告虚拟内存统计信息 162
4.26 mpstat:监测CPU(包括多CPU)性能 164
4.27 iostat:监测I/O性能 165
4.28 sar:系统活动情况报告 166
4.29 pidof:查找正在运行进程的进程ID(PID) 167
4.30 ntsysv:设置系统服务 168
第5章 Linux网络管理命令 170
5.1 arp:管理系统中的ARP高速缓存 170
5.2 arpwatch:监听ARP记录 171
5.3 arping:发送ARP请求到一个相邻主机 172
5.4 arpd:收集免费arp信息的一个守护进程 173
5.5 finger:查找并显示用户信息 173
5.6 ifconfig:设置网络接口 174
5.7 iwconfig:设置无线网卡 176
5.8 iw:新一代无线网络配置工具 180
5.9 hostname:显示主机名 187
5.10 ifup:激活网络设备 188
5.11 ifdown:禁用网络设备 189
5.12 mii-tool:调整网卡模式 189
5.13 route:设置路由表 190
5.14 netstat:查看网络连接 192
5.15 ping:检测主机的连通性 194
5.16 minicom:设置调制解调器 195
5.17 pppd:建立PPP连接 196
5.18 pppstats:显示PPP连接状态 198
5.19 chat:拨号命令 198
5.20 traceroute:检查数据包所经过的路由 199
5.21 tracepath:追踪连接到目标地址所经过的路由 200
5.22 rcp:远程复制 201
5.23 tcpdump:网络数据分析器 202
5.24 ipcalc:IP地址计算器 205
5.25 netreport:监视网络状态 206
5.26 ip:网络集成命令工具 206
5.27 pppoe-setup:设置ADSL 208
5.28 pppoe-start:激活ADSL连接 210
5.29 pppoe-stop:断开ADSL连接 211
5.30 pppoe-status:检测ADSL连接状态 211
5.31 wget:下载文件 212
5.32 ngrep:监控网络接口 215
5.33 lsof:查看打开的文件 217
5.34 ethtool:查询及设置网卡参数 219
5.35 netconf:设置各项网络功能 220
5.36 tc:显示和维护流量控制设置 222
5.37 telnet:远程登录 223
5.38 rlogin:远程登录命令 225
5.39 rsh:远程登录的Shell 226
5.40 usernetctl:让普通用户控制网络接口 227
5.41 nmcli:NetworkManager命令行网络接口配置工具 228
5.42 nmtui:基于Curses的用户界面nmtui 232
5.43 nc:netcat,Linux下用于调试和检查网络的工具包 235
5.44 lnstat:显示Linux系统的网络状态 236
5.45 ss:显示网络状态信息 236
5.46 rexec:在指定的远程Linux系统主机上执行命令 237
第6章 Linux用户管理命令 239
6.1 useradd:建立用户 239
6.2 userdel:删除用户 241
6.3 usermod:修改已有用户的信息 241
6.4 passwd:设置密码 242
6.5 chage:密码老化 243
6.6 groupadd:添加组 244
6.7 groupdel:删除组账户 244
6.8 groupmod:修改组 245
6.9 vipw:编辑/etc/passwd文件 245
6.10 vigr:编辑/etc/group文件 246
6.11 newgrp:转换组 247
6.12 groups:显示组 247
6.13 gpasswd:添加组 248
6.14 whoami:显示当前用户名称 248
6.15 who:显示登录用户 248
6.16 id:显示用户信息 249
6.17 su:切换身份 250
6.18 pwck:检测账户 251
6.19 grpck:检测用户组账号信息的完整性 251
6.20 chsh:设置Shell 252
6.21 chfn:修改用户信息 253
6.22 ac:显示用户在线时间的统计信息 254
6.23 grpconv:开启群组的投影密码 255
6.24 grpunconv:关闭群组的投影密码 256
6.25 lastlog:显示最近登录用户的用户名、登录端口和登录时间 256
6.26 logname:显示当前用户的名称 257
6.27 users:显示当前登录到系统的用户 257
6.28 lastb:显示登录系统失败用户的相关信息 258
第7章 Linux的备份和压缩命令 260
7.1 tar:备份文件 260
7.2 dump:备份文件系统 265
7.3 cpio(copy in/out):建立、还原备份文件 266
7.4 restore:还原备份下来的文件或整个文件系统(一个分区) 268
7.5 bunzip2:解压缩.bz2文件 269
7.6 bzip2:解压缩.bz2文件 270
7.7 bzgrep:使用正则表达式搜索.bz2压缩包中的文件 270
7.8 unzip:解压缩.zip文件 271
7.9 bzip2recover:修复损坏的.bz2文件 272
7.10 gzip:压缩文件 272
7.11 compress:压缩、解压文件 273
7.12 gzexe:压缩执行文件 274
7.13 lha:压缩或解压缩文件 275
7.14 unarj:解压缩文件 276
7.15 zip:压缩文件 277
7.16 zipinfo:显示压缩文件的信息 278
第8章 Linux系统管理命令 280
8.1 apmd:高级电源管理 280
8.2 apmsleep:APM进入休眠状态 281
8.3 apropos:查找使用手册的名字和相关描述 281
8.4 arch:输出主机的体系结构 282
8.5 alias:设置别名 283
8.6 cd:切换目录 283
8.7 clear:清空终端屏幕 284
8.8 clock:系统RTC时间设置 284
8.9 cal:显示日历 285
8.10 chroot:改变根目录 286
8.11 date:显示或设置系统时间 287
8.12 dmesg:显示开机信息 288
8.13 dircolors:设置ls命令在显示目录或文件时所用的色彩 290
8.14 depmod:分析模块 290
8.15 echo:显示文本行 291
8.16 exec:执行完命令后交出控制权 292
8.17 exit:退出Shell 292
8.18 eject:弹出介质 292
8.19 enable:启动或关闭Shell命令 294
8.20 fc:修改或执行命令 294
8.21 fgconsole:显示虚拟终端的数目 295
8.22 free:显示内存信息 295
8.23 fwhois:显示用户的信息 296
8.24 getty:设置终端模式 296
8.25 gitps:显示程序情况 297
8.26 logwatch:可定制和可插入式的日志监视系统 297
8.27 logsave:把一个命令的输出输出到一个指定的日志文件中 298
8.28 GRUB:引导加载程序 299
8.29 halt:关闭系统 303
8.30 history:显示历史命令 304
8.31 hwclock:显示与设定硬件时钟 305
8.32 init:进程处理初始化 306
8.33 last:显示登录用户信息 307
8.34 lilo:引导管理器 308
8.35 login:登录系统 309
8.36 local:显示本地支持的语言系统信息 309
8.37 logout:退出系统 311
8.38 logrotate:处理Log文件 311
8.39 lsmod:显示Linux内核的模块信息 311
8.40 man:格式化和显示在线手册 312
8.41 manpath:设置man手册的查询路径 314
8.42 modinfo:显示内核信息 314
8.43 modprobe:自动处理可载入模块 315
8.44 pmap:显示程序的内存信息 316
8.45 procinfo:显示系统状态 317
8.46 pwd:显示工作目录 318
8.47 reboot:重新启动系统 318
8.48 rlogin:远程登录 319
8.49 rmmod:删除模块 319
8.50 rpm:软件包管理 320
8.51 shutdown命令:系统关机命令 325
8.52 suspend:暂停执行Shell 325
8.53 nproc:打印当前进程可用的处理器数 326
8.54 tload:显示系统负载 326
8.55 uname:显示系统信息 326
8.56 authconfig:配置系统的认证信息 327
8.57 declare:显示或者设定Shell变量 329
8.58 export:设置或者显示环境变量 330
8.59 hostid:打印出当前主机的标识 331
8.60 insmod:载入模块 331
8.61 rdate:显示其他主机的日期与时间 332
8.62 runlevel:显示执行等级 332
8.63 set:设置Shell 333
8.64 setenv:查询或显示环境变量 334
8.65 setserial:设置或显示串口的相关信息 334
8.66 setup:设置公用程序 335
8.67 symlinks:维护符号链接的工具程序 336
8.68 swatch:系统监控程序 336
8.69 sync:将内存缓冲区内的数据写入磁盘 337
8.70 startx:启动X Window 337
8.71 sysctl:设置系统核心参数 338
8.72 timeconfig:设置时区 338
8.73 ulimit:控制Shell程序的资源 339
8.74 unalias:删除别名 341
8.75 unset:删除变量或函数 341
8.76 up2date:软件包升级 341
8.77 uptime:告知系统运行了多长时间 342
8.78 mouseconfig:设置鼠标相关参数 343
8.79 bind:显示或设置键盘按键及其相关的功能 343
8.80 kbdconfig:设置键盘类型 344
8.81 snapscreenshot:命令行截图 344
8.82 mt:磁带机控制 345
8.83 cdrecord:CD刻录工具 346
8.84 dvdrecord:DVD刻录工具 347
8.85 lspci:查看硬件插槽 348
8.86 sane-find-scanner:扫描仪搜索 349
8.87 scanimage:检测扫描仪型号 350
8.88 mtools:命令集 351
8.89 whereis:查找文件 352
8.90 ytalk:与其他用户交谈 352
8.91 apt:软件包在线管理 353
8.92 yum:在线管理软件包 355
8.93 vlock:锁定终端 359
8.94 wait:等待程序返回状态 359
8.95 watch:将结果输出到标准输出设备 360
8.96 rsync:远程数据同步工具 360
8.97 &:将任务放在后台执行 361
8.98 screen:多重视窗管理程序 361
8.99 lsb_release:显示LSB和特定版本的相关信息 363
8.100 lscpu:查看CPU信息 364
8.101 blkid:查看块设备 365
8.102 journalctl:日志管理 366
8.103 lsblk:列出块设备 369
8.104 systemd:服务管理命令组 370
8.105 GRUB2 378
第9章 Linux服务器管理命令 382
9.1 Apache服务器应用命令 382
9.1.1 Apache服务器管理命令 382
9.1.2 Apache日志管理命令 393
9.2 DNS服务器管理命令 399
9.2.1 named:域名服务器管理命令 399
9.2.2 rndc:DNS服务器控制 400
9.2.3 named-checkconf:检查DNS配置 401
9.2.4 named-checkzone:检查区域文件的合法性 402
9.2.5 dig:发送域名查询信息包到域名服务器 402
9.2.6 nslookup:交互式查询名称服务器 406
9.2.7 host:使用域名服务器查询主机名字 408
9.2.8 dnssec-keygen:DNSSEC密钥生成工具 409
9.2.9 dnssec-signkey:DNSSEC密钥集签名工具 410
9.2.10 dnssec-makekeyset:DNSSEC区域签名工具 411
9.2.11 dnssec-signzone:DNSSEC区域签名工具 412
9.2.12 dlint:Bind DNS服务器辅助工具 413
9.2.13 dnstop:Bind DNS服务器辅助工具 414
9.3 NFS服务器管理命令 415
9.3.1 nfsd:启动、停止NFS服务器 415
9.3.2 portmap:将RPC程序号转换为因特网端口号 415
9.3.3 rpcinfo:报告远程过程调用(RPC)服务器的状态 416
9.3.4 showmount:显示远程已安装文件系统的所有客户机的列表 417
9.3.5 umount:删除当前已挂载的远程文件系统 418
9.3.6 mount:将已命名的文件系统连接到指定的挂载点 419
9.3.7 automount:安装自动安装点 419
9.3.8 mountall:挂载一组文件系统 420
9.3.9 exportfs:重新分享/etc/exports变更的目录资源 420
9.4 Samba服务器管理命令 421
9.4.1 启动Samba服务器 421
9.4.2 testparm:检查smb.conf配置文件的内部正确性 421
9.4.3 smbd(samba daemon):Samba服务器程序 422
9.4.4 smbclient:类似FTP操作方式的访问SMB/CIFS服务器资源的客户端 423
9.4.5 smbstatus:报告当前Samba的连接状态 425
9.4.6 smbmount:装载一个smbfs文件系统 426
9.4.7 smbpasswd:设置用户的SMB密码 427
9.5 SSH服务器管理命令 428
9.5.1 sshd:OpenSSH守护进程 428
9.5.2 ssh-keygen:生成、管理和转换认证密钥 429
9.5.3 ssh:SSH命令行登录工具 432
9.5.4 sftp:安全互动FTP 434
9.5.5 scp:将文件复制到远程主机或本地主机 436
9.6 squid:代理服务器squid守护进程 437
9.7 DHCP服务器管理命令 438
9.7.1 dhcpd:DHCP服务器守护进程 438
9.7.2 dhclient:DHCPv6客户端守护进程 439
9.7.3 dhcp6c:DHCPv6客户端守护进程 440
9.8 FTP服务器管理命令 440
9.8.1 FTP服务器端管理命令 440
9.8.2 FTP客户端和FTP监控命令 442
9.9 E-mail服务器管理命令 446
9.9.1 sendmail:为本地或网络交付传送邮件 446
9.9.2 mail:E-mail管理程序 448
9.9.3 mailq:显示待寄邮件的清单 449
9.9.4 mailstats:显示关于邮件流量的统计信息 450
9.9.5 mutt:电子邮件管理程序 451
9.10 Linux防火墙管理工具iptables和firewalld 452
9.10.1 iptables:Linux防火墙管理工具 452
9.10.2 ip6tables:IPv6版本的iptables工具 457
9.10.3 iptables-save:iptables列表存储 458
9.10.4 iptables-restore:装载由iptables-save保存的规则集 458
9.10.5 firewall-cmd:下一代防火墙管理工具 459
9.10.6 arptables:管理ARP包过滤的软件 460
9.11 SELinux管理命令 462
9.11.1 seterforce:设置SELinux模式 462
9.11.2 getenforce:查看SELinux模式 463
9.11.3 setsebool:设置SELinux布尔值 463
9.11.4 getsebool:查看SELinux布尔值 463
9.11.5 togglesebool:翻转SELinux布尔值 464
9.11.6 sestatus:SELinux状态查看工具 465
9.11.7 avcstat:显示AVC统计信息 466
9.11.8 audit2why:转换审计消息 467
9.11.9 audit2allow:生成策略允许规则 467
9.11.10 load_policy:装载策略 469
9.11.11 semanage:管理SELinux策略 469
9.11.12 semodule:管理策略模块 470
9.11.13 chcat:改变语境类别 471
9.11.14 restorecon:恢复文件安全语境 472
9.11.15 chcon:改变文件安全语境 473
9.11.16 setfiles:设置文件安全语境 474
9.11.17 seinfo:提取策略的规则数量统计信息 474
9.11.18 sesearch:搜索policy.conf或二进制策略中特别的类型 476
9.11.19 checkmodule:编译策略模块 477
9.11.20 sealert:SELinux信息诊断客户端工具 477
9.11.21 selinuxenabled:查询系统的SELinux是否启用 479
9.11.22 SELinux工具总结列表 479
9.12 虚拟化管理命令 481
9.12.1 xen虚拟化管理命令 481
9.12.2 KVM/Qemu虚拟机管理命令 495
第10章 Linux打印管理命令 504
10.1 cupsd:通用打印程序守护进程 504
10.2 cupsaccept:指示打印系统接受发往指定目标打印机的打印任务 505
10.3 lpadmin:配置LP打印服务 506
10.4 lp:打印文件 508
10.5 lpstat:显示行式打印机的状态信息 509
10.6 lpr:排队打印作业 510
10.7 lprm:从打印队列中删除任务 511
10.8 lpc:控制打印机 512
10.9 lpq:检查假脱机队列 513
10.10 lpinfo:显示驱动和设备 514
10.11 lpmove:将作业从一个队列移动到另一个队列 515
10.12 cancel:取消已存在的打印任务 516
10.13 cupsdisable:禁用指定的打印机或类 516
10.14 cupsreject:指示打印系统拒绝发往指定目标打印机的打印任务 517
10.15 cupsenable:启动指定的打印机 517
第11章 Linux库应用命令 518
11.1 ldconfig:配置查找共享库 518
11.2 nm:列举目标文件中的符号名 519
11.3 ar:建立修改文件或从文件中抽取成员 522
11.4 strip:去除目标文件中的无用信息 523
11.5 objdump:展开目标文件、静态库和共享库中的信息 524
11.6 ldd:显示共享库的依赖情况 526
11.7 patch命令:修补文件 527
11.8 ld:连接器 529
第12章 Linux开发应用命令 532
12.1 as:标准GNU汇编程序 532
12.2 nasm:汇编器 534
12.3 gcc:C/C++编译器 535
12.4 make:维护和编译软件或软件包 543
12.5 gdb:GUN调试器 547
12.6 gdbserver:远端GNU服务器 554
12.7 autoconf:产生配置脚本 555
12.8 autoheader:为configure产生模板头文件 555
12.9 autoreconf:更新已经生成的配置文件 556
12.10 autoscan:产生初步的configure.in文件 556
12.11 autoupdate:更新configure.in文件 557
12.12 automake:自动生成Makefile.in的工具 557
12.13 aclocal:生成aclocal.m4文件 558
12.14 configure:生成Makefile文件 558
第13章 Linux行编辑器 561
13.1 ed:文本编辑器 561
13.2 sed:利用script命令处理文本文件 562
13.3 pico:编辑文字文件 564
13.4 vim:全屏幕文本编辑器 566
13.5 ex:文本编辑器 572
13.6 nano:文本编辑器 572
13.7 jed:编辑文本文件 575
13.8 joe:编辑文本文件 576
第14章 Linux Shell命令 578
14.1 Shell简介 578
14.1.1 什么是Shell 578
14.1.2 Shell类型 579
14.2 Linux Shell的功能 580
14.2.1 通配符 580
14.2.2 重定向 580
14.2.3 管道 582
14.2.4 别名 583
14.2.5 命令行补全 583
14.2.6 命令替换 583
14.2.7 命令历史 584
14.3 Linux Shell元字符 587
14.4 Shell变量和Shell环境 588
14.4.1 变量简介 588
14.4.2 了解Shell的内置命令 589