[TOC]
新手必须掌握的Linux命令---常用系统工作命令
1、echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。
例如,把指定字符串“study”输出到终端屏幕的命令为:
[root@study ~]# echo Study
使用$变量的方式提取变量SHELL的值,并将其输出到屏幕上:
[root@study ~]# echo $SHELL
/bin/bash
2、date命令
date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
只需在强大的date命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。例如,把打包后的文件自动按照“年-月-日”的格式打包成“backup-2017-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了解到每个文件的备份时间了。date命令中常见的参数格式及作用如下表所示。
date命令中的参数以及作用
参数 | 作用 |
---|---|
%t | 跳格[Tab键] |
%H | 小时(00~23 |
%l | 小时(00~12) |
%M | 分钟(00~59) |
%S | 秒(00~59) |
%j | 今年中的第几天 |
# 按照默认格式查看当前系统时间
[root@study ~]# date
Mon Aug 24 16:11:23 CST 2017
# 按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间
[root@study ~]# date "+%Y-%m-%d %H:%M:%S"
2017-08-24 16:29:12
# 将系统的当前时间设置为2017年9月1日8点30分
[root@study ~]# date -s "20170901 8:30:00"
Fri Sep 1 08:30:00 CST 2017
# 再次使用date命令并按照默认的格式查看当前的系统时间
[root@study ~]# date
Fri Sep 1 08:30:01 CST 2017
# 查看今天是当年中的第几天。这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间。
[root@study ~]# date "+%j"
244
3、reboot命令
reboot命令用于重启系统,其格式为reboot。
由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启。
4、poweroff命令
poweroff命令用于关闭系统,其格式为poweroff。
该命令与reboot命令相同,都会涉及硬件资源的管理权限,因此默认只有root管理员才可以关闭电脑
5、wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
wget命令的参数以及作用
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P(大写) | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p(小写) | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
使用wget命令递归下载www.linuxprobe.com网站内的所有页面数据以及文件,下载完后会自动保存到当前路径下一个名为www.linuxprobe.com的目录中。执行该操作的命令为wget -r -p https://www.linuxprobe.com
6、ps命令
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。
ps命令与管道符技术搭配使用,用来抓取与某个指定服务进程相对应的PID号码
[图片上传失败...(image-e273f7-1545122267915)]
ps命令的参数以及作用
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示:
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
下表列出进程状态的中文注释
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
进程的所有者 | 进程ID号 | CPU占用率 | 内存占用率 | 虚拟内存使用量(单位KB) | 占用的固定内存量(单位KB) | 所在终端 | 进程状态 | 被启动的时间 | 实际使用CPU的时间 | 命令名称与参数 |
7、top命令
top命令用于动态地监视进程活动与系统负载等信息,其格式为top。
top命令相当强大,能够动态地查看系统运维状态,完全将它看作Linux中的“强化版的Windows任务管理器”。
[图片上传失败...(image-333641-1545122267915)]
top命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下:
第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“97.1 id”意味着有97.1%的CPU处理器资源处于空闲。
第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
8、pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。例如,可以使用如下命令来查询本机上sshd服务程序的PID:
[root@linuxprobe ~]# pidof sshd
2156
9、kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。
使用kill命令把上面用pidof命令查询到的PID所代表的进程终止掉,其命令为如下所示。这种操作的效果等同于强制停止sshd服务。
[root@study ~]# kill 2156
10、killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。
通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这些进程会比较麻烦,此时可以使用killall命令来批量结束某个服务程序带有的全部进程。下面以httpd服务程序为例,来结束其全部进程。
[root@linuxprobe ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe ~]# killall httpd
[root@linuxprobe ~]# pidof httpd
[root@linuxprobe ~]#
11、终止命令
如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下Ctrl + C组合键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。
12、后台执行命令
如果有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。