阿里云体验实验室 体验教程《 Linux 指令入门-系统管理》

2020-09-08 14:51:39 +08:00
 chen887625as

体验平台简介

阿里云开发者实验室提供免费云资源和丰富的场景化实践,旨在帮助开发者在学习应用技术,了解阿里云产品的特性。

阿里云体验实验室地址:https://developer.aliyun.com/adc/labs/

教程介绍

本场景将介绍 Linux 中常用的系统工作命令以及系统状态检测命令

场景体验

场景内容选自 阿里云体验实验室
本场景将提供一台配置了 Aliyun Linux 2 的 ECS 实例(云服务器)。您可以参考本教程学习 Linux 系统中的文本编辑工具 Vim 以及文本处理命令。

阿里云 Aliyun Linux 2 的 ECS 实例资源https://developer.aliyun.com/adc/scenario/c8d3efc90d634366bc012a69129c9aef

涉及以下云产品和服务

[云服务器 ECS] 云服务器( Elastic Compute Service,简称 ECS )是阿里云提供的性能卓越、稳定可靠、弹性扩展的 IaaS ( Infrastructure as a Service )级别云计算服务。云服务器 ECS 免去了您采购 IT 硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云 ECS 持续提供创新型服务器,解决多种业务需求,助力您的业务发展。

[Aliyun Linux 2] Aliyun Linux 2 是阿里云推出的下一代 Linux 发行版,它为云上应用程序环境提供 Linux 社区的最新增强功能,在提供云上最佳用户体验的同时,也针对阿里云基础设施做了深度的优化。Aliyun Linux 2 OS 镜像可以运行在阿里云全规格系列 VM 实例上,包括弹性裸金属服务器 (神龙)。

目录一:常用系统工作命令

echo

命令描述:echo 命令用于在终端输出字符串或变量提取后的值。

命令格式:echo [字符串 | $变量]。

命令用法示例:

显示普通字符串

echo "Hello World"

显示变量 首先在 shell 环境中定义一个临时变量 name 。

export name="Tom"

使用 echo 命令将变量 name 的值显示到终端。

echo $name

输出结果:

显示结果定向至文件 以下命令会将文本 This is a test text.输出重定向到文件 test.txt 中,如果文件已存在,将会覆盖文件内容,如果不存在则创建。其中>符号表示输出重定向。

echo "This is a test text." > test.txt

如果您希望将文本追加到文件内容最后,而不是覆盖它,请使用>>输出追加重定向符号。

显示命令执行结果 以下命令将会在终端显示当前的工作路径。

echo `pwd`

注意:pwd 命令是用一对反引号(``)包裹,而不是一对单引号('')。

使用$(command)形式可以达到相同效果。

echo $(pwd)

输出结果:

date

命令描述:date 命令用于显示和设置系统的时间和日期。

命令格式:date [选项] [+格式]。

其中,时间格式的部分控制字符解释如下:

| 字符 | 说明 |

|--|--|

| %a | 当地时间的星期名缩写(例如: 日,代表星期日) |

| %A |当地时间的星期名全称 (例如:星期日)|

| %b |当地时间的月名缩写 (例如:一,代表一月) |

| %B |当地时间的月名全称 (例如:一月)|

| %c |当地时间的日期和时间 (例如:2005 年 3 月 3 日 星期四 23:05:25 ) |

| %C |世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20 )|

| %d | 按月计的日期(例如:01 ) |

| %D |按月计的日期;等于%m/%d/%y|

| %F | 完整日期格式,等价于 %Y-%m-%d |

| %j |按年计的日期( 001-366 )|

| %p | 按年计的日期( 001-366 ) |

| %r |当地时间下的 12 小时时钟时间 (例如:11:11:04 下午)|

| %R | 24 小时时间的时和分,等价于 %H:%M |

|%s |自 UTC 时间 1970-01-01 00:00:00 以来所经过的秒数|

| %T | 时间,等于%H:%M:%S |

| %U |一年中的第几周,以周日为每星期第一天( 00-53 )|

| %x | 当地时间下的日期描述 (例如:12/31/99 ) |

| %X |当地时间下的时间描述 (例如:23:13:48 )|

| %w | 一星期中的第几日( 0-6 ),0 代表周一 |

| %W | 一年中的第几周,以周一为每星期第一天( 00-53 )|

命令用法示例:

按照默认格式查看当前系统时间

date

输出结果:

按照指定格式查看当前系统时间

date "+%Y-%m-%d %H:%M:%S"

输出结果:

查看今天是当年中的第几天

date "+%j"

输出结果:

将系统的当前时间设置为 2020 年 02 月 20 日 20 点 20 分 20 秒

date -s "20200220 20:20:20"

输出结果:

校正系统时间,与网络时间同步 a. 安装 ntp 校时工具

yum -y install ntp
b. 用 ntpdate 从时间服务器更新时间
ntpdate time.nist.gov
输出结果:

wget

命令描述:在终端中下载文件。

命令格式:wget [参数] 下载地址。

参数说明:

| 参数 | 作用|

|--|--|

| -b | 后台下载 |

| -P |下载到指定目录|

| -t | 最大重试次数 |

| -c |断点续传|

| -p | 下载页面内所有资源,包括图片、视频等 |

| -r |递归下载|

命令使用示例:

下载一张图片到路径 /root/static/img/中,-p 参数默认值为当前路径,如果指定路径不存在会自动创建。

wget -P /root/static/img/ http://img.alicdn.com/tfs/TB1.R._t7L0gK0jSZFxXXXWHVXa-2666-1500.png

输出结果:

ps 命令描述:ps 命令用于查看系统中的进程状态。

命令格式:ps [参数]。

