Linux常用系统命令

Linux 常用系统命令

命令格式:命令+参数+文件或目录
命令帮助方法:command –help;man command;info command
一、Linux 常用系统命令:
(1) .echo:输出字符串或变量
echo 命令用于在终端输出字符串或变量提取后的值
格式为:“echo [字符串 | $变量]”。

参数作用
-n输出不换行
-e将转义符跟后面的特殊字符解释成特殊意义
-E不解释转义字符

例如:把指定字符串“Nebulalinux.com”输出到终端屏幕的命令为:
[root@nebulalinux ~]# echo Nebulalinux.com
该命令会在终端屏幕上显示如下信息:
Nebulalinux.com
使用$变量的方式提取变量 SHELL 的值,并将其输出到屏幕上:
[root@nebulalinux ~]# echo $SHELL
/bin/bash
如图所示
在这里插入图片描述
(2).date 命令用于显示及设置系统的时间或日期。
格式为“date [选项][+指定的格式]”。
只需在强大的 date 命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期
在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。
例如:按照默认格式查看当前系统时间的 date 命令如下所示:
[root@nebulalinux ~]# date
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的 date 命令如下所示:
[root@nebulalinux ~]# date “+%Y-%m-%d %H:%M:%S”
将系统的当前时间设置为 2018 年 8 月 15 日 21 点 13 分的 date 命令如下所示:
[root@nebulalinux ~]# date -s “20180815 21:13:00”
再次使用 date 命令并按照默认的格式查看当前的系统时间,如下所示:
[root@nebulalinux ~]# date
date 命令本身提还供了日期的加减运算,非常方便。
例如:得到昨天的时间
[root@nebulalinux ~]# date +%Y%m%d --date="-1 day"
date 命令中的参数%j 可用来查看今天是当年中的第几天。
这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间。
该参数的使用方式以及显示结果如下所示。
[root@nebulalinux ~]# date "+%j"如图所示

在这里插入图片描述
常用参数:

参数作用
%t跳格
%H小时(0-23)
%l小时(0-12)
%M分钟(0-59)
%S秒(0-59)
%j今年中的第几天

(3).wget:下载文件(wget+网站地址)
wget 命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。如果您没有 Linux 系统的管理经验,当前只需了解一下 wget 命令的参数以及作用,然后看一下下面的演示实验
wget 命令的参数以及参数的作用。

参数作用
-b后台下载模式
-P下载到指定目录
-t最大尝试次数
-c断点续传
-p下载页面内所有资源
-r递归下载

例如:使用 wget 命令从阿里云站点下载 epel 的 YUM 源配置文件,后面会用到
下载命令 wget https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm:
如下图所示则下载成功:
在这里插入图片描述
注意:若下载时碰到如下情况:
在这里插入图片描述
错误原因:上传的host地址输入错误或服务器dns无法解析。
首先检查服务是否开启services.msc
其次 ping www.baidu.com不通,然后本机ping www.baidu.com然后拿到百度的ip[111.13.101.208]在主机上ping 111.13.101.208发现可以ping通说明:可以解析IP但是解析不了域名,DNS的问题
解决办法:添加DNS
vi /etc/sysconfig/network-scripts/ifcfg-eth0
备注:此处添加。下面就可不添加
DNS1=202.106.0.20
DNS2=8.8.8.8
vi /etc/resolv.conf
DNS1=202.106.0.20
DNS2=8.8.8.8
/etc/init.d/network restart重启网络
再使用wegt成功
更改配置文件/etc/resolve.conf对DNS进行配置图为更改后的
在这里插入图片描述
(4). ps:查看系统中进程状态
ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。
什么是进程呢?进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程,从静态文件变成一个在内存中动态运行的进程。
常见参数:

参数作用
-a显示所有进程
-u用户以及其他详细信息
-x显示没有控制终端的进程

Linux 系统中时刻运行着许多进程,能够合理地管理它们,则可以优化系统的性能。在 Linux 系统中,有 5 种常见的进程状态,
分别为运行、中断、不可中断、僵死与停止
Ø R(运行):进程正在运行或在运行队列中等待。
Ø S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
Ø D(不可中断):进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
Ø Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数后将进程释放。
Ø T(停止):进程收到停止信号后停止运行。
当执行 ps aux 命令后通常会看到如下图(部分)的进程状态
在这里插入图片描述
各项内容表达的含义

