Linux基础命令(1)

1.强大好用的Shell

Shell是一个命令工具。Shell(也称终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它会调用相应的程序服务去完成某些工作。

现在红帽系统在内的许多主流Linux系统默认使用的终端是Bash解释器,它主要有以下4项优势

①通过上下方向键来调取过往执行过的Linux命令;

②命令或参数仅需输入前几位就可以用Tab键补全

③具有强大的批处理脚本;

④具有实用的环境变量功能。

2、执行查看帮助命令

Linux命令格式:

命令名称 [命令参数]  [命令对象]

注意,命令名称 、命令参数、命令对象之间要用空格键隔开。

长格式  man --help

短格式  man -help

首先我们先拿man这个命令实现一下

切换到root管理员身份

打开Linux系统命令行终端(我这里使用的是8版本哈)

输入man man命令查看man命令自身的帮助信息(敲回车键即可)

man命令中常用按键以及用途

按键用途
空格键向下翻一页
PaGe down向下翻一页
PaGe  up向上翻一页
home直接前往首页
end直接前往尾页
/从上至下搜素某个关键词,如“/linux”
从上至下搜素某个关键词,如“?linux”
n定位到下一个搜索到的关键词
N定位到上一个搜索到的关键词
q退出帮助文档

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

结构名称代表意义
NAME命令的名称
SYNOPSIS参数的大致使用方法
DESCRIPTION介绍说明
EXAMPLES演示(附带简单的说明)
OVERVIEW概述
DEFAULTS默认的功能
OPTIONS具体的可用选项(带介绍)
ENVIRPNMENT环境变量
FILES用到的文件
SEE ALSO相关的资料
HISTORY维护历史与联系方式

常用系统工作命令

1、echo命令

echo命令用于在终端输出字符串或变量提取后的值,格式为:echo [字符串|$变量]

例如:把指定字符串“happy”输出到终端屏幕的命令为

[root@localhost ~]# echo happy

下面,我们使$变量的方式提取SHELL的值

[root@localhost ~]# echo $SHELL

2、date命令

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

格式为:data [选项][+指定的格式]

date命令中参数及其作用

参数作用
%t跳格[Tab键]
%H小时(00-23)
%I小时(00-12)
%M分钟(00-59)
%S秒(00-59)
%j今年中的第几天

按默认格式查看当前系统时间的date命令如下

[root@localhost ~]# date
Sun Mar 14 22:42:03 EDT 2021

按照 年-月-日 小时:分钟:秒 的格式查看当前系统时间的date命令如下

[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2021-03-14 22:44:04

将系统的当前时间设置为2017年8月8日8点28分担date命令如下

[root@localhost ~]# date -s "20170808 8:28:00"
Tue Aug  8 08:28:00 EDT 2017

[root@localhost ~]# date
Tue Aug  8 08:28:36 EDT 2017

date查看今年是当年中的第几天

[root@localhost ~]# date "+%j"
220

3、reboot命令

reboot命令用于重启系统(由于重启计算机会涉及硬件资源的管理权限,只能使用root管理员来重启)

[root@localhost ~]# reboot

4、poweroff

poweroff命令用于关闭系统,该命令与reboot命令相同,都会涉及硬件资源的管理权限,因此只有root管理员才可以关闭电脑

[root@localhost ~]# poweroff

5、wegt命令

wegt命令用于在终端下载网络文件,格式为“wget[参数] 下载地址”

wegt命令参数及其作用

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

递归下载

尝试使用wegt命令下载

6、ps命令

ps命令用于查看系统中的进程状态,格式为:“ps[参数]”

ps命令的参数以及作用

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

Linux系统中时刻运行着许多进程,如果能够合理管理它们,则可以优化系统的性能。

有五种常见的进程状态,分别为运行,中断,不可中断,僵死和停止

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

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

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

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

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

进程状态

USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
进程所有者进程ID运算器占有率内存占用率虚拟内存使用量(单位是KB)占用的固定内存量(单位是KB)所在终端进程状态被启动的时间实际使用CPU的时间命令名称与参数

7、top命令

top命令用于动态地监视进程活动与系统负载调信息

下图中每行的意义

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

第二行:进程总数,运行中的进程数,睡眠中的进程数,停止的进程数,僵死的进程数

第三行:用户占用资源百分比,系统内核占用资源百分比,改变过优先级的进程资源百分比,空闲的资源百分比等

第四行:物理内存总量,内存使用量,内存空闲量,虚拟内存空闲量,已被提前加载的内存量

8、pidof命令

pidof命令用于查看某个指定服务进程的PID值,格式为:pidof【参数】【服务名称】

[root@localhost ~]# pidof sshd
1022

9、kill命令

kill命令用于终止某个指定PID的服务进程。

10、killall命令

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

3、系统状态监测命令

1、ifconfig命令

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

2、uname命令

uname命令用于查看系统内核与版本等信息

[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

3、uptime命令

uptime命令用于查看系统的负载信息

[root@localhost ~]# uptime
 23:33:26 up 34 min,  1 user,  load average: 0.00, 0.00, 0.06

4、free命令

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

[root@localhost ~]# free -h

           内存总量   已用量    可用量  进程共享的内存量   磁盘缓存的内存量   可以用的内存量
              total        used        free      shared    buff/cache   available
Mem:          1.8Gi       1.2Gi       126Mi        14Mi       459Mi       415Mi
Swap:         2.0Gi        10Mi       2.0Gi

5、who命令

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

[root@localhost ~]# who
root     tty2         2021-03-14 23:00 (tty2)

登录的用户名终端设备登录到系统的时间
root

tty2

2021-03-14 23:00 (tty2)

   

6、last命令

last命令用于查看所有系统的登录记录

7、history命令

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

8、sosreport命令

sosreport命令用于收集系统配置及构架信息并输出诊断文档。

[root@localhost ~]# sosreport

sosreport (version 3.6)

This command will collect diagnostic and configuration information from
this Red Hat Enterprise Linux system and installed applications.

An archive containing the collected information will be generated in
/var/tmp/sos.le34fxce and may be provided to a Red Hat support
representative.

Any information provided to Red Hat will be treated in accordance with
the published support policies at:

  https://access.redhat.com/support/

The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.

No changes will be made to system configuration.

Press ENTER to continue, or CTRL-C to quit.

Please enter the case id that you are generating this report for []:

 Setting up archive ...
 Setting up plugins ...

 Running plugins. Please wait ...                         
Finished running plugins                                                               
Creating compressed archive...

Your sosreport has been generated and saved in:
  /var/tmp/sosreport-localhost-2021-03-14-odhuaxj.tar.xz

The checksum is: 645e5bd252bfd11b58875d49a169a209

Please send this file to your support representative.

4、工作目录切换命令

1、pwd命令

pwd命令用于显示用户当前所处的工作目录

[root@localhost ~]# pwd
/root

2、cd命令

cd命令用于切换工作路径,格式为:cd 【目录名称】

[root@localhost ~]# cd /etc
[root@localhost etc]#

此时,要返回上一层的目录1,可执行如下命令:

[root@localhost etc]# cd -
/root
[root@localhost ~]#

还可以通过下面的命令快速回到家目录

[root@localhost ~]# cd /etc
[root@localhost etc]# cd ~

3、ls命令

ls命令用于查看目录的文件信息,格式为“ls【选项】【文件】”

如果想要查看目录属性信息,则需要额外添加一个-d参数

[root@localhost ~]# ls -ld /etc
drwxr-xr-x. 135 root root 8192 Mar 14 22:59 /etc

5、文本文件编辑命令

1、cat命令

cat命令用于查看纯文本文件(内容比较少的),格式为“cat 【选项】【文件】”。

额外加-n参数,显示行号

2、more命令

more命令用于查看纯文本文件(内容较多的),格式为“more 【选项】文件”

3、head命令

head命令用于查看从未被文档的前N行,格式为“head 【选项】【文件】”

[root@localhost ~]# head -n 20 initial-setup-ks.cfg

4、tail命令

tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail 【选项】【文件】”

tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新的日志文件时,这就特别有用,此时的命令格式为:tail -f 文件名

5、tr命令

tr命令用于替换文本文件中的字符,格式为 tr 【原始字符】【目标字符】

6、wc命令

wc命令用于统计指定文本的行数,字数,字节数,格式为 wc【参数】文本

wc参数以及作用

参数作用
-l只显示行数

-w

只显示单词数

-c

只显示字节数

[root@localhost ~]# wc -l /etc/passwd
45 /etc/passwd

7、stat命令

stat命令用于查看文件的具体存储信息和时等信息,格式为“ stat 文件名称”

8、cut命令

cut命令用于按“列”提取文本字符,格式为“cut 【参数】文本”

9、diff命令

diff命令用于比较多个文本文档的差异

diff --brief 文件1 文件2  判断文件是否相同

diff -c 文件1 文件2  描述文件内容具体的不同

 5、文件目录管理命令

1、touch命令

touch命令用于创建空白文件或设置文件的时间,格式为:“touch 【选项】【文件】”

在创建空白的文本文档方面,这个touch相当简捷。

参数作用
-a仅修改“读取时间”
-m仅修改“修改时间”
-d同时修改atime和mtime

我们通过Xshell远程连接虚拟机进程操作,方便快捷,不用频繁切换。

附上Xshell6的安装包,可能不是最新版本,自行更新也不费事哈。

链接:https://pan.baidu.com/s/1abe28wTAHsZShB3R9qWIvQ
提取码:z7q0

接下来我们简单实现touch的功能

建立一个空白文件

[root@localhost ~]# touch test

查看test文件的修改日期

我们写入一些内容后,继续查看时间

[root@localhost ~]# echo "happy" >> test
[root@localhost ~]# ls -l test

我们再次通过touch命令把修改后的文件时间设置成修改之前的时间

[root@localhost ~]# touch -d "2021-03-15 02:08" test

2、mkdir命令

mkdir命令用于创建空白的目录,格式为:“mkdir 【选项】 目录”

除了能创建单个空白目录之前,mkdir还能结合-p参数来递归创建出具有嵌套叠层关系的文件目录

[root@localhost ~]# mkdir test1
[root@localhost ~]# cd test1/
[root@localhost test1]# mkdir -p a/b/c/d
[root@localhost test1]# cd a
[root@localhost a]# cd b
[root@localhost b]#

3、cp命令

cp命令用于复制文件或目录,格式为“cp 【选项】源文件 目标文件”

在Linux系统中哦,复制操作具体分为三种情况:

①如果目标文件是目录,则会把源文件复制到该目录中;

②如果目标文件也是普通文件,则会询问是否要覆盖它;

③如果目标文件不存在,则执行正常的复制操作

cp命令的参数及其作用

参数作用
-p保留原始文件的属性
-d若对象为“链接文件”,则保留该“链接文件”的属性

-r

递归持续复制(用于目录)
-i若目标文件存在则询问是否覆盖
-a

相当于-pdr(p、d、r为上述参数)

[root@localhost ~]# cp test  testcp

4、mv命令

mv命令用于剪切文件或文件重命名,格式为:“mv 【选项】 源文件 【 目标路径|目标文件名】”

剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也是对其进行重命名。

[root@localhost ~]# mv testcp  one (看文件时间)

 5、rm命令

rm命令用于删除文件或目录,格式为:“rm 【选项】文件”

删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复确认的信息,可在rm命令后跟上-f的参数来强制删除。另外想要删除一个目录,要在rm命令后面跟上一个-r参数才可以,否则删除不掉。

6、dd命令

dd命令用于按照指定大小和个数的数据块来复制文件或转移文件,格式为:“dd【参数】”

dd命令是一个比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。

dd命令的参数及其作用

参数作用
if输入的文件名称
of

输出的文件名称

bs设置每个“块”的大小
count设置要复制“块”的个数

7、file命令

file命令用于查看文件的类型。格式为:“file 文件名”

6,打包压缩与搜索命令

1、tar命令

tar命令用于对文件进行打包压缩或解压,格式为:“tar 【选项】【文件】”

tar命令的参数及其作用

参数作用
-c创建压缩文件
-x解开压缩文件
-t查看压缩包内有那些文件
-z用Gzip压缩或解压
-j用bzip2压缩或解压
-v显示压缩或解压的过程
-f目标文件名
-p保留原始的权限和属性
-P使用绝对路径来压缩
-C指定解压到的目录

2、grep命令

grep命令用于1文本执行关键词搜索,并显示匹配的结果,格式为:“grep 【选项】【文件】”

grep命令的参数及其作用

参数作用
-b将可执行的文件当做文本文件来搜索
-c仅显示找到的行数
-i忽略大小写
-n显示行号
-v反向选择——仅列出没有“关键词”的行

3、find命令

find命令用于按照指定条件来查找文件,格式为“find 【查找路径】寻找条件 操作”

在Linux系统中,搜索工作一般都是通过find命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名,大小,修改时间,权限等信息),一旦匹配成功则默认将信息显示到屏幕上。

find命令中的参数和作用

参数作用
-name匹配名称
-perm匹配权限
-user匹配所有者
-group匹配所有组
-mtime -n +n匹配修改内容的时间
-atime -n +n匹配访问文件的时间
-ctime -n +n匹配修改文件权限的时间
-nouser匹配无所有者的文件
-newer f1  !f2匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f匹配文件类型
-size匹配文件大小
-prune忽略某个目录
-exec ··· {}\;后面可跟用于进一步处理搜索的命令
-nogroup匹配无所有组文件

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程(Rational统一过程)

Rational统一过程(Rational Unified Process,RUP)是由Rational软件公司推出的一种完整而且完美的软件过程。 RUP总结了经过多年商业化验证的六条最有效软件开发经验,这些经验被称为“最佳实践”。 1,最佳实践 (1&am…

软件工程(敏捷过程和极限编程)

1,敏捷过程 为了使软件开发团队具有高效工作和快速响应变化的能力,17位著名的软件专家于2001年2月联合起草了敏捷软件开发宣言。 敏捷软件开发宣言由下述4个简单的价值观声明组成。 (1)个体和交互胜过过程和工具 优秀的团队成…

软件工程(可行性研究讲解)

可行性研究 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。(只是寻找客户所提需求的解决方案,能干还是不能干的问题。) 可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程。 GB…

软件工程(系统流程图讲解)

系统流程图是概括地模型物理系统的工具。 基本符号 系统符号 系统流程图的习惯画法是使信息在图中从顶向下或从左到右流动。 例子 某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零…

软件工程(数据流图)

数据流图有4种基本符号: 正方形或(立方体)表示数据的源点或者终点; 圆角矩形(或圆形)代表变换数据的处理; 开口矩形(或两条平行横县)代表数据存储; 箭头表…

Python二级笔记(10)

知识点: 1,线性表的链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。 2,软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心。 3&#x…

Qt图形界面编程入门(6)

类的私有继承方式 ①基类公有成员和保护成员都作为私有成员被派生类继承,派生类自身的函数可直接访问他们,但是派生类对象则只能通过本类的公有函数间接地访问它们。 ②基类的私有成员成为派生类中更加封闭的私有成员,派生类内部成员函数也…

Qt图形界面编程入门(7)

派生类的构造函数和析构函数 基类的构造函数和析构函数不能被继承。 在派生类中,如果派生类新增的成员进行初始化,就必须加入新的构造函数。与此同时,对所有从基类继承下来的成员的初始化工作还是由基类的构造函数完成,必须在派…

Python二级笔记(11)

知识点: 1,在栈中,栈顶指针top动态反映了栈中元素的变化情况,在循环队列中,队尾指针和队头指针的动态变化决定队列的长度,在链式存储结构中.无论是循环链表还是线性链表,插入和删除元素时&…

Python二级笔记(12)

知识点: 1,机器周期的同步标准是指CPU访问存储器一次所需要的时间 2,int()函数可以将整数字符串转换成整数,也可以将浮点数转化为整数,但是不能将其他字符串转换成整数。 3,当max(函数的参数是字典时&am…

Python二级笔记(13)

知识点: 1,机器数,不管是正数还是负数,其补码的符号位取反即是偏移码。 2,循环队列是队列的一种顺序存储结构 3, break语句会跳出break所在的最内层循环; try中 的语句出错时会被捕获异常,执行except下的…

Python二级笔记(14)

知识点: 1,在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发不重复地访问到表中其他所有的结点。 单向链表只有从头指针开始,沿各结点的指针扫描链表中的所有结点。 双向链表从任何一一个结点位置出发就可以访问到表中其他所有结…

Python二级笔记(15)

知识点: 1,数据流图(DFD)的作用是支持系统功能建模 2,一个数据库可以有多个外模型(也称子模式或用户模型),但概念模型和内模式(物理模式)只能有一个。 3&a…

Linux基础(管道符、重定向、转义字符与环境变量)

1、输入输出重定向 简而言之,输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。 标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也…

软件工程(数据流图例题详解)

假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述的数据:零件编号,零件名称,订货数量,目前价格,主要供…

软件工程(数据流图的命名、用途和自动化边界)

数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。因此,给这些成分起名字时应该仔细推敲。 命名 1.为数据流(或数据存储)命名 (1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。 (2)不要使用空洞的…

Qt图形界面编程入门(Qt的历史、Qt安装资源链接、Qt Creator简介)

Qt的历史渊源 Qt是1991年由挪威的奇趣科技(Trolltech)公司开发的跨平台C图形用户界面(GUI)用程序开发框架,2008年,奇趣科技公司被诺基亚公可收购,Qt也因此成为诺基亚公司旗下的编程语言工具,曾称霸一时的Symbian手机操作系统就是…

Qt图形界面编程入门(创建一个简单的程序)

1,手工编码方式 利用手工编码方式建立“Hello Qt!”程序 第一步: 得到界面 2,无UI的向导方式 从图中,我们发现向导为窗口程序提供了3个基类,分别外QMainWindow、QWidget、QDialog,3个基类的区…

Linux基础(Vim编辑器与Shell命令脚本)

1、Vim文本编辑器 Vim文本编辑器有三种模式 命令模型:控制光标移动,可对文本进行复制、粘贴、删除和查找得等工作。 输入模式:正常的文本录入 末行模式:保存或退出文档,以及设置编辑环境。 在每次运行Vim编辑器时&…

Python二级笔记(17)

操作题: 1,接收用户输入的一个浮点数,输出这个浮点数的小数部分各字符的和,以10为宽度,靠右显示,,采用星号*填充。 代码: s input("请输入一个小数:") s s[::1] cs () for c in…