命令参数说明:

| 参数 | 作用 |

|--|--|

| -a | 显示现行终端机下的所有程序,包括其他用户的程序 |

| -u |以用户为主的格式来显示程序状况|

| -x | 显示没有控制终端的进程,同时显示各个命令的具体路径 |

| -e |列出程序时,显示每个程序所使用的环境变量|

| -f | 显示当前所有的进程 |

| -t |指定终端机编号,并列出属于该终端机的程序的状况|

命令使用示例:

ps -ef | grep sshd

输出结果:

top

命令描述:top 命令动态地监视进程活动与系统负载等信息。

命令使用示例:

top

输出结果:

命令输出参数解释:

以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区。

统计信息区

进程信息区

| 列名 | 含义 |

|--|--|

| PID | 进程 ID |

| USER |进程所有者的用户名|

| PR | 进程优先级 |

| NI |nice 值。负值表示高优先级,正值表示低优先级|

| VIRT | 进程使用的虚拟内存总量,单位 kb |

| RES | 进程使用的、未被换出的物理内存大小,单位 kb|

| SHR | 共享内存大小,单位 kb |

| S | 进程状态 D:不可中断的睡眠状态 R:正在运行 S:睡眠 T:停止 Z:僵尸进程 |

| %CPU| 上次更新到现在的 CPU 时间占用百分比|

| %MEM |进程使用的物理内存百分比|

| TIME+ | 进程使用的 CPU 时间总计,单位 1/100 秒|

| COMMAND |命令名|

按 q 键退出监控页面。

pidof

命令描述:pidof 命令用于查询指定服务进程的 PID 值。

命令格式:pidof [服务名称]。

命令参数说明:

| 参数 | 说明 |

|--|--|

|-s | 仅返回一个进程号 |

| -c |只显示运行在 root 目录下的进程,这个选项只对 root 用户有效|

| -o | 忽略指定进程号的进程 |

| -x |显示由脚本开启的进程|

命令使用示例:

查询出 crond 服务下的所有进程 ID 。

pidof crond

输出结果:

kill

命令描述:kill 命令用于终止指定 PID 的服务进程。

kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9)信息尝试强制删除程序。

命令格式:kill [参数] [进程 PID]。

命令使用示例:

删除 pid 为 1247 的进程。

kill -9 1247

killall

命令描述:killall 命令用于终止指定名称的服务对应的全部进程。

命令格式:killall [进程名称]。

命令使用示例:

删除 crond 服务下的所有进程。

killall crond

reboot

命令描述:reboot 命令用来重启系统。

命令格式:reboot [-n] [-w] [-d] [-f] [-i]。

命令参数说明:

-n:保存数据后再重新启动系统。 -w:仅做测试,并不是真的将系统重新开机,只会把重新开机的数据写入记录文件 /var/log/wtmp 。 -d:重新启动时不把数据写入记录文件 /var/tmp/wtmp 。 -f:强制重新开机,不调用 shutdown 指令的功能。 -i:关闭网络设置之后再重新启动系统。 命令使用示例:

reboot

poweroff

命令描述:poweroff 命令用来关闭系统。

命令使用示例:

poweroff

目录二:系统状态检测命令

ifconfig

命令描述:ifconfig 命令用于获取网卡配置与网络状态等信息。

命令示例:

命令输出说明:

uname

命令描述:uname 命令用于查看系统内核与系统版本等信息。

命令语法:uname [-amnrsv][--help][--version]

命令使用示例:

显示系统信息。

uname -a

命令输出结果:

显示当前系统的硬件架构。

uname -i

命令输出结果:

显示操作系统发行编号。

uname -r

命令输出结果:

显示操作系统名称。

uname -s

命令输出结果:

显示主机名称。

uname -n

命令输出结果:

uptime

命令描述:uptime 用于查看系统的负载信息。

命令使用示例:

命令输出说明:

| 负载信息 | 命令输出值 |

|--|--|

| 当前服务器时间 | 14:20:27 |

| 当前服务器运行时长 |2 min|

| 当前用户数 | 2 users |

| 当前负载情况 |load average: 0.03, 0.04, 0.02 (分别取 1min,5min,15min 的均值)|

free

命令描述:free 用于显示当前系统中内存的使用量信息。

命令语法:free [-bkmotV][-s <间隔秒数>]。

命令参数说明:

| 参数 | 说明 |

|--|--|

| -b | 以 Byte 为单位显示内存使用情况 |

| -k |以 KB 为单位显示内存使用情况|

| -m | 以 MB 为单位显示内存使用情况 |

| -h | 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。 |

命令使用示例:

命令输出说明:

| 参数 | 说明 | |--|--| | total | 物理内存总数 |

| used |已经使用的内存数|

| free | 空间的内存数 |

| share |多个进程共享的内存总额|

| buff/cache | 应用使用内存数 |

| available |可用的内存数|

| Swap | 虚拟内存(阿里云 ECS 服务器默认不开启虚拟内存) |

who

命令描述:who 命令显示关于当前在本地系统上的所有用户的信息。

命令使用示例:

last

命令描述:last 命令用于显示用户最近登录信息。

命令使用示例:

由于这些信息都是以日志文件的形式保存在系统中,黑客可以很容易地对内容进行篡改,所以该命令输出的信息并不能作为服务器是否被入侵的依据。

history

命令描述:history 命令用于显示历史执行过的命令。

bash 默认记录 1000 条执行过的历史命令,被记录在~/.bash_history 文件中。

命令使用示例:

清除历史记录。

history -c

阿里云体验实验室地址:https://developer.aliyun.com/adc/labs/

1393 次点击
所在节点    推广
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/705200

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX