Linux命令行笔记-01 文件管理-文件的建立、移动和删除

2023-05-16

文章目录

  • 1 文件的建立、移动和删除
    • 1.1 `cat`建立文件
      • 1.1.1 语法格式与参数
      • 1.1.2 示例
    • 1.2 `touch`建立文件
      • 1.2.1 语法格式与参数
      • 1.2.2 示例
      • 1.2.3 注意
    • 1.3 `ln`建立链接文件
      • 1.3.1 语法格式与参数
      • 1.3.2 示例
      • 1.3.3 注意事项
    • 1.4 `rm`删除文件
      • 1.4.1 语言格式与参数
      • 1.4.2 示例
      • 1.4.3 注意
    • 1.5 `mv`移动或重命名文件
      • 1.5.1 语法格式与参数
      • 1.5.2 示例
      • 1.5.3 注意

Linux中划分为文件管理部分的命令有很多,本章主要大概介绍下各自的用法。命令具体详解后见单独章节。

1 文件的建立、移动和删除

文件的建立,移动和删除构成了文件管理的基础,其中文件建立最常用的方法就是利用文本编辑器(如vi、emacs等)。

在Linux系统下没有建立文件的专用命令,但是可以借助其他命令的特殊用法达到建立文件的目的。

1.1 cat建立文件

cat命令用来串接文件或显示文件内容的,但是如果从标准输入设备中读入数据并将结果重定向到一个新的文件中,则可以达到建立新文件的目的。

cat命令在编辑新的文件时只能从键盘接收数据,不能灵活的对文件进行编辑,灵活性差。

1.1.1 语法格式与参数

cat [--help] [--version] >|>>[文件名]

1.1.2 示例

# 创建文件,并在输入提示符下输入内容
pang@pang-HP:~$ cat >abc.txt
123
451

用户从键盘上输入123 456等,然后<Ctrl+C>退出。查看文件内容为:

pang@pang-HP:~$ cat abc.txt
123
451
pang@pang-HP:~$ 

1.2 touch建立文件

创建文件是touch命令的一个特殊情况。touch是用来修改指定文件的访问和修改时间属性,若指定文件不存在,则将创建一个新的空文件,并以当前的时间来设置文件的访问和修改时间。

1.2.1 语法格式与参数

touch [-r<参考文件>] [文件名]
  • -r<参考文件> 使用由参考文件的时间属性来设定新建的文件,而不是当前默认的时间。

1.2.2 示例

pang@pang-HP:~/文档/22$ touch abc1 abc2
pang@pang-HP:~/文档/22$ ll abc1 abc2
-rw-rw-r-- 1 pang pang 0 1219 11:11 abc1
-rw-rw-r-- 1 pang pang 0 1219 11:11 abc2
pang@pang-HP:~/文档/22$ 

1.2.3 注意

  • touch命令只能建立新的空文件,必须借助文档编辑工具为新的文件录入内容。而cat命令可以进行简单的文本录入工作。
  • 若以其他文件的时间属性作为参考建立新的空文件的时候,引用的参考文件必须存在。
  • 参考的文件可以是目录文件

1.3 ln建立链接文件

符号链接文件属于特殊的文件,利用较小的资源空间,就可以访问位于其他目录下的文件或目录。

符号链接文件包括硬链接和软链接:

  • 硬链接就是建立一个inode(结点),该结点指向该文件放置内容的block块,新建的i结点和文件原来的i结点指向相同的内容;
  • 软链接则是新建立一个独立的文件,该文件指向链接的文件,类似于Windows下的快捷方式;

1.3.1 语法格式与参数

ln [参数][-T][源文件链接文件]
ln [参数][源文件]
ln [参数][源文件][新建链接文件所在的目录]
ln [参数][-t][新建链接文件所在的目录][源文件]

参数:

参数说明
-b 或 -backup=[CONTROL]对已经存在的目标链接文件进行备份
-d 或 -F 或 --directory试图允许超级用户建立到目录的硬链接。注意,可能由于不同系统的限制导致操作失败
-f 或 --force链接时,先将与目标链接文件同一目录下的同名文件删除,不管该同名文件为何种类型
-i 或 --interactiv覆盖既有文件之前先询问用户
-n 或 --no-dereference将到目录的软链接文件看做普通文件
-s 或 --symbolic对源文件建立软链接,而非硬链接
-S<字尾备份字符串> 或 --suffix=<字尾备份字符串>-b参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的字尾备份字符串是符号~,可通过-S参数来修改
-t 或 --target-dircetory=DIRECTORY指定链接文件创建的目录,默认情况下,链接文件将创建到用户所在的目录
-T 或 --no-target-directory将链接文件看做普通文件一样对待
-v 或 --verbose显示指令执行过程
-V<备份方式> 或 --version-control-b参数备份目标文件时,使用-V参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串
--help显示在线帮助信息
--version显示版本信息

1.3.2 示例

pang@pang-HP:~/文档/22$ ln -sv abc1 abc111
'abc111' -> 'abc1'
pang@pang-HP:~/文档/22$ ll
总用量 64292
drwxrwxr-x  3 pang pang     4096 1219 11:44 ./
drwxr-xr-x 16 pang pang     4096 1212 16:48 ../
-rw-rw-r--  1 pang pang        0 1219 11:11 abc1
lrwxrwxrwx  1 pang pang        4 1219 11:44 abc111 -> abc1
-rw-rw-r--  1 pang pang        0 1219 11:11 abc2
pang@pang-HP:~/文档/22$ 

1.3.3 注意事项

  • 不管是硬链接还是软链接,ln命令都会保持每一处链接文件的同步性,即无论改动了哪一处,其他的文件都会发生相同的变化。
  • 由于硬链接是利用结点链接到文件块,由于目录不需要占用块空间,因此不能建立到目录的硬链接;另外,不同的文件系统具有不同的结点表,由于硬链接是利用相同的结点访问存储在硬盘上的文件内容,所有硬链接也不允许跨越文件系统。
  • 默认情况下是不允许建立到目录的硬链接,而超级用户利用-d-F--directory,系统将试着建立到目录的硬链接,但是能否成功,因系统而异。
  • ln建立链接文件的时候,必须保持目标文件的存在。

1.4 rm删除文件

当一些文件不需要时,可以利用rm命令将文件永久地从硬盘上删除,该命令一般用来删除文件。但是若使用-r参数,则可以直接删除一个目录,以及目录中所有的子目录。对于链接文件,只是断开了链接,源文件保持不变。用户在删除一个文件时,需要对该文件具有执行权限(x)。

1.4.1 语言格式与参数

rm [参数][文件或目录]

参数:

参数说明
-i 或 --interactive交互方式删除目标文件
-f 或 --forcei参数相反。当删除文件的时候,不提示用户强行删除
-r 或 -R 或 --recursive表示rm将指定目标文件列表中的全部目录和子目录均递归地删除,可用于删除非空目录
-d 或 --directory直接把想要删除的目录的硬链接数据变成0,然后删除该目录,注意只有超级用户才有该权限
-v 或 --verbose显示命令执行过程
--help显示在线帮助信息
--version显示版本信息

1.4.2 示例

rm install*

1.4.3 注意

  • rmdir可以删除一个空目录,利用rm可以递归删除一个非空目录;但是在使用rm命令删除目录的时候,必须指明-r参数,即rm默认情况下,只能删除一般文件。
  • 使用rm命令要小心,因为一旦文件被删除,就不能恢复。系统默认使用交互方式删除文件,即使没有开启-i参数,如果用户输入y,文件也将被删除。输入其他任意键,文件将不会被删除。
  • 只有文件的属主或超级用户才能删除指定文件

1.5 mv移动或重命名文件

在Linux系统中,mv命令可用于对文件,目录的重命名及移动进行操作。系统会根据参数的类型,自动判断是移动还是重命名操作。

1.5.1 语法格式与参数

mv [参数][源文件或目录][目标目录或目标文件]

参数:

参数说明
-b 或 --backup若需覆盖文件,则覆盖前先行备份
-i 或 --interactive以交互方式操作。如果mv操作将导致对已存在的目标文件覆盖,此时系统询问是否重写,用户可以输入y或n,这样可以避免误覆盖文件
-f 或 --force禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何提示,并且指定此参数后,i参数将不再起作用
-u 或 --update如果目标文件已经存在并且和源文件一致或较源文件新,则不移动文件
-v 或 --verbose在移动每个文件的同时,在屏幕上显示文件的名称
-S<备份后缀字符或字符串> 或 --suffix=<备份后缀字符或字符串>-b参数一并使用,可指定备份文件的后缀字符串
--help显示在线帮助信息
--version显示版本信息

1.5.2 示例

# 把文件移动到/home目录下,必须具有对该目录具有写权限,普通用户是不能将文件移动到美欧写权限的目录下
mv abc1 /home/abc1-new

1.5.3 注意

  • 文件的移动目标输入错误,系统理解为文件重命名,不能达到移动文件的目的。
  • 移动多个文件时,指定目标目录不存在,则产生错误提示信息
  • 经文件移动到目标的目录必须对该目录具有写权限
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux命令行笔记-01 文件管理-文件的建立、移动和删除 的相关文章

  • Ubuntu 22.04 LTS下Miniconda安装+换源(踩坑向)

    1 安装Miniconda 我使用的是Python3 8 xff0c 如果需要去其他对应版本 xff0c 请查看 Miniconda conda documentation 下载 wget https repo anaconda com m
  • FreeBSD修改为国内源

    禁用原来的FreeBSD conf ee etc pkg FreeBSD conf 将 enabled yes 改为 enabled no 保存 ESC 然后 a gt a 即可 创建另外一个 FreeBSD conf mkdir p us
  • 关于51单片机的中断

    1 中断的要求 1 中断源有中断请求 Ask for instructions of the CPU interrupt request source called interrupt source 2 此中断源的中断允许位为1 The i
  • 华为机试_HJ5 进制转换【简单】

    描述 写出一个程序 xff0c 接受一个十六进制的数 xff0c 输出该数值的十进制表示 数据范围 xff1a 保证结果在 1 le n le 2 31 1 1 n 231 1 输入描述 xff1a 输入一个十六进制的数值字符串 输出描述
  • bootstrap实现 — 个人简介

    实现 xff1a bootstrap 效果图 xff1a 源码 xff1a lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt titl
  • 计蒜客--T1079--打表+控制输出

    假设有 N 盏灯 xff08 NN为不大于 5000 的正整数 xff09 xff0c 从 1 到 N 按顺序依次编号 xff0c 初始时全部处于开启状态 xff1b 有 M 个人 xff08 M 为不大于 N的正整数 xff09 也从 1
  • Authentication plugin ‘caching_sha2_password‘ 服务端也无法连接问题彻底解决

    在网上搜索了很多的帖子 xff0c 发现描述的都是外部客户端无法登录到mysql上 xff0c 登录上服务器以后连接更改配置的方式 xff0c 但是 xff01 xff01 xff01 xff01 xff01 我现在是服务器连接也报错啊啊啊
  • Hexo分类及标签显示

    Hexo根目录配置 config yml category map Blogs categories Blogs Tech categories Tech Tools categories Tools Other categories Ot
  • IDEA查看历史记录

    方法一 文件内 Ctrl 43 右键 Local History Show History xff0c 显示当前文件的本地修改历史 方法二 一 xff1a 在文件内 xff0c 按 Ctrl 43 Shift 43 A 弹出全部搜索对话框
  • SpringBoot-JPA整合ShardingShpere自定义分布式主键

    分布式主键简介 在分布式环境下 xff0c 由于分库分表导致数据水平拆分后无法使用单表自增主键 xff0c 因此我们需要一种全局唯一id生成策略作为分布式主键 当前有如下解决方案 UUID xff08 Universally Unique
  • Gitlab的安装与配置

    安装开始时 xff0c 需确认服务器最小配置是2核4G xff0c 因为gitlab软件比较大 1 配置yum源 xff1a vim etc yum repos d gitlab repo gitlab name 61 gitlab ce
  • Error creating bean with name ‘org.springframework.aop.aspectj.AspectJPointcutAdvisor#0

    问题 xff1a nested exception is org springframework beans factory BeanCreationException Error creating bean with name 39 or
  • Vue前端项目开发页面(二)

    前端界面开发 开发工具版本 64 vue cli 4 5 13 新建Login vue登陆页 1 在 vue exemples 项目 xff0c 选中components目录右键 New Vue Component xff0c 名称为 Lo
  • SpringBoot整合WebSocket

    概述 HTTP 协议是一种无状态的 无连接的 单向的应用层协议 它采用了请求 响应模型 通信请求只能由客户端发起 xff0c 服务端对请求做出应答处理 WebSocket和HTTP一样 xff0c 都是一种网络通信协议 比起HTTP只能由客
  • SpringBoot整合MybatisPlus使用IPage实现分页

    概述 MybatisPlus 提供了分页的功能 IPage内部原理是基于拦截器 xff0c 但是这个拦截的是方法以及方法中的参数 xff0c 这个也会判断是否是查询操作 如果是查询操作 xff0c 才会进入分页的处理逻辑 进入分页逻辑处理后
  • SpringBoot统一异常处理

    概述 SpringBoot 提供了 64 ControllerAdvice 64 RestControllerAdvice 注解可以实现统一异常处理 xff0c 只需要在定义异常类加上以上注解即可 自定义异常处理 定义统一异常处理 span
  • 萌新学习算法——并查集基础

    并查集 在算法设计中 xff0c 将一个集合和另外一个集合合并时 xff0c 就会用到并查集 假如不用并查集 xff0c 你可能会用到集合和列表来实现 xff0c 这样会使代码看起来很复杂 xff0c 而且执行效率不高 xff0c 下面用洛
  • linux中断及其底半部-s5p6818开发平台

    中断分为两个部分 xff1a 中断顶部 xff08 top half xff09 和中断底半部 xff08 bootom half xff09 一 中断顶部 xff08 top half xff09 中断上半部需要处理一下三种情况 xff1
  • Windows如何查看.db数据库文件

    从android应用导出的 db文件 xff0c 想在Windows电脑端看 xff0c 可以用SQLite Expert Professional这个软件查看 xff0c 网上说用FireFox的插件sqlite manager xff0
  • Ubuntu工具-01 UEX

    UltraEdit是Windows旗下一款流行的老牌文本 HEX编辑器 xff08 非开源 xff09 UltraEdit正被移植到Linux平台 该移植名为UEX xff0c 意即UltraEdit for Linux UltraEdit

