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

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

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

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

相关文章

简单好看个人引导页毛玻璃页面 HTML 源码

毛玻璃个人引导页源码,界面简洁,已测可完美搭建,UI非常不错的,有兴趣的自行去安装体验吧,其它就没什么好介绍的了。 学习资料源代码:百度网盘 请输入提取码:ig8c

[RCTF 2019]nextphp

文章目录 考点前置知识PHP RFC:预加载FFI基本用法PHP RFC:新的自定义对象序列化机制 解题过程 考点 PHP伪协议、反序列化、FFI 前置知识 PHP RFC:预加载 官方文档 通过查看该文档,在最下面找到预加载结合FFI的危害 FFI基本用法 …

Selenium关于内容信息的获取读取

在进行自然语言处理、文本分类聚类、推荐系统、舆情分析等研究中,通常需要使用新浪微博的数据作为语料,这篇文章主要介绍如果使用Python和Selenium爬取自定义新浪微博语料。因为网上完整的语料比较少,而使用Selenium方法有点简单、速度也比较慢,但方法可行,同时能够输入验…

yolov5 通过视频进行目标检测

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

fastspar微生物相关性推断

fastspar 简介 fastspar是基于Sparcc通过C编写的,速度更快,内存消耗更少。sparcc是基于OTU的原始count数,通过log转换和标准化去除传统相对丰度的天然负相关(因为所有OTU之和为1,某些OTU丰度高另外一些自然就少&…

tqdm学习

from tqdm import tqdmepochs 10 epoch_bar tqdm(range(epochs)) count 0 for _ in epoch_bar:count count1print("count {}".format(count))print(_)每次就是一个epoch

【Python】数据分析案例:世界杯数据可视化

文章目录 前期数据准备导入数据 分析:世界杯中各队赢得的比赛数分析:先打或后打的比赛获胜次数分析:世界杯中的抛硬币决策分析:2022年T20世界杯的最高得分者分析:世界杯比赛最佳球员奖分析:最适合先击球或追…

JAVA代码视频转GIF(亲测有效)

1.说明 本次使用的是JAVA代码视频转GIF&#xff0c;maven如下&#xff1a; <dependency><groupId>ws.schild</groupId><artifactId>jave-nativebin-win64</artifactId><version>3.2.0</version></dependency><dependency&…

07、SpringBoot+微信支付 -->处理超时订单(定时查询、核实微信支付平台的订单、调用微信支付平台查单接口、更新本地订单状态、记录支付日志)

目录 Native 支付处理超时订单定时的讲解需求分析代码定时任务&#xff1a;WxPayTask定时查询的方法&#xff1a;核实订单状态等操作 &#xff1a;WxPayServiceImpl查单接口方法&#xff1a;queryOrder更新本地订单状态&#xff1a;updateStatusByOrderNo记录支付日志&#xff…

苍穹外卖-day06

苍穹外卖-day06 课程内容 HttpClient微信小程序开发微信登录导入商品浏览功能代码 功能实现&#xff1a;微信登录、商品浏览 微信登录效果图&#xff1a; 商品浏览效果图&#xff1a; 1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目&#xff0c;…

单例模式 rust和java的实现

文章目录 单例模式介绍应用实例&#xff1a;优点使用场景 架构图JAVA 实现单例模式的几种实现方式 rust实现 rust代码仓库 单例模式 单例模式&#xff08;Singleton Pattern&#xff09;是最简单的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建…

rabbitMQ rascal/amqplib报错 Error: Unexpected close 排查

以下是一些可能导致此 RabbitMQ 客户端或任何其他 RabbitMQ 客户端中的套接字读取或写入失败的常见场景 1.错过&#xff08;客户端&#xff09;心跳 第一个常见原因是RabbitMQ 检测到心跳丢失。发生这种情况时&#xff0c;RabbitMQ 将添加一个有关它的日志条目&#xff0c;然…

SQL note1:Basic Queries + Joins Subqueries

目录 一、Basic Queries 1、数据库术语 2、查表 3、过滤掉我们不感兴趣的行 4、布尔运算 5、过滤空值&#xff08;NULL&#xff09; 6、分组和聚合 1&#xff09;汇总数据的列 2&#xff09;汇总数据组 7、分组聚合的警告 1&#xff09;SELECT age, AVG(num_dogs) FR…

基于ssm的大学生社团管理系统

基于ssm的大学生社团管理系统 摘要 基于SSM的大学生社团管理系统是一个全面、高效的社团管理平台&#xff0c;旨在帮助大学生和社团管理员更方便、更快捷地进行社团活动的组织和管理。该系统基于Spring、SpringMVC和MyBatis&#xff08;简称SSM&#xff09;开发&#xff0c;这三…

Ubuntu中安装rabbitMQ

一、安装 RabbitMQ ①&#xff1a;更新源 sudo apt-get update②&#xff1a;安装Rrlang语言 由于RabbitMq需要erlang语言的支持&#xff0c;在安装RabbitMq之前需要安装erlang sudo apt-get install erlang-nox③&#xff1a;安装rabbitMQ sudo apt-get install rabbitmq-s…

【算法与数据结构】216、LeetCode组合总和 III

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题可以直接利用77题的代码【算法与数据结构】77、LeetCode组合&#xff0c;稍作修改即可使用。   …

APISpace IP归属地查询接口案例代码

1.IP归属地查询API 1.1 API接口简介 IP归属地查询API&#xff1a;根据IP地址查询归属地信息&#xff0c;包含国家、省、市、区县和运营商等信息。APISpace 提供了IPv4 和 IPv6 的IP归属地查询接口&#xff0c;并且包含了各种归属地精度查询的接口。 1.2 IPv4 IPv4归属地查询…

亚马逊云科技海外服务器初体验

目录 前言亚马逊云科技海外服务器概述注册使用流程实例创建性能表现用户体验服务支持初体验总结 前言 随着云原生技术的飞速发展&#xff0c;越来越多的企业和开发者选择云服务器来作为自己的使用工具&#xff0c;云原生技术的发展也促进了云服务厂商的产品发展&#xff0c;所…

树莓派4B的测试记录(CPU、FFMPEG)

本文是用来记录树莓派 4B 的一些测试记录。 温度 下面记录中的风扇和大风扇是这样的&#xff1a; 为什么要用大风扇呢&#xff1f;因为小风扇在外壳上&#xff0c;气流通过外壳的珊格会有啸叫&#xff0c;声音不大但是很烦人&#xff0c;大风扇没这个问题&#xff0c;并且同样…

python编程复习系列——week1(Input Output)

Input & Output 前言0、我们的第一个Python程序一、变量和数据类型1.变量是用来存储值的保留存储位置2.变量以特定的数据类型存储值。常见数据类型&#xff1a;3.字符串添加&#xff08;连接&#xff09;4.字符串乘法&#xff08;带数字&#xff09;&#xff01;5.从用户处…