Linux:基础命令学习
目录
一、ls命令
实例:-l以长格式显示文件和目录信息
实例:-F根据文件类型在列出的文件名称后加一符号
实例: -R 递归显示目录中的所有文件和子目录。
实例: 组合使用
Home目录和工作目录
二、目录修改和查看命令
三、mkdir命令
实例:创建目录。
实例:-p创建多个层级目录,自动创建目标目录的父目录。
四、touch命令
五、文件查看命令
cat命令
more命令
六、复制、移动、删除文件命令
cp命令
mv命令
rm命令
七、查找文件命令
wihich命令
find命令
实例: 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
八、文件内容匹配命令
grep命令
实例:文件中查找匹配项
实例:目录中查找匹配项
wc命令
实例:统计文本文件
管道符 |
实例:使用管道符匹配
九、反引号' ` '
案例:反引号的使用
十、重定向符" > " 和 " >> "
案例:使用>覆盖写入和使用>>追加写入
十一、tail命令
案例:使用-f持续追踪文件更新的内容。
Linux 命令基础格式

一、ls命令
ls [option] [linux路径]
[]:表示可选项
用于显示目录文件信息。

常用参数:
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -d 只列出目录(不递归列出目录内的文件)。
- -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
- -r 倒序显示文件和目录。
- -t 将按照修改时间排序,最新的文件在最前面。
- -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- -F 根据文件类型在列出的文件名称后加一符号;例如可执行文件则加 "*", 目录则加 "/"
- -R 递归显示目录中的所有文件和子目录。
- -h 以更加易读的方式,显示文件的大小单位。
实例:-l以长格式显示文件和目录信息
一行从左到右的值分布为文件属性、文件硬链接数、所有者、组、文件大小(以字节B表示)、最后修改时间、文件/目录名称。
文件属性:一共十个字符。
第一个字符:表示文件类型。
字母“-”:表示该文件是一个普通文件。
字母“d”:表示该文件是一个目录,字母”d”,是dirtectory(目录)的缩写。
字母“l”:表示该文件是一个链接文件。字母”l”是link(链接)的缩写。
字母“b”:表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有
一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设
备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块
的大小为512字节)
字母为“c”:表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,
传输数据的最小单位为一个字节。
字母“p”:表示该文件为命令管道文件,与shell编程有关的文件。
字母“s”:表示该文件为sock文件,与shell编程有关的文件。第1字符的后面9个字母表示该文件或目录的权限位!
其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)、-代表无权限。
硬链接数:这个字段说明有多少个硬链接指向这个文件。如果使用ln,做一个指向该文件的硬链接再查看该文件,该文件的第2字段就会加一。
软链接和硬链接的区别:
软链接:符号链接又叫软链接,和原文件不是一个文件,其内容记录的是目标文件的目录,相当于Windows的快捷方式。符号链接可以跨越文件系统,也可以为目录建立。软链接有自己的索引(inode),是linux特殊文件的一种。
创建软链接文件代码格式:ln -s 原文件 链接文件
硬链接:硬链接,只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。硬链接记录的是目标的inode。
创建硬链接代码格式: ln 原文件 新文件

实例:-F根据文件类型在列出的文件名称后加一符号
目录加"/",
可执行文件则加 "*",
符号链接加"@"

实例: -R 递归显示目录中的所有文件和子目录。

实例: 组合使用
ls -a -l
ls -al
ls -la
三种写法的作用相同。


Home目录和工作目录
一般打开终端的当前工作目录默认的是用户的HOME目录(/home/用户名),Home目录是每个用户的个人账户目录,而当前的工作目录指的是终端打开的位置。

二、目录修改和查看命令
cd [linux路径]
pwd
cd命令用于切换路径,不带参数时,默认返回HOME目录。
pwd命令用于输出当前工作目录。

三、mkdir命令

用于创建目录。
实例:创建目录。

实例:-p创建多个层级目录,自动创建目标目录的父目录。

四、touch命令

用于创建文件,不带选项,可直接通过路径创建。

五、文件查看命令
cat命令

一次性全部显示文件内容。

more命令
支持翻页显示文件内容功能,适用于文件内容比较多的情况。

六、复制、移动、删除文件命令
cp命令

用于复制文件。
mv命令

用于移动文件。
rm命令

用于删除文件。
七、查找文件命令
wihich命令
which 命令
命令都是可执行的二进制文件,用于查看命令存放的位置。

find命令
find [路径] [匹配条件] [动作]
用于查找所需文件。
参数说明 :
路径 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
匹配条件用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
匹配条件 中可使用的选项有二三十个之多,以下列出最常用的部份:
-name:按文件名查找,支持使用通配符*和?(正则表达式)。-type:按文件类型查找,可以是f(普通文件)、d(目录)、l(符号链接)等。-size [+-]size[cwbKMG]:按文件大小查找,支持使用+或-表示大于或小于指定大小,单位可以是c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或G(GB)。-mtime days:按修改时间查找,支持使用+或-表示在指定天数前或指定天数内,days 是一个整数表示天数。-user:按文件所有者查找。-group:按文件所属组查找。动作: 可选的,用于对匹配到的文件执行操作,比如删除、复制等。
find 命令中用于时间的参数如下:
-amin n:查找在 n 分钟内被访问过的文件。-atime n:查找在 n*24 小时内被访问过的文件。-cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。-ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。-mmin n:查找在 n 分钟内被修改过的文件。-mtime n:查找在 n*24 小时内被修改过的文件。- -ok:执行某些命令,需要用户确认。
- -exec:执行某些命令,没有用户交互。
在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。
正数应该表示时间之前,负数表示时间之内。
例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。
关于时间 n 参数的说明:
+n:查找比 n 天前更早的文件或目录。
-n:查找在 n 天内更改过属性的文件或目录。
n:查找在 n 天前(指定那一天)更改过属性的文件或目录。
实例: 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
find / -type f -size 0 -exec ls -l {} \;
-exec 选项允许你执行一个命令,{} 将会被匹配到的文件名替代,\; 表示命令结束。
八、文件内容匹配命令
grep命令

grep [options] pattern [files]
该命令用来查找文件内容是否包含模式匹配的字符串(过滤作用)。
常用选项options(可写可不写):
-i:忽略大小写进行匹配。-v:反向查找,只打印不匹配的行。-n:显示匹配行的行号。-r:递归查找子目录中的文件。-l:只打印匹配的文件名。-c:只打印匹配的行数。- -d或-r:查找的是目录而非文件时候使用。
pattern:匹配模式(字符串或正则表达式)
files:需要匹配的目标文件或目录。
实例:文件中查找匹配项
grep hello file.txt
实例:目录中查找匹配项
grep -r -n d ./

wc命令

计算文件的Byte数、字数、或是列数。
实例:统计文本文件

参数分别为:行数 单词数 字节数
一个英文字符占一个字节,一个汉字占两个字节(ASCII码)!
管道符 |
作用将左边的结果用作右边的输入。
实例:使用管道符匹配

九、反引号' ` '
反引号括起来的内容会被当命令执行,配合echo使用,因为echo可以反弹用户输入的内容到控制台。
案例:反引号的使用

十、重定向符" > " 和 " >> "
> 作用:将符号左边的运行结果覆盖写入右边的文件中。
>>作用:将符号左边的运行结果追加写入右边的文件中。
案例:使用>覆盖写入和使用>>追加写入

十一、tail命令

用来查看尾部信息和持续追踪文件的更新内容!
常用选项:
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示文件的尾部 n 行内容
- --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
- -q, --quiet, --silent 从不输出给出文件名的首部
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
案例:使用-f持续追踪文件更新的内容。

