扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Linux运维人员必会的120个命令
创新互联是一家专业提供定远企业网站建设,专注与做网站、成都网站制作、H5高端网站建设、小程序制作等业务。10年已为定远众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
来自《跟老男孩学Linux运维:核心系统命令实战》一书
前言
第1章 Linux命令行简介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令帮助 / 4
1.3Linux shutdown reboot halt / 9
关机:
shutdown -h now
halt
init 0
第2章 文件和目录操作命令 / 13
2.1pwd:显示当前所在的位置 / 13
2.2cd:切换目录 / 16
2.3tree:以树形结构显示目录下的内容 / 18
2.4mkdir:创建目录 / 22
2.5touch:创建空文件或改变文件的时间戳属性 / 27
2.6ls:显示目录下的内容及相关属性信息 / 30
2.7cp:复制文件或目录 / 39
2.8mv:移动或重命名文件 / 42
2.9rm:删除文件或目录 / 45
2.10rmdir:删除空目录 / 48
2.11ln:硬链接与软链接 / 49
2.12readlink:查看符号链接文件的内容 / 54
2.13find:查找目录下的文件 / 55
2.14xargs:将标准输入转换成命令行参数 / 68
2.15rename:重命名文件 / 71
2.16basename:显示文件名或目录名 / 72
2.17dirname:显示文件或目录路径 / 72
2.18chattr:改变文件的扩展属性 / 73
2.19lsattr:查看文件扩展属性 / 75
2.20file:显示文件的类型 / 76
2.21md5sum:计算和校验文件的MD5值 / 77
2.22chown:改变文件或目录的用户和用户组 / 80
2.23chmod:改变文件或目录权限 / 81
2.24chgrp:更改文件用户组 / 85
2.25umask:显示或设置权限掩码 / 86
2.26老男孩从新手成为技术大牛的心法 / 90
第3章 文件过滤及内容编辑处理命令 / 91
3.1cat:合并文件或查看文件内容 / 91
3.2tac:反向显示文件内容 / 103
3.3more:分页显示文件内容 / 104
3.4less:分页显示文件内容 / 107
3.5head:显示文件内容头部 / 109
3.6tail:显示文件内容尾部 / 111
3.7tailf:跟踪日志文件 / 114
3.8cut:从文本中提取一段文字并输出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按两个文件的相同字段合并 / 127
3.13uniq:去除重复行 / 129
3.14wc:统计文件的行数、单词数或字节数 / 131
3.15iconv:转换文件的编码格式 / 133
3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134
3.17diff:比较两个文件的不同 / 135
3.18vimdiff:可视化比较工具 / 138
3.19rev:反向输出文件内容 / 139
3.20tr:替换或删除字符 / 140
3.21od:按不同进制显示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:纯文本编辑器 / 147
3.24老男孩逆袭思想:做Linux运维的多个好处 / 152
第4章 文本处理三剑客 / 153
4.1grep:文本过滤工具 / 153
4.2sed:字符流编辑器 / 159
4.3awk基础入门 / 165
第5章 Linux信息显示与搜索文件命令 / 176
5.1uname:显示系统信息 / 176
5.2hostname:显示或设置系统的主机名 / 178
5.3dmesg:系统启动异常诊断 / 179
5.4stat:显示文件或文件系统状态 / 181
5.5du:统计磁盘空间使用情况 / 183
5.6date:显示与设置系统时间 / 186
5.7echo:显示一行文本 / 190
5.8watch:监视命令执行情况 / 193
5.9which:显示命令的全路径 / 195
5.10whereis:显示命令及其相关文件全路径 / 196
5.11locate:快速定位文件路径 / 197
5.12updatedb:更新mlocate数据库 / 199
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200
第6章 文件备份与压缩命令 / 201
6.1tar:打包备份 / 201
6.2gzip:压缩或解压文件 / 208
6.3zip:打包和压缩文件 / 211
6.4unzip:解压zip文件 / 212
6.5scp:远程文件复制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆袭思想:新手如何高效地提问 / 220
第7章 Linux用户管理及用户信息查询命令 / 222
7.1 useradd:创建用户 / 222
7.2usermod:修改用户信息 / 227
7.3userdel:删除用户 / 229
7.4groupadd:创建新的用户组 / 230
7.5groupdel:删除用户组 / 231
7.6passwd:修改用户密码 / 232
7.7chage:修改用户密码有效期 / 237
7.8chpasswd:批量更新用户密码 / 238
7.9su:切换用户 / 240
7.10visudo:编辑sudoers文件 / 242
7.11sudo:以另一个用户身份执行命令 / 244
7.12id:显示用户与用户组的信息 / 248
7.13w:显示已登录用户信息 / 249
7.14who:显示已登录用户信息 / 250
7.15users:显示已登录用户 / 252
7.16whoami:显示当前登录的用户名 / 253
7.17last:显示用户登录列表 / 253
7.18lastb:显示用户登录失败的记录 / 254
7.19lastlog:显示所有用户的最近登录记录 / 255
第8章 Linux磁盘与文件系统管理命令 / 257
8.1fdisk:磁盘分区工具 / 257
8.2partprobe:更新内核的硬盘分区表信息 / 265
8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266
8.4parted:磁盘分区工具 / 268
8.5mkfs:创建Linux文件系统 / 272
8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274
8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275
8.8fsck:检查并修复Linux文件系统 / 278
8.9dd:转换或复制文件 / 281
8.10mount:挂载文件系统 / 284
8.11umount:卸载文件系统 / 288
8.12df:报告文件系统磁盘空间的使用情况 / 289
8.13mkswap:创建交换分区 / 293
8.14swapon:激活交换分区 / 294
8.15swapoff:关闭交换分区 / 295
8.16sync:刷新文件系统缓冲区 / 296
第9章 Linux进程管理命令 / 298
9.1ps:查看进程 / 298
9.2pstree:显示进程状态树 / 305
9.3pgrep:查找匹配条件的进程 / 306
9.4kill:终止进程 / 307
9.5killall:通过进程名终止进程 / 310
9.6pkill:通过进程名终止进程 / 311
9.7top:实时显示系统中各个进程的资源占用状况 / 313
9.8nice:调整程序运行时的优先级 / 320
9.9renice:调整运行中的进程的优先级 / 323
9.10nohup:用户退出系统进程继续工作 / 324
9.11strace:跟踪进程的系统调用 / 325
9.12ltrace:跟踪进程调用库函数 / 332
9.13runlevel:输出当前运行级别 / 334
9.14init:初始化Linux进程 / 335
9.15service:管理系统服务 / 335
第10章 Linux网络管理命令 / 338
10.1ifconfig:配置或显示网络接口信息 / 338
10.2ifup:激活网络接口 / 343
ifup eth0
10.3ifdown:禁用网络接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。
10.4route:显示或管理路由表 / 344
10.5arp:管理系统的arp缓存 / 350
10.6ip:网络配置工具 / 351
10.7netstat:查看网络状态 / 358
10.8ss:查看网络状态 / 362
10.9ping:测试主机之间网络的连通性 / 363
10.10traceroute:追踪数据传输路由状况 / 366
10.11arping:发送arp请求 / 367
10.12telnet:远程登录主机 / 369
10.13nc:多功能网络工具 / 370
10.14ssh:安全地远程登录主机 / 373
10.15wget:命令行下载工具 / 376
10.16mailq:显示邮件传输队列 / 379
10.17mail:发送和接收邮件 / 381
10.18nslookup:域名查询工具 / 386
10.19dig:域名查询工具 / 389
10.20host:域名查询工具 / 393
10.21nmap:网络探测工具和安全/端口扫描器 / 394
10.22tcpdump:监听网络流量 / 398
第11章 Linux系统管理命令 / 407
11.1lsof:查看进程打开的文件 / 407
11.2uptime:显示系统的运行时间及负载 / 411
11.3free:查看系统内存信息 / 411
11.4iftop:动态显示网络接口流量信息 / 413
11.5vmstat:虚拟内存统计 / 415
11.6mpstat:CPU信息统计 / 419
11.7iostat:I/O信息统计 / 420
11.8iotop:动态显示磁盘I/O统计信息 / 423
11.9sar:收集系统信息 / 425
11.10chkconfig:管理开机服务 / 430
11.11ntsysv:管理开机服务 / 433
11.12 setup:系统管理工具 / 434
11.13ethtool:查询网卡参数 / 436
11.14mii-tool:管理网络接口的状态 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自动化RPM包管理工具 / 446
top命令
第12章 Linux系统常用内置命令 / 450
12.1Linux内置命令概述 / 450
12.2Linux内置命令简介 / 450
12.3Linux常用内置命令实例 / 452
/etc/passwd中包含有用户的登录名、经过加密的口令、用户号、用户组号、用户注释、用户主目录和用户所用的Shell程序。其中,用户号(UID)和用户组号(GID)用于Linux系统惟一标识用户和同组用户,以及用户的访问权限。一个好的口令应当至少有6个字符,最好不要取用个人信息(如生日、名字、反向拼写的登录名),普通的英语单词也不好(因为用字典攻击法容易破解)。口令最好含有一些非字母字符(如数字、标点符号、控制字符等),并且要好记,不能写在纸上或计算机中的文件里。选择口令的一个好方法是将两个不相关的词用一个数字或控制字符相连,并截断为8个字符。当然,如果你能记住8位乱码自然更好。不应在不同机器中使用同一个口令,特别是在不同级别的用户上使用同一口令。不要将口令于终端功能键或Modem的字符串器中。用户应定期改变口令,推荐3个月改变一次。系统管理员可以强制用户定期修改口令。为防止眼明手快的人得到口令,在输入口令时应确认身边无人。
1.不要让文件或目录被他人读写。
如果不信任本组用户,umask设置为022。确保自己的.profile他人不可读写;暂存目录最好不要存放重要文件;home目录任何人不可写; uucp传输的文件应该加密,并尽快转移到自己的目录中。
2.若不想要其他用户读文件或目录,就要使其不允许任何人读。
umask设置为006/007。若不允许同组用户存取自己的文件和目录,umask设置为077;暂存文件按当前umask设置。存放重要数据到暂存文件的程序,就被写成能确保暂存文件其他用户不可读。这样,就可确保别的用户不可读home目录。
拷贝和移动文件的安全用cp命令拷贝文件时,若目的文件不存在,则将同时拷贝源文件的存取许可,包括Suid和Sgid许可。新拷贝的文件属拷贝用户所有,故拷贝别人的文件时应小心,不要被其他用户的Suid程序破坏文件安全。
用mv命令移动文件时,新移的文件存取许可与原文件相同,mv仅改变文件名。只要用户有目录的写和搜索许可,就可移走该目录中某人的Suid程序,且不改变存取许可。若目录许可设置不正确,则用户的Suid程序可能被移到不能修改和删除的目录中,从而出现安全漏洞。
cpio命令用于将目录结构拷贝到一个普通文件中,然后再用cpio命令将该普通文件转成目录结构。小心使用该命令,因为它能覆盖不在当前目录结构中的文件,用t选项可首先列出要被拷贝的文件。
不要离开登录的终端这个问题看起来简单,但却是最容易忽视的问题,哪怕只是几分钟的疏忽,也会给系统造成危害。
文件加密的安全crypt命令可提供给用户加密文件。它使用一个关键词将标准输入的信息编码变为不可读的杂乱字符串,送到标准输出设备。再次使用该命令,用同一关键词作用于加密后的文件,可恢复文件内容。
一般来说,文件加密后应删除原始文件,只留下加密后的版本,且不能忘记加密关键词。vi命令一般都有加密功能,用vi -x命令可编辑加密后的文件。加密关键词的选取规则与口令的选取规则相同。
由于crypt程序可能被做成特洛伊木马,故不宜用口令做为关键词。最好在加密前用pack或compress命令对文件进行压缩,然后再加密。
CU的问题CU命令能使用户从一个Linux系统登录到另一个Linux系统。此时,在远地系统还必须输入“~”后回车,以断开CU和远地系统的连接。
CU也有安全问题。如果本机安全性弱于远地机,不提倡用CU去登录远地机,以免由于本地机不安全而影响较安全的远地机。由于CU的老版本处理“~”的方法不完善,从安全性强的系统调用,会使安全性弱的系统的用户使用强系统用户的CU,传送强系统的/etc/passwd文件。
暂存文件和目录的安全Linux系统中暂存目录为/tmp和/usr/tmp,如果用这些目录存放暂存文件,别的用户可能会破坏这些文件。使用暂存文件最好将文件屏蔽值定义为007。保险的方法是建立自己的暂存文件和目录$Home/Mp,不要将重要文件存放于公共的暂存目录。
UUCP文件传输和网络安全UUCP命令用于将文件从一个Linux系统传送到另一个Linux系统。通过UUCP传送的文件,通常存于/usr/spool/uucppublic/login目录中,Login是用户的登录名,该目录存取许可为777。通过网络传输并存放于此目录的文件属于UUCP所有,文件存取许可为666和777。用户应当将通过UUCP传送的文件加密,并尽快移到自己的目录中。其它网络将文件传送到用户home目录下的RJC目录中。该目录对其他人是可写、可搜索的,但不一定是可读的,因而用户的RJC目录的存取许可方式应为733,允许程序在其中建立文件。同样,传送的文件也应加密并尽快移到自己的目录中。
Suid/Sgid的安全尽量不写Suid/Sgid程序。in为现有文件建立一个链,即建立一个引用同一文件的新名字。如目的文件已经存在,则该文件被删除而代之以新的链;或存在的目的文件不允许用户写,则请求用户确认是否删除该文件,因为只允许在同一文件系统内建链。若要删除一个Suid文件,就要确认文件的链接数,只有一个链才能确保该文件被删除。若Suid文件已有多个链,一种方法是改变其存取许可方式,这将同时修改所有链的存取许可;也可以Chmod000文件名,这不仅取消了文件的Suid和Sgid许可,同时也取消了文件的全部链。要想找到谁与自己Suid程序建立了链,不要立刻删除该程序,系统管理员可用Ncheck命令找到该程序的其他链。
智能终端的安全由于智能终端有Send Enter换码序列,因此告诉终端当前系统就像是用户敲入的一样。这是一种危险的能力,其他人可用Write命令发送信息给本用户终端。禁止其他用户发送信息的方法是使用Mesgn命令。Mesgn不允许其他用户发信息,Mesgy允许其他用户发信息。 即使如此仍有换码序列的问题存在,任何一个用户用Mail命令发送同样一组换码序列,不同的要用!rm-r*替换rm-r*。
其他安全问题除了信任的用户外,不要运行其他用户的程序。在自己的Path中,将系统目录放在前面。用Ctrl+D或Exit退出后,在断开与系统的连接前看到login:提示后再离开,以免在用户没注销时他人进入。定时使用ls -a .命令列出当前目录中的全部文件,包括以“.”开头的文件,查看所有文件的存取许可方式和所有者。任何不属于自己的文件都应怀疑和追究。
以上这些是我作为Linux系统管理员对保持用户账户安全的一些建议。更重要的是要建立安全意识,了解用户。系统管理员越熟悉自己的用户和用户工作习惯源码天空
,就越能快速发现不寻常的事件,而不寻常的事件就意味着系统安全问题。避免用户账户不安全事故的最基本方法是预防和定期的安全检查,包括使用嗅探器。
make是个编译工具,使用makefile来简化编译过程。
首先建立一个文件并命名为makefile,内容如:
add:add.cu
gcc add.cu -o add
注意第二行是tab开头的,然后make add
acctcom 搜索并显示进程记帐文件
ar 维护可移植的档案或库
at 定时执行某个命令
awk 模式扫描和处理语言
batch 对at命令的调用
banner 显示大尺寸字符
basename,dirname 给出路径名的若干部分
bc 任意精度的算术运算语言
bdiff 大型diff
bfs 大文件扫描程序
cal 显示日历
calendar 提醒服务
cat 显示文本文件的内容
cd 改变工作目录
chgrp 改变文件或目录的组属关系
chmod 改变文件的读,写,执行等属性
chown 改变文件或目录的属主
clear 清除屏幕
cmp 比较两个文件
col 倒向换行过滤程序
comm 选择或舍去两个已排序文件的公共行
compress,uncompress,zcat 压缩文件,解压缩文件,显示压缩文件的内容
cp 拷贝文件或目录
cpio 档案文件的拷入和拷出
csh 具有类似C语言语法的shell命令解释程序
csplit 分割文件
ct 为远程终端衍生注册
ctags 创建一个用于vi的标记文件
cu 呼叫另一个UNIX系统
cut 剪下文件每一行中所选中的字段
date 显示和设置日期
dc 台式计算器
dd 转换并拷贝文件
deroff 删除nroff/troff,tbl和eqn结构
df 报告空闲的磁盘块数和文件系统占用磁盘情况
diff 比较并显示两个文件的不同之处
diff3 比较并显示三个文件的不同之处
dircmp 目录比较
dsconfig 显示数据存储设备的配置情况
du 总计磁盘的使用情况
echo 回显参数
ed,red 正文编辑程序
edit 正文编辑程序(ex的变种)
egrep,fgrep,grep 在文件中搜索匹配的字符串并显示
enable,disable 启用/禁用终端或打印机
env 设置命令运行的环境
ex 正文编辑程序
expr 把参数作为一个表达式来求值
factor 因式分解
file 判断文件类型
find 查找文件
finger 显示本地和远程用户的信息
fold 长行折叠
ftp 文件传输程序
gencat 生成一个格式化的消息分类
getopt 分析命令的任选项
groups 显示用户的组属关系
head 显示文件的前几行
iconv 国际代码集转换程序
id 显示用户名与用户ID以及组名与组ID
ipcrm 删除消息队列、信号量集或共享内存ID
ipcs 报告进程间通信设施的状态
ismpx 返回窗口型终端的状态
join 连接两个关联
kill 终止进程
ksh,rksh Korn Shell命令程序设计语言
last 显示最近用户或终端注册
line 读一行
ln 连接文件
login 注册
logname 获取注册名
lp,cancel 打印文件/删除打印请求
lpstat 显示打印状态
l,lc,lf,lr,ls,lx 列文件
mail,rmail 读邮件或发邮件
mailx 交互式邮件处理系统
/etc/passwd包含用户登录名、经加密口令、用户号、用户组号、用户注释、用户主目录用户所用Shell程序其用户号(UID)用户组号(GID)用于Linux系统惟标识用户同组用户及用户访问权限口令应至少6字符要取用信息(、名字、反向拼写登录名)普通英语单词(用字典攻击容易破解)口令含些非字母字符(数字、标点符号、控制字符等)并且要记能写纸或计算机文件选择口令两相关词用数字或控制字符相连并截断8字符能记住8位乱码自更应同机器使用同口令特别同级别用户使用同口令要口令于终端功能键或Modem字符串器用户应定期改变口令推荐3月改变系统管理员强制用户定期修改口令防止眼明手快口令输入口令应确认身边
1.要让文件或目录读写
信任本组用户umask设置022确保自.profile读写;暂存目录要存放重要文件;home目录任何写; uucp传输文件应该加密并尽快转移自目录
2.若想要其用户读文件或目录要使其允许任何读
umask设置006/007若允许同组用户存取自文件目录umask设置077;暂存文件按前umask设置存放重要数据暂存文件程序写能确保暂存文件其用户读确保别用户读home目录
拷贝移文件安全用cp命令拷贝文件若目文件存则同拷贝源文件存取许包括SuidSgid许新拷贝文件属拷贝用户所故拷贝别文件应要其用户Suid程序破坏文件安全
用mv命令移文件新移文件存取许与原文件相同mv仅改变文件名要用户目录写搜索许移走该目录某Suid程序且改变存取许若目录许设置确则用户Suid程序能移能修改删除目录现安全漏洞
cpio命令用于目录结构拷贝普通文件再用cpio命令该普通文件转目录结构使用该命令能覆盖前目录结构文件用t选项首先列要拷贝文件
要离登录终端问题看起简单却容易忽视问题哪怕几钟疏忽给系统造危害
文件加密安全crypt命令提供给用户加密文件使用关键词标准输入信息编码变读杂乱字符串送标准输设备再使用该命令用同关键词作用于加密文件恢复文件内容
般说文件加密应删除原始文件留加密版本且能忘记加密关键词vi命令般都加密功能用vi -x命令编辑加密文件加密关键词选取规则与口令选取规则相同
由于crypt程序能做特洛伊木马故宜用口令做关键词加密前用pack或compress命令文件进行压缩再加密
CU问题CU命令能使用户Linux系统登录另Linux系统远系统必须输入~车断CU远系统连接
CU安全问题本机安全性弱于远机提倡用CU登录远机免由于本机安全影响较安全远机由于CU版本处理~完善安全性强系统调用使安全性弱系统用户使用强系统用户CU传送强系统/etc/passwd文件
暂存文件目录安全Linux系统暂存目录/tmp/usr/tmp用些目录存放暂存文件别用户能破坏些文件使用暂存文件文件屏蔽值定义007保险建立自暂存文件目录$Home/Mp要重要文件存放于公共暂存目录
UUCP文件传输网络安全UUCP命令用于文件Linux系统传送另Linux系统通UUCP传送文件通存于/usr/spool/uucppublic/login目录Login用户登录名该目录存取许777通网络传输并存放于目录文件属于UUCP所文件存取许666777用户应通UUCP传送文件加密并尽快移自目录其网络文件传送用户home目录RJC目录该目录其写、搜索定读用户RJC目录存取许式应733允许程序其建立文件同传送文件应加密并尽快移自目录
Suid/Sgid安全尽量写Suid/Sgid程序in现文件建立链即建立引用同文件新名字目文件已经存则该文件删除代新链;或存目文件允许用户写则请求用户确认否删除该文件允许同文件系统内建链若要删除Suid文件要确认文件链接数链才能确保该文件删除若Suid文件已链种改变其存取许式同修改所链存取许;Chmod000文件名仅取消文件SuidSgid许同取消文件全部链要想找谁与自Suid程序建立链要立刻删除该程序系统管理员用Ncheck命令找该程序其链
智能终端安全由于智能终端Send Enter换码序列告诉终端前系统像用户敲入种危险能力其用Write命令发送信息给本用户终端禁止其用户发送信息使用Mesgn命令Mesgn允许其用户发信息Mesgy允许其用户发信息 即使仍换码序列问题存任何用户用Mail命令发送同组换码序列同要用rm-r*替换rm-r*
其安全问题除信任用户外要运行其用户程序自Path系统目录放前面用Ctrl+D或Exit退断与系统连接前看login:提示再离免用户没注销进入定使用ls -a .命令列前目录全部文件包括.文件查看所文件存取许式所者任何属于自文件都应怀疑追究
些我作Linux系统管理员保持用户账户安全些建议更重要要建立安全意识解用户系统管理员越熟悉自用户用户工作习惯源码空
越能快速发现寻事件寻事件意味着系统安全问题避免用户账户安全事故基本预防定期安全检查包括使用嗅探器
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流