Linux目录及文件管理

目录

一.Linux目录基本结构

1.常见目录及其作用

二.常用文件处理命令

1.七类常见的linux的文件

2.cat(查看文件内容)

3.more(分页查看文件内容)

4.less(分页查看文件内容)

5.head(从头部查看文件内容)

6.tail(从尾部查看文件内容)

7.wc(统计文件内容)  

8.grep(过滤文件)

 9.gzip bzip2(压缩及解压缩文件)

10.tar(归档)

三.vi文本编辑器

1.文本编辑器作用

2.vi和vim介绍

3.vim工作模式及切换方式


一.Linux目录基本结构

Linux目录为树形结构,根目录“/”是所有分区、目录、文件的位置起点。

1.常见目录及其作用

一级目录功能(作用)
/bin/存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行
/boot/系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
/dev/设备文件保存位置
/etc/配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
/home/普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming
/lib/系统调用的函数库保存位置(c语言 写的一些固定格式的代码,方便调用)
/media/挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
/mnt/挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区
/misc/挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的
/opt/第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件
/root/root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
/sbin/保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
/srv/服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空

二.常用文件处理命令

1.七类常见的linux的文件

  1. d 目录文件directory

  2. b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。

  3. c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用

  4. l 符号链接文件link软链接

  5. p 管道文件pipe 主要用于进程间通信单向传输 一个发一个输管道文件

  6. s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信

  7. -普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件等

2.cat(查看文件内容)

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

3.more(分页查看文件内容)

more [选项] 文件名

基本操作:

  • 空格下一行 到文末后自动退出

  • b上一行

  • enter一行一行滚动

  • 自动退出

  • q退出

4.less(分页查看文件内容)

less [选项] 文件名

基本操作:

  • 可以使用/ 查找 n向下 N向上查找

  • Page Up 向上翻页,Page Down 向下翻页

  • 其余参考more

5.head(从头部查看文件内容)

-c # 指定获取前#字节
-n # 指定获取前#行,#如果为负数,表示从文件头取到倒数第#行(不加具体的数字,默认前十行)

6.tail(从尾部查看文件内容)

 -n      具体数字  文件名     显示倒数数字行(不加具体的数字,默认结尾十行)

 -f       具体数字  文件名        实时跟踪最后十行

 tail   -n   +数字       从数字行开始显示           

7.wc(统计文件内容)  

wc [选项]... 目标文件..

  • -l:统计行数

  • -w:统计单词个数

  • -c:统计字节数

8.grep(过滤文件)

grep [选项]… 查找条件 目标文件

  • -i:查找时忽略大小写

  • -v:反向查找,输出与查找条件不相符的行

  • -o 只显示匹配项

  • -f 对比两个文件的相同行

  • -c 匹配的行数([root@localhost ky15]# grep -c root passwd 2)

基本格式

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

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

  • “^$”表示空行

 9.gzip bzip2(压缩及解压缩文件)

1.压缩:gzip [-9] 文件名… 提高压缩比例,但是文件较大时效率会低

             bzip2 [-9] 文件名...

2.解压缩:gzip -d .gz格式的压缩文件 

                 bzip2 -d .bz2格式的压缩文件

注:9代表压缩比率,9最大1最小,使用以上两种压缩源文件不存在了,gzip的压缩率要高于bzip2

10.tar(归档)

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

tar [选项] ... 归档文件名 [-C 目标目录]

此处选项有先后要求

  • -c:创建(Create).tar 格式的包文件

  • -x:解开.tar 格式的包文件

  • -C:解压时指定释放的目标文件夹

  • -f:表示使用归档文件(一般都要带上表示使用tar)

  • -p:打包时保留文件及目录的权限

  • -P:打包时保留文件及目录的绝对路径

  • -t:列表查看包内的文件(要和f一起使用)

  • -v:输出详细信息

  • -j:调用 bzip2 程序进行压缩或解压

  • -z:调用 gzip 程序进行压缩或解压

三.vi文本编辑器

1.文本编辑器作用

  1. 创建或修改文本文件
  2. 维护Linux系统中的各种配置文件

2.vi和vim介绍

  • vi:类unix操作系统的默认文本编辑器
  • vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本

3.vim工作模式及切换方式

3.1三种常见模式

  1. 命令模式(默认模式):可以实现移动光标,剪切/粘贴文本
  2. 插入模式(编辑模式):用于修改文本
  3. 末行模式:保存,退出,搜索替代,还有很多查看习惯设置等

3.2切换方式

命令模式→输入模式

a:在当前光标位置之后插入内容

i:在当前光标位置之前插入内容

o:在光标所在行之下插入一个新行内容

O:在光标所在行之上插入一个新行内容

A:在所在行的行尾插入内容

I:在所在行的行首插入内容

命令模式→末行模式

输入“:“键(冒号)

:set nu      显示行号

:set nonu    不显示行号

注:末行和输入模式返回命令模式按esc即可

3.3.命令模式常用操作

操作键功能
ctrl+f或者Pagedown向下翻页
ctrl+b或者Pageup向上翻页
Home;^;0跳到本行的行首
按 End 键或$跳转到本行的行尾
1G 或 gg跳转到文件的第一行包括空行
G跳转文件的末尾
#G#代表行号数字,直接跳转到#行
M跳转到当前显示页面的中间行
x或delete删除当前光标的字符
dd删除一整行
#dd删除当前光标开始到第#行(包括当前行)
d^删除当前光标之前到行首 往前不包括当前光标处的字符 86 往后删除包括当前光标处的字符
d$删除当前光标到行尾

3.4.末行模式常用操作

快捷键功能效果
:q退出不保存
:q!强制退出不保存
:w保存
:w 新文件名另存为新文件:
:wq :zz :x保存并退出
:e 其他文件名(如果已修改需要加e!)打开新文件进行编辑
:r 其他文件名在当前文件中读入其他文件内容
!命令执行命令
:r!命令读入命令
: [替换范围] s /旧的内容/新的内容[/g]
:s /old/new替换当前行中的第一个old改为new
:s /old/new/g替换当前行中的所有old改为new
:#,# s /old/new/g#到#行所有old改为new
:%s /old/new/g%代表全文 全文替换所有old改为new
# d删除 第#行

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

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

相关文章

电机控制常见面试问题(二十)

文章目录 一.整流电路绕组接法二.电机为什么需要转速器三.电机转矩产生原理四.电机控制中载波频率大小的确定五.开关周期 Tpwm 一.整流电路绕组接法 为了引出直流的输出,一定要在整流变压器的二次侧引出零线,所以二次侧绕组必须接成星形 一次绕组必须要…

arm之s3c2440的I2C的用法

基础概念 IC(Inter-Integrated Circuit)又称I2C,是是IICBus简称,所以中文应该叫集成电路总线。 IIC的总线的使用场景,所有挂载在IIC总线上的设备都有两根信号线,一根是数据线SDA,另一 根是时钟…

MyBatis-Plus(Ⅲ)IService详解

目录 一、逐一演示 1.save(插入一条) 结果 断言(引入概念) 2.saveBatch(批量插入) 结果 3.saveOrUpdateBatch(批量插入&更新) 结果 4.removeById(通过id删除…

可视化图解算法:删除有序(排序)链表中重复的元素-II

1. 题目 描述 给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。 例如: 给出的链表为1→2→3→3→4→4→5, 返回1→2→5. 给出的链表为1→1→1→2→3 返回2→3. 数据范围:链表长度 0≤…

23种设计模式-中介者(Mediator)设计模式

中介者设计模式 🚩什么是中介者设计模式?🚩中介者设计模式的特点🚩中介者设计模式的结构🚩中介者设计模式的优缺点🚩中介者设计模式的Java实现🚩代码总结🚩总结 🚩什么是…

基于云服务器的数仓搭建-hive/spark安装

mysql本地安装 安装流程(内存占用200M,升至2.1G) # 将资料里mysql文件夹及里面所有内容上传到/opt/software/mysql目录下 mkdir /opt/software/mysql cd /opt/software/mysql/ # 待上传文件 install_mysql.sh mysql-community-client-8.0.3…

华为配置篇-ISIS基础实验

ISIS 一、简述二、常用命令总结三、实验 一、简述 一、基本定义与历史背景 IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是一种链路状态路由协议,最初由ISO设计用于OSI(开放系统互联&#…

Python 练习项目:MBTI 命令行测试工具

在当今数字化的时代,心理测试工具越来越受到欢迎,它们帮助人们更好地了解自己,做出更明智的职业选择,甚至改善人际关系。MBTI(迈尔斯-布里格斯性格分类法)是其中一种广为人知的人格测试,通过评估个人在四个维度上的偏好(外向-内向、实感-直觉、理智-情感、判断-理解),…

github使用

登录github,创建仓库(repository) 如创建一个ADXL345名字的私有仓库 git下载安装 打开git:鼠标右键,选择“Open Git Bash here”,进入 ⭐Git 和 GitHub 绑定 Git 获取SSH keys $ cd ~/.ssh #查看 …

如何在Windows上下载并配置GO语言环境变量

本章教程,主要介绍如何在Windows操作系统上,下载并配置GO语言环境变量。 Go(又称为Golang)是一种开源的编程语言,由Google开发,于2009年首次公开发布。它旨在提供简洁、高效、可靠的软件开发解决方案。Golang是一种静态强类型、编译型语言,Golang具有很强的表达能力,得…

【Linux网络(五)】传输层协议

目录 1、UDP协议 1.1、UDP报头 2、TCP协议 2.1、tcp协议段格式 2.2、TCP三次握手的过程 2.3、TCP四次挥手的过程 2.4、流量控制 2.5、滑动窗口 2.6、延迟应答 2.7、拥塞控制 2.8、面向字节流 2.9、数据粘包 2.10、TCP连接异常问题 1、UDP协议 学习目标&#xff1a…

第十二:josn 传递参数 shouldBindJSON 和结构体的 db字段

链接: Golang教程三(结构体、自定义数据类型,接口)_golang 自定义数据类型-CSDN博客 结构体指向 json 和数据库的 db type User struct { ID int json:"id" db:"user_id" Name string json:…

Retinexformer:基于 Retinex 的单阶段 Transformer 低光照图像增强方法

开头发点牢骚:本来做的好好都都要中期了,导师怎么突然给我换题目啊。真是绷不住了......又要从头开始学了,唉! 原论文链接:Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement 低光…

游戏引擎学习第182天

回顾和今天的计划 昨天的进展令人惊喜,原本的调试系统已经被一个新的系统完全替换,新系统不仅能完成原有的所有功能,还能捕获完整的调试信息,包括时间戳等关键数据。这次的替换非常顺利,效果很好。 今天的重点是在此基…

关于我对接了deepseek之后部署到本地将数据存储到mysql的过程

写在前面 今天写一下使用nodejs作为服务端,vue作为客户端,mysql的数据库,对接deepseek的全过程,要实现一个很简单的效果就是,可以自由的询问,然后可以将询问的过程存储到mysql的数据库中。 文档对接 deeps…

Git 提示 “LF will be replaced by CRLF“ 的原因及解决方案

遇到的问题: warning: in the working copy of build/build.js, LF will be replaced by CRLF the next time Git touches it warning: in the working copy of build/check-versions.js, LF will be replaced by CRLF the next time Git touches it warning: in the worki…

Axure设计之中继器表格——拖动列调整位置教程(中继器)

一、原理介绍 实现表格列的拖动排序,主要依赖Axure的动态面板和中继器两大核心功能: 动态面板交互控制 将表格的列标题封装在动态面板中,通过拖拽事件(开始、移动、结束)捕捉用户操作 在拖拽过程中实时计算鼠标位置&…

IDEA工具使用之启动项目失败且无日志打印

IDEA工具使用之启动项目失败且无日志打印 问题描述原因分析解决方案方案一:使用类路径缩短方案(推荐)方案二:修改启动配置 总结 问题描述 概述 新拉取的项目,基于IDEA本地调试启动失败,控制台也没有跳转打…

GC overhead limit exceeded---Java 虚拟机 (JVM) 在进行垃圾回收内存量非常少解决

背景: 我正在跑一个数据处理较为复杂的程序。然后调试了很多遍,出现了GC问题,如下图bug. GC overhead limit exceeded-这个bug错误通常表示 Java 虚拟机 (JVM) 在进行垃圾回收时花费了过多的时间,并且回收的内存量非常少。…

SAP GUI Script for C# SAP脚本开发快速指南与默认主题问题

SAP GUI Script for C# 快速指南 SAP 脚本的快速使用与设置. 解决使用SAP脚本执行后,默认打开的SAP是经典主题的问题 1. 解决默认主题问题 如果您使用的是SAP GUI 740,并遇到无法打开对话框的问题,请先将主题设置为经典主题(Classic Theme),应用更改后重新打开SAP GUI …