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 递 归处理,将指定目录下的所有文件和子目录一并处理
压缩有什么好处:
- 更节省空间
- 将多个文件打包成一个文件,防止文件丢失
- 方便网络传输(更节省时间)
压缩:
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,每个用户之间的进程与操作都是相互独立的。
好了,以上便是本期的全部内容,希望对你有所帮助,最后感谢阅读!
相关文章:
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系统时必不可少的一部分。通过掌握…...
ARM---CAN2.0B读取 汽车BMS报文
Qt CAN编程1- CAN总线整体介绍 - 简书 STM32---CAN2.0B读取新能源汽车BMS报文-CSDN博客 CAN通信标准帧和扩展帧介绍_can扩展帧-CSDN博客 【精选】详解CAN 2.0协议_can2.0-CSDN博客 QT实现CAN通信_五个板栗的技术博客_51CTO博客 linux CAN通讯基于Qt代码编写_pf_can-CSDN博客…...
第十一章 JSP开发模型
文章目录 一. 单选题(共5题,50分)二. 判断题(共5题,50分) 一. 单选题(共5题,50分) (单选题) JSPModel2开发的系统中,实现视图的是() A…...
Java面试题-Redis-第四天(线程模型一)
目录 一、Redis为何选择单线程? 二、Redis真的是单线程吗? 三、Redis6.0为何引入多线程 四、Redis6.0引入多线程之后,性能的提升效果如何? 一、Redis为何选择单线程? 通常对于一个数据库来说,CPU通常不…...
逐次变分模态分解(Sequential Variational Mode Decomposition,SVMD)(附代码)
代码原理 逐次变分模态分解(Sequential Variational Mode Decomposition,SVMD)是一种用于信号处理和数据分析的方法。它可以将复杂的信号分解为一系列模态函数,每个模态函数代表了信号中的一个特定频率成分。SVMD的主要目标是提取…...
Spring Boot(一)
Spring Boot是一个开源的Java框架,旨在简化基于Java的应用程序的开发和部署过程。它提供了许多开箱即用的功能和工具,使开发者能够快速构建独立、可执行的、生产级别的应用程序。 以下是Spring Boot的一些主要特点和优势: 简化的配置&#x…...
秩为1的矩阵的性质
...
酷安官网下载页前端自适应源码
酷安官网下载页前端自适应源码,自己拿走玩玩 站长只打开看了一眼,感觉风格还不错,纯html,自己魔改 转载自 https://www.qnziyw.cn/wysc/qdmb/24470.html...
Docker实战
一、Docker安装 以下均以CentOS 7为例 1、安装Docker yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 2、启动和校验 # 启动Docker systemctl start docker# 停止Docker systemctl stop docker# 重启 systemctl resta…...
什么是代理IP池?如何判断IP代理商的IP池是否真实优质?
代理池充当多个代理服务器的存储库,提供在线安全和匿名层。代理池允许用户抓取数据、访问受限制的内容以及执行其他在线任务,而无需担心被检测或阻止的风险。代理池为各种在线活动(例如网页抓取、安全浏览等)提高后勤保障。 读完…...
嵌入式养成计划-51----ARM--ARM汇编指令--内存读写指令--程序状态寄存器传输指令--软中断指令--混合编程
一百二十七、内存读写指令 通过内存读写指令可以实现向内存中写入指定数据或者读取指定内存地址的数据 127.1 单寄存器内存读写指令 将一个寄存器中的数值写入到内存,或者从内存中读取数据放在某一个指定寄存器中 127.1.1 指令码和功能 1. 向内存中写ÿ…...
RSA 2048位算法的主要参数N,E,P,Q,DP,DQ,Qinv,D分别是什么意思 哪个是通常所说的公钥与私钥 -安全行业基础篇5
非对称加密算法RSA 在RSA 2048位算法中,常见的参数N、E、P、Q、DP、DQ、Qinv和D代表以下含义: N(Modulus):模数,是两个大素数P和Q的乘积。N的长度决定了RSA算法的安全性。 E(Public Exponent&a…...
开发知识点-stm32/ESP32/Mega2560嵌入式设计
嵌入式设计 STM32四轴飞行器原理图解析小马哥 DragonFly四轴软件开发 13 STM32 SPI总线通讯SPI 总线协议简介SPI 物理层SPI 协议层SPI 通信时序 STM32硬件SPI接口简介SPI接口 利用库函数初始化配置 ESP32 “F:\res\marlin-2.0.x” “F:\res\Marlin-2.1.2” STM32四轴飞行器 小…...
亚马逊云科技海外服务器初体验
目录 前言亚马逊云科技海外服务器概述注册使用流程实例创建性能表现用户体验服务支持初体验总结 前言 随着云原生技术的飞速发展,越来越多的企业和开发者选择云服务器来作为自己的使用工具,云原生技术的发展也促进了云服务厂商的产品发展,所…...
外贸出口游戏设备亚马逊CE认证电磁兼容性(EMC)测试解析
游戏设备上架亚马逊出口欧盟需办理CE认证电磁兼容性(EMC)测试。 CE认证,作为欧盟的一项标准,成为了游戏设备行业中最为重要的认证之一。CE认证不仅是游戏设备进入欧洲市场的必要条件,也是保证产品符合欧洲市场标准的重…...
设计模式——组合模式(Composite Pattern)+ Spring相关源码
文章目录 一、组合模式定义二、例子2.1 菜鸟教程例子2.1.1 创建 Employee 类,该类带有 Employee 对象的列表。2.1.2 使用 Employee 类来创建和打印员工的层次结构。 2.2 JDK源码——java.awt.Container2.3 Spring源码——CompositeCacheManager 三、其他设计模式 一…...
大语言模型-LLM简介
大语言模型如此火爆,查了些资料整理一下,做个初步的了解。 语言模型的发展从开始的统计方法到使用神经网络,再到现在通过使用Transformer架构的模型训练大量数据,理解文本规则和模式,同时随着训练数据和模型的扩大&…...
创建多层级行索引,创建多层级行索引的DataFrameMultiIndex.from_product()
【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 创建多层级行索引, 创建多层级行索引的DataFrame MultiIndex.from_product() [太阳]选择题 使用pd.MultiIndex.from_product(),下列输出正确的是: import pandas as pd…...
用尽可能简单易懂的代码做个时间轴(时间线)
用尽可能简单的代码,做个时间线或者时间轴展示功能,效果如图: 特点:纯DIVCSS构建,需要展示到什么进度,直接加active属性就行了。 还贴心给配了个setProgress(step)函数,功能太简单,…...
STM32笔记—定时器
目录 一、TIM简介 二、基本定时器(TIM6和TIM7) 1. TIM6和TIM7简介 2. TIM6和TIM7的主要特性 3. TIM6和TIM7的功能 3.1 时基单元 3.2 计数模式 3.3 时钟源 三、通用定时器 1. TIMx(2、3、4、5)简介 2. TIMx主要功能 3. 时钟选择 4. 影子寄存…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理
这篇学习笔记是Spring系列笔记的第7篇,该笔记是笔者在学习黑马程序员SSM框架教程课程期间的笔记,供自己和他人参考。 Spring学习笔记目录 笔记1:【SSM】Spring基础: IoC配置学习笔记-CSDN博客 对应黑马课程P1~P20的内容。 笔记2…...
MySQL技术内幕1:内容介绍+MySQL编译使用介绍
文章目录 1.整体内容介绍2.下载编译流程2.1 安装编译工具和依赖库2.2 下载编译 3.配置MySQL3.1 数据库初始化3.2 编辑配置文件3.3 启动停止MySQL3.4 登录并修改密码 1.整体内容介绍 MySQL技术系列文章将从MySQL下载编译,使用到MySQL各组件使用原理源码分析…...
分类数据集 - 场景分类数据集下载
数据集介绍:自然场景分类数据集,真实场景高质量图片数据;适用实际项目应用:自然场景下场景分类项目,以及作为通用场景分类数据集场景数据的补充;数据集类别:buildings、forest、glacier、mounta…...
