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

news/2024/11/9 9:59:26/

在这里插入图片描述

文章目录

  • 概念
  • 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.ppmy.cn/news/31112.html

相关文章

MySQL 数据库运维与管理相关命令

最开始,服务器部署使用的宝塔面板,数据库运维管理全都是在宝塔上可视化操作,并没有真正的面对数据库执行过命令。出于某些原因,后续不准备再继续使用宝塔面板,所以,记录一下关于 MySQL 数据库管理方面相关的…

Echarts 水波图实现

开发的项目中需要实现这样一个水波图,例如下图在echarts官网中找了很久没找到,后面是在Echarts社区中找到的,实现了大部分的样式,但是还有一些数据的展示没有实现。水波图的数值展示是默认整数百分比,我的需求是需要保…

【专项训练】泛型递归、树的递归

递归和循环没有明显的边界! 不要进行人肉递归! 找最近重复子问题,直接写递归! 数学归纳法思维:1,2,…… 70. 爬楼梯 https://leetcode.cn/problems/climbing-stairs/ 互斥,且加在一起是全部答案! 动态规划法:用数组做递推,就是动态规划!!! class Solution

UART 串口通信

第18.1讲 UART串口通信原理讲解_哔哩哔哩_bilibili 并行通信 一个周期同时发送8bit的数据,占用引脚资源多 串行通信 串行通信的通信方式: 同步通信 同一时钟下进行数据传输 异步通信 发送设备和接收设备的时钟不同 但是需要约束波特率(…

Vue常见的事件修饰符

前言 vue一共给我们准备了6个事件修饰符,前三个比较常用,后三个少见,这里着重讲下前三个 1.prevent:阻止默认事件(常用) 2. stop:阻止事件冒泡(常用) 3. once:事件只触发一次(常用) 4.captrue:使用事件的捕捉模式(不常用) 5.self:只有event…

【JavaEE初阶】第四节.文件操作 和 IO (上篇)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、文件 1.1 文件的概念 1.2 文件的路径二、 Java中文件系统操作 2.1 File类的属性 2.2 File类的构造方法 2.3 File类的方法 …

Java中wait和sleep区别

文章目录1. Java中wait和sleep区别2. wait和sleep所属方法的不同3. wait的Demo3.1 没有synchronized同步代码块异常3.2 wait使用Demo4. sleep的Demo1. Java中wait和sleep区别 sleep属于Thread类中的static方法;wait属于Object类的方法sleep时线程状态进入TIMED_WAI…

Vue3笔记01 创建项目,Composition API,新组件,其他

Vue3 创建Vue3项目 vue-cli //查看vue/cli版本,确保在4.5.0以上 vue --version //安装或升级vue/cli npm install -g vue/cli //创建项目 vue create new_project //启动 cd new_project npm run serve 也可以通过vue ui进入图形化界面进行创建 vite 新一代前端…