文件管理大师:深入解析Linux的文件与目录操控

2024-02-17 07:04

本文主要是介绍文件管理大师:深入解析Linux的文件与目录操控,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、文件命名规则

1、可以使用哪些字符?

2、文件名的长度

3、Linux文件名大小写

4、Linux文件扩展名

二、文件管理命令

1、目录创建/删除

mkdir创建目录

直接创建文件夹

创建多个文件夹

递归创建写法

总结mkdir

删除空目录

2、文件创建、删除

touch创建文件

touch 一次性创建多个文件

总结touch

关于花括号用法日结合touch命令

虚拟机的快照

关于rm命令的学习

rm删除命令

1.rm命令不带参数

2.rm命令删除多个文件

3.rm -f强制删除文件

4.rm -r递归删除文件及目录

5.rm -r -f强制递归删除文件夹

6.危险命令

7.确保虚拟机快照备份完毕

8.删库演示(千万别干)

删除中

使用快照功能

恢复成功!

In命令

alias命令(别名命令)

3、复制与剪切

cp拷贝命令

1.拷贝文件,且改名

2.仅仅拷贝单个文件,保持源文件名

关于cp拷贝文件夹的坑

cp总结

mv剪切操作

1.直接移动(可以结合绝对相对路径)

2.文件的重命名,在当前目录,重命名

3.移动文件目录,且重命名

4.移动文件夹

4.关于mv剪切、重命名文件夹的坑(移动文件夹,且改名字)

mv总结


一、文件命名规则

1、可以使用哪些字符?

除了字符“/之外,所有的字符都可以使用,但是要注意,在目录名或文件名中,不建议使用某些特殊字符,例如,<、>、?、*等,尽量避免使用。如果一个文件名中包含了特殊字符,例如空格,那么在访问这个文件时就需要使用引号将文件名括起来。

建议文件命名规则:

由于linux严格区分大小写,所以尽量都用小写字母如果必须对文件名进行分潮,建议使用"_",例如:

1. Srlua_bj_2022.txt
2.chaoge.txt
3. 01.txt
4. 02.txt
5. Srlua.log
6. Sr_linux.txt

2、文件名的长度

目录名或文件名的长度不能超过 255 个字符

尽量不要太长,另外文件名称一定要见名知意,可以使用英文单词

3、Linux文件名大小写

Linux目录名或文件名是区分大小写的。如srlua、Srlua、SRLUA,是互不相同的

不要使用字符大小写来区分不同的文件或目录,

建议文件名一律使用小写字母,做到见名知意最好

4、Linux文件扩展名

Linux文件的扩展名对 Linux 操作系统没有特殊的含义,Linux 系统并不以文件的扩展名开分区文件类型。

例如,Srlua.exe 只是一个文件,其扩展名.exe 并不代表此文件就一定是可执行的。在Linux系统中,文件扩展名的用途为了使运维人员更好的区分不同的文件类型。

二、文件管理命令

在日常工作中,我们经常需要对Linux的文件或目录进行操作,常见操作包括新建,制除,更改,查看,复制,移动等。

新建

touch 创建文件
mkdir 创建文件夹
vi,vim 也可以创建文件
​
echo 结合 重定向符号(>)才能创建文件
echo"男儿当自强”>/opt/man.txt

删除

remove 删除
简写
rm

更改

修改文件内容的命令很多
​
vim

查看

cat 读取文件内容

复制

copy 拷贝,缩写的命令,就是cp

移动

move 
缩写
mv
​
剪切
重命名

1、目录创建/删除

在实际应用中,与目录相关的操作主要有两个:创建目录与删除目录

mkdir创建目录

命令:mkdir(make directory,创建目录)

作用:创建目录

语法:mkdir[参数选项]路径(包含目录名)

常见参数:

-p:递归创建所有目录,如果想创建多层不存在的路径,可以使用-p参数实现,-p表示parenls,父级的意思

-p表示parents,父级的意思

用法一:mkdir 不加参数,路径(需要包含目名称)
示例代码:
mkdir /tnp/srlua/666/
含义:在/tmp/srlua/目录下,创建一个文件名为666
​
特别注意:mkdir命令默认不能隔级创建目录,必须要求要创建的目录所在的目录一定要存在
直接创建文件夹

创建多个文件夹

递归创建写法

如果bash解释器没有找到tree命令,解决办法

[root@srlua001 ~]# tree /opt
-bash: tree: 未找到命令

Linux tree命令是一个用于显示文件夹和文件的结构的工具,它可以帮助用户更好地理解文件系统的结构。如果你在linux系统上找不到tree命令,那么可能是因为你的系统中没有安装tree命令。

要解决这个问题,你可以使用以下代码来安装tree命令:

sudo apt-get install tree

如果你使用的是RedHat/CentOS系统,可以使用以下命令安装tree:

yum install tree

总结mkdir

1、绝对路径创建
mkdir /Srlua-Linux
​
2.相对路径创建先确定你的位置,作为参考,如/opt
mkdir  ../Srlua-linux
​
3.使用参数,递归创建
mkdir -p /tmp/Srlua/linux/yunwei
​
4.一次创建多个目录
mkdir  /tmp/srsr1   /opt/srsr1

