Linux目录和文件管理

一.Linux目录结构

Linux操作系统在定位文件或目录位置时,使用斜杠“ / ”进行分割(区别于Windows操作系统中的反斜杠“ \ ”)。整个树形目录结构中,使用独立的一个" / "表示根目录,根目录是Linux操作系统文件系统的起点,其所在的分区称为根分区。

在根目录下,Linux操作系统将默认建立一些特殊的子目录,分别具有不同的用途,下面介绍一下其中常见的子目录及其作用。

  • /boot : 此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录,如vmlinuz和initrd.img。在安装Linux操作系统时,为boot目录创建一个分区,有利于对系统进行备份。

  • /bin : bin是binary的缩写,这一目录存放了所有用户都可执行的且经常使用的命令,如cp、ls等。

  • /dev : 此目录保存了接口设备文件,如/dev/hdal、/dev/cdrom等。

  • /etc :系统主要的配置文件几乎都放置到这个目录内,如:人员的账号密码文件、各种服务的起始文件等。

  • /home :存放所有普通系统用户的默认工作文件夹(称为:宿主目录、家目录),如用户账号“ teacher”对应的宿主目录位于“/home/teacher”。如果服务器需要提供大量的普通用户使用,建议将"/home"目录划分为独立的分区,以方便用户数据备份。

  • /root : 该目录是Linux操作系统管理员(称为:超级用户)root的宿主目录,默认情况下只有root用户的宿主目录在根目录下而不是在“ /home ”目录下。

  • /sbin : 存放Linux操作系统中最基本的管理命令,一般管理员用户才有权限执行。

  • /usr : 存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序。

  • /var : 存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等。在实际应用中,“/var”目录通常也被划分为独立的分区。

二.查看及检索文件命令

1.查看文件内容-cat

1.1 cat

格式: cat 要查看目录文件

只能看普通的文本文件  谁在前面先看谁

缺点:如果内容过多会显示不全

实例:

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

1.2 三个标准文件

标准输入:你输入的指令  键盘输入

标准输出:电脑反馈给你的信息

错误输出:电脑的一些报错信息

(默认在屏幕上显示)

1.3 重定向

重新定义标准输出方向

>  覆盖     >>  追加

1.4 >覆盖 

hello 被覆盖成nihao

1.5 >>追加

1.6 paste  横向合并

 

cat  上下合并

小问题:

如何将两个文件合并

cat A B > C  上下合并

paste A B > C 左右合并

paste -d 指定分隔符

1.6 tac A  倒序看

1.7 rev 将同一行的内容逆向显示

1.8 管道符

命令1  | 命令2  | 命令3  | 命令4

|  管道符:将前面命令的结果当做后面命令的执行参数

管道符左边的命令 一定要有标准输出

管道符右边的命令 一定要可以接收标准输入

1.9  hexdump 查看非文本文件内容

2.分页查看内容-more  less

使用cat命令可以非常简单的直接显示整个文件的内容,但是当文件的内容较多时,很有可能只能看到最后一部分信息,文件前面的大部分都来不及看到,而more和less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细的阅读文件内容。

2.1 more

结束会直接退出

回车  一行

空格  一页

2.2 less 

结束不会退出

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

n  向下查看

N  向上查看

q  退出

3.查看文件内容-head  tail

3.1 head命令

用途:查看文件开头的一部分内容(默认为10行)

格式:head  -n 数字  文件名  看文件的前数字行

实例:

看test 文件的前3行

head -c 取字符

依次取   中文一个字算三个字符

倒过来取字符

(用了正则表达式)

3.2 tail 命令

用途:查看文件结尾的少部分内容(默认为10行)

格式:tail  -n 数字  文件名   看文件的后n行

实例:

看test 文件的后3行

tail -f    实时追踪查看文件

tail -f 文件名    tailf = tail -f

通常用于查看系统日志,(因为较新的日志记录总是添加到文件最后),以便于观察差网络访问,服务调试等相关信息,配合选项“ -f ”使用,还可以跟踪文件尾部内容的动态更新,便于实施监控文件内容变化。按ctrl + c 结束运行

三.统计文件内容-wc

格式: wc 【选项】 目标文件

选项说明
-l只统计行
-w只统计单词
-c只统计字符

seq 产生整数序列

四.检索和过滤文件内容-grep

4.1 grep

格式:grep  [选项]  表达式  文件

实例:

过滤/etc/passwd 文件中含有root关键字的行

选项说明
-i忽略大小写
-v反向查找
-o只显示匹配项
-f对比两个文件的相同行
-c只显示匹配的行数

-r  递归目录,但不处理软链接

4.2 正则表达式

. 任意字符

^ 一行的开头

$ 一行的结尾

实例:

grep  “^root” passwd  只能匹配以root开头的

grep  “root$” passwd  只能匹配以root结尾的

grep  “^root$” passwd  这一行只有这四个字母,开头是他结尾是他

空行   grep “^$” passwd

非空行  grep  -v “^$” passwd

小问题:

如何找出两个文件中相同的部分?

grep -f  a文件  b文件

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

在某一文件夹中,快速找到所有含有root字符的文件?

(如何快速过滤数据,找到含有特定字符的文件?)

grep -r 表达式  文件夹 (-r  递归目录,但不处理软链接)

4.3 split 分割文件
选项说明
-b按多少字节进行拆分
-d使用数字作为后缀
-a指定后缀长度(默认2)
-l值为每一输出档的行数大小
-C每一输出档中,单行的最大字节数

小问题:

有一个10G的文件,怎么分割成小的文件存储

split -b 100M 文件名

五.压缩和解压缩文件命令-

5.1 gzip命令

制作的压缩文件默认的扩展名为“ .gz ”,制作压缩文件时,使用“ -9 ”选项可以提高压缩的比率,但文件较大时会需要更多的时间。生成压缩文件后,原始文件将不再保留

-d 解压缩

格式:

gzip 【-9】 文件名 :制作压缩文件

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

gunzip .gz格式的压缩文件 :解开压缩文件

选项“ -9 ”解释:

这里的选项可以为:1-9,它们的压缩比例不一样,从低往上压缩压缩比例越来越小。

5,2 bzip2 

bzip2和bunzip2命令的用法与gzip、gunzip命令基本相同,使用bzip2制作的压缩文件默认的扩展名为“.bz2”,保留原文件

格式:

bzip2 -9 文件名 :压缩文件

bzip2 -d .bz格式的压缩文件 :解压文件

bunzip2 .bz2格式的压缩文件 :解压文件

5.3 tar 命令

选项说明
-f

代表使用tar归档  tar  -f  只要出现tar一定要出现f

-c

建立归档

-x

解开归档

-j

代表使用 bzip2压缩

-z

代表使用gzip压缩

-C

指定解压的目录

-t

不解开压缩包 查看压缩包中的内容

-v

显示压缩解压缩过程

-p

 保留权限

-P

保留路径

选项顺序问题:

有  -  f在最后一位

没有  -  都可以

5.3.1 制作归档备份压缩文件

格式:tar 【选项】 压缩后的名字 被压缩的文件名

tar  fzcv  压缩包的名字(*.tar.gz)   需要压缩的文件

一定要加  f

5.3.2 从归档中恢复数据

格式: tar [选项] 要解压的文件名 [-C 目标目录]

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

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

相关文章

vue2 组件传递数据

向子组件传递数据通过Props 1.创建子组件 详细步骤&#xff1a; 1.在components创建子组件 2.等父组件接受到参数后通过Props来接受父组件传递过来的数据 <template><div id"app"><h2>title:{{ title }}</h2><p>tips:{{ tips }}<…

androidStudio版本下载链接记录

androidStudio 最新官网版本&#xff1a; 下载 Android Studio 和应用工具 - Android 开发者 | Android DevelopersAndroid Studio 提供了一些应用构建器以及一个已针对 Android 应用进行优化的集成式开发环境 (IDE)。立即下载 Android Studio。https://developer.android.g…

数字化时代的智能支持:亚马逊云科技轻量应用服务器技术领先

轻量应用服务器是一种简化运维、门槛低的弹性服务器&#xff0c;它的"轻"主要体现在几个方面&#xff1a;开箱即用、应用优质、上手简洁、投入划算、运维简便以及稳定可靠。相较于普通的云服务器&#xff0c;轻量应用服务器简化了云服务的操作难度、使用和管理流程&a…

MAC苹果笔记本电脑如何彻底清理垃圾文件软件?

苹果电脑以其流畅的操作系统和卓越的性能而备受用户喜爱。然而&#xff0c;随着时间的推移&#xff0c;系统可能会积累大量垃圾文件&#xff0c;影响性能。本文将介绍苹果电脑怎么清理垃圾文件的各种方法&#xff0c;以提升系统运行效率。 CleanMyMac X是一款专业的Mac清理软件…

轻量级web开发框架Flask本地部署及无公网ip远程访问界面

文章目录 前言1. 安装部署Flask2. 安装Cpolar内网穿透3. 配置Flask的web界面公网访问地址4. 公网远程访问Flask的web界面 前言 本篇文章讲解如何在本地安装Flask&#xff0c;以及如何将其web界面发布到公网上并进行远程访问。 Flask是目前十分流行的web框架&#xff0c;采用P…

华为云之ECS云产品快速入门

华为云之ECS云产品快速入门 一、ECS云服务器介绍二、本次实践目标三、创建虚拟私有云VPC1.虚拟私有云VPC介绍2.进入虚拟私有云VPC管理页面3.创建虚拟私有云4.查看创建的VPC 四、创建弹性云服务器ECS——Linux1.进入ECS购买界面2.创建弹性云服务器(Linux)——基础配置步骤3.创建…

