Linux的文件操作,重拳出击( ̄︶ ̄)

Linux的文件操作

学习Linux的文件操作,一般需要知道一个文件如果你想要操作他,必须知道你对这个文件有什么操作的权限或者修改你自己对文件操作的权限。必须要知道文件有三种权限

r:可读

w:可写

x:可执行

在打开Linux时登录打开命令行界面输入查看当前目录下的文件命令ls

或者ls -l

ls:显示当前路径下的所有文件

ls -l:显示当前目录下所有文件及其文件的用户属性及其每个组可使用的权限

注意这里可能无法使用ll,因为这个命令需要在配置文件中修改添加一个属性值ls -l=ll

在这里插入图片描述

在权限显示的地方可以看到分成了三组,是因为Linux中对权限要求非常严谨,分为三个用户载体。

前三个为所有者相当于是文件的创建者,拥有对文件的最高权限。

中间的三个是所属组相当于是文件所有者所在的组,组成成员对文件的访问权限由这组权限决定。

后三个为其他用户,不属于文件所属组。

既然文件有权限划分,如果需要修改文件或者执行文件时,没有相应的权限时,就需要修改文件权限了。

修改文件操作权限

一、修改所属组
  1. 修改文件权限有几种方法可以选用。这个文件如果没有权限去执行就将他修改到有权限执行的地方,所以第一个方法也叫修改文件所属组
chgrp [-R] 属组名  文件名
  • -R : 该参数表示recursion(递归)意味着将其文件所在的目录的所有文件的所属组都会修改
二、修改文件所有者
  1. 也可以针对文件进行修改,直接将当前用户改为文件的所有者。
chown [-R] 所有者 文件名
chown [-R] 所有者:所属组 文件名

接下来我们将一个文件的所属组和所有者修改一下并显示最终结果。

在这里插入图片描述

三、修改文件的权限
  1. 直接针对文件的修改,修改文件权限,也就是修改rwx这三个字母
  • 修改数字(对777有印象的老铁应该熟悉)

r:4

w:2

x:1

每种身份的权限修改是需要累加的比如在上面的rw-r--r--代表的数字就是(4+2)(4)(4)=>644

修改权限的指令也是类似,语法如下:

chmod [-R] xyz 文件or目录

-R : 该参数表示recursion(递归)意味着将其文件所在的目录的所有文件都会修改。

比如将他修改为771

在这里插入图片描述

  • 修改字母

前面我们清楚了在权限中有三个主导用户

user:主用户

group:组

other:其他用户

在使用字母修改就会用u,g,o来代表这三种身份的权限,此外这里会多出一个全局身份a(ALL)这也方便了对三种身份的统一修改,而读,写,可执行,是使用r,w,x三个字符来表示。

用户u(user)g(group)o(other)a(All)
执行方法+(加)-(减)=(设定)
字母r(读)w(写)x(可执行)

最基础的直接设定(可以只针对一个用户进行权限修改如u=rw,u-r,u+r

在这里插入图片描述

一次性拿掉所有的一个或者多个相关权限

在这里插入图片描述

对于文件权限这部分就到这里,相信老铁们肯定已经掌握了!

文件管理与目录操作

认识基本文件目录,在window中也可以实践一番,可以打开我们电脑的cmd

在这里插入图片描述

这个相当于就是我们的根目录

目录中存在两种目录①绝对路径 ②相对路径,这两种分别代表了不同路径的写法。在写绝对路径时,必须要从根目录开始写。而相对路径则只需要使用.来代表当前路径即可,在Linux中也可以使用..来表示上级路径,使用~表示用户的主目录

使用相对路径和绝对路径切换到一个相同的目录:

在这里插入图片描述

当然linux也是这样,接下来可以接触一些对文件或者目录进行操作的Linux命令

ls(List Files)

列出所有的目录及其该目录下存在的文件名

ls [-adl]

a:列出所有文件,包括隐藏文件

d:只列出目录本身,不包含目录中的文件

l:列出文件的属性和权限(三种用户权限)

在上面的有提到过,这里我们就不加赘述。

cd(Change Directory)

切换目录 后面可接目录名称或者符号

这里执行的前提条件是需要知道当前的目录,比如我当前的目录就是/home/vboxuser这个作为原始目录进行绝对路径的写法。(不知道当前路径的可以使用pwd命令进行查看!其实这也是我们需要学习的一个常用Linux命令)

在这里插入图片描述

老铁们,可以自己动手尝试一下。

pwd(print Working Directory)

显示当前所在目录行

pwd [-P]

P:显示出确实的路径,而非使用链接路径

使用区别在同一个文件夹中的一个文件打印出两种不同的格式。

mkdir(make directory)

创建一个Linux目录,可以一次创建一个,也可以一次创建多个目录

mkdir [-mp] 目录名 新建目录名 ……

m:是一种强力的配置文件权限

p:如果需要建立递归目录,需要加上,可以嵌套创建你想要的文件夹

在上面的演示中其实需要使用到这个命令才能得到我上图的操作,当然老铁们也可以直接选择去操作Linux中的文件,同样可以接触到更多有意思的Linux命令。

在这里插入图片描述

嵌套创建目录

在这里插入图片描述

直接配置文件的权限

在这里插入图片描述

创建单个文件只需要在mkdir后面加你想要的文件名即可,而多个文件只需要进行空格处理即可。也可以针对一个或者多个文件夹进行创建文件,可以同时在多个文件夹中创建。

rmdir(remove directory)

这个命令只限于删除空的目录,虽然可以增加参数来使得其删除非空目录,实际上删除非空目录或者文件有一个额外的命令。

rmdir [-p] 目录名

p:一次可以删除多级空目录,和有内容的目录

在这里插入图片描述

看上图可以看出在只使用单个rmdir时只能删除目录尽头的空目录,而加上-p以后可以直接删除所写的所有空目录。

cp(copy)

拷贝文件和目录

cp [-afilLpPrsuv] 文件源  目的路径
cp [options] 文件1 文件2 文件3 …… 目的路径
  1. -a:归档模式,保留文件的属性,递归复制目录,相当于-pdr
  2. -f:强制覆盖目标文件,即使目标文件已经存在。
  3. -i:交互模式,在覆盖目标文件前提示用户确认。
  4. -l:创建硬链接而非复制文件。
  5. -L:跟随源文件的符号链接。
  6. -n:不覆盖已存在的文件。
  7. -p:保留文件的属性(如时间戳、权限等)。
  8. -P:保留文件的结构。
  9. -r:递归复制,用于复制目录和其内容。
  10. -s:创建符号链接而非复制文件。
  11. -u:仅当源文件比目标文件新时才复制。
  12. -v:显示复制过程中的详细信息。

可以根据需要选择参数。

在这里插入图片描述

!在这里插入图片描述

rm(remove)

删除文件或者目录

rm [-fir] 文件or目录
  1. -f:force(武力)强制忽略不存在的文件夹,不会出现警告
  2. -i:互动模式,当你需要删除一个文件时询问是否执行删除操作
  3. -r:递归删除目录,需要谨慎使用,懂得都懂

在这里插入图片描述

如果需要删除文件的话,可以直接删除,而对于目录需要使用 -r进行删除。

mv(move)

移动文件夹或者目录,也可用于修改名称

mv [-bfiu] 源文件 目地文件
mv [options] 文件1 文件2 文件3 …… 目的文件

-b:在覆盖原文件之前为这个文件创建一个备份

-f:与rm一样都是强制的意思,如果目标文件已经存在,不会询问直接覆盖

-i:在每次执行时询问是否执行该操作

-u:只有当源文件比目标文件创建的时间晚时才移动或者重命名

在这里插入图片描述

修改文件名称

在这里插入图片描述

以上就是一些基本的对文件目录的操作,涉及了增删改查和一些基本的操作,比如复制,移动,相信各位老铁肯定能精通使用这些命令。

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

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

相关文章

✅鉴权—cookie、session、token、jwt、单点登录

基于 HTTP 的前端鉴权背景cookie 为什么是最方便的存储方案,有哪些操作 cookie 的方式session 方案是如何实现的,存在哪些问题token 是如何实现的,如何进行编码和防篡改?jwt 是做什么的?refresh token 的实现和意义ses…

Java面试题基础(一)

Java 面试题基础(一) 前言1、面向对象的特征有哪些方面?2、访问修饰符的作用范围?3、Java有哪些数据类型?4、float f 3.4; 是否正确?5、short s1 1; s1 s1 1;对吗? short s1 1; s1 1; 对吗&#xff…

《C++面向对象程序设计》✍学习笔记

C的学习重点 C 这块,重点需要学习的就是一些关键字、面向对象以及 STL 容器的知识,特别是 STL,还得研究下他们的一些源码,下面是一些比较重要的知识: 指针与引用的区别,C 与 C 的区别,struct 与…

Unity中的浮点数

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com Unity float f 0.1f 为什么 $“{f}” 输出的时候会是 0.100000001 C# 中的 $"{}" 是一个字符串插补(String Interpolation)的语法糖,用于方便地创建和修改字符串…

网络技术ensp 一个简单的交换机配置案例

由于工作调岗,转战网络运维了,第一次网络笔记 1.,目的:2台主机相互可以ping通,并且可以ping通网关地址,设备:2台主机,2台交换机 2网络拓扑图如下 3.主机pc1的配置信息 ip&#xff…

Xcode与Swift开发小记

文章目录 引子Xcode工程结构核心概念Swift语法速记(TODO)小技巧单元测试中使用awaitSwiftUI中使用ListView中取数据 常见问题Xcode添加package时连接github超时Xcode无法修改快捷键,一闪而过 引子 鉴于React Native目前版本在iOS上开发遇到诸多问题,本以…

【SpringBoot3】SpEL表达式详细使用说明

一、介绍 SpEL(Spring Expression Language)是Spring框架提供的一种功能强大的表达式语言,用于在运行时查询和操作对象。 主要特点和用途包括: 简洁性:SpEL表达式使用简洁的语法,使得在Spring配置和代码…

前端取图片相同颜色作为遮罩或者背景

需求 遮罩层取图片相同/相似的颜色作为遮罩 效果 做法 npm库 grade.js 所提供图像中前 2 个主色生成的互补渐变https://github.com/benhowdle89/grade COLOR THIEF 只需使用Javascript即可从图像中获取调色板。 https://github.com/lokesh/color-thief https://lokeshd…

DNS的意义,DNS不可用该怎么办

DNS是域名系统,它负责将我们输入的网址(如www.baidu.com)转换成计算机可以理解的IP地址(如127.0.0.1)。DNS设置的好坏,直接影响到我们的上网速度和体验。 一、DNS的重要性 在访问一个网站时,首先需要通过DNS将域名解析为对应的IP地址。如果DN…

5.24 BCC工具之funccount.py解读

一,工具简介 funccount工具可以追踪与指定模式匹配的函数、追踪点或USDT探针,并会在追踪过程中打印它们的计数摘要。 二,代码示例 #!/usr/bin/env pythonfrom __future__ import print_function from bcc import ArgString, BPF, USDT from time import sleep, strftime …

【深度学习笔记】4_2-3 模型参数的访问、初始化和共享

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 4.2 模型参数的访问、初始化和共享 在3.3节(线性回归的简洁实现)中,我们通过init模块来初始化模型…

AIGC专栏9——Scalable Diffusion Models with Transformers (DiT)结构解析

AIGC专栏9——Scalable Diffusion Models with Transformers (DiT)结构解析 学习前言源码下载地址网络构建一、什么是Diffusion Transformer (DiT)二、DiT的组成三、生成流程1、采样流程a、生成初始噪声b、对噪声进行N次采样c、单次采样解析I、预测噪声I…

kitti数据显示

画出track_id publish_utils.py中 def publish_3dbox(box3d_pub, corners_3d_velos, types, track_ids):marker_array MarkerArray()for i, corners_3d_velo in enumerate(corners_3d_velos):marker Marker()marker.header.frame_id FRAME_IDmarker.header.stamp rospy.T…

Pytorch训练RCAN QAT超分模型

Pytorch训练RCAN QAT超分模型 版本信息测试步骤准备数据集创建容器生成文件列表创建文件列表的代码执行脚本,生成文件列表训练RCAN模型准备工作修改开源代码编写训练代码执行训练脚本可视化本文以RCAN超分模型为例,演示了QAT的训练过程,步骤如下: 先训练FP32模型再加载FP32训练…

量子计算学习经验

推荐B站冉仕举老师视频(老师讲的详细又耐心,张量网络做量子计算,不过有些基础概念都是通用的) StringCNU的个人空间-StringCNU个人主页-哔哩哔哩视频 2《量子计算与量子信息》是经典的教材书的,但是大部分同学第一次看…

【随笔】固态硬盘数据删除无法恢复(开启TRIM),注意数据备份

文章目录 一、序二、机械硬盘和固态硬盘的物理结构与工作原理2.1 机械硬盘2.11 基本结构2.12 工作原理 2.2 固态硬盘2.21 基本结构2.22 工作原理 三、机械硬盘和固态硬盘的垃圾回收机制3.1 机械硬盘GC3.2 固态硬盘GC3.3 TRIM指令开启和关闭 四、做好数据备份 一、序 周末电脑突…

数据库设计过程中的各种模式

在数据库设计过程中,有几种常见的模式,它们有助于组织和管理数据。以下是这几种模式的简介: 主扩展模式(也称为主从模式):这种模式适用于多个表具有相似结构的情况。这些表共享某些基本属性(也…

备战蓝桥之二分

二分题目: B3880 [信息与未来 2015] 买木头 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.security.PublicKey; impor…

【Qt学习】QLineEdit 控件 属性与实例(登录界面,验证密码,正则表达式)

文章目录 1. 介绍2. 实例使用2.1 登录界面2.2 对比两次密码是否相同2.3 通过按钮显示当前输入的密码(并对2.2进行优化)2.4 结语 3. 正则表达式3.1 QRegExp3.2 验证输入内容 4. 资源代码 1. 介绍 关于 QLineEdit 的详细介绍,可以去查阅官方文…