删除空目录

命令:rmdir(remove directory缩写)

作用:制除空目录,目录不为空的话,就无法删除

语法:#rmdir [参数选项]路径(包含目录名)

用法,删除一个目录

比如这个命令,一定是报错的

需要递归删除

2、文件创建、删除

touch创建文件

命令:touch

作用:创建文件,多次创建不报错,但是会修改文件的时间属性

语法:#touch 文件路径[文件路径2 文件路径3..]

1,当文件不存在,执行touch 是创建该文本文件
touch hello.txt
​
2.当文件,文件夹(名字)已经存在后,touch命令是修改它的时间戳
touch /opt/
​
3.touch一次性创建多个文件,注意,要保证,路径中的文件夹是存在的,否则报错

touch 一次性创建多个文件

在某个目录,创建多个同级的文件

用/{filename,filename,...}

如果中间有为创建的文件夹时,加入-p参数

总结touch

1,绝对,相对路径创建文件
​
2.一次性创建多个文件
​
3.结合绝对,相对路径,一次性创建多个文件
​
4.了解{}花括号展开语法,高效
关于花括号用法日结合touch命令

虚拟机的快照

为了防止你删库的。

  • vmware提供了快照功能

    • 游戏存档,1

    • 游戏存档,2

    • 游戏存档,3

    • 游戏进行中

  • linux系统

    • 系统快照1,系统刚初始化好

    • 系统快照2,安装了数据库(回到这个系统的快照,回到这个状态)

    • 系统快照3,升级数据库(假如在这报错了,数据库挂了,升级软件,系统中有很多相关的软件版本也都升级)

添加快照

关于rm命令的学习

rm删除命令

权限最大化 root+rm(参数)

命令:rm(remove缩写)

作用:删除文件或文件夹

语法:rm [参数选项]文件或文件夹 选项:

-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有子目录和文件。

-f:强制删除,不提示任何信息。

-i:删除前需要确认

操作前一定要慎重!!!不小心你库跑路(放心,跑不掉的)(别慌,熟能生巧,学习期间,你的虚拟机你随便删,前提是你做好快照!!删腻了,你上班就不会出错了)

1.rm命令不带参数

2.rm命令删除多个文件

3.rm -f强制删除文件

4.rm -r递归删除文件及目录

5.rm -r -f强制递归删除文件夹

6.危险命令

注意rm命令后面,到底跟着的路径是什么,错一个字符,就删错了,没有回头路

7.确保虚拟机快照备份完毕
8.删库演示(千万别干)

人生第一次,制除linux所有资料(注意,此操作,不要在你的虚机以外任何地方执行,比如你的同桌的linux)

这个*,表示通配符,匹配任意的字符,linux一切皆文件,a b c d 中英文...
[root@srlua001 opt]# rm -rf /* 
删除中

使用快照功能

恢复成功!

In命令

In是link的意思,表示创建一个快捷方式,如同你windows的图标快捷方式

alias命令(别名命令)

昵称,别名的意思

alias在系统中是怎么用的呢?

1.查看系统的默认别名,alias
[root@srlua001 ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@srlua001 ~]# 
​
2.修改关于rm的 别名
你可以自由修改rm的别名,如惨改语法
[root@Srlua ~]#alias rm='rm -i
[root@Srlua ~]#

3、复制与剪切

cp复制操作

命令:cp(copy缩写,复制操作)

作用:复制文件/文件夹到指定的位置

语法:#cp[参数选项]源路径(含文件名)目标路径(如不指定文件名,则文件名不变)

常见参数: -r : recursion,递归,用于复制目录

cp拷贝命令
1.拷贝文件,且改名

2.仅仅拷贝单个文件,保持源文件名

关于cp拷贝文件夹的坑

1.在/home下,是没有这个英雄联盟文件夹的

2.演示,在/home下以及存在,同名的文件夹了,是啥样?

cp总结

1.cp拷贝文件,文件夹
​
2.结合绝对,相对路径拷贝
​
3.使用-r参数,可以递归拷贝文件夹及其内部文件
​
4.cp拷贝后可以直接重命名
mv剪切操作

命令:mv(move,移动,剪切)

作用:可以在不同的目录之间 移动 文件或目录,也可以对文件和目录进行 重命名

语法:#mv[参数]源文件 目标路径(不指定文件名)

1.直接移动(可以结合绝对相对路径)

2.文件的重命名,在当前目录,重命名

3.移动文件目录,且重命名

4.移动文件夹

4.关于mv剪切、重命名文件夹的坑(移动文件夹,且改名字)

mv总结

1.可以移动文件,文件奚路径,实现剪切效果
​
2.剪切同时还可以进行重命名
​
3.我认剪切文件卖,就足递归剪切
​
4.到底是剪切效果,还是重命名效果,由你的写法决定

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

这篇关于文件管理大师:深入解析Linux的文件与目录操控的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/717020

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat