linux命令入门

简介: 本篇文件介绍linux系统中经常使用的系统工作命令及系统检测命令。

一、常用系统工作命令

echo

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

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

命令用法示例:

  • 显示普通字符串
  • 显示变量

首先在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`

使用$(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

输出结果:

命令输出参数解释:

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

  • 统计信息区
  • 第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
  • 第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
  • 第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
  • 第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
  • 第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量。
  • 进程信息区

列名

含义

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


二、系统状态检测命令

ifconfig

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

命令使用示例:

  • 获取网卡配置与网络状态等信息。

ifconfig

命令输出说明:

  • 第一部分的第一行显示网卡状态信息。
  • eth0表示第一块网卡。
  • UP代表网卡开启状态。
  • RUNNING代表网卡的网线被接上。
  • MULTICAST表示支持组播。
  • 第二行显示网卡的网络信息。
  • inet(IP地址):172.16.132.195。
  • broadcast(广播地址):172.16.143.255。
  • netmask(掩码地址):255.255.240.0。
  • RX表示接收数据包的情况,TX表示发送数据包的情况。
  • lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。

uname

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

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

命令使用示例:

  • 显示系统信息。

uname -a

命令输出结果:

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

uname -i

命令输出结果:

  • 显示操作系统发行编号。

uname -r

命令输出结果:

  • 显示操作系统名称。

uname -s

命令输出结果:

  • 显示主机名称。

uname -n

命令输出结果:

uptime

命令描述: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

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

命令使用示例:

  • 显示当前系统中内存的使用量信息。

free -h

命令输出说明:

参数

说明

total

物理内存总数

used

已经使用的内存数

free

空间的内存数

share

多个进程共享的内存总额

buff/cache

应用使用内存数

available

可用的内存数

Swap

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

who

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

命令使用示例:

  • 显示当前登录系统的用户

who

  • 显示用户登录来源

who -l -H

  • 只显示当前用户

who -m -H

  • 精简模式显示

who -q

last

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

命令使用示例:

  • 显示用户最近登录信息。

last

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

history

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

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

命令使用示例:

  • 显示最新10条执行过的命令。

history 10

  • 清除历史记录。

history -c

相关文章
|
23天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
132 6
|
24天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
64 3
|
24天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
60 2
|
1月前
|
缓存 监控 Linux
|
1月前
|
Linux Shell 数据安全/隐私保护
|
1月前
|
域名解析 网络协议 安全
|
18天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
56 3
|
2月前
|
运维 监控 网络协议
|
2月前
|
监控 Linux Shell
|
24天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
64 3