1、RedHat7系列——常用命令

常见执行Linux命令的格式:命令名称 [命令参数] [命令对象]

注意:命令名称,命令参数,命令对象之间使用空格分隔;

命令对象一般是指要处理的文件,目录,用户等资源,而命令参数可以用长格式(完整的选项名称),也可以使用短格式(单个字母的缩写),两者分别用--与-作为前缀。

长短格式示例:

长格式:man --help;

短格式:man -h;

查看帮助命令:man

man命令中常用按键用途:

空格键:向下翻一页;

PaGe down:向下翻一页;

PaGe up:向上翻一页;

home:直接前往首页;

end:直接前往尾页;

/:从上至下搜索某个关键词,如:/whatis;

?:从上至下搜索某个关键词,如:?whatis;

n:定位到下一个搜索到的关键词;

N:定位到上一个搜索到的关键词;

q:退出帮助文档;

man命令帮助信息的结构以及意义:

NAME:命令的名称;

SYNOPSIS:参数的大致使用方法;

DESCRIPTION:介绍说明;

EXAMPLES:演示(附带简单说明);

OVERVIEW:概述;

DEFAULTS:默认的功能;

OPTIONS:具体的可用选项(带介绍);

ENVIRONMENT:环境变量;

FILES:用到的文件;

SEE ALSO:相关的资料;

HISTORY:维护历史与联系方式;

系统工作命令:

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

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

示例:把指定字符串输出到终端,使用$变量的方式提取变量SHELL的值;

date:命令用于显示及设置系统的时间或日期;

格式:date [选项] [+指定的格式];

date命令的参数以及作用:

%t:Tab键;

%H:小时(0~23);

%I:小时(0~12);

%M:分钟(00~59);

%S:秒(00~59);

%j:今年中的第几天;

示例:显示当前系统时间,使用格式查看当前系统时间,重置系统时间,查看今天是今年的第几天;

reboot:重启系统;

格式:reboot;

poweroff:关闭系统;

格式:poweroff;

wget:用于在终端中下载网络文件;

格式:wget [参数] 下载地址;

wget常用参数以及作用:

-b:后台下载模式;

-P:下载到指定目录;

-p:下载页面内所有资源,包括图片,视频等;

-t:最大尝试次数;

-c:断点续传;

-r:递归下载;

示例:

下载Nginx文件

下载网页,下载完成后自动保存到当前路径下一个名为www.baidu.com的目录中

ps:用于查看系统中的进程状态;

格式:ps [参数];

ps命令的参数以及作用:

-a:显示所有进程(包括其他用户的进程);

-u:用户以及其他详细信息;

-x:显示没有控制终端的进程;

一般情况下需要配合管道符(grep)使用用来查看指定进程名的进程信息;

在Linux系统中的命令参数有长短格式之分,长格式与长格式之间不能合并,长格式与短格式之间也不能合并,

但短格式与短格式之间可以合并,合并后仅保留一个-(减号)即可;另外ps命令可以不加减号(-),因此也可直接写成ps aux;

USER:进程的所有者;

PID:进程ID号;

%CPU:cpu占用率;

%MEM:内存占用率;

VSZ:虚拟内存使用量(单位KB);

RSS:占用的固定内存量(单位KB);

TTY:所在终端;

STAT:进程状态;

START:被启动的时间;

TIME:时间使用cpu时间;

COMMAND:命令名称与参数;

Linux系统中常见的进程状态:运行,中断,不可中断,僵死与停止;

R(运行):进程正在运行或在运行队列中等待;

S(中断):进程处于休眠中,当某个条件形成后或接收到信号时,则脱离该状态;

D(不可中断):进程不响应系统异步信号,即便使用kill命令也不能将其中断;

Z(僵死):进程已经终止,当进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放;

T(停止):进程收到停止信号后停止运行;

top:用于动态地监视进程活动与系统负载信息;

格式:top;

下图分别是:

系统时间,运行时间,登录终端数,系统负载(三个数分别为1分钟,5分钟,15分钟内的平均值,值越小意味着负载越低);

