Linux常见指令:从基础到理论

 前言

目录

 前言

1. find指令

 拓展

2. grep指令 

拓展

 sort指令

 uniq指令

 wc指令

 3. zip/unzip指令

4. tar指令

 5. uname指令

 拓展

6. Linux常用热键

 7. 关机

 8. rz指令

 拓展

scp指令

 9. shell命令以及运行原理


      Linux常见指令是使用Linux系统时必不可少的一部分。通过掌握这些指令,用户可以更加高效地管理文件、目录和系统,本期主要介绍:find、grep、zip、unzip、tar、unname、关机、常用热键、rz、shell命令及运行原理。

在这里插入图片描述

1. find指令

语法: find +【path】+ -name+【filename】
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
常用选项:

  • -name  按照文件名查找文件。
find /usr/include -name stdio.h
find /usr/bin -name ls

 find指令的功能非常强大:

  • 在目录结构中搜索文件,并执行指定的操作
  • Linux下find命令提供了相当多的查找条件,它的选项也很多,其中大部分选项都值得我们花时间去了解
  • 系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要你具有相应的权限
  • 在运行一个非常消耗资源的find命令时,更倾向于把它放在后台执行,一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)

它的功能和which相似但也有所不同:

which命令不需要指定查找路径,一般有默认的路径usr/bin等,常用于查找指令位置

 拓展

 除此之外还有一个可以查找的指令——whereis指令

语法:whereis+【filename】
功能: 常用于查找历史安装文档的位置

 

2. grep指令 

 语法: grep +【选项】+【 搜寻字符串 】+【文件】
 功能: 在文件中搜索字符串,将找到的行打印出来
 常用选项:

  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

 test.txt内容为我提前写入的内容

         这里的查找是大小写敏感的,通过结果我们也不难看出。grep指令的文本过滤功能也是非常常用,它可以搭配其他指令进行使用。

拓展

 sort指令

 语法:sort+【选项】+【filename】
 功能: 对文本内容进行排序(按ASCII先后顺序进行排序)
 常用选项:

  • -r :文件内容逆序排序

 

 uniq指令

 语法:uniq+【选项】+【filename】
 功能: 对连续相同的文本进行压缩
 常用选项:

  • -u:显示不重复的行,即只显示出现一次的行。
  • -d:显示重复的行,即只显示出现多次的行。
  • -c:去重的同时,显示行重复次数

与sort配合使用:

 

 ‘ | ’为管道,将左边的指令输出作为右边指令的输入,sort test.txt | uniq

 先对test.txt进行排序,然后将排序结果作为uniq输入进行执行操作。(对数据进行排序+查重)

 wc指令

 wc常用指令较为简单,通常用来统计字符

 -l:按行统计

 3. zip/unzip指令

 语法: zip 【压缩文件.zip】+【 目录/文件】
 功能: 将目录或文件压缩成zip格式
 常用选项:

  • -r 递 归处理,将指定目录下的所有文件和子目录一并处理

 压缩有什么好处:

  1. 更节省空间
  2. 将多个文件打包成一个文件,防止文件丢失
  3. 方便网络传输(更节省时间)

压缩:

zip +指令+【压缩文件.zip】+【 目录/文件】

 

 注意:在压缩文件夹时需要加上 -r指令,直接压缩文件夹无法将文件夹内容压缩

 解压:

unzip +【filename.zip]

 这里我将压缩文件放入新的文件夹进行解压,避免文件名冲突

我们也一步到位,将解压的文件放入到一个新的文件夹中:

4. tar指令

 语法: tar +【指令】+【压缩后文件名】+【文件】
 功能:打包压缩 / 解压文件
 常用选项:

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录
tar -czf dst.tgz src

 

 如果只打包压缩文件只需记住这个简单指令:-czf / -cvzf  解压:-xzf/-xvzf(加‘v’指令显示压缩/解压的过程,可加可不加)

tar -xzf dst.tgz 

 

 指定解压位置:

tar -xzf dst.tgz -C dst

 5. uname指令

 语法:uname 【选项】
 功能: uname用来获取电脑和操作系统的相关信息。
 补充说明:uname可显示linux主机所用的操作系统的版本硬件的名称等基本信息
 常用选项:

  • -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

 在面试时可能会被问到:你的计算机架构是什么?

uname -r

 -r指令就可以查看操作系统软硬件体系结构

 

 拓展

 查看操作系统内核版本:

cat /etc/redhat-release

 查看操作系统中cpu信息:

cat /proc/cpuinfo

 

6. Linux常用热键

  •  [Tab]按键---【命令补全】和【档案补齐】的功能

 在输入指令时,使用tab键可以快速的填充指令:

 在日常使用指令时如果忘记指令,只记得指令开头字母,使用tab键也可有快速查到:

 

如上:输入一个a双击tab键,就可以展示出a开头的所以指令(可能出现tab键无效的情况,这是因为操作系统的原因,可以不使用这个功能)

  •  [Ctrl]+c 按键---停止当前进程

我提前写好一个无限死循环的程序,编译并执行,在Linux终端中在不停的输出:hello,linux

 使用【Ctrl+c】就可以强行停止当前进程,在日常使用中遇到异常进程都可以使用Ctrl+c停止进程

  •  [Ctrl]-d按键---结束退出

『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;它也可以用来取代exit。

 退出连接服务器后,在XShell终端继续Ctrl+d,就会退出并关闭Xshell

 7. 关机

 语法:shutdown 【选项】 

 常见选项:

  •  -h : 将系统的服务停掉后,立即关机。
  • -r : 在将系统的服务停掉之后就重新启动
  • -t sec : -t 后面加秒数,表示『过几秒后关机』的意思

 

 ❗️❗️❗️注意:

 如果使用的是云服务器就不要尝试执行了,云服务器没有特殊情况是永不关机的。

 8. rz指令

 我们的虚拟机/云服务器其实是可以数据共享的(相互传输数据),也就是rz指令

 在使用rz指令之前需要安装lrzsz

yum install -y lrzsz

 执行上边的指令安装lrzsz,安装成功后在XShell终端输入rz指令并执行就可以打开一个窗口:

 当然我们也可以直接在Windows下拖拽文件到终端传输:

 rz指令仅限于从本地计算机上传文件到远程计算机

 拓展

scp指令

 那如何从将自己Linux中的文件传输到远程服务器呢?

这里就要使用scp指令:

scp 文件 用户@ip地址:目录

 执行之后它会询问你是否需要连接:

确认,之后就会要求你输入远程机器用户的密码,输入完之后就会进行传输,这里涉及ip隐私,就不再进行详细演示。

 9. shell命令以及运行原理

 Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不 能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell

 从技术角度,Shell的最简单定义:命令行解释器

我们所使用的XShell就是一个shell外壳,目前我们所使用的Xshell,它的命令行解释器叫bash它其实就是一个可执行程序

 我们在命令行输入的命令叫shell命令, 负责接收我们命令指令的就是shell(外壳程序)

 

 如上图,我们所使用的Linux,本质使用的是Linux的操作系统内核,在系统内核外都有一层软件层(shell外壳),我们输入的指令、编写的代码都是基于shell外壳之上。

 广义层面:内核+外壳(使用的命令行)被称为操作系统

 狭义层面:内核 ,只有内核才是真正的操作系统

 为什么要有shell外壳?

         从操作系统本身出发,考虑到操作系统本身的易用程度和安全问题,是不允许用户直接进行访问的。没有shell外壳的存在,可以访问操作系统的也只有懂操作系统的人可以,如果其他用户想要使用操作起来非常困难,还要学习学习操作系统的原理,这就好比于,一个人学开车,需要先了解一下发动机原理。

 shell外壳是什么?

 shell外壳就是与操作系统内核进行交互的命令行解释器。

 它主要干两件事:

  • 将使用者的命令翻译给核心(kernel)处理。
  • 将核心的处理结果翻译给使用者。

         此外shell外壳对操作系统内核也具有一定的保护功能,shell外壳会判断用户的指令是否安全(判断是否反馈给操作系统内核),预防有害操作的执行,这样也间接的保护了操作系统。

 shell外壳是怎么工作的?

       shell本质是一个执行起来的程序(进程),shell外壳在执行指令时,如果这些指令有风险,或者 用户自定义的指令,这些操作都具有一定的风险,shell不会自己去执行,因为一旦挂了,操作系统也就崩溃无法运行,所以shell通过创建子进程的方式,让子进程去执行有风险的指令。

 在现实使用时shell又是如何工作的呢?

       Linux操作系统可以多用户登录,但是多个用户并不是同时使用一个shell,每次我们使用XShell登陆时,操作系统都要给当前正在登录的用户新启动一个shell、bash,每个用户之间的进程与操作都是相互独立的。

         好了,以上便是本期的全部内容,希望对你有所帮助,最后感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

