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

news2024/12/22 19:14:15

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.coloradmin.cn/o/1468958.html

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

相关文章

访问raw.githubusercontent.com失败问题的处理

1 问题 GitHub上的项目的有些资源是放在raw.githubusercontent.com上的,通常我们在安装某些软件的时候会从该地址下载资源,直接访问的话经常容易失败。 # 安装operator kubectl apply -f https://raw.githubusercontent.com/oceanbase/ob-operator/2.1…

PgSQL - 内核特性 - 把DuckDB弄进来怎么样

PgSQL - 内核特性 - 把DuckDB弄进来怎么样 DuckDB是一款高性能的分析型数据库系统,支持了基于Push-based pipeline的向量化执行引擎。这么好的一款数据库,有办法直接弄到PgSQL里面,以利用其优秀的列式存储、向量化执行引擎等优秀特性吗&#…

【C语言】linux内核ipoib模块 - ipoib_ib_post_receive

一、中文注释 用于以太网接口(InfiniBand)上的IP over IB(IPoIB)设备的Linux内核函数,负责将接收缓冲区(一个包)提交到网络设备的队列中等待数据到达。下面是中文注释版本的函数代码&#xff1…

Mockito单元测试Mockito对Service层的测试案例

前言 以下是关于Mockito的API使用文档 官网:http://mockito.org/ 官网英文API文档:https://javadoc.io/static/org.mockito/mockito-core/5.10.0/help-doc.html#index 非官方中文API文档:https://gitee.com/wnboy/mockito-doc-zh#mockito-%E…

c语言字符函数和字符串函数

目录 1. 字符分类函数2. 字符转换函数3. strlen的使用和模拟实现4. strcpy的使用和模拟实现5. strcat的使用和模拟实现6. strcmp的使用和模拟实现7. strncpy函数的使用8. strncat函数的使用9. strncmp函数的使用10. strstr的使用和模拟实现11. strtok函数的使用12. strerror函数…

阿里云的流量价格表_2024阿里云服务器流量费用表

阿里云服务器宽带按使用流量怎么收费的?价格为0.8元/GB,地域不同流量价格也不同,北京、杭州、上海、深圳等中国大陆地域是0.8元每GB,中国香港是1元/GB,美国流量0.5元1GB、日本流量0.6元、韩国流量0.8元,阿里…

利用Dynamo为家具族三维截图并导入到明细表

前几天我在朋友圈发了一个小视频,是利用Dynamo为家具族截图,并将截图添加到族参数,以便于在图纸中显示族的样子。效果如下: 此处为语雀视频卡片,点击链接查看: 利用Dynamo为家具族三维截图并导入到明细表 …

2.WEB渗透测试-前置基础知识-web基础知识和操作系统

web基础知识 1.http协议 超文本传输协议是互联网上应用最广泛的一种网络协议。所有www文件都必须遵守的一个标准,是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范,通俗点说就是一种固定的通讯规则。 2、网络的三种架构及特点 网络应…

港科夜闻|香港科大计划建立北部都会区卫星校园完善科大创新带,发展未来创新科技 未来医药发展及跨学科教育...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大计划建立北部都会区卫星校园完善“科大创新带”,发展未来创新科技、未来医药发展及跨学科教育。香港科大校长叶玉如教授在2月22日的媒体会议上表示,香港科大将在北部都会区建立卫星校园&a…

5.2.鸿蒙LiteOS-M los_dispatch

目录 一、cortex-m4 los_dispatch.S代码分析坚持就有收获 一、cortex-m4 los_dispatch.S代码分析 .syntax unified #.syntax [unified | divided], 指定arm 汇编语法规则 .arch armv7e-m #指定平台, 与命令行参数-march同样的作用 .fpu fpv4-sp-d16 #指定浮点运算…

Github 2024-02-21 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-02-21统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目8非开发语言项目1TypeScript项目1 gpt4free 语言模型集合改进计划 创建周期:300 天开…

说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别

文章目录 一、背景二、介绍CSS像素设备像素设备独立像素dprppi 三、总结参考文献 一、背景 在css中我们通常使用px作为单位,在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉,我们会认为css中的像素就是设备的物理像素 但实…

Matlab/simulink基于vsg的风光储调频系统建模仿真(持续更新)

​ 1.Matlab/simulink基于vsg的风光储调频系统建模仿真(持续更新)

vue从flask获取数据并显示

记录一个前后端分离遇到的问题,即vue前端从flask后端获取数据。具体描述如下:flask只负责连接数据库并获取数据库的数据,并返回给前端vue;vue则需要获取后端返回的数据并显示。 方法如下,分别用一个vue组件和一个flas…

深入探究node搭建socket服务器

自从上篇中sokect实现了视频通话,但是是使用ws依赖库实现的服务端,所以最近再看ws源码,不看不知道,一看很惊讶。 接下来一点点记录一下,如何搭建一个简易的服务端socket,来实现上次的视频通讯。 搭建一个…

修复Microsoft Edge WebView2无法安装的问题

修复Microsoft Edge WebView2无法安装的问题 场景解决方案 场景 系统:win11 电脑:联想14 前提:使用Geek Uninstaller强制删除了Microsoft Edge WebView2 同时下载了clash verge。 发现根本无法运行(点击了无任何反应且图标颜色…

C++面试题精选与解析

C面试题精选与解析 一、基础与语法 请问C中的指针和引用有什么区别? 指针是一个变量,存储的是另一个变量的内存地址。指针可以被重新赋值以指向另一个不同的对象。而引用是某个变量的别名,一旦引用被初始化为一个变量,就不能改变…

第四篇:CamX确认当前选择的usecase、pipeline、sensormode

第四篇:CamX确认当前选择的usecase、pipeline,sensormode 一、 当前UseCase logcat |grep “usecase selected” I/CHIUSECASE( 661): [CONFIG ] chxusecaseutils.cpp:867 GetMatchingUsecase() ZSL usecase selected二、当前pipeline logcat |grep “Selected sensor M…

python_ACM模式《剑指offer刷题》二叉树3

题目: 面试tips: 若面试官无特殊要求直接优先采用思路一递归法(易想);若有特殊要求,例如不想要重复遍历中序序列来寻找根节点,则采取思路二,即将中序遍历存入到哈希表中,…

基于卷积神经网络的图像去噪

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 基于卷积神经网络的图像去噪 完整代码:基于卷积神经网络的图像去噪.rar资源-CSDN文库 https://download.csdn.net/download/abc9918351…