【Linux快速入门】文件目录操作

news2025/7/19 2:58:57

在这里插入图片描述

文章目录

  • 概念
  • 1. Linux文件系统概述
  • 2. Linux文件目录结构
  • 3. Linux文件和目录操作
    • 3.1 文件操作
      • 3.1.1 创建文件
      • 3.1.2 复制文件
      • 3.1.3 移动文件
      • 3.1.4 删除文件
      • 3.1.5 查看文件
      • 3.1.6 输出指令
      • 3.1.7 >和>>指令
    • 3.2 目录操作
      • 3.2.1 创建目录
      • 3.2.2 复制目录
      • 3.2.3 移动目录
      • 3.2.4 删除目录
  • 4. Linux文件和目录权限控制
    • 4.1 查看文件和目录权限
    • 4.2 更改文件和目录权限
    • 4.3 更改文件和目录所有者和所属组
  • 5. Linux文件和目录搜索
    • 5.1 find命令
    • 5.2 grep命令
  • 6. 总结

概念

Linux是一款非常流行的操作系统,它拥有着强大的文件系统和目录结构。这些文件和目录在Linux系统中扮演着非常重要的角色,因为它们是系统的基础。在本篇博客中,我们将探讨Linux文件目录操作的方方面面,并提供一些专家级技巧和实用工具。

1. Linux文件系统概述

在Linux中,所有的文件和目录都存储在文件系统中。文件系统是指Linux系统中所有文件和目录的逻辑结构,也是文件和目录存储的物理位置。在Linux中,文件系统以树形结构展现,类似于Windows系统的文件夹结构。Linux文件系统的根目录是"/",所有其他目录都是从根目录开始的。

Linux系统中最常用的文件系统是"ext4"和"XFS"。"ext4"是Linux系统中使用最广泛的文件系统,它支持文件和目录的权限控制、文件系统日志等功能。"XFS"是一种高性能的文件系统,适用于处理大量的小文件和大文件。

2. Linux文件目录结构

Linux文件目录结构是按照一定规律组织的,这使得用户可以轻松地找到所需的文件和目录。下面是Linux文件目录结构的常用目录:

/:根目录,所有目录和文件的起点。

/bin:二进制目录,存放Linux系统所需的基本命令和二进制文件。

/boot:启动目录,包含系统启动时所需的文件。

/dev:设备目录,存放Linux系统中所有硬件设备的文件。

/etc:配置目录,存放Linux系统中各种配置文件。

/home:用户目录,存放Linux系统中所有用户的文件。

/lib:库目录,存放Linux系统所需的动态链接库文件。

/media:媒体目录,存放外部媒体设备的挂载点。

/mnt:挂载目录,存放外部文件系统的挂载点。

/opt:可选目录,存放可选的软件包。

/proc:进程目录,存放运行中的进程信息。

/root:根用户目录,root用户的主目录。

/run:运行目录,存放运行时文件和进程信息。

/sbin:系统二进制目录,存放系统管理员使用的命令。

/srv:服务目录,存放系统提供的服务的数据。

/tmp:临时目录,存放系统运行时的临时文件。