四种常见分布式限流算法实现!

转载:四种常见分布式限流算法实现! - 知乎 大家好,我是老三,最近公司在搞年终大促,随着各种营销活动“组合拳”打出,进站流量时不时会有一个小波峰,一般情况下,当然是流量越多越好&…

maven 下载和安装

点击进入Maven下载网址 Maven – Download Apache Maven Maven详细下载列表 Index of /dist/maven/maven-3 本地仓库配置文件 配置环境变量 idea编辑器配置 maven Javajdk配置 字节码版本是否11

基于React使用swiperjs实现竖向滚动自动轮播

很多文章,都只提供了js部分,包括官方的文档也只有js部分,如果css设置不正确,会导致轮播图不自动播放。 使用的swiper版本:v11.0.3 文档 https://swiperjs.com/get-startedhttps://swiperjs.com/react 实现效果 使…

华为云交换数据空间 EDS:“可信、可控、可证”能力实现你的数据你做主

文章目录 前言一、数据安全流通价值的必要性和紧迫性1.1、交换数据空间(EDS)背景1.2、《数字中国建设整体布局规划》1.3、数据流通成为制约数据要素价值释放的瓶颈 二、华为云 EDS 解决方案介绍2.1、构建可控数据交换空间2.2、可控的数据交换框架2.3、定…

HelloGitHub 社区动态,开启新的篇章!

今天这篇文章是 HelloGitHub 社区动态的第一篇文章,所以我想多说两句,聊聊为啥开启这个系列。 我是 2016 年创建的 HelloGitHub,它从最初的一份分享开源项目的月刊,现如今已经成长为 7w Star 的开源项目、1w 用户的开源社区、全网…

MATLAB中Stem3函数用法

目录 语法 说明 向量和矩阵数据 表数据 其他选项 示例 行向量输入 列向量输入 矩阵输入 使用向量输入指定针状线条位置 使用矩阵输入指定针状线条位置 填充标记 线型、标记符号和颜色选项 线型、标记符号和颜色选项 其他样式选项 绘制表中的数据 特定坐标区上…

读程序员的制胜技笔记08_死磕优化(上)

1. 过早的优化是万恶之源 1.1. 著名的计算机科学家高德纳(Donald Knuth)的一句名言 1.2. 原话是:“对于约97%的微小优化点,我们应该忽略它们:过早的优化是万恶之源。而对于剩下的关键的3%,我们则不能放弃优化的机会。” 2. 过早…

【前端】Jquery UI +PHP 实现表格拖动排序

目的&#xff1a;使用jquery ui库实现对表格拖拽排序&#xff0c;并且把排序保存到数据库中 效果如下 一、准备工作&#xff1a; 1、下载jquery ui库&#xff0c;可以直接引用线上路径 <link rel"stylesheet" href"https://code.jquery.com/ui/1.12.1/them…

C++中的函数重载:多功能而强大的特性