杰发科技AC7840——在Eclipse环境下使用Jlink调试

序 杰发给的代码里面已经做代码相关配置&#xff0c;搭建好eclipse环境即可运行&#xff0c;搭建步骤还是比较简单的。 参考文章 如何使用Eclipse搭配JLink来调试HelloWold应用程序&#xff1f;-电子发烧友网 软件链接 杰发科技Eclipse的sample代码里面的doc文章&#xff…

大模型赋能“AI+电商”,景联文科技提供高质量电商场景数据

据新闻报道&#xff0c;阿里巴巴旗下淘天集团和国际数字商业集团都已建立完整的AI团队。 淘天集团已经推出模特图智能生成、官方客服机器人、万相台无界版等AI工具&#xff0c;训练出了自己的大模型产品 “星辰”&#xff1b; 阿里国际商业集团已成立AI Business&#xff0c;…

c语言力扣题目:消失的数字(有关时间复杂度O(N²)O(N))以及对异或操作符的更深入的理解(如何用人脑的十进制去考量二进制)

目录 Way One :暴力求解,时间复杂度为 O(N) 代码1 Way Two : 时间复杂度限制到 O(N) 代码及其详解 如题 Way One :暴力求解,时间复杂度为 O(N) 大体思路:比如这里我们需要处理的整型数组是"3,0,1",我们可以用冒泡排序或者 qsort函数将他从大到小进行排序成"…

c# winform chart 单个柱形设置

目前实现到第三张图形,有可以实现四张图形的请大佬帮助。 实现到第三张图的设置如下 private void Form1_Load(object sender, EventArgs e) {// 隐藏标题//chart1.Titles.Clear();// 隐藏图例chart1.Legends.Clear();// 隐藏 Y 轴的网格线和标签chart1.ChartAreas[0].AxisY.…

ansible在ubuntu下的安装和使用

ansible在ubuntu下的安装和使用 本文目录 ansible在ubuntu下的安装和使用安装和配置虚拟机配置安装和验证 简单使用创建 ansible cfg 和 inventory 文件创建剧本并执行使用 ansible vault 加密 安装和配置 中文文档&#xff1a;http://www.ansible.com.cn/docs/intro_installa…

试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B) c#调用动态库是报错 目前平台改为x64

字符串函数内存函数(从零到一)【C语言】

长度不受限制的字符串函数&#xff1a;strcpy,strcat,strcmp 长度受限制的字符串函数&#xff1a;strncpy,strncat,strncmp strlen strlen函数是库函数中我们最常使用的函数&#xff0c;它可以求出字符串的长度(不包含‘\0’) 使用方法 通过前面对strlen函数的模拟实现我们知…

智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.饥饿游戏算法4.实验参数设定5.算法结果6.…

xcode无线真机调试详细图文步骤

步骤一、 步骤二&#xff1a; 步骤三&#xff1a; 配置完到这里&#xff0c;点击真机右键&#xff0c;菜单栏并未出现connect via ip address 选项&#xff0c;也没出现无线连接的小地球图标&#xff0c;别慌&#xff0c;接着进行下一步操作即可。 步骤四&#xff1a; 1.打开…

【Linux】冯诺依曼体系结构与操作系统及其进程

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解冯诺依曼体系结构与操作系统&#xff0c;掌握…

使用ultralytics(YOLOv8)实现RT-Detr

b站视频&#xff1a;https://www.bilibili.com/video/BV12C4y1S75H/ 1 使用ultralytics&#xff08;YOLOv8&#xff09;实现RT-Detr https://github.com/ultralytics/ultralytics/blob/a5735724c54a9f5bcb239c151fefbd1337d7123d/docs/zh/models/rtdetr.md 2 安装 YOLOv8安装…

分享一个项目——Sambert UI 声音克隆

文章目录 前言一、运行ipynb二、数据标注三、训练四、生成总结 前言 原教程视频 项目链接 运行一个ipynb&#xff0c;就可操作 总共四步 1&#xff09;运行ipynb 2&#xff09;数据标注 3&#xff09;训练 4&#xff09;生成 一、运行ipynb 等运行完毕后&#xff0c;获得该…

【powershell】Windows环境powershell 运维之历史文件压缩清理

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&am…

关于“Python”的核心知识点整理大全31

目录 12.4.2 在屏幕上绘制飞船 alien_invasion.py ​编辑12.5 重构&#xff1a;模块 game_functions 12.5.1 函数 check_events() game_functions.py alien_invasion.py 12.5.2 函数 update_screen() game_functions.py alien_invasion.py 12.6 驾驶飞船 12.6.1 响应…