【Linux】基本指令-入门级文件操作(一)

news2024/11/15 13:57:08

目录

前言

⭕linux的树状文件结构

⭕绝对路径和相对路径

⭕当前路径和上级路径

⭕隐藏文件

基本指令(重点)

1 pwd 指令

2 mkdir 指令

 3 touch 指令

4 ls 指令

4.1 ls只加选项不加文件/目录名,默认查看当前目录下的文件

4.1.1 ls -a:查看所有文件包括隐藏文件

4.1.2 ls -l / ll:显示文件的所有信息

4.1.3 ls -la / ls -al / ll -a:显示所有文件的所有信息

4.2 ls加选项加绝对路径/相对路径

5 cd 指令

5.1 cd与相对路径

5.2 cd与绝对路径

5.3 访问最近目录 

5.4 访问家目录

6 rmdir指令和rm指令

6.1 rmdir指令

6.2 rm指令 

总结


前言

⭕linux的树状文件结构

Linux中,磁盘上的目录和文件被组成一棵多叉树

在linux里,我们可以用tree指令查看一个文件的树状结构,使用tree指令前可能需要先安装tree指令:

yum install -y tree

⭕绝对路径和相对路径

绝对路径:从盘符开始的路径,Linux下的根目录一般为/root或者/home/(普通用户名)

那么一般语法就是

/root/(文件名)或者/home/(普通用户名)/(文件名)

比如:

/root/lesson1/test.txt
/home/张三/lesson1/test.txt

相对路径:沿着当前路径向下,一般语法为

(当前目录或文件)/(文件名)

比如:

/lesson1/test.txt

⭕当前路径和上级路径

一个点表示当前路径,两个点表示上级路径

用当前路径改写相对路径,比如我们在某一目录下:

./就表示当前目录,拿/lesson1/test.txt举例,如果我们在lesson1目录下,这个点就表示lesson1目录

./test.txt

 ../表示上级目录,假设lesson1的上级目录是/root,两个点就表示root目录,再假设root目录下有一个lesson2目录,那我们可以这么表示:

../lesson2

⭕隐藏文件

.(文件名)表示隐藏文件


基本指令(重点)

1 pwd 指令

功能:显示用户当前所在目录。

语法:pwd


2 mkdir 指令

功能:在当前目录下创建自定义名称的目录。

语法:mkdir [目录名]

常用选项:

-p        递归创建一条路径下的目录

①比如,我们想创建一条路径下的多条目录:

mkdir -p CSDN1/csdn1

②ll和ls指令我们下面会讲,就是列出目录下的所有子目录和文件

③同时我们还可以用tree指令观察其路径:

表明我们创建了一个位于/root路径下(root目录下)的新目录CSDN1,其下还有一个新目录csdn1,其中路径/root/CSDN1/csdn1只有一条,说明路径具有唯一性


 3 touch 指令

功能:可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

语法:touch [选项] [文件名]

常用选项:

-a   或--time=atime或--time=access或--time=use只更改存取时间。
-c   或--no-create  不建立任何文档。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m   或--time=mtime或--time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间。

入门阶段我们只需要会touch一个新文件即可,剩下的大家可以自行尝试,需要注意的是

①只能在目录里新建文件

②只能在当前目录下新建文件,无法使用相对路径或者绝对路径


4 ls 指令

功能:对于目录,该命令列出当前目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

语法:ls [选项] [目录或文件]

常用选项:

-a       可以显示所有文件,包括隐藏文件.

-l        显示文件的所有信息

-d       将目录象文件一样显示,而不是显示其下的文件

目前我们对ls指令的掌握程度,只需要会查看任何路径目录下的文件即可。


4.1 ls只加选项不加文件/目录名,默认查看当前目录下的文件

4.1.1 ls -a:查看所有文件包括隐藏文件

可以看到lesson3不是隐藏文件,其他都是隐藏文件。


4.1.2 ls -l / ll:显示文件的所有信息

红框处就是这个lesson3文件的具体信息,我们还可以简化指令为ll


4.1.3 ls -la / ls -al / ll -a:显示所有文件的所有信息

注:ls -la/ls -al/ll-a 三个指令是一个意思,在linux里可以将指令与选项进行任意组合,但不是所有都可以。

4.2 ls加选项加绝对路径/相对路径

🥝我们可以用绝对路径,在不同目录下访问同一个目录的文件:

①比如我们目前在/root的路径下,我们想在lesson4目录下访问lesson3目录里的文件

②我们先用cd指令(后面会讲)进入lesson4目录,用pwd和ll指令(即ls -l)验证我们是否进入lesson4

③输入指令:ll /root/lesson3

④然后我们回到lesson3,用指令cd /root/lesson3