/usr`:用户程序目录,存放Linux系统中所有用户可使用的应用程序和文件。

/var:变量目录,存放Linux系统中各种变量和日志文件。


3. Linux文件和目录操作

在Linux系统中,文件和目录的操作非常灵活。用户可以通过命令行或者图形界面来进行操作。下面是Linux文件和目录操作的一些常见命令:

3.1 文件操作

3.1.1 创建文件

要创建一个新文件,可以使用touch命令:

touch filename

3.1.2 复制文件

要复制一个文件,可以使用cp命令:

cp file1 file2

其中file1是要复制的源文件,file2是复制后的目标文件。

3.1.3 移动文件

要移动一个文件,可以使用mv命令:

mv file1 file2

其中file1是要移动的源文件,file2是移动后的目标文件。

注意:如果在同一个目录操作,则是文件重命名

3.1.4 删除文件

要删除一个文件,可以使用rm命令:

rm filename
  • -r:表示递归删除
  • -f:表示强制确认

请注意,删除文件后将无法恢复。

3.1.5 查看文件

使用cat指令查看文件内容

cat [选项] 要查看的文件
  • -n:表示查看文件时显示行号

cat只能用于浏览文件,不能用于修改文件

也可以使用head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容,基本语法如下:

head 文件	# 查看文件头10行内容
head -n 5 文件	# 查看文件头五行内容,也可以换成任意数字

tail指令用于输出文件中尾部的内容,默认情况下tail指令显示文件的最后10行的内容

tail 文件		#查看文件尾10行内容
tail -n 5 文件	#查看文件尾5行内容
tail -f 文件		#实时追踪该文档的所有更新

3.1.6 输出指令

echo指令用于将内容输出到控制台

echo 输出的内容

可以使用echo指令输出环境变量,比如输出$PATH$HOSTNAME

echo $HOSTNAME

3.1.7 >和>>指令

>:输出重定向
>>:追加

ls -l > 文件		#列表的内容写入文件中(覆盖)
ls -al >> 文件	#列表的内容追加到文件的末尾
cat 文件1 > 文件2	#将文件1的内容覆盖到文件2中
echo "内容" >> 文件	#将打印的内容打印到文件中

3.2 目录操作

3.2.1 创建目录

要创建一个新目录,可以使用mkdir命令:

mkdir dirname

其中dirname是要创建的目录名。

3.2.2 复制目录

要复制一个目录及其所有子目录和文件,可以使用cp命令:

cp -r dir1 dir2

其中dir1是要复制的源目录,dir2是复制后的目标目录。

3.2.3 移动目录

要移动一个目录,可以使用mv命令:

mv dir1 dir2

其中dir1是要移动的源目录,dir2是移动后的目标目录。

3.2.4 删除目录

要删除一个目录及其所有子目录和文件,可以使用rm命令:

rm -r dirname

请注意,删除目录后将无法恢复。

4. Linux文件和目录权限控制

在Linux系统中,文件和目录的权限控制非常重要。每个文件和目录都有一个所有者和一个所属组,并且可以设置不同的权限,以控制谁可以读取、写入和执行这些文件和目录。下面是Linux文件和目录权限控制的一些常见命令:

4.1 查看文件和目录权限

要查看一个文件或目录的权限,可以使用ls命令:

ls -l filename

其中filename是要查看权限的文件或目录名。

4.2 更改文件和目录权限

要更改一个文件或目录的权限,可以使用chmod命令。chmod命令使用数字或符号来指定权限。下面是一些常见的chmod命令:

  • chmod +r filename:添加读取权限。
  • chmod +w filename:添加写入权限。
  • chmod +x filename:添加执行权限。
  • chmod -r filename:删除读取权限。
  • chmod -w filename:删除写入权限。
  • chmod -x filename:删除执行权限。

4.3 更改文件和目录所有者和所属组

要更改一个文件或目录的所有者和所属组,可以使用chown和chgrp命令。
chown命令用于更改文件或目录的所有者。下面是一些常见的chown命令:

  • chown user filename:将文件或目录的所有者更改为user。
  • chown user:group filename:将文件或目录的所有者更改为user,所属组更改为group。

例如,要将文件myfile.txt的所有者更改为用户john,可以运行以下命令:

sudo chown john myfile.txt

4.3.2 chgrp命令

chgrp命令用于更改文件或目录的所属组。下面是一些常见的chgrp命令:

  • chgrp group filename:将文件或目录的所属组更改为group。

例如,要将文件myfile.txt的所属组更改为组users,可以运行以下命令:

sudo chgrp users myfile.txt

5. Linux文件和目录搜索

在Linux系统中,可以使用一些命令来搜索文件和目录。下面是一些常见的命令:

5.1 find命令

find命令用于在指定目录中查找文件。下面是一些常见的find命令:

  • find /dir -name filename:在目录/dir中查找文件filename。
  • find /dir -type f:查找目录/dir中的所有文件。
  • find /dir -type d:查找目录/dir中的所有子目录。

例如,要在目录/home/user中查找名为myfile.txt的文件,可以运行以下命令:

find /home/user -name myfile.txt

5.2 grep命令

grep命令用于在文件中搜索指定的文本。下面是一些常见的grep命令:

  • grep pattern filename:在文件filename中搜索包含pattern的行。
  • grep -r pattern /dir:在目录/dir及其所有子目录中搜索包含pattern的文件。

例如,要在文件myfile.txt中查找包含单词“hello”的行,可以运行以下命令:

grep hello myfile.txt

6. 总结

Linux文件和目录操作是Linux系统中非常重要的一部分。本文介绍了一些常见的Linux文件和目录操作命令,包括创建、复制、移动和删除文件和目录,以及设置文件和目录的权限、所有者和所属组。此外,还介绍了Linux文件和目录搜索命令,包括find和grep命令。通过学习这些命令,可以更好地管理Linux系统中的文件和目录,并提高工作效率。


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

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

相关文章

Lesson 8.3 ID3、C4.5 决策树的建模流程 Lesson 8.4 CART 回归树的建模流程与 sklearn 参数详解

文章目录一、ID3 决策树的基本建模流程二、C4.5 决策树的基本建模流程1. 信息值(information value)2. C4.5 的连续变量处理方法三、CART 回归树的基本建模流程1. 数据准备2. 生成备选规则3. 挑选规则4. 进行多轮迭代5. 回归树的预测过程四、CART 回归树…

关于推荐系统的详细介绍

简介推荐系统是一种信息过滤系统,能够自动预测用户对特定产品或服务的偏好,并向其提供个性化的推荐。它通常基于用户的历史行为、个人喜好、兴趣和偏好等,通过数据挖掘和机器学习算法,在大数据的支持下生成个性化的推荐内容&#…

智云通CRM:与权力者沟通的策略有哪些?

权力者通常具备两个特点:忙和目标导向 1.忙 权力者都很忙(不忙也会装出很忙的样子),时间精力有限,销售人员眼里的大项目在权力者看来很有可能只是他诸多工作中的一项。因此,即使有不满者的引荐,…

ChatGPT露馅了,它明明就是人

让人工智能理解句子成分和语义,这看起来是件不可能的事,看过流浪地球的都知道,那里面的人工智能哪怕发展到2057年,也听不懂比喻和反问。 那最近大火的chatGPT能不能听懂冷笑话呢?它不仅能写代码、论文,居然…

Spring学习——拦截器

拦截器概念 拦截器(Interceptor )是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行作用: 在指定的方法调用前后执行预先设定的代码阻止原始方法的执行 拦截器与过滤器区别 归属不同:Filter属于Servlet技术&#xff0…

[oeasy]python0101_尾声_PC_wintel_8080_诸神的黄昏_arm_riscv

尾声 回忆上次内容 回顾了 ibm 使用开放架构 用 pc兼容机 战胜了 dec 小型机apple 个人电脑 触击牺牲打 也破掉了 自己 软硬一体全自主的 金身 借助了 各种 软硬件厂商的 力量 最终完成了 pc架构上 的 大一统 操作系统层面 IBM 计划让 msdos和cp/m 分庭抗礼为什么 最后微软…

NC xml配置文件不能生产java文件

在NC开发过程中,新增、或修改了xml文件,在开发工具eclipse中生成或重新生成Java文件,发现生成不了相对应的Java文件。如下图,选中xml文件后,右键点击SpringXml to Java 这种情况其实一般都是xml配置文件有问题&#…

敏捷项目管理的概念,以及与传统项目管理的区别

较之瀑布等传统项目管理模式,敏捷是“适应性的”,而非“预设性的”。团队采用敏捷项目管理可以提高交付速度、协作效率、以及响应市场变化的能力。在这里向大家详细介绍敏捷项目管理的定义、与传统项目管理的区别,以及一些主流的敏捷项目框架…

下一代ERP系统是什么样的呢?什么是智能化ERP系统?AI能改变ERP系统吗?

下一代ERP系统是什么样的呢?什么是智能化ERP系统?AI能改变ERP系统吗?导读1. 用户体验:2. 作业、分析和智能一体化2.1 ERP之采购管理:2.2 ERP之零售商品管理:2.3 ERP之会计和财务管理3. 系统处理大数据导读 …

嵌入式Linux从入门到精通之第十六节:U-boot分析

简介 u-boot最初是由PPCBoot发展而来的,可以引导多种操作系统、支持多种架构的CPU,它对PowerPC系列处理器的支持最为完善,而操作系统则对Linux系统的支持最好目前已成为Armboot和PPCboot的替代品。 特点: 主要支持操作系统:Linux、NetBSD、 VxWorks、QNX、RTEMS、ARTOS、L…

Vue3分页器(Pagination)

自定义传入: 当前页数(current),默认为1每页条数(pageSize),默认为10只有一页时是否隐藏分页器(hideOnSinglePage),默认为false数据总数(total&a…

Java进阶(下篇2)

Java进阶(下篇2)一、IO流01.File类的使用1.1、File类的实例化1.2、File类的常用方法11.3、File类的常用方法21.4、课后练习02、IO流原理及流的分类2.1、IO流原理2.2、流的分类2.3、IO 流体系03、节点流(或文件流)3.1、FileReader读入数据的基本操作3.2、…

Linux应用学习——多线程

多线程 PART1——线程相关概念 ​ 线程时参与系统调度的最小单位。被包含在进程之中,是进程中的实际运行单位。一个进程可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。 线程时最基本的运行单位,而进程不能运行…

顺序表——“数据结构与算法”

各位CSDN的uu们你们好呀,今天小雅兰的内容是数据结构与算法里面的顺序表啦,在我看来,数据结构总体上是一个抽象的东西,关键还是要多写代码,下面,就让我们进入顺序表的世界吧 线性表 顺序表 线性表 线性表&…

为什么要用VR全景?5个答案告诉你

看中了刚上市的一款新车,再也不用等车展、去4s店才能仔细观赏,点开手机就能“置身”车内近距离观看每一处细节,点击关灯开灯、关门关门,除了摸不到,和在现场几乎没有区别; 准备买房的时候,没人愿…

Git 基础(一)—— Git 的安装及其配置

目录 一、Git 的下载与安装 1、Linux 环境 2、Windows 环境 (1) 下载 Git 安装包 (2) 安装 Git 二、Git 配置 1、配置用户信息 2、查看配置信息 3、Windows 环境下配置文件的位置 一、Git 的下载与安装 1、Linux 环境 在保证网络环境畅通的情况下,直接输…

L298N 直流电机驱动模块与 Arduino

L298N 直流电机驱动模块与 Arduino 原文地址 L298N 电机驱动器可以控制两个直流电机的速度和旋转方向。 此外,它还可以控制双极步进电机,例如NEMA 17。如果您想了解更多信息,请查看本教程。 L298N电机驱动器和Arduino控制步进电机&#xff…

基于C/C++综合训练 ----- 贪吃蛇

文章目录一、定义结构体对象二、游戏初始化1. 蛇初始化2. 食物初始化3. 围墙初始化4. 界面初始化三、逻辑编程1. 启动游戏2. 打印成绩3. main函数四、细节处理五、程序源码该篇环境为Visual Studio2022 游戏简述 :在控制终端绘画出一个矩阵表示游戏界面(围墙)&…

android h5餐饮管理系统myeclipse开发mysql数据库编程服务端java计算机程序设计

一、源码特点 android h5餐饮管理系统是一套完善的WEBandroid设计系统,对理解JSP java,安卓app编程开发语言有帮助(系统采用web服务端APP端 综合模式进行设计开发),系统具有完整的源代码和数据库,系统主要…

javaEE初阶 — HTML 中的常见标签

文章目录注释标签标题标签:h1 h6段落标签:p换行标签:br格式化标签图片标签:img1. img 的 alt 属性2. img 的 title 属性3. width 与 heigth 属性用来描述图的尺寸超链接标签:a表格标签列表标签表单标签1. from 标签2. …