引言 函数重载是C编程语言中的一项强大特性&#xff0c;它允许在同一个作用域内定义多个同名函数&#xff0c;但这些函数在参数类型、个数或顺序上有所不同。本文将深入探讨函数重载的用法&#xff0c;以及它的优势和应用场景。 正文 在C中&#xff0c;函数重载是一项非常有…

【C#】Mapster对象映射的使用

系列文章 【C#】编号生成器&#xff08;定义单号规则、固定字符、流水号、业务单号&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器&#xff08;开始日期、结束日期&#xff09; 本文链接&#xff1a;h…

【Java】SPI在Java中的实现与应用

一、SPI的概念 1.1、什么是API&#xff1f; API在我们日常开发工作中是比较直观可以看到的&#xff0c;比如在 Spring 项目中&#xff0c;我们通常习惯在写 service 层代码前&#xff0c;添加一个接口层&#xff0c;对于 service 的调用一般也都是基于接口操作&#xff0c;通…

【Git】如何安装git,项目中使用git上传到远程仓库,使用git中对多人使用出现的版本问题的解决

前言&#xff1a; 一&#xff0c;Git的介绍&#xff0c;安装&#xff0c;与SVN的对比 1.1Git的介绍 Git 是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控…

民生画派创始人张龙(天驰)作品

简介 张龙&#xff08;天驰&#xff09; 中国民生画派创始人 首届“陆俨少奖”金奖得主 人民大学巨幅主题创作高级研修班导师 中央美院客座教授 神舟十二号载人飞船遨游太空搭载作品创作者 被评为2021、2022年年度最具收藏价值艺术家 中国美术家协会会员 中国美术家协…

【数据结构】单链表OJ题(二)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、分割链表二、回文链表三、相交链表四、环形链表 I五、环形链表 II 六、链表的深度拷…

17 Linux 中断

一、Linux 中断简介 1. Linux 中断 API 函数 ① 中断号 每个中断都有一个中断号&#xff0c;通过中断号可以区分出不同的中断。在 Linux 内核中使用一个 int 变量表示中断号。 ② request_irq 函数 在 Linux 中想要使用某个中断是需要申请的&#xff0c;request_irq 函数就是…

【python海洋专题四十四】海洋指数画法--多色渐变柱状图

【python海洋专题四十四】海洋指数画法–多色渐变柱状图

winform开发小技巧

如果我们不知道怎么在代码中new 一个控件&#xff0c;我们可以先在窗体中拉一个然后看Form1.Designer.cs 里面生成的代码就是我们要的 我们会在下面看到 还有泛型的使用&#xff0c;马上更新

Termius for Mac:掌控您的云端世界,安全高效的SSH客户端

你是否曾经在Mac上苦苦寻找一个好用的SSH客户端&#xff0c;让你能够远程连接到Linux服务器&#xff0c;轻松管理你的云端世界&#xff1f;现在&#xff0c;我们向你介绍一款强大而高效的SSH客户端——Termius。 Termius是一款专为Mac用户设计的SSH客户端&#xff0c;它提供了…

JavaScript从入门到精通系列第三十二篇:详解正则表达式语法(一)

文章目录 一&#xff1a;正则表达式 1&#xff1a;量词设置次数 2&#xff1a;检查字符串以什么开头 3&#xff1a;检查字符串以什么结尾 4&#xff1a; 同时使用开头结尾 5&#xff1a;同值开头同值结尾 二&#xff1a;练习 1&#xff1a;检查是否是一个手机号 大神链…

『MySQL快速上手』-⑤-数据类型

文章目录 1.数据类型有哪些2.数值类型2.1 tinyint 类型2.2 bit 类型2.3 小数类型2.3.1 float2.3.2 decimal3.字符串类型3.1 char3.2 varchar3.2 char 和 varchar 比较4.日期和时间类型5.enum和set1.数据类型有哪些 MySQL支持多种数据类型,这些数据类型可用于定义表中的列,以…