项目含义
USER进程的所有者
PID进程ID号
%CPU运算器占用率
%MEM内存占用量
VSZ虚拟内存使用量(单位KB)
RSS占用的固定内存量
TTY所在终端
STAT进程状态
START被启动的时间
TIME实际使用CPU的时间
COMMAND命令名称与参数

注意:如前面所提到的,在 Linux 系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,合并后仅保留一个-(减号)即可。另外 ps 命令可允许参数不加减号,因此可直接写成 ps aux 的样子。
(5).top:动态监视进程活动与系统负载等信息
top 命令用于动态地监视进程活动与系统负载等信息,其格式为:top。
top 命令相当强大,能够动态地查看系统运维状态,完全将它看作Linux 中的“强化版的 Windows 任务管理器”。top 命令的运行界面如图 所示

在这里插入图片描述
top 命令执行结果的前 5 行为系统整体的统计信息,其所代表的含义如下。
Ø 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。
Ø 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
Ø 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
注:第 3 行中的数据均为 CPU 数据并以百分比格式显示,例如
“97.1 id”意味着有 97.1%的 CPU 处理器资源处于空闲。

Ø 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
Ø 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
(6).pidof:用于查询指定进程的PID值,即进程ID
pidof 命令用于查询某个指定服务进程的 PID 值,格式为“pidof[选项] [服务名称]”。
每个进程的进程号码值(PID)是唯一的,因此可以通过 PID 来区分不同的进程。例如:
可以使用如下命令来查询本机上服务

参数作用
-s仅返回一个进程号
-c仅显示具有相同“root”目录的进程
-x显示由脚本开启的进程
-o指定不显示的进程ID

在这里插入图片描述
(7).kill:用于终止某个指定PID的服务进程kill-9(数字代表级别,9为最高级别)
kill 命令用于终止某个指定 PID 的服务进程,格式为“kill [选项][进程 PID]”。
接下来,我们使用 kill 命令把上面用 pidof 命令查询到的 PID 所代表的进程终止掉,其命令如下所示。这种操作的效果等同于强制停止 sshd 服务。
执行 kill 命令实际上是发送指定的信号到相应进程。“-l”可以显示系统中的信号,不指定型号将发送SIGTERM(15)终止指定进程。
如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用 ps 命令或者 jobs 命令可以查看进程号。root 用户将影响用户的进程,非 root 用户只能影响自己的进程。
注意:
1、kill 命令可以带信号号码选项,也可以不带。如果没有信号号码,kill 命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用 kill 向进程发送特定的信号。例如:
kill -2 123
它的效果等同于在前台运行 PID 为 123 的进程时按下 Ctrl+C 键。但是,普通用户只能使用不带 signal 参数的 kill 命令或最多使用-9信号。
2、kill 可以带有进程 ID 号作为参数。当用 kill 向这些进程发送信号时,必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程,就会得到一个错误信息。
3、可以向多个进程发信号或终止它们。
4、当 kill 成功地发送了信号后,shell 会在屏幕上显示出进程的终止信息。有时这个信息不会马上显示,只有当按下 Enter 键使 shell的命令提示符再次出现时,才会显示出来。
5、应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用 kill 信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入 kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的 PID 是件很麻烦的事。这时,使用 kill 0 来终止所有由当前 shell 启动的进程,是个有效的方法。
[root@nebulalinux ~]# kill 2156
[root@nebulalinux ~]# kill -9 2156
[root@nebulalinux ~]# kill -l

参数作用
-a当处理当前进程时,不限制命令名和进程号的对应关系
-p指定kill 命令只打印相关进程的进程号,而不发送任何信号
-l信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-s指定发送信号
-u指定用户

在这里插入图片描述
在这里插入图片描述
(8).killall 命令用于终止某个指定名称的服务所对应的全部进程,父加子
格式为:“killall [选项] [服务名称]”。
通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这些进程会比较麻烦,此时可以使用 killall 命令来批量结束某个服务程序带有的全部进程。下面以 httpd 服务程序为例,来结束其全部进程。由于 CentOS7 系统默认没有安装 httpd服务程序,因此大家此时只需看操作过程和输出结果即可,等学习
了相关内容之后再来实践。
[root@nebulalinux ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@nebulalinux ~]# killall httpd
[root@nebulalinux ~]# pidof httpd
[root@nebulalinux ~]#
注:
如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下 Ctrl + C 组合键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。或者,如果有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。
本人linux初学者,可能有些许内容属于借鉴,如有雷同不胜荣幸,测试有错误的地方还希望同道之人能够指出并提出意见,互相探讨互相学习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值