【Linux】Linux常见指令(上)

个人主页~
初识Linux
- 一、Linux基本命令
- 1、ls指令
- 2、pwd命令
- 3、cd指令
- 4、touch指令
- 5、mkdir指令
- 6、rmdir指令
- 7、rm指令
- 8、man指令
- 9、cp指令
- 10、mv命令
Linux是一个开源的、稳定的、安全的、灵活的操作系统,Linux下的操作都是通过指令来实现的
一、Linux基本命令
先简单了解一下Linux的命令

这里的mkdir是一个相当于Windows上新建文件夹的操作,创建一个名为super_little_monster的目录,使用ls可以显示出该目录下的所有子目录与文件,如果是文件,则会列出文件名以及其他信息
(这里中间的sl是我按错了~)

最高目录为/,进到里面(cd)就是~,创建一个文件夹slm,ls显示出当前目录下有两个文件夹,进到slm文件夹中(cd),显示用户当前所在的目录(pwd)
mkdir:创建目录
ls:显示当前目录下的所有子目录和文件
pwd:显示用户当前所在的目录
cd:将工作目录改到当前指定的目录下
一般来说指令是直接操作文件的,对文件的操作包括对文件内容的操作和对文件属性的操作
接下来我们来开始学习指令
1、ls指令
ls[选项][目录或文件]
| 选项 | 说明 |
|---|---|
| -a | 列出目录下的所有文件,包括以 . 开头的隐含文文件 |
| -d | 将目录像文件一样显示,而不是显示其下的文件 |
| -i | 输出文件的i节点的索引信息 |
| -k | 以k字节的形式表示文件的大小 |
| -l | 列出文件的详细信息 |
| -n | 用数字的UID,GID代替名称 |
| -F | 在每个文件名后附上一个字符以说明该文件的类型: * 表示可执行的普通文件; / 表示目录; @ 表示符号链接; | 表示FIFOs; = 表示套接字 |
| -r | 对目录反向排序 |
| -t | 以时间排序 |
| -s | 在l文件名后输出该文件的大小 |
| -R | 列出所有子目录下的文件 |
| -1 | 一行只输出一个文件 |
下面简单来展示一下:

ls可以显示非隐藏文件
-a选项可以显示目录下所有的文件,包括隐藏文件

ls -la 相当于ls -l -a
选项是可以叠加使用的,然后它们的功能也可以叠加实现,就像下面这段指令 ls -l 就只会将非隐藏文件的详细信息显示出来,而上面这段指令就可以实现所有文件的详细信息显示
其中以 . 开头的文件是隐藏文件,隐藏文件在一般情况下是不可见的,只有在-a条件下可以显示
通过观察我们可以看到在目录中除了一些像slm这样的显式文件和.cache这样的隐藏文件外还有像 . 和. . 这样的隐藏文件,slm是我自己创建的一个文件夹,这个文件夹是一个空文件夹,但是里面还是有. 和. .这两个目录,其实,所有文件夹中都有这两个目录,并且它们两个是有一定的功能的

其中,. .的作用是回退到上级路径类似于我们电脑上文件夹的这个按钮(配合cd指令使用)

其中,. 的作用是帮助用户定位当前目录下的一个文件,因为在Linux中我们跑我们写出的c代码后会产生可执行程序,此时我们就需要使用 ./a.out 来执行a程序,这里的 . 就是告诉系统我要执行的是当前路径下的可执行程序(out是可执行程序的后缀)
2、pwd命令
pwd指令的作用是显示用户当前所在的目录
3、cd指令
cd指令的作用是将工作目录转移到指定的目录下
| 指令 | 作用 |
|---|---|
| cd 目录名 | 将工作目录转移到指定的目录下 |
| cd . . | 返回上级目录 |
| cd /slm | 绝对路径打开目录 |
| cd . ./slm | 相对路径打开目录 |
| cd ~ | 进入用户主目录 |
| cd - | 返回最近访问目录 |


上图是对cd的简单使用,要注意的是,绝对路径下的地址是从要转到的目录开始向上一直到根目录的下一级目录,相对路径下的指令其实相当于. .先退出目录然后再cd 文件名进入到该目录中,但是要更快
4、touch指令
touch命令参数可更改文档或目录的日期时间,包括存取和更改时间,或者新建一个不存在的文件
touch [选项] 文件
| 选项 | 作用 |
|---|---|
| -a | 更改存取时间 |
| -c | 不建立任何文档 |
| -d | 使用指定的日期时间 |
| -m | 更改变动时间 |
| -r | 把指定文档的日期时间改成参考文档的日期时间 |
| -t | 使用指定的日期时间 |
最开始学习时,我们主要用touch来创建文件

touch -t用于指定时间戳来修改文件的时间。它允许您按照指定的格式设置文件的访问时间(atime)和修改时间(mtime),格式为[[CC]YY]MMDDhhmm[.ss],其中CC是世纪,YY是年份的后两位,MM是月份,DD是日期,hh是小时,mm是分钟,ss是秒
touch -d用于根据指定的日期时间字符串来修改文件的时间。它的参数可以是多种日期时间格式,如相对时间(如 “-d ‘2 days ago’”)或者绝对时间(如 “-d ‘2024 - 01 - 01’”),它比touch -t更灵活,因为它可以理解一些自然语言格式的日期时间描述
5、mkdir指令
mkdir [选项] name
用来创建目录,名为name

常用选项有一个 -p
它可以一次创建多个目录
为了方便我们查看一次创建多个目录的效果,我在Linux上安装了tree,因为我们整个Linux是一个多叉树的结构,这个tree可以帮助我们查看我们的目录

通过分隔符分隔,就会创建出一系列的目录

6、rmdir指令
rmdir用来删除空目录
rmdir [name]

类似于mkdir,它也有一个常用选项-p,当子目录被删除后如果父目录也变成空目录的话,就连带着父目录一起删除,使用方法也类似于mkdir,上下级目录名用分隔符分开

7、rm指令
rm命令可以同时删除文件或目录,相比rmdir,rm指令可以删除文件以及非空目录,而rmdir只能删除空目录
rm [选项][name]
| 选项 | 作用 |
|---|---|
| -f | 强力删除,即使文件属性为只读 |
| -i | 删除前逐一询问确认 |
| -r | 删除目录及其下所有文件,其方式为递归 |
递归删除也会询问

我们有一个快速删除的办法就是 -rf ,会将该目录下所有的文件以及目录全部删除,并且不会一遍一遍的问询
8、man指令
man指令是用来查看联机手册的,可以帮助我们快速了解某个命令的参数以及作用
比如说man ls

这里有名称、作用、参数和使用
在这个窗口中翻页是通过上下键来翻页的,使用鼠标滚轮式实现不了的,通过按q键退出
在这里可以看到左上角ls(1),其中的1代表着它是在一号手册里被找到的,也就是普通命令
我们也可以通过man man的方式来查看手册

可以看到这里的手册一共有从1到9九个,我们可以看到手册1是普通命令,手册2是系统调用,手册3是库函数等等
在我们查某一个参数的时候,是按照1-9的顺序从手册中查找的,也就是说先从1号手册开始查,没有再去找2号手册,这样就会出现这样的情况:man printf

我们发现是在1号手册中找到的,这说明printf是一个命令,但是按照我之前的知识储备,我在学习Linux的过程中并不知道有printf这个命令,我想查找的是printf这个c关键字就要通过 man 3 printf来查找,这样查到的就是3手册也就是库函数中的printf了

9、cp指令
cp指令用于复制文件或目录,如果同时指定多个文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中
若目的地并非是一个已存在的目录,则会出现错误信息
cp [选项] 目录或文件
| 选项 | 作用 |
|---|---|
| -f | 强行复制文件或目录,不论目的文件或目录是否已经存在 |
| -i | 覆盖文件之前先询问用户 |
| -r | 将指定目录下的文件和子目录一并递归处理,如果源文件和目录的形态不属于目录或符号链接,则一律视为普通文件处理 |

这里介绍两个指令,echo和cat,echo用来打印后面的内容,加上>就可以将内容写到文件中,这种行为叫做输出重定向,本来该显示到屏幕上的内容打印到了文件中,cat用来打印文件的内容

10、mv命令
mv命令的作用就是剪切重命名
mv [选项] 文件或目录
| 选项 | 作用 |
|---|---|
| -f | 强行覆盖不询问 |
| -i | 覆盖文件之前先询问用户 |
文件重命名:文件名后面跟着改后的文件名

剪切文件:文件名后面跟着路径

剪切并重命名文件:文件名后面跟着路径和改后的文件名

今日分享就到这里了~

相关文章:
【Linux】Linux常见指令(上)
个人主页~ 初识Linux 一、Linux基本命令1、ls指令2、pwd命令3、cd指令4、touch指令5、mkdir指令6、rmdir指令7、rm指令8、man指令9、cp指令10、mv命令 Linux是一个开源的、稳定的、安全的、灵活的操作系统,Linux下的操作都是通过指令来实现的 一、Linux基本命令 先…...
ELFK日志采集实战
一、日志分析概述 日志分析是运维工程师解决系统故障,发现问题的主要手段 日志主要包括系统日志、应用程序日志和安全日志 系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因 经常分析日志可以了解服务器的负荷&#x…...
Kubernetes 使用自定义资源(CRD)扩展API
K8s CRD 即 Kubernetes CustomResourceDefinition,是 Kubernetes 提供的一种扩展机制,允许用户在 Kubernetes 集群中定义和使用自定义的资源类型。通过定义 CRD,用户可以在 Kubernetes 集群中创建、读取、更新和删除自定义资源对象࿰…...
用户使用LLM模型都在干什么?
Anthropic 对用户与 Claude 3.5 Sonnet 的大量匿名对话展开分析,主要发现及相关情况如下: 使用用途分布 软件开发主导:在各类使用场景中,软件开发占比最高,其中编码占 Claude 对话的 15% - 25%,网页和移动应…...
MySQL常用命令之汇总(Summary of Commonly Used Commands in MySQL)
MySQL常用命令汇总 简介 MySQL是一个广泛使用的开源关系型数据库管理系统,由瑞典的MySQL AB公司开发,现属于Oracle公司。 MySQL支持SQL(结构化查询语言),这是数据库操作的标准语言,用户可以使用SQL进…...
六年之约day10
今日开心∶今天部门开了个颁奖大会,看着别人收获的荣誉,还真有些羡慕,什么时候,我也能拥有属于自己的荣誉啊. 今日不开心∶活没干多少,对业务也不是很懂 今日思考∶很多事情,存在即合理.工作,…...
springboot和vue配置https请求
项目场景: 代码发布到线上使用https请求需要配置ssl证书,前后端都需要修改。 问题描述 如图,我们在调用接口时报如下错误,这就是未配置ssl但是用https请求产生的问题。 解决方案: 前端:在vite.config.js文…...
selenium遇见伪元素该如何处理?
🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 问题发生 在很多前端页面中,大家会见到很多::before、::after 元素,比如【百度流量研究院】: 比如【百度疫情大数…...
慧集通(DataLinkX)iPaaS集成平台-数据质量
1.什么是数据质量 介绍: 数据质量的主要作用就是记录组件写入的数据,及执行时的相关信息,如执行的最终状态(成功,失败,进行中等),执行的时间(创建时间,修改时…...
微软发布AIOpsLab:一个开源的全面AI框架,用于AIOps代理
在当今这个云计算技术迅猛发展的时代,企业面临着前所未有的挑战与机遇。随着云基础设施的日益复杂化,它们成为了企业运营不可或缺的支柱。网站可靠性工程师(Site Reliability Engineers,简称SRE)和DevOps团队肩负着关键…...
ElasticSearch | Elasticsearch与Kibana页面查询语句实践
关注:CodingTechWork 引言 在当今大数据应用中,Elasticsearch(简称 ES)以其高效的全文检索、分布式处理能力和灵活的查询语法,广泛应用于各类日志分析、用户行为分析以及实时数据查询等场景。通过 ES,用户…...
12.C语言中的struct详解:定义、赋值、指针、嵌套与位字段
目录 1.简介2.struct 的复制3.struct 指针4.struct 的嵌套5.位字段6.弹性数组成员 1.简介 本篇原文为:C语言中的struct详解:定义、赋值、指针、嵌套与位字段。 更多C进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网 …...
文件读写到SQLite数据库的方法
在 SQLite 数据库中,将文件读写到数据库的常见方法主要有以下几种: 1. 将文件以 BLOB 类型存储 BLOB(Binary Large Object) 是 SQLite 中的二进制数据类型,可以直接用来存储文件内容。 步骤: 创建表 创建一…...
springboot项目部署至linux
1.修改pom.xml 确认是否有以下代码,没有请进行添加,mainClass改成你的启动类 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.ve…...
使用sed命令封装自定义dos2unix脚本
使用sed命令封装自定义dos2unix脚本 创建 `dos2unix` 脚本使用自定义的 `dos2unix` 脚本注意事项要将 sed -i 封装为一个简单的 dos2unix 脚本,你可以创建一个 Bash 脚本文件,该文件接受文件名作为参数,并使用 sed 命令来删除文件中的 DOS 回车符(\r)。以下是一个基本的实…...
调整Python+Pytest+Allure+Yaml+Pymysql框架中需要执行的用例顺序
当pytest框架中有时时候会因为用例的前后关联关系需要调整用例执行顺序时则可以跟进具体的要求调整pytest.ini配置文件中执行用例文件夹的前后顺序 当如果是需要调整某个文件夹中用例的执行顺序时,则跟进具体的文件调整对应testcases中test_*.py文件中的执行顺序...
带内管理和带外管理
带内管理(In-Band Management) 概述 带内管理是一种借助生产网络来传输管理数据的网络管理方式,其管理流量与业务流量共享相同的网络路径。 特点 共享网络路径:管理数据和业务数据一同使用现有的网络基础设施,在同…...
【操作系统】阻塞非阻塞I/O、同步异步I/O
阻塞I/O:程序发起I/O操作时,程序被挂起,直到I/O操作完成并返回结果。在这个过程中,程序会被阻塞无法执行其他任务。适用于简单、低并发的场景。 非阻塞I/O:程序发起I/O操作时,不会等待,立即返回…...
spring cloud alibaba-dubbo3 rpc运行原理
Dubbo3 运行原理 Dubbo3 是 Apache Dubbo 的最新版本,是一个高性能、轻量级的分布式服务框架,支持微服务架构。相比 Dubbo2,它在协议、扩展性、服务治理、流控等方面做了大量改进,特别是引入了 Triple 协议,使其更加适…...
【Uniapp-Vue3】computed计算属性用法及方法对比
如果我们想要将两个响应式变量进行某种运算,就可以使用computed计算属性。 比如下面这个例子中,输入名和姓合成全名,可以用直接显示的方法: 我们也可以使用computed属性: import {computed} from "vue"; le…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