⑤发现我们在lesson4下用绝对路径访问lesson3是可行的,两张图是一样的。

注:cd指令的功能进入目录或文件,下面会进行讲解。

🥝我们可以用相对路径,在当前目录下的众多文件访问目标文件:

如上图所示,我们在众多文件中访问了第一个目录dir。

5 cd 指令

语法:cd [目录名]

功能:改变工作目录,将路径从当前目录改变到目标目录下。

5.1 cd与相对路径

①比如我们想进入当前lesson3目录下的dir目录

②输入指令:

cd dir 或者 cd ./dir


5.2 cd与绝对路径

①上级路径/root下有一个lesson4的目录,我们原本在/root/lesson3下

②输入指令:

cd /root/lesson4


5.3 访问最近目录 

指令:

cd -

用这个指令可以实现反复横跳~

5.4 访问家目录

家目录:/root或者/home/(普通用户名)

指令: 

cd ~

 ①root超级用户

②普通用户


6 rmdir指令和rm指令

6.1 rmdir指令

功能:删除目录,只能删除空的目录!(很鸡肋)

语法:rmdir  [目录名]

删除不空的目录,报错显示:


6.2 rm指令 

功能:可以同时删除不为空的目录或者单独的文件。

语法:rm [选项] [目录名/文件名]

常用选项:

-f 强制删除
-i 删除前逐一询问确认
-r 递归删除目录及其下所有文件

选项可以相互组合,比如-rf        -ri        -if等等。

 🥝-f 选项

-f表示强制删除,系统不做询问是否删除。

有询问:

在root用户情况下,rm不带-f会默认询问,而在普通用户情况下,rm不带-f不会默认询问。

不想被询问就带-f吧!

🥝-r选项

r表示递归,目录是树状结构,树的销毁遵循后序销毁,后序就是运用了递归。

-r通常和-f一起使用,-rf表示强制递归删除不为空的目录,不被询问(那么多文件你想一直yes吗?)

比如我们想删除这个del1目录:

 输入指令:

rm -rf del1

 然后就把del1这个目录连同它的子目录和子文件全部删除了。

 🥝当前目录下,隐藏文件需要指定删除

①我们先创建两个隐藏文件

touch .del1.txt
touch .del2.txt

②随后我们删除当前目录下的所有文件:

rm -rf *
*号表示所有文件

发现隐藏文件无法被直接删除

④删除隐藏文件,只需在选项后跟文件名即可

当然,如果我们进入上级目录进行强制递归删除子目录,子目录里的隐藏文件也会被删除。 


总结

        看完这篇博客,大家可以学会在linux下创建、显示和删除文件,下篇博客会继续教大家文件的复制、改名、读取操作!谢谢支持!

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

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

相关文章

360 G800行车记录仪,不使用降压线如何开机,8芯插头的定义。

G800记录仪的插头是这样的,图中标出了线的颜色。其中红色为常电V,黑色为GND负极,黄色为ACC受车是否启动控制。 这个记录仪原装的电源线没有降压功能,所以这里的V是12V。 记录仪内部有电源板,负责将12V降压为5V。 如果…

CSS盒子定位的扩张

定位的扩展 绝对定位(固定定位)会完全压住盒子 浮动元素不会压住下面标准流的文字,而绝对定位或固定位会压住下面标准流的所有内容 如果一个盒子既有向左又有向右,则执行左,同理执行上 显示隐藏 display: none&…

Tasmota系统之MQTT配置和使用篇

Tasmota系统之MQTT配置和使用篇 🚩相关篇《ESP32/ESP8266在线刷写Sonoff Tasmota固件以及配置简要》📌《Tasmota系统之外设配置》📍Tasmota官方对MQTT功能使用介绍:https://tasmota.github.io/docs/MQTT/ 🛠MQTT本地化…

消息队列 Kafka

Kafka Kafka 是一个分布式的基于发布/订阅模式的消息队列(MQ,Message Queue),主要应用于大数据实时处理领域 为什么使用消息队列MQ 在高并发环境下,同步请求来不及处理会发生堵塞,从而触发too many conne…

团队协作中如何处理ConflictingBeanDefinitionException异常

👼 前言 当使用Spring框架进行Java应用程序开发时,可能会遇到ConflictingBeanDefinitionException异常。 如: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name ‘xxxBean’ …

Spring5应用之AOP注解编程

作者简介:☕️大家好,我是Aomsir,一个爱折腾的开发者! 个人主页:Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏:Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言开发…

2.1 Qemu系统模拟:简介

目录 1 后端/加速器2 特性简介3 运行 1 后端/加速器 系统模拟主要用于在host设备上运行guest OSQEMU支持多种hypervisors,同时也支持JIT模拟方案(TCG) 例如从上表我们可以看出,运行在x86硬件上的Linux系统支持KVM,Xen,TCG 2 特性简介 提供…

