更多精彩文章点击 -> 我的学习小站 & 更多好玩点击 -> 技术杂谈
命令描述: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)
命令描述:在终端中下载文件。
命令格式:wget [参数] 下载地址
。
参数说明:
参数 | 作用 |
---|---|
-b | 后台下载 |
-P | 下载到指定目录 |
-t | 最大重试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
命令使用示例:
下载一张图片到路径/root/static/img/中,-p
参数默认值为当前路径,如果指定路径不存在会自动创建。
wget -P /root/static/img/ http://img.alicdn.com/tfs/TB1.png
命令描述:ps命令用于查看系统中的进程状态。
命令格式:ps [参数]
。
命令参数说明:
参数 | 作用 |
---|---|
-a | 显示现行终端机下的所有程序,包括其他用户的程序 |
-u | 以用户为主的格式来显示程序状况 |
-x | 显示没有控制终端的进程,同时显示各个命令的具体路径 |
-e | 列出程序时,显示每个程序所使用的环境变量 |
-f | 显示当前所有的进程 |
-t | 指定终端机编号,并列出属于该终端机的程序的状况 |
命令使用示例:
[root@iZbp1dbo8o3zwbipcf48llZ ~]# ps -ef | grep sshd
root 983 1 0 10:52 ? 00:00:00 /usr/sbin/sshd -D
root 1397 983 0 10:53 ? 00:00:00 sshd: root@pts/0
root 1441 1403 0 10:57 pts/0 00:00:00 grep --color=auto sshd
命令描述:top命令动态地监视进程活动与系统负载等信息。
命令使用示例:
[root@iZbp1dbo8o3zwbipcf48llZ ~]# top
top - 10:53:43 up 1 min, 1 user, load average: 0.07, 0.03, 0.01
Tasks: 74 total, 1 running, 72 sleeping, 0 stopped, 1 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1014672 total, 488536 free, 109500 used, 416636 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 764412 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1342 root 10 -10 122932 11348 8748 S 0.7 1.1 0:00.28 AliYunDun
1276 root 10 -10 32524 4236 2772 S 0.3 0.4 0:00.47 AliYunDunUpdate
1 root 20 0 125488 3916 2608 S 0.0 0.4 0:00.76 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
5 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u2:0
6 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
命令输出参数解释:
以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区。
统计信息区
进程信息区
列名 | 含义 |
---|---|
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命令用于查询指定服务进程的PID值。
命令格式:pidof [服务名称]
。
命令参数说明:
参数 | 说明 |
---|---|
-s | 仅返回一个进程号 |
-c | 只显示运行在root目录下的进程,这个选项只对root用户有效 |
-o | 忽略指定进程号的进程 |
-x | 显示由脚本开启的进程 |
命令使用示例:
查询出crond服务下的所有进程ID。
[root@iZbp1dbo8o3zwbipcf48llZ ~]# pidof crond
989
命令描述:kill命令用于终止指定PID的服务进程。
kill可将指定的信息送至程序。预设的信息为SIGTERM(15)
,可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)
信息尝试强制删除程序。
命令格式:kill [参数] [进程PID]
。
命令使用示例:
删除pid为1247的进程。
kill -9 1247
命令描述:reboot命令用来重启系统。
命令格式:reboot [-n] [-w] [-d] [-f] [-i]
。
命令参数说明:
命令使用示例:
reboot
命令描述:poweroff命令用来关闭系统。
命令描述: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 | 一星期中的第几日(0-6),0 代表周一 |
命令用法示例:
按照默认格式查看当前系统时间
date
按照指定格式查看当前系统时间
date "+%Y-%m-%d %H:%M:%S"
命令描述:ifconfig命令用于获取网卡配置与网络状态等信息。
[root@iZbp1dbo8o3zwbipcf48llZ ~]# ifconfig
eth0: flags=4163 mtu 1500
inet 172.16.1.111 netmask 255.255.255.0 broadcast 172.16.1.225
ether 00:16:3e:00:63:b5 txqueuelen 1000 (Ethernet)
RX packets 41415 bytes 59663367 (56.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6523 bytes 868724 (848.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
命令输出说明:
命令描述:uname命令用于查看系统内核与系统版本等信息。
命令语法:uname [-amnrsv][--help][--version]
命令使用示例:
显示系统信息。
[root@iZbp1dbo8o3zwbipcf48llZ ~]# uname -a
Linux iZbp1dbo8o3zwbipcf48llZ 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
显示当前系统的硬件架构。
[root@iZbp1dbo8o3zwbipcf48llZ ~]# uname -i
x86_64
显示操作系统发行编号。
[root@iZbp1dbo8o3zwbipcf48llZ ~]# uname -r
3.10.0-1062.18.1.el7.x86_64
命令描述:uptime 用于查看系统的负载信息。
命令使用示例:
[root@iZbp1dbo8o3zwbipcf48llZ ~]# uptime
11:07:28 up 14 min, 1 user, load average: 0.00, 0.01, 0.02
命令输出说明:
负载信息 | 命令输出值 |
---|---|
当前服务器时间 | 14:20:27 |
当前服务器运行时长 | 2 min |
当前用户数 | 2 users |
当前负载情况 | load average: 0.03, 0.04, 0.02 (分别取1min,5min,15min的均值) |
命令描述:free用于显示当前系统中内存的使用量信息。
命令语法:free [-bkmotV][-s <间隔秒数>]
。
命令参数说明:
参数 | 说明 |
---|---|
-b | 以Byte为单位显示内存使用情况 |
-k | 以KB为单位显示内存使用情况 |
-m | 以MB为单位显示内存使用情况 |
-h | 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。 |
命令使用示例:
[root@iZbp1dbo8o3zwbipcf48llZ ~]# free -h
total used free shared buff/cache available
Mem: 990M 92M 469M 484K 429M 759M
Swap: 0B 0B 0B
命令输出说明:
参数 | 说明 |
---|---|
total | 物理内存总数 |
used | 已经使用的内存数 |
free | 空间的内存数 |
share | 多个进程共享的内存总额 |
buff/cache | 应用使用内存数 |
available | 可用的内存数 |
Swap | 虚拟内存 |
命令描述:who 命令显示关于当前在本地系统上的所有用户的信息。
命令使用示例:
显示当前登录系统的用户
[root@iZbp1dbo8o3zwbipcf48llZ ~]# who
root pts/0 2020-06-05 10:53 (27.196.220.18)
显示用户登录来源
[root@iZbp1dbo8o3zwbipcf48llZ ~]# who -l -H
NAME LINE TIME IDLE PID COMMENT
LOGIN tty1 2020-06-05 10:52 999 id=tty1
LOGIN ttyS0 2020-06-05 10:52 1000 id=tyS0
命令描述: last 命令用于显示用户最近登录信息。
命令使用示例:
[root@iZbp1dbo8o3zwbipcf48llZ ~]# last
root pts/0 127.196.225.185 Fri Jun 5 10:53 still logged in
reboot system boot 3.10.0-1062.18.1 Fri Jun 5 18:52 - 11:11 (-7:-41)
wtmp begins Sun Apr 26 16:02:02 2020
由于这些信息都是以日志文件的形式保存在系统中,黑客可以很容易地对内容进行篡改,所以该命令输出的信息并不能作为服务器是否被入侵的依据。
命令描述:history命令用于显示历史执行过的命令。
bash默认记录1000条执行过的历史命令,被记录在~/.bash_history文件中。
命令使用示例:
显示最新10条执行过的命令。
[root@iZbp1dbo8o3zwbipcf48llZ ~]# history 10
6 uname -i
7 uname -r
8 uname -s
9 uptime
10 free -h
11 who
12 who -l -H
13 last
14 ls
15 history 10
清除历史记录。
history -c
阿里云开发者社区
Linux快速入手系列一(文件管理)
Linux快速入手系列二( 文本处理 )
Linux快速入手系列三( 系统管理 )