此命令会持续运行,用户可以通过Crlt+C来结束该命令。
相关文章:
Linux:基础命令学习
目录 一、ls命令 实例:-l以长格式显示文件和目录信息 实例:-F根据文件类型在列出的文件名称后加一符号 实例: -R 递归显示目录中的所有文件和子目录。 实例: 组合使用 Home目录和工作目录 二、目录修改和查看命令 三、mkd…...
遇到Websocket就不会测了?别慌,学会这个Jmeter插件轻松解决....
websocket 是一种双向通信协议,在建立连接后,websocket服务端和客户端都能主动向对方发送或者接收数据,而在http协议中,一个request只能有一个response,而且这个response也是被动的,不能主动发起。 websoc…...
高性能 Java 本地缓存 Caffeine 框架介绍及在 SpringBoot 中的使用
在现代应用程序中,缓存是一种重要的性能优化技术,它可以显著减少数据访问延迟,降低服务器负载,提高系统的响应速度。特别是在高并发的场景下,合理地使用缓存能够有效提升系统的稳定性和效率。 Caffeine 是一个高性能的…...
Http 和 Https 的区别(图文详解)
在现代网络通信中,保护数据的安全性和用户的隐私是至关重要的。HTTP(Hypertext Transfer Protocol)和 HTTPS(Hypertext Transfer Protocol Secure)是两种常见的网络通信协议,但它们在数据保护方面的能力存在…...
DP学习——外观模式
学而时习之,温故而知新。 外观模式 角色 2个角色,外观类,子系统类。 个人理解 感觉就是对外接口封装,这个是封装一个功能的对外接口,越简单越好,提供给第三方用。 应用场景 封装为对外库时ÿ…...
Vue3 + Vite 打包引入图片错误
1. 具体报错 报错信息 报错代码 2. 解决方法 改为import引入,注意src最好引用为符引入,不然docker部署的时候可能也会显示不了 <template><img :src"loginBg" alt""> </template><script langts setup> …...
搭建NFS、web、dns服务器
目录 1、搭建一个nfs服务器,客户端可以从该服务器的/share目录上传并下载文件 服务端配置: 客户端测试: 2、搭建一个Web服务器,客户端通过www.haha.com访问该网站时能够看到内容:this is haha 服务端配置: 客户端…...
C++的UI框架和开源项目介绍
文章目录 1.QT2.wxWidgets3.Dear ImGui 1.QT QT的开源项目:QGIS(地理信息系统) https://github.com/qgis/QGIS?tabreadme-ov-file 2.wxWidgets wxWidgets的开源项目:filezilla https://svn.filezilla-project.org/svn/ wxWidg…...
SpringBoot连接PostgreSQL+MybatisPlus入门案例
项目结构 一、Java代码 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mave…...
vue3里将table表格中的数据导出为excel
想要实现前端对表格中的数据进行导出,这里推荐使用xlsx这个依赖库实现。 1、安装 pnpm install xlsx 2、使用 import * as XLSX from "xlsx"; 直接在组件里导入XLSX库,然后给表格table通过ref创建响应式数据拿到table实例,将实…...
【算法】分布式共识Paxos
一、引言 在分布式系统中,一致性是至关重要的一个问题。Paxos算法是由莱斯利兰伯特(Leslie Lamport)在1990年提出的一种解决分布式系统中一致性问题的算法。 二、算法原理 Paxos算法的目标是让一个分布式系统中的多个节点就某个值达成一致。算…...
软考:软件设计师 — 5.计算机网络
五. 计算机网络 1. OSI 七层模型 层次名称主要功能主要设备及协议7应用层实现具体的应用功能 POP3、FTP、HTTP、Telent、SMTP DHCP、TFTP、SNMP、DNS 6表示层数据的格式与表达、加密、压缩5会话层建立、管理和终止会话4传输层端到端的连接TCP、UDP3网络层分组传输和路由选择 三…...
C++ //练习 15.28 定义一个存放Quote对象的vector,将Bulk_quote对象传入其中。计算vector中所有元素总的net_price。
C Primer(第5版) 练习 15.28 练习 15.28 定义一个存放Quote对象的vector,将Bulk_quote对象传入其中。计算vector中所有元素总的net_price。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块&am…...
Midjourney绘画提示词精选
Midjourney绘画提示词精选 在探索Midjourney这一强大的AI绘画工具时,选择合适的提示词是创作出令人惊艳作品的关键。这些提示词不仅能够帮助Midjourney理解你的创作意图,还能引导它生成出符合你期望的图像。以下是对Midjourney绘画提示词的精选与解析&a…...
Kylin中的RBAC:为大数据安全加把锁
Kylin中的RBAC:为大数据安全加把锁 Apache Kylin是一个开源的分布式分析引擎,旨在为Hadoop平台提供快速的大数据量SQL查询能力。随着企业对数据安全和访问控制需求的增加,基于角色的访问控制(Role-Based Access Controlÿ…...
DDoS 攻击下的教育网站防护策略
随着互联网的普及,教育网站成为学生和教师获取信息、进行在线学习的重要平台。然而,这些网站也成为了网络攻击的目标,尤其是分布式拒绝服务(DDoS)攻击。本文将探讨DDoS攻击对教育网站的影响,并提出一系列有…...
Android13以太网静态IP不保存的问题
最近在做Amlogic T982的样机,关于以太网部分,系统Settings只有一个Ethernet的条目,没有其他任何信息,什么以太网mac地址,开关,IP地址,子网掩码,默认网关,dns, 设置代理&a…...
Redis 7.x 系列【31】LUA 脚本
有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 常用命令2.1 EVAL2.2 SCRIPT LOAD2.3 EVALSHA2.4 SCRIPT FLUSH2.5 其他 3. …...
mysql中You can’t specify target table for update in FROM clause错误
mysql中You can’t specify target table for update in FROM clause错误 You cannot update a table and select directly from the same table in a subquery. mysql官网中有这句话,我们不能在一个语句中先在子查询中从某张表查出一些值,再update这张表…...
Linux Vim最全面的教程
Vim 是一个非常强大的文本编辑器,它在 Linux 环境中尤其受欢迎。Vim 支持高度定制,并且拥有丰富的功能,包括多级撤销、宏、脚本语言支持等。下面是关于 Vim 的一个较为全面的教程。 Vim 的启动 要启动 Vim,你可以在终端中输入 v…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...

