当前位置: 首页 > news >正文

linuxOPS基础_Linux文件管理

Linux下文件命名规则

可以使用哪些字符?

理论上除了字符“/”之外,所有的字符都可以使用,但是要注意,在目录名或文件名中,不建议使用某些特殊字符,例如, <、>、?、* 等,尽量避免使用。

工作时文件的命名规则:

① 由于linux严格区分大小写,所以尽量都用小写字母

② 如果必须对文件名进行分割,建议使用"_",例如:qayrup_cn_2023.log

_ 下划线,在Linux操作系统中,可以使用Shift键 + 减号

文件名的长度

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

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

文件名的大小写

Linux目录名或文件名是区分大小写的。如 qayrup、jiumei、lin和 demaxiya,是互不相同的目录名或文件名。

个人建议:

不要使用字符大小写来区分不同的文件或目录。
建议文件名一律使用小写字母

Linux文件扩展名

Linux文件的扩展名对 Linux 操作系统没有特殊的含义,Linux 系统并不以文件的扩展名开分区文件类型。例如,qayrup.exe 只是一个文件,其扩展名 .exe 并不代表此文件就一定是可执行的。

在Linux系统中,文件扩展名的用途为了使运维人员更好的区分不同的文件类型

在Linux操作系统中,文件的类型是依靠权限位的标识符来进行区分的。当然也可以通过颜色,如黑色普通文件,天蓝色文件夹

Linux下的文件管理

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

mkdir( make directory) 创建目录

语法1mkdir 创建目录

语法作用
# mkdir 目录名称就是根据目录的名称创建一个目录
# mkdir -p 目录1/目录2/目录3递归创建,从左边的路径开始一级一级创建目录,直到路径结束
# mkdir 目录名称1 目录名称2 目录名称3 …使用mkdir同时创建多个目录

示例1
在已知目录(/usr/local)下创建多级目录(nginx/conf)

#mkdir /usr/local/nginx/conf
在这里插入图片描述
如上,提示我无法创建,因为/usr/local目录下并没有nginx

解决方案:如果我们想同时创建多级目录,必须使用-p选项,其会从左向右一级一级创建目录。

#mkdir -p /usr/local/nginx/conf
在这里插入图片描述
执行成功,可以看到conf已经在nginx下了
在这里插入图片描述

案例2 在当前目录下创建a、b、c三个目录

# mkdir a
# mkdir b
# mkdir c 或
# mkdir a b c
在这里插入图片描述

mkdir总结

一个目录一个目录创建# mkdir 目录名称

多级目录一起创建# mkdir -p 目录名称1/目录名称2/…

同时创建多个目录# mkdir 目录名称1 目录名称2 目录名称3

rmdir(remove directory) 目录删除(必须是空目录)

语法作用
# rmdir 目录名称移除目录
# rmdir -p 目录/目录递归删除空目录
# rmdir 目录名称1 目录名称2 目录名称3 …同时删除多个目录

示例1 rmdir移除空目录

# rmdir 目录名称

在这里插入图片描述

示例2 rmdir移除多级空目录

如下,先使用mkdir创建多级目录,然后使用rmdir删除这个多级目录

# rmdir -p k/a/b
在这里插入图片描述

示例3 rmdir 移除多个空目录

# rmdir b c
在这里插入图片描述

示例4 rmdir 删除非空目录出错

新增一个多级目录a/b/c然后删除

# rmdir a

在这里插入图片描述

rmdir总结

# rmdir 目录名称,删除某个空目录

# rmdir -p 目录名称1/目录名称2/目录名称3/…,同时删除多级目录(从右向左一级一级删除)

# rmdir 目录名称1 目录名称2 目录名称3,同时删除多个空目录
# rmdir 删除目录应该是空目录否则会报错

touch 创建文件

语法作用
# touch 文件名称在Linux系统中的当前目录下创建一个文件
# touch 文件名称1 文件名称2 文件名称3 …同时创建多个文件
# touch 文件名称{开始序号…结束序号}{1…5}根据序号同时创建多个文件

示例1在当前目录下创建一个readme.txt文件

# touch readme.txt

在这里插入图片描述

示例2 使用touch命令同时创建多个文件

创建一个shop商城文件夹,然后在内部创建index.php/admin.php/config.php三个文件

mkdir shop 
touch shop/index.php
touch shop/admin.php 
touch shop/config.php 或 
touch shop/index.php shop/admin.php shop/config.php

在这里插入图片描述

这两条命令看看有何区别?

第一种写法:touch shop/index.php shop/admin.php shop/config.php

代表在shop目录下首先创建一个index.php,在创建一个admin.php,最后config.php

第二种写法:touch shop/index.php admin.php config.php

代表在shop目录下首先创建index.php,然后在当前目录下创建admin.php,最后在当前目录下创建config.php

示例3 {1…5}根据序号同时创建多个文件

