echo命令用于在终端显示字符串或输出变量提取后的值,格式为:“echo [字符串 | $变量]”。
将指定字符串输出到终端屏幕:
[root@linuxprobe ~]# echo Linuxprobe.Com Linuxprobe.Com
使用$变量的方式提取变量值并输出到屏幕:
[root@linuxprobe ~]# echo $SHELL /bin/bash
date命令用于显示及设置系统的时间或日期,格式为:"date [选项] [+指定的格式]"。
强大的date命令只需键入以"+"号开头的参数即可按照指定格式来输出系统的时间或日期,这样日常工作时咱们便可以将打包数据的备份命令与指定格式输出的时间信息结合到一起,使得咱们可以更加便捷的区分每个文件的备份时间啦,date命令常见的格式如下:
参数 | 作用 |
%t | 跳格[TAB键] |
%H | 小时(00-23) |
%I | 小时(01-12) |
%M | 分钟(00-59) |
%S | 秒(00-60) |
%X | 相当于%H:%M:%S |
%Z | 显示时区 |
%p | 显示本地AM或PM |
%A | 星期几 (Sunday-Saturday) |
%a | 星期几 (Sun-Sat) |
%B | 完整月份 (January-December) |
%b | 缩写月份 (Jan-Dec) |
%d | 日(01-31) |
%j | 一年中的第几天(001-366) |
%m | 月份(01-12) |
%Y | 完整的年份 |
按照默认的格式查看当前的系统时间:
[root@linuxprobe ~]# date Mon Aug 24 16:11:23 CST 2016
按照"年-月-日 小时:分钟:秒"的格式查看当前的系统时间:
[root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S" 2016-08-24 16:29:12
设置当前的系统时间为2016年9月1日8点30分:
[root@linuxprobe ~]# date -s "20160901 8:30:00" Tue Sep 1 08:30:00 CST 2016
再次按照默认的格式查看当前的系统时间:
[root@linuxprobe ~]# date Tue Sep 1 08:30:01 CST 2016
查看今天是一年中的第几天:
[root@linuxprobe ~]# date "+%j" 245
reboot命令用于重启系统,格式为:"reboot"。
重启计算机这种操作会涉及到对硬件资源的管理权限,因此默认只能使用root用户来重启您的电脑:
[root@linuxprobe ~]# reboot
poweroff命令用于关闭系统,格式为:"poweroff"。
关机命令也同理,默认只有root用户才可以关闭您的电脑:
[root@linuxprobe ~]# poweroff
wget命令用于在终端中下载网络文件,格式为:“wget [参数] 下载地址”。
如果这是您在第一次读《Linux就该这么学》这本书并且暂时还没有对Linux系统的管理经验,那么切记不要急于求成,这次只需要看下wget命令的演示过程即可,咱们将在后面的章节中逐步学习完Linux系统的管理方法,等您学习会了网卡的配置方法后再回来做这个实验吧,从本站的资源库中下载RHEL7系统镜像:
参数 | 作用 |
-b | 后台下载模式。 |
-O | 下载到指定目录。 |
-t | 最大尝试次数。 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等。 |
-r | 递归下载 |
[root@linuxprobe ~]# wget http://down.linuxprobe.com/Tools/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
--2016-08-24 18:25:24-- http://down.linuxprobe.com/Tools/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
Resolving www.linuxprobe.com... 106.185.25.197
Connecting to www.linuxprobe.com|106.185.25.197|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3743416320 (3.5G) [application/octet-stream]
Saving to: 'RHEL-server-7.0-x86_64-LinuxProbe.Com.iso'
100%[====================================>] 3,743,416,320 1.82M/s in 32m 27s
2016-08-24 18:57:51 (1.83 MB/s) - 'RHEL-server-7.0-x86_64-LinuxProbe.Com.iso' saved [3743416320/3743416320]
递归下载《Linux就该这么学》的整站页面与所有资料,下载完成后会自动保存到当前目录中名字为"www.linuxprobe.com"的目录中:
[root@linuxprobe ~]# wget -r -p http://www.linuxprobe.com --2016-08-24 19:31:41-- http://www.linuxprobe.com/ Resolving www.linuxprobe.com... 106.185.25.197 Connecting to www.linuxprobe.com|106.185.25.197|:80... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: `www.linuxprobe.com/index.html' ………………省略下载过程………………
ps命令用于查看系统中的进程状态,格式为:“ps [参数]”,同样搭配的参数如下:
当您第一次执行这个命令时估计要惊呆下,这么多输出值怎么看的过来?其实平常咱们会将ps命令与管道符来结合使用,用于来抓取到某个指定服务进程所对应的PID号码,而常见的ps命令参数包括有:
参数 | 作用 |
-a | 显示所有的进程(包括其他用户的) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
Linux系统中时刻运行着许许多多的进程,如果能够合理的管理它们,绝对有益于系统的性能优化,Linux系统中进程最常见的5种不同的状态是运行、中断、不可中断、僵死与停止,它们的特性分别是:
R(运行):正在运行或在运行队列中等待。
S(中断):休眠中, 在等待某个条件的形成或接受到信号。
D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。
当执行"ps aux"命令后通常会看到下面格式的进程状态,表格中只是列举了部分输出值,而且正常的输出值中不包括中文注释部分:
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
进程的所有者 | 进程ID号 | 运算器占用率 | 内存占用率 | 虚拟内存使用量(单位是KB) | 占用的固定内存量(单位是KB) | 所在终端 | 进程状态 | 被启动的时间 | 实际使用CPU的时间 | 命令名称与参数 |
root | 1 | 0.0 | 0.4 | 53684 | 7628 | ? | Ss | 07:22 | 0:02 | /usr/lib/systemd/systemd |
root | 2 | 0.0 | 0.0 | 0 | 0 | ? | S | 07:22 | 0:00 | [kthreadd] |
root | 3 | 0.0 | 0.0 | 0 | 0 | ? | S | 07:22 | 0:00 | [ksoftirqd/0] |
root | 5 | 0.0 | 0.0 | 0 | 0 | ? | S< | 07:22 | 0:00 | [kworker/0:0H] |
root | 7 | 0.0 | 0.0 | 0 | 0 | ? | S | 07:22 | 0:00 | [migration/0] |
top命令用于动态的监视进程活动与系统负载等信息,格式为:“top”。
这个top命令可真的是太厉害了,完全可以比喻成是“强化版的Windows任务管理器”,运行界面如图2-5所示:
图2-5 top命令的执行界面
前面的五行为系统整体的统计信息,下面咱们来逐行的讲解:
第1行:系统时间,运行时间,登陆用户数,系统负载(分别为1分钟、5分钟、15分钟的平均值)。
第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。
第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。
此行数据均为CPU数据并以百分比格式显示,例如"99.2 id"意味着有99.2%的CPU资源正在空闲中。
第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
pidof命令用于查询某个指定服务的进程PID号码值,格式为:“pidof [参数] [服务名称]”。
PID值是区别每个进程的号码,在不同的计算机上运行相同的服务程序都很少会获得同样值的PID号码,例如查询本机sshd服务程序的PID号码值:
[root@linuxprobe ~]# pidof sshd 2156
kill命令用于终止某个指定PID号码的进程,格式为:“kill [参数] [进程PID号]”。
咱们来动手将上面pidof命令查询到的PID号码给终止掉吧,这边作用等同于将sshd服务强制停止。
[root@linuxprobe ~]# kill 2156
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [进程名称]”。
一般大型软件的服务程序通常都会有数个进程协同为其提供服务,那么如果逐个去结束PID号码又实在麻烦,因此便可以使用killall命令来批量结束某个服务程序带有的全部进程,例如结束掉网络服务的全部进程,下面咱们以httpd服务程序为例,默认您的RHEL7系统未安装它,所以此时只需看操作过程和结果即可:
[root@linuxprobe ~]# pidof httpd 13581 13580 13579 13578 13577 13576 [root@linuxprobe ~]# killall httpd [root@linuxprobe ~]# pidof httpd [root@linuxprobe ~]#
平时在系统终端中执行一个命令后如果想立即的停止它,您可以同时按下系统组合键"Ctrl+c",这样命令的进程将会立即被终止,是比较常用的方法之一。或者有些命令在执行时会不断的在屏幕上输出信息,影响到咱们继续输入命令了,此时便可以在执行这条命令前,将这段命令的最后面添加个"&"符号,那么从一开始执行该命令就会是在后台执行。