Linux目录和文件管理

Linux 目录结构

是树形结构,默认是以 根目录 / 为所有文件、目录的起点
 

目录介绍
/root  超级用户(系统管理员)的主目录(特权阶级)
/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
/bin存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
/sbin存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;
 /boot存放用于系统引导时使用的各种文件:
/dev用于存放设备文件;
/etc存放系统管理和配置文件;
/var用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等:
/usr用于存放系统应用程序:
/opt额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里:
/proc虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;


查看文件内容cat    -n  -b  -cat

cat  [选项]  文件名   //直接显示出整个文件的内容——适用于小文件

选项效果
-n显示行号包括空行
-b跳过空白行编号
-s讲所有的连续的多个空行替换为一个空行(压缩成一个空行)
-A显示隐藏字符

文件内容进行合并
例如a、b文件内容合并成c文件
cat [a][b]>[c]

        

查看文件内容more

通式:more [选项] 文件名   //全屏方式分页显示文件内容

Enter键向下逐行滚动
空格键向下翻一页
b键向上翻一页
q键退出

 注:下翻到最后一页后会自动退出   

查看文件内容 less

less [选项] 文件名..

注:

        /关键字 进行搜索,大小写敏感

        命令 | less 进行分页查看

Page Up键向上翻页
Page Down键向下翻页
/键查找XX内容(/XX:查找XX内容
n下一个内容
N上一个内容
上下键上下逐行滚动
q键或 Ctrl+C组合键退出

注:其他功能与more命令基本类似;下翻到最后一页后不会自动退出;结合管道操作使用时可以向上翻页。

查找文件内容-head、tail

 head

可以显示文件或标准输入的前面行

通式:head [选项] 文件名    

head命令:查看文件开头的一部分内容(默认为10行)
head -n 文件名...   #n为行数

head -n 具体数字 文件名 (不加具体的数字,默认开头十行)

         #号代表数字

tail

tail 和 head 相反,查看文件或标准输入的倒数行

通式:tail [选项] 文件名 

tail命令:查看结尾的少部分内容(默认为10行)
tail -n 文件名...
tail -f 文件名...   #跟踪文件尾部内容的动态更新

补充:

        tail -n 数字

        tail -f 文件名

        tailf 文件名

        tailf = tail -f

head -n 51-5行
head -n +51-5行
head -n -21-8行
tail -38-9行
tail -n 38-9行
tail -n -38-9行
tail -n +33-10行

head -10 文件名 | tail -6 #第5行到第10行 

 

统计文件内容 wc

 通式:wc 【选项】 目标文件   //统计文件中的单词数量

选项:

-l统计行数
-w统计单词个数                       //英文1字节,汉字两字节
-c统计字节数+1换行符           //取消换行符:echo -n [统计内容])> [文件名]

注:不带任何选项的wc命令,默认同时使用-lwc三个选项

 

 检索和过滤文件内容  grep

grep [选项]...查找条件 目的文件         // 在文件中查找并显示包含指定字符串的行                                                        

选项 :

选项效果
-i不区分大小写查找
-v显示不包含匹配文本的所有行(反向查询,反向匹配)
-n显示匹配行及行号
-c只输出匹配到的总行数(不是匹配到的次数
-e实现可多个查找条件的匹配,逻辑or关系
-E支持使用扩展正则表达式,相当于使用egrep命令
-o精确匹配,即“仅匹配”之意
-A n显示匹配行和它后面的n行
-B n显示匹配行和它前面的n行
-C n匹配行和它前后各n行
-l列出文件内容符合指定的样式的文件名称(列出包含字符串文件)
-w只显示全字符合的列(完整单词)

 基本格式:

        ● 要查找的字符串以双引号括起来单引号也可以

        ● “^……”表示以……开头,“……$”表示以……结尾

        ● “^$”表示空行

例如:grep [查找对象] [文件名]   //把含有[查找对象]内容筛选出来
grep -l -R [查找对象] ./                   //众多文件查找包含[查找对象]的文件

案例:超出两个文件中相同的部分

          grep -f a文件 b文件

         分析:将a文件作为条件去匹配b文件,得出a文件和b文件相同的部分

以root开头

        grep “^root” passwd

空行

        grep “^$” passwd

非空行

        grep -v “^$” passwd

正则表达式 

                ● ^ 一行的开头

                ● $ 一行的结尾

                ● . 任意字符

拓展:

        正则表达式:匹配文件中的字符串(grep awk sed)

        通配符:匹配文件的名字(ls find)

压缩及解压缩文件

压缩命令-gzip、bzip2

制作压缩文件、解开压缩文件

gzip [-9] 文件名...           //压缩 gzip -d .gz #解压缩(.gz格式的压缩文件)

gunzip .gz #解压缩(.gz格式的压缩文件)

bzip2 [-9] 文件名...           //压缩 bzip2 -d .bz2 //解压缩(.bz2格式的压缩文件)

bunzip2 .bz2 //解压缩(.bz2格式的压缩文件)

压缩比可以是 -1(压缩速度最快,性能消耗最小,压缩比最低) 到

                       -9(压缩速度最慢,性能消耗最大,压缩比最高)

归档命令 tar

tar [选项]...归档文件名 源文件或目录   制作归档文件
tar [选项]...归档文件名 [-c 目标目录]     释放归档文件

选项
-c创建.tar 格式的包文件
-x解开.tar 格式的包文件
-C解压时指定释放的目标文件夹
-f表示使用归档文件
-P打包时保留文件及目录的权限 大P
-p打包时保留文件及目录的绝对路径 小p
-t列表查看包内的文件
-v输出详细信息(Verbose)
-j调用 bzip2 程序进行压缩或解压 [注:J(xz)]
-z调用 gzip 程序进行压缩或解压

通过tar命令制作压缩包,采用gzip程序进行压缩,显示详细信息

split

作用:分割文件

通式:split [-b ] [-C ] [-] [-l ] [要切割的文件] [输出文件名前缀] [-a ]

选项效果
-b <字节>指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。
- <行数> 或 -l <行数>指定每多少行要拆分成一个文件。
-a <后缀长度>默认的后缀长度是 2

 

压缩,解压缩

压缩:
gzip [-9] 文件....        

 #压缩比可以是 -1(压缩速度最快,性能消耗最小,压缩比最低) 到 -9(压缩速度最慢,性能消耗最大,压缩比最高) 
bzip2 [-9] 文件....
zip XXX.zip  被压缩的文件/目录....
tar -zcvf  XXX.tar.gz  被压缩的文件/目录....        #z(gzip) j(bzip2) J(xz)
 

解压缩:
gzip -d  XXX.gz        gunzip XXX.gz 
bzip2 -d XXX.bz2       bunzip2 XXX.bz2
unzip XXX.zip [-d 目录]
tar xf XXX.tar.gz [-C 目录]      #-C指定目录解压缩

tar tf XXX.tar.gz      #查看压缩包文件内容

tar-归档命令

tar [选项] ... 归档文件名 源文件或目录      //制作归档文件

tar [选项]...归档文件名 [-c 目标目录]        //释放归档文件

选项效果
-c创建.tar 格式的包文件
-x解开.tar 格式的包文件
-C解压时指定释放的目标文件夹
-f表示使用归档文件
-P打包时保留文件及目录的权限 大P
-p打包时保留文件及目录的绝对路径 小p
-t列表查看包内的文件
-v输出详细信息(Verbose)
-j调用 bzip2 程序进行压缩或解压 [注:J(xz)]
-z调用 gzip 程序进行压缩或解压

vim编译器 

vi/vim 文件名 !vim
                                    命令模式          
           <-- i a o I A O  --                --   :   -->
输入模式  --  ESC        -->        <--  ESC  --   末行模式

文本编辑器的作用

  • 创建或修改文本文件;
  • 维护Linux系统中的各种配置文件。

Linux中最常用的文本编辑器

  • vi:类UNIX操作系统的默认文本编辑器
  • vim:vim是vi文本编辑器(一般简称vi编辑器)的增强版本式
  •  三种模式
            Vim 编译器有三种模式,分别是命令模式、插入模式末行模式

            命令模式:正常模式是 Vim 编译器的默认模式,也是最常用的模式。在正常模式下,用户可以使用各种命令进行文本编辑、移动光标和执行操作等。

            插入模式:插入模式用于输入文本。可以通过按下 i 键进入插入模式,此时光标会变成竖线状,可以直接输入文本内容。按下 Esc 键可以从插入模式返回到命令模式

            末行模式:命令行模式用于执行 Vim 编辑器的各种命令。可以通过按下 : 键进入末行模式,在此模式下可以输入各种 Vim 命令,例如保存文件、退出编辑器等。

 命令模式:才进去的那个模式

行间跳转:

        数字G        跳到数字行

        gg              首行

        G               末行

行内跳转:

        行首:0            ^

        行尾:end        $

        一个单词一个单词跳:w

  • G        切换到最后一行
  • 1G gg    切换到第一行
  • #G       切换到第 # 行

撤销修改:

        u        撤销一次操作

       U          撤销光标处所在行的所有操作

        ctrl + r键   恢复上一步撤销的操作

复制 y:

  • yy      复制光标处所在的行
  • #yy     复制光标处开始的 # 行
  • #yy + p/P   复制 + 粘贴

        yy        复制一行

        10 yy   复制10行

粘贴命令:

        p        贴在光标下面

        P        贴在光标上面

删除命令:

  • dd       删除光标处所在的行
  • #dd      删除光标处开始的 # 行
  • #dd + p/P  剪切 + 粘贴,p在光标行下面粘贴,P在光标行上面粘贴
  • x del键      删除光标处所在的字符

        d                删除

        dd              删除一行

        10 dd         删除10行

字符编辑:

        x         删除一个字符

        dw      删除一个单词           

/字符串  ?字符串    查找字符串,

n(/字符串 是从上往下找,?字符串 反之),

N(/字符串是从下往上找,?字符串 反之)            

输入模式

按 i 或 o 进入:

        i         当前光标处插入

        o        下一行插入

末行模式 

命令模式下输入“ : ”(英文冒号)

:wq  :wq!  :x  ZZ  保存并退出
:q!                不保存退出

:set nu      显示行号
:set nonu    不显示行号

:s/OLD/NEW/g         将光标处所在行的所有OLD字符串替换成NEW字符串
:% s/OLD/NEW/g       将所有行的所有OLD字符串替换成NEW字符串
:N,M s/OLD/NEW/g     将第 N 行到第 M 行的所有OLD字符串替换成NEW字符串

:r 文件路径    在光标处所在行下面插入指定的文件内容

:N,M co #     将第 N 行到第 M 行的内容复制到第 # 行下面
:N,M m #      将第 N 行到第 M 行的内容剪切到第 # 行下面

快捷键功能效果
:q退出不报错
:q!强制退出不保存
:wq 、 :wq! 、 :x 、 ZZ保存并退出
:set nu显示行号
:set list显示文本文件中的不可见字符
nohl取消高亮
:set ai对齐

 

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

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

相关文章

NODE MCU (ESP8285-ESP8266)用Arduino lDE 2.3.2烧录系统后串口监控不打印问题

问题: Arduino lDE 2.3.2,集合DOIT ESP-Mx DevKit板子,烧录代码后,串口监视器 打印不出来调试数据 分析: Arduino lDE 2.3.2工具提示,不支持调试 板载flash按钮无需按下,即可烧录系统,由于烧录和调试共用串口,所以怀疑是Arduino lDE 2.3.2在烧录时设置了串口的配置…

YOLTV8 — 大尺度图像目标检测框架(欢迎star)

YOLTV8 — 大尺度图像目标检测框架【ABCnutter/YOLTV8: &#x1f680;】 针对大尺度图像&#xff08;如遥感影像、大尺度工业检测图像等&#xff09;&#xff0c;由于设备的限制&#xff0c;无法利用图像直接进行模型训练。将图像裁剪至小尺度进行训练&#xff0c;再将训练结果…

Echarts简单的多表联动效果和添加水印和按钮切换数据效果

多表联动 多表联动效果指的是在多个表格之间建立一种交互关系&#xff0c;以便它们之间的操作或选择能够相互影响。通常情况下&#xff0c;多表联动效果可以通过以下方式之一实现&#xff1a; 数据关联&#xff1a; 当在一个表格中选择或操作某些数据时&#xff0c;另一个表格…

java数据结构与算法刷题-----LeetCode476. 数字的补数

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 位运算&#xff1a;取出非前导0位标1&#xff0c;进行异或2. …

Hadoop 3.1.3

第1章 Hadoop概述 1.1 Hadoop是什么 1.2 Hadoop发展历史&#xff08;了解&#xff09; 1.3 Hadoop三大发行版本&#xff08;了解&#xff09; Hadoop三大发行版本&#xff1a;Apache、Cloudera、Hortonworks。 Apache版本最原始&#xff08;最基础&#xff09;的版本&#x…

HTML基本语法

前言&#xff1a; html中不区分大小写&#xff0c;但建议用小写&#xff0c;因为使用组件时一般使用大写&#xff0c;便于区分两者 注释&#xff1a; <!-- 注释的内容 --> ~注释的内容只会显示在源码当中&#xff0c;不会显示在网页中 ~用于解释说明代码&#xff0c;或隐…

Unity 2D让相机跟随角色移动

相机跟随移动 最简单的方式通过插件Cinemachine 在窗口/包管理器选择全部找到Cinemachine&#xff0c;导入。然后在游戏对象/Cinemachine创建2D Camera。此时层级中创建一个2D相机。选中人物拖入检查器Follow。此时相机跟随人物移动。 修改相机视口距离 在检查器中Lens下调正…

Java开发从入门到精通(二十):Java的面向对象编程OOP:Stream流

Java大数据开发和安全开发 &#xff08;一&#xff09;Java的新特性&#xff1a;Stream流1.1 什么是Stream?1.2 Stream流的使用步骤1.3 获取Stream流1.4 Stream流常见的中间方法1.5 Stream流常见的终结方法 &#xff08;一&#xff09;Java的新特性&#xff1a;Stream流 1.1 …

1. 信息存储

系列文章目录 信息的表示和处理 : Information Storage&#xff08;信息存储&#xff09;Integer Representation&#xff08;整数表示&#xff09;Integer Arithmetic&#xff08;整数运算&#xff09;Floating Point&#xff08;浮点数&#xff09; 文章目录 系列文章目录前…

STM32常见调试工具介绍

STM32的常见调试工具主要包括ST-LINK、USB转TTL、USB转485以及USB转CAN。这些工具在嵌入式系统开发、调试以及通信中发挥着重要的作用。 1.ST-LINK&#xff1a; ST-LINK是STMicroelectronics公司专为其STM32系列微控制器开发的调试和编程工具。既能仿真也能将编译好的程序下载…

自动化收集Unity版本更新日志

自动化收集Unity版本更新日志 &#x1f365;功能介绍&#x1f96a;食用手册填写配置开始搜集 &#x1f368;数据展示 &#x1f365;功能介绍 &#x1f4a1;获取指定年份中所有的Unity版本更新日志。 &#x1f4a1;根据指定字符串过滤。 &#x1f4a1;.收集后自动保存成markdow…

LangChain-25 ReAct 让大模型自己思考和决策下一步 AutoGPT实现途径、AGI重要里程碑

背景介绍 大模型ReAct&#xff08;Reasoning and Acting&#xff09;是一种新兴的技术框架&#xff0c;旨在通过逻辑推理和行动序列的构建&#xff0c;使大型语言模型&#xff08;LLM&#xff09;能够达成特定的目标。这一框架的核心思想是赋予机器模型类似人类的推理和行动能…

专业140+总分410+北京理工大学826信号处理导论考研经验北理工电子信息通信工程,真题,参考书,大纲。

今年考研专业课826信号处理导论&#xff08;信号系统和数字信号处理&#xff09;140&#xff0c;总分410&#xff0c;顺利上岸&#xff01;回看去年将近一年的复习&#xff0c;还是记忆犹新&#xff0c;有不少经历想和大家分享&#xff0c;有得有失&#xff0c;希望可以对大家复…

Niobe开发板OpenHarmony内核编程开发——定时器

本示例将演示如何在Niobe Wifi IoT开发板上使用cmsis 2.0 接口进行定时器开发 Timer API分析 osTimerNew() /// Create and Initialize a timer./// \param[in] func function pointer to callback function./// \param[in] type \ref osTimerOnce …

LLM-大模型演化分支树、GPT派发展阶段及训练流程图、Infini-Transformer说明

大模型是怎么演进的&#xff1f; Encoder Only: 对应粉色分支&#xff0c;即BERT派&#xff0c;典型模型&#xff1a; BERT 自编码模型&#xff08;Autoencoder Model&#xff09;&#xff1a;通过重建句子来进行预训练&#xff0c;通常用于理解任务&#xff0c;如文本分类和阅…

2440栈的实现类型、b系列指令、汇编掉用c、c调用汇编、切换工作模式、初始化异常向量表、中断处理、

我要成为嵌入式高手之4月11日51ARM第六天&#xff01;&#xff01; ———————————————————————————— b指令 标签&#xff1a;表示这条指令的名称&#xff0c;可跳转至标签 b指令&#xff1a;相当于goto&#xff0c;可随意跳转 如&#xff1a;fini…

【C++】详解类的--封装思想(让你丝滑的从C语言过度到C++!!)

目录 一、前言 二、【面向过程】 与 【面向对象】 三、结构体 与 类 &#x1f34e;C中结构体的变化 &#x1f349;C中结构体的具体使用 &#x1f350;结构体 --> 类 ✨类-----语法格式&#xff1a; ✨类的两种定义方式&#xff1a; 四、类的访问限定符及封装【⭐】 …

labview中的同步定时结构

单帧定时循环定时比较精确&#xff0c;最常用的功能还是它的定时循环功能&#xff0c;定时循环允许不连接“循环条件”端子&#xff0c;可以连接定时循环“结构名称”端子&#xff0c;通过定时结构停止函数停止循环。 例子在附件中。

Red Hat Enterprise Linux提示:正在更新Suscription Manager软件仓库,无法读取客户身份,本系统尚未在权利服务器中注册。

1、问题概述&#xff1f; 在Red Hat Enterprise Linux系统中执行sudo yum -y update命令的时候提示如下问题。 正在更新 Subscription Management 软件仓库。无法读取客户身份 本系统尚未在权利服务器中注册。可使用 subscription-manager进行注册。 错误:在"/etc/yum.r…

RMT: Retentive Networks Meet Vision Transformers学习笔记

代码地址&#xff1a;GitHub - qhfan/RMT: (CVPR2024)RMT: Retentive Networks Meet Vision Transformer 论文地址&#xff1a;https://arxiv.org/pdf/2309.11523.pdf Transformer首次出现在自然语言处理领域&#xff0c;后来迁移到计算机视觉领域&#xff0c;在视觉任务中表现…