随机推荐

  • Ubuntu工具-2 OBS Studio

    文章目录 1 下载并安装1 1 Flathub安装1 2 Snap安装1 3 PPA源方式安装1 3 1 检查OpenGL版本 xff0c 其版本必须高于 96 3 3 96 1 3 2 安装虚拟摄像机驱动1 3 3 安装ffmpeg库1
  • Docker build创建指定容器镜像

    Docker build xff1a Build an image from a Dockerfile 按照Dockerfile文件所定义内容创建临时性容器 xff0c 把Docker中所定义的每行命令在临时容器中执行 xff0c 然后生成
  • Ubuntu工具-03 VLC

    文章目录 1 安装VLC Media Player的方法1 1 apt安装1 2 snap安装 xff08 未测试 xff09 2 启动VLC Media Player并设置为默认媒体播放器 VLC Media Player xff08 V
  • MySQL笔记-07 常用函数

    文章目录 1 数学函数1 1 ABS1 2 CEIL和CEILIN1 3 FLOOR1 4 MOD1 5 ROUND1 6 TRUNCATE 2 字符串函数2 1 CONCAT2 2 CONCAT WS2 3 INSERT2 4 LOWER
  • SpringMVC-01 Web基础介绍

    文章目录 1 CGI1 1 CGI原理1 2 输入 出1 3 环境变量1 3 1 与请求相关的环境变量1 3 2 与服务器相关的环境变量1 3 3 与客户端相关的环境变量1 3 4 详细说明1 3 4 1 REQUEST METHOD 1
  • SpringMVC-02 MVC模式介绍

    文章目录 1 Java Web开发模型2 JSP 43 JavaBean开发模型 xff08 model1 xff09 3 MVC开发模式 xff08 model2 xff09 3 1 MVC模式基础3 1 1 模型 视图 控制器各部分的作
  • 系统架构师-科目1考点

  • 系统架构师-科目2考点

  • 系统架构师-科目3考点

  • Hive笔记-01 架构概述

    文章目录 1 概述2 Metadata Metastore的作用3 Metastore三种配置方式3 1 Hive配置参数说明3 1 1 基本配置参数3 1 2 其他配置参数 3 2 内嵌模式 xff08 Embedded xff09 3
  • Hadoop笔记-01概述

    文章目录 1 什么是大数据 xff1f 1 1 大数据计算模式及代表产品1 2 云计算与物联网1 2 1 云计算1 2 1 1 虚拟化1 2 1 2 分布式存储1 2 1 3 分布式计算1 2 1 4 多租户 1 3 物联网1 3 1 识别
  • Hadoop笔记-02 安装

    文章目录 1 VBOX安装CentOS71 1 安装VBOX软件1 2 下载CentOS7镜像文件1 3 初始化VBOX虚拟盘1 4 CentOS7网络配置1 5 CentOS7 yum源配置1 6 CentOS7 一般配置1 6 1关闭防
  • ffmpeg播放器实现详解 - 视频同步控制

    1 时间戳 时间戳的概念贯穿音视频开发始终 xff0c 重要性不言而喻 时间戳告诉我们在什么时候 xff0c 用多快的速度去播哪一帧 xff0c 其中 xff0c DTS decoding timestamp 告诉我们何时解码 xff0c
  • Ubuntu22.04 安装深度微信报错 依赖: libsasl2-2 (>= 2.1.27.1)

    现象 xff1a span class token punctuation span base span class token punctuation span pang 64 pang HP span class token funct
  • Ubuntu22.04更新后 点击深度微信无反应

    系统版本 xff1a Ubuntu 22 04 jammy内核 xff1a x86 64 Linux 5 15 0 53 genericdeepin wine6 stable 版本 xff1a 6 0 0 41 1 深度微信图标点击后 xf
  • MySQL笔记-08 索引

    文章目录 1 索引概述1 1 MySQL索引分类1 1 1 普通索引1 1 2 唯一性索引1 1 3 全文索引1 1 4 单列索引1 1 5 多列索引1 1 6 空间索引 2 创建索引2 1 在建立数据表时创建索引2 1 1 普通索引创建2
  • MySQL笔记-09 视图

    文章目录 1 视图概念1 1 概念1 2 作用 2 创建视图2 1 查看创建视图的权限2 2 创建视图的步骤2 3 创建视图的注意事项 3 视图操作3 1 查看视图3 1 1 DESCRIBE语句3 1 2 SHOW TABLE STATU
  • MySQL笔记-10 数据完整性约束

    文章目录 1 定义完整性约束1 1 实体完整性1 1 1 主键约束1 1 2 候选键约束 1 2 参照完整性1 3 用户定义完整性1 3 1 非空约束1 3 2 CHECK约束1 3 2 1 对列实施CHECK约束1 3 2 2 对表实施C
  • Linux命令行笔记-00 综述

    文章目录 1 Linux命令行简介1 1 Linux命令行的分类1 1 1 根据系统中作用来分类1 1 2 根据对象来分类 2 Linux命令行解释器2 1 命令行解释器shell2 1 1 核心程序2 1 2 公用程序shell2 1 3
  • Linux命令行笔记-01 文件管理-文件的建立、移动和删除

    文章目录 1 文件的建立 移动和删除1 1 96 cat 96 建立文件1 1 1 语法格式与参数1 1 2 示例 1 2 96 touch 96 建立文件1 2 1 语法格式与参数1 2 2 示例1 2 3 注意 1 3 96 ln 96