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

news2024/10/7 18:31:23

 前言

目录

 前言

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,每个用户之间的进程与操作都是相互独立的。

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

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

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

相关文章

【QML】Qt和QML获取操作系统类型

1. Qt获取系统类型 //方法 QSysInfo::productType()//举例&#xff1a; if(QSysInfo::productType() "windows") {qDebug() << "windows system"; }官方说明&#xff1a; [static] QString QSysInfo::productType() Returns the product name of …

【数据结构】树与二叉树(七):二叉树的遍历

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉…

MySQL -- 事务管理

MySQL – 事务管理 文章目录 MySQL -- 事务管理一、理解事务1.如果CURD不加控制&#xff0c;会有什么问题2.事务的概念 二、MySQL中的事务1.事务的版本支持2.事务提交方式3.事务常见操作方式3.1.事务的开始与回滚3.2.证明未commit&#xff0c;客户端崩溃&#xff0c;MySQL自动会…

Vue脚手架学习笔记

视频 Vue脚手架学习笔记 1. 脚手架设置相关内容1.1 各文件的作用1.2 关闭语法检查 2. 组件的使用2.1 单文件组件的使用&#xff08;组件使用的三个步骤&#xff09;2.2 prop配置项&#xff1a;父向子传数据2.2.1 数组方式2.2.2 类型限制2.2.3 默认值、必要性 2.3 ref &#xf…

C# OpenCvSharp 玉米粒计数

效果 项目 代码 using OpenCvSharp; using System; using System.Drawing; using System.Text; using System.Windows.Forms;namespace OpenCvSharp_Demo {public partial class frmMain : Form{public frmMain(){InitializeComponent();}string fileFilter "*.*|*.bmp;…

2023年CCF非专业级别软件能力认证第二轮 (CSP-S)提高级C++语言试题

2023年CCF非专业级别软件能力认证第二轮 &#xff08;CSP-S&#xff09;提高级C语言试题 编程题第 1 题 问答题 密码锁&#xff08;lock&#xff09; 题目描述 小Y有一把五个拨圈的密码锁。如图所示&#xff0c;每个拨圈上是从0到9的数字。每个拨圈都是从0到9的循环&#xf…

【算法 | 模拟No.4】AcWing 756. 蛇形矩阵 AcWing 40. 顺时针打印矩阵

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&a…

汉诺塔 --- 递归回溯算法练习一

目录 1. 什么叫汉诺塔 2. 分析算法原理 2.1. 当盘子的数量为1 2.2. 当盘子的数量为2 2.3. 当盘子的数量为3时 3. 编写代码 3.1. 挖掘重复子问题 3.2. 只关心某一个子问题如何处理 3.3. 递归的结束条件 3.4. 代码的编写 4. 递归展开图分析 1. 什么叫汉诺塔 力扣上的原…

Go并发编程(上)

目录 一、go语言当中的协程 二、MPG模型介绍 三、Goroutine 的使用 3.1 协程的开启 3.2 优雅地等待子协程结束 四、捕获子协程的panic 五、管道Channel 5.1、认识管道 5.2、Channel的遍历和关闭 5.3 、用管道实现生产者消费者模型 5.4、Channel一些使用细节和注意事…

揭秘!2024年热门的图标设计工具

在这个瞬息万变的世界里&#xff0c;设计师们对创新和实用的工具的渴望日益热切。我们需要时刻紧跟潮流&#xff0c;发掘和尝试最新&#xff0c;最有价值的图标设计工具&#xff0c;才能在剧烈的市场竞争中引人注目。以下是我们细心挑选的2024年图标设计工具的热门推荐&#xf…

CentOS 7 双网卡绑定热备 —— 筑梦之路

为什么需要&#xff1f; 1. 增强网络的可靠性 2. 保障服务的可持续性 3. 降低网卡故障带来的不良影响 有哪些模式&#xff1f; 模式0&#xff1a;轮询策略&#xff08;round robin&#xff09;&#xff0c;mode0&#xff0c;优点&#xff1a;流量提高一倍缺点&#xff1a;需要接…

《QT从基础到进阶·十五》用鼠标绘制矩形(QGraphicsView、QPainter、QGraphicsRectItem)

以下是鼠标绘制矩形最全的一种用法&#xff0c;完整源码将会放在最后面。 QT版本&#xff1a;5.15.2 VS版本&#xff1a;2019 1、在界面加载一张图片 界面的搭建选用QGraphicsView&#xff0c;自定义类GraphicsView继承QGraphicsView&#xff0c;在主程序中点击按钮打开 图片&…

opencv4笔记

图像二值化 全局法Threshold 大津法 大津法OSTU阈值类型——适用于双峰直方图 OTSU算法也称最大类间差法&#xff0c;由大津于1979年提出&#xff0c;被认为是图像分割中阈值选取的最佳算法&#xff0c;计算简单&#xff0c;不受图像亮度和对比度的影响&#xff0c;它是按图…

浅谈泛在电力物联网在智能配电系统应用

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;在社会经济和科学技术不断发展中&#xff0c;配电网实现了角色转变&#xff0c;传统的单向供电服务形式已经被双向能流服务形式取代&#xff0c;社会多样化的用电需求也得以有效满足。随着物联网技术的发展&am…

c#数据类型

常量 /*常量是固定的量&#xff0c;在运行过程中不可以改变的量 const 来修饰不能改变的量*/ // public private protected internal 是访问修饰符using System.Security.Cryptography.X509Certificates;namespace ConsoleApp1 {internal class Program{public const int a 1…

科技云报道:数智化升级,如何跨越数字世界与实体产业的鸿沟?

科技云报道原创。 数智化是当下商业环境下最大的确定性。 2022年&#xff0c;中国数字经济规模达50.2万亿元&#xff0c;占国内生产总值比重提升至41.5%&#xff0c;数字经济成为推动经济发展的重要引擎。从小型创业公司到跨国巨头&#xff0c;数字化转型在企业发展历程中彰显…

javaSE学习笔记(二)数组,类,对象,成员变量,匿名对象,构造方法,static,final,封装,继承,多态

目录 三、面向对象 1.概述 面向过程与面向对象 面向对象编程特点 面向对象三个基本特征 2.数组 数组定义格式 数组的初始化 动态初始化 静态初始化 数组的内存分配 Java中的内存分配 数组的内存分配 数组的角标 数组的基本操作 二维数组&#xff08;实际开发几乎…

maven 下载和安装

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

yolov5 通过视频进行目标检测

打开yolov5-master文件夹&#xff0c;可以看到一个名为data的文件夹&#xff0c;在data中创建一个新的文件夹&#xff0c;命名为videos。 打开yolov5-master中的detect.py可以看到一行代码&#xff08;大概在245行左右&#xff09;为 parser.add_argument(--source, typestr,…

POI.5.2.4常用操作-数据导入导出常规操作

1、APACHE POI简介 Apache POI 简介是用Java编写的免费开源的跨平台的 Java API&#xff0c;Apache POI提供API给Java程式对Microsoft Office&#xff08;Excel、WORD、PowerPoint、Visio等&#xff09;格式档案读和写的功能。 1.1、其他操作Excel工具 Java Excel是一开放源码…