进程总数,运行中的进程数,睡眠中的进程数,停止的进程数,僵死的进程数;

用户占用资源百分比,系统内核占用资源百分比,改变过优先级的进程资源百分比,空闲的资源百分比,例如:99.7 id表示有99.7%的cpu是空闲;

物理内存总量,内存空闲量,内存使用量,作为内核缓存的内存量;

虚拟内存总量,虚拟内存空闲量,虚拟内存使用量,已被提前加载的内存量;

pidof:用于查询某个指定服务进程的PID值;

格式:pidof [参数] [服务名];

kill:用于终止某个指定PID的服务进程;

格式:kill [参数] [进程PID号];

killall:用于终止某个指定名称的服务所对应的全部进程;

格式:killall [参数] [进程名称];

系统状态检查命令:

ifconfig:用于获取网卡配置与网络状态等信息;

格式:ifconfig [网络设备] [参数];

主要查看网卡名称,inet参数后面的IP地址,ether参数后面的网卡物理地址(MAC地址),以及RX,TX的接收数据包与发送数据包的个数及累计流量。

uname:用于查看系统内核与系统版本等信息;

格式:uname [-a];

在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称,主机名,内核发行版本,节点名,系统时间,硬件名称,硬件平台,处理器类型已经操作系统名称等信息;

uptime:用于查看系统的负载信息;

格式:uptime;

显示当前系统时间,系统已运行时间,启动终端数量以及平均负载值等信息(最近1分钟,5分钟,15分钟)。

free:用于显示当前系统中内存的使用量信息;

格式:free [-h];

-b:以Byte为单位显示;-k:以KB为单位显示;-m:以MB为单位显示;-g:以GB为单位显示;-s:以指定秒执行一次;

total:内存总量;used:已用量;free:空闲的或可以使用的内存总量;

shared:进程共享的内存量;buff:磁盘缓存的内存量;available:可以使用的内存总量;

who:用于查看当前登入主机的用户终端信息;

格式:who [参数];

last:用于查看所有系统的登录记录;

格式:last [参数];

使用last命令可以查看本机的登记记录;

history:用于显示历史执行过的命令;

格式:history [-c];

history命令能显示当前用户在本地计算机中执行过的最近1000条记录。

可以自定义/etc/profile文件中的HISTSIZE变量值。

历史命令被保存到用户家目录中的.bash_history文件中。

可以使用history -c清空历史记录;

sosreport:用于手机系统配置以及架构信息并输出诊断文档。

格式:sosreport;

简单收集系统的运行状态和服务配置信息。

工作目录切换命令:

pwd:用于显示用户当前所处的工作目录;

格式:pwd [选项];

cd:用于切换工作路径;

格式:cd [目录名称];

cd-:返回到上一次所处的目录;

cd~:切换到当前用户的家目录;

cd ..:进入上级目录,点与cd有空格;

ls:

用于显示目录中的文件信息;

格式:ls [选项] [文件];

ls -a:显示包含隐藏文件;

ls -ld /data查看目录属性信息;

cat:用于查看纯文本文件(内容较少的);

格式:cat [选项] [文件];

cat -n 文件名:显示内存顺便显示行号;

more:用于查看纯文本文件(内容较多的);

格式:more [选项] 文件;

head:用于查看纯文本文件的前N行;

格式:head [选项] [文件];

head -n 20 文件名:查看文本前20行内容;

tail:用于查看纯文本文件的后N行或持续刷新内容;

格式:tail [选项] [文件];

tr:用于替换文本文件的字符;

格式:tr [原始字符] [目标字符];

将英文全部替换为大写;

wc:用于统计指定文本的行数,字数,字节数;

格式:wc [参数] 文本;

-l:只显示行数;-w:只显示单词数;-c:只显示字节数;

stat:用于查看文件的具体存储信息和时间等信息;

格式:stat 文件名称;

cut:用于按"列"提取文本字符;

格式:cut [参数] 文本;

提取passwd文件中的用户名信息,即提取以冒号为间隔符号的第一列内容:

diff:用于比较多个文本文件的差异;

格式:diff [参数] 文件;

使用diff --brief显示比较后的结果;

使用-c命令查看具体不同内容;

文件目录管理命令:

touch:用于创建空白文件或设置文件的时间;

格式:touch [选项] [文件];

touch命令的参数以及作用:

-a:仅修改“读取时间”;

-m:仅修改"修改时间";

-d:同时修改atime与mtime;

先使用ls命令查看一个文件的修改时间,然后修改这个文件后,最后通过touch命令把修改时间设置为其他时间;

mkdir:用于创建空白的目录;

格式:mkdir [选项] 目录;

创建txt目录:

cp:用于复制文件或目录;

格式:cp [选项] 源文件 目标文件;

cp命令的参数以及作用:

-p:保留原始文件的属性;

-d:若对象”链接文件“,则保留改”链接文件“的属性;

-r:递归持续复制(用于目录);

-i:若目标文件存在则询问是否覆盖;

-a:相当于-pdr(p,d,r为上述参数);

将robots.txt复制到txt目录中:

mv:用于剪切文件或者文件重命名;

格式:mv [选项] 源文件 [目标路径 | 目标文件名];

rm:用于删除文件或目录;

格式:rm [选项] 文件;

dd:用于按照指定大小和个数的数据块来复制文件或者转换文件;

格式:dd [参数];

dd命令的参数以及作用:

if:输入的文件名称;

of:输出的文件名称;

bs:设置每个"块"的大小;

count:设置要复制“块”的个数;

它能够让用户按照指定大小 和个数的数据块来复制文件的内容。还可以在复制过程中转换其中的数据;

file:用于查看文件的类型;

格式:file 文件名;

由于文本,目录,设备等所有这些一切都称为文件,我们不能单凭后缀知道具体的文件类型;

打包压缩与搜索命令:

tar:用于对文件进行打包压缩或压缩;

格式:tar [选项] [文件];

tar命令的参数以及作用:

-c:创建压缩文件;

-x:解压压缩文件;

-t:查看压缩包内有哪些文件;

-z:用Gzip压缩或解压;

-j:用bzip2压缩或解压;

-v:显示压缩或解压的过程;

-f:目标文件名;

-p:保留原始的权限与属性;

-P:使用绝对路径来压缩;

-C:指定压缩到的目录;

grep:用于在文本中执行关键词搜索,并显示匹配的结果;

格式:grep [选项] [文件];

grep命令的参数与作用:

-b:将可执行文件当作文本文件来搜索;

-c:仅显示找到的行数;

-i:忽略大小写;

-n:显示行号;

-v:反向选择--仅列出没有“关键词”的行;

查找当前系统中不允许登录系统的所有用户信息:

find:用于按照指定条件来查找文件;

格式:find [查找路径] 寻找条件 操作;

find命令的参数以及作用:

-name:匹配名称;

-perm:匹配权限(mode为完全匹配,-mode为包含即可);

-user:匹配所有者;

-group:匹配所有组;

-mtim -n +n:匹配修改内容的时间(-n指n天内,+n指n天前);

-atime -n +n:匹配访问文件的时间(-n指n天内,+n指n天前);

-ctime -n +n:匹配修改文件权限的时间(-n指n天内,+n指n天前);

-nouser:匹配无所有者的文件;

-nogroup:匹配无所有组的文件;

-newer f1 !f2:匹配比文件f1新但比f2旧的文件;

--type b/d/c/p/l/f:匹配文件类型(后面的字幕参数依次表示块设备,目录,字符设备,管道,链接文件,文本文件);

-size:匹配文件的大小(+500KB查找超过500KB文件,-500KB查找小于500KB的文件);

-prune:忽略某个目录;

-exec ...... {} \:后面可跟用于进一步处理搜索结果的命令;

查找该目录以host开头的文件列表:

查到整个系统权限中包含 SUID权限(-4000)的所有文件;

在整个文件系统中查到所有归属root用户的文件并复制到/root/findresults目录:

以上内容以及后面分享的都来自《Linux就该这么学》书中的学习笔记;