案例:创建file1、file2、file3、file4、file5共5个文件

touch file1
touch file2
touch file3
touch file4
touch file5
或
touch file{1..5}

在这里插入图片描述

总结:

# touch 文件名称

# touch 文件名称1 文件名称2 文件名称3 …

# touch 文件名称{开始序号…结束序号}

rm(remove)文件删除

注意 linux里万物皆文件,也就是说,文件夹也是文件rm也能删除文件夹

语法作用
# rm 文件名删除文件(会有提示)
# rm -f 文件名强制删除文件
# rm -rf 文件名强制递归删除文件(能删除非空文件)

示例 使用 rm 删除文件

案例使用rm file1删除file1文件

rm file1

在这里插入图片描述

示例2 使用rm -f 无提示删除文件

案例使用rm -f file2删除file2文件 不提示(慎重)

rm -f file2 

在这里插入图片描述

示例3 删除非空的文件夹(-rf强制递归删除,不提示)

案例,使用 rm -rf a 递归删除a文件夹

rm -rf a

在这里插入图片描述

总结:

# rm 文件名称

# rm 文件名称1 文件名称2 文件名称3 …

# rm -f 文件名称 => 强制删除,不提示

# rm -rf 文件夹名称 => 递归删除文件夹

拓展 rm -rf /*,一定要慎重

# rm -rf /* => 代表删除根目录下的所有文件(如果没有备份,恢复的几率不高)

rm :删除
-r :递归删除(无论文件夹是否为空)
-f :强制删除不提示
/  :代表根分区
*  :所有

cp (copy) 复制操作

语法作用
cp [选项] 源文件或文件夹 目标路径复制指定文件到指定位置
cp 源文件路径 目标路径复制一个文件到指定位置
cp 源文件路径 目标路径/新文名称复制一个文件到指定位置并重命名
cp -r 源文件路径 目标路径递归复制一个文件到指定位置,(主要用于文件夹)

示例1 使用cp 复制一个文件到指定路径

案例使用cp ./file3 ./c/ 将file3复制到 c目录中
在这里插入图片描述

示例2 使用cp 复制一个文件并重命名

案例: 使用cp ./file4 ./c/newfile4 将file4复制到c文件夹内并重命名为newfile4
在这里插入图片描述

示例3 使用cp -r 递归复制一个文件夹及其内所有文件

案例使用cp -r ./c 文件夹及其内所有文件到文件夹b内

cp -r ./c ./b

在这里插入图片描述

总结:

复制文件# cp 源文件名称 指定路径

复制文件并重命名# cp 源文件名称 指定路径/新文件名称

复制文件夹# cp -r 源文件夹 指定路径

mv(move)文件剪切

# mv [options] 源文件或文件夹 目标路径/ 将指定文件剪切到指定路径

options作用
-r递归文件夹内所有文件执行剪切操作
-f跳过同名文件覆盖确认选项,直接执行

示例1 使用mv将一个文件剪切至另一个路径

将file5剪切至 c文件夹下

 mv ./file5 ./c

在这里插入图片描述

示例2 使用mv将一个文件夹内剪切至另一个文件夹

在这里插入图片描述

http://www.lryc.cn/news/90728.html

相关文章:

  • C语言——数据在内存中的存储(上)
  • LinkedIn 国际版怎么在国内登录?怎么使用领英国际版?
  • QThread Class
  • C语言中的运算符及其优先级详解
  • 【C语言】语言篇——数组和字符串
  • Js写的二级联动和三级联动
  • 一文带你了解UI自动化测试框架
  • 【Linux】守护进程
  • Vue中组件和插件有什么区别?
  • 第五章 图像处理
  • 算法8.从暴力递归到动态规划1
  • 8-JDBC 编程
  • 零基础如何学习 Web 安全?
  • 【简单实用框架】【AddressablesMgr】【可移植】
  • android 12.0Launcher3禁止拖拽app图标到第一屏
  • SkyLine简介
  • 算法基础学习笔记——④前缀和\差分\双指针\位运算
  • 【Linux系统基础快速入门详解】Linux下安装软件必知必会4种方法(yum,编译安装,rpm包,二进制方式)等详解
  • ASEMI代理长电可控硅BT136参数,BT136规格,BT136说明
  • 代码线程安全
  • Filebeat技术栈总结
  • 【App自动化测试】(十六)健壮性测试工具——Android Monkey
  • 实现第一个内核程序的Hello World
  • python基于协同过滤推荐算法的电影观后感推荐管理系统的设计
  • Vue——状态管理库Pinia
  • Linux:忘记root密码解决办法
  • Dockerfile(4) - RUN 指令详解
  • 一个完整的APP定制开发流程是怎样的?
  • 【数据结构】24王道考研笔记——线性表
  • 【Linux C】基于树莓派/香橙派的蓝牙服务端——支持多蓝牙设备接入