【kubernetes】带你了解k8s中PV和PVC的由来

文章目录 1 为什么需要卷(Volume)2 卷的挂载2.1 k8s集群中可以直接使用2.2 需要额外的存储组件2.3 公有云 2 PV(Persistent Volume)3 SC(Storage Class) 和 PVC(Persistent Volume Claim)4 总结 1 为什么需要卷(Volume) Pod是由一个或者多个容器组成的,在启动Pod中…

C++11(下)

目录 一、类的新功能1.1 默认成员函数1.2 类成员变量初始化1.3 强制生成默认函数的关键字default1.4 禁止生成默认函数的关键字delete1.5 继承和多态中的final与override关键字 二、可变参数模板三、lambda表达式3.1 C98中的一个例子3.2 lambda表达式3.3 lambda表达式语法3.4 函…

CUDA----window更新升级cuda版本

在安装库的过程中发现cuda版本不匹配。我torch安装的是11.7,但是我电脑上安装的是11.2故想升级。 但是我用nvidia-smi命令查询cuda是12.2,这让我费解,后来发现是得使用nvcc -V来查询安装的cuda版本。 详细的升级过程可以看这篇博客&#xff…

Android约束布局ConstraintLayout的Guideline,CardView

Android约束布局ConstraintLayout的Guideline&#xff0c;CardView <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:a…

C++ 类和对象篇(八) const成员函数和取地址运算符重载

目录 一、const成员函数 1. const成员函数是什么&#xff1f; 2. 为什么有const成员函数&#xff1f; 3. 什么时候需要使用const修饰成员函数&#xff1f; 二、取地址运算符重载 1. 为什么需要重载取地址运算符&#xff1f; 2. 默认取地址运算符重载函数 3. 默认const取地址运…

016-第三代软件硬件及系统选型

第三代软件硬件及系统选型 文章目录 第三代软件硬件及系统选型项目介绍硬件选型软件系统选型总结 关键字&#xff1a; Qt、 Qml、 研华、 ubuntu、 x86 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object Language&…

java基础 日期工具类

目录结构&#xff1a; DateUtils.java package dateStudy; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;public class DateUtils {private static final String FORMAT_1"yyyy-MM-dd HH:mm:ss";//私有方法&#xf…

国家开放大学 模拟试题 训练

试卷代号&#xff1a;2136 管理会计 参考 试题 一、单项选择题&#xff08;每小题1分&#xff0c;共20分&#xff09; 1.管理会计依靠各种功能来助力企业战略&#xff0c;下列哪项是管理会计的核心功能( )。 A.评价功能 B.预测功能 C.决策功能…

计算机算法分析与设计(8)---图像压缩动态规划算法(含C++)代码

文章目录 一、知识概述1.1 问题描述1.2 算法思想1.3 算法设计1.4 例题分析 二、代码 一、知识概述 1.1 问题描述 1. 一幅图像的由很多个像素点构成&#xff0c;像素点越多分辨率越高&#xff0c;像素的灰度值范围为0~255&#xff0c;也就是需要8bit来存储一个像素的灰度值信息…

某果的一个小参数分析

分析链接:aHR0cHM6Ly9hcHBsZWlkLmFwcGxlLmNvbS9hY2NvdW50 分析目标&#xff1a;X-Apple-I-Fd-Client-Info 1.在浏览器搜索关键词&#xff0c;打下断点 我们再里面进行搜索&#xff0c;定位到这个位置&#xff0c;可以看到X-Apple-I-FD-Client-Info这个参数等于e&#xff0c;…

Netty深入浅出(无处不在的IO)

为什么要有Netty Netty是为了解决网络编程的复杂性和提供易于使用、高性能和可扩展的框架而开发的。它通过提供一组可重用的组件来处理网络通信的低级细节&#xff0c;例如套接字管理、线程和缓冲&#xff0c;简化了开发网络应用程序的过程。这使开发人员可以专注于应用程序逻…

前端学习| 第二章

CSS学习|第一章 前言一、概述1. 语法规定2. 代码风格 二、选择器1. 基础选择器标签选择器类选择器id选择器通配符选择器 2. 复合选择器后代选择器子元素选择器并集选择器伪类选择器链接伪类选择器focus 伪类选择器 三、引入方式四、显示模式1. 块元素2. 行内元素3. 行内块元素4…

FreeRTOS自我救赎3之USB虚拟串口

任何项目的功能都从需求出发&#xff0c;在这里我用的是斥侯蜂的一块STM32F407ZGT6 在开发一个项目的过程中&#xff0c;免不了串口调试&#xff0c;而这块板子板载的mircousb不是直接连的引脚而是一个OTGUSB