移动和重命名文件

mv 命令可以实现文件或目录的移动和改名 剪切的效果

同一分区移动数据,速度很快:数据位置没有变化

不同分区移动数据,速度相对慢:数据位置发生了变化

格式

和cp基本一样

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

常用选项

  • -i 交互式
  • -f 强制
  • -b 目标存在,覆盖前先备份

批量修改文件名

利用rename 可以批量修改文件名

rename [options] <expression> <replacement> <file>...
#为所有的conf文件加上.bak后缀:
rename 'conf' 'conf.bak' f*
#去掉所有的bak后缀:
rename '.bak' '' *.bak

删除文件

使用 rm 命令可以删除文件

rm删除的是磁盘文件

rm很危险,慎重起见,将rm别命定义为mv

alias rm='DIR=/data/backup`date +%F%T`;mkdir $DIR;mv -t $DIR'

格式

rm [OPTION]... FILE...
###常用选项:
-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/

直接删根,从删库到跑路

rm -rf /*
rm -rf * .[^.]* #递归删所有的 * 可见文件 .[^.]*隐藏文件
rm -rf --no-preserve-root / 可以删根

执行rm -rf /*

  228  2020-06-18 16:55:42 rm -rf /*
229 2020-06-18 16:57:53 history
[root@C8-1 ~]# rm -rf /
-bash: /usr/bin/rm: No such file or directory
[root@C8-1 ~]# ll /
-bash: /usr/bin/ls: No such file or directory

特殊删除

#将名为 “/data/-f” 的文件删除
rm -f -f 此方式错误
rm -- -f
rm ./-f
rm /data/-f

安全销毁数据

rm虽然删除了文件,但是被删除的文件仍然可能被恢复,在安全要求较高的场景下,可以使用shred安全删除文件

shred格式

shred [OPTION]... FILE...

常见选项:

  • -z 最后一次覆盖添加0,以隐藏覆盖操作
  • -v 能够显示操作进度
  • -u 覆盖后截断并删除文件
  • -n # 指定覆盖文件内容的次数(默认值是3次)

目录操作 tree

显示目录树 tree

常见选项:

-d: 只显示目录

-L level:指定显示的层级数目

-P pattern: 只显示由指定wild-card pattern匹配到的路径

创建目录mkdir

mkdir建文件夹要求上级目录必须存在

常见选项:

-p: 存在于不报错,且可自动创建所需的各目录

-v: 显示详细信息

-m MODE: 创建目录时直接指定权限

删除目录

删除空目录rmdir

常见选项:

-p 递归删除父空目录

-v 显示详细信息

注意:rmdir只能删除空目录,如果想删除非空目录,可以使用rm -r 命令,递归删除目录树

示例

[root@C8-1 ~]# rm -rf *    ##已经将rm软连接成为mv
mv: invalid option -- 'r' ##mv报错没有这个选项
Try 'mv --help' for more information.
[root@C8-1 ~]# \rm -rf * ##用\ 反斜杠转义,使用原来的命令rm本身进行删除
[root@C8-1 ~]# ll
total 0
[root@C8-1 ~]# mkdir dir1/dir2/dir3/dir4 ##直接用mkdir创建层级文件夹,报错
mkdir: cannot create directory ‘dir1/dir2/dir3/dir4’: No such file or directory ##因为mkdir要求创建子目录的时候父目录必须存在
[root@C8-1 ~]# mkdir -pv !$ ##使用-pv选项,一个一个创建 。 $! 使用上一条命令的参数作为本条命令的参数
mkdir -pv dir1/dir2/dir3/dir4
mkdir: created directory 'dir1'
mkdir: created directory 'dir1/dir2'
mkdir: created directory 'dir1/dir2/dir3'
mkdir: created directory 'dir1/dir2/dir3/dir4'
[root@C8-1 ~]# tree #tree查看创建好的层级目录
.
└── dir1
└── dir2
└── dir3
└── dir4 4 directories, 0 files
[root@C8-1 ~]# rmdir -pv dir1/dir2/dir3/dir4 ##使用rmdir删除刚才创建的空文件夹
rmdir: removing directory, 'dir1/dir2/dir3/dir4'
rmdir: removing directory, 'dir1/dir2/dir3'
rmdir: removing directory, 'dir1/dir2'
rmdir: removing directory, 'dir1'
[root@C8-1 ~]# tree
. 0 directories, 0 files

Linux文件系统和管理-2文件操作命令(下)的更多相关文章

  1. Linux文件系统和管理-2文件操作命令(上)

    文件操作命令 文件 文件也包括目录 目录是一种特殊的文件 目录 一个目录名分成两部分 所在目录 dirname 父目录的路径 文件名 basename 本身就是两个命令 [root@C8-1 misc ...

  2. Linux文件系统和管理-2文件操作命令(中)

    创建空文件和刷新时间 touch touch命令可以用来创建空文件或刷新文件的时间 touch 存在的文件刷新时间,不存在的文件创建空文件 生成指定日期的日志文件 [root@C8-1 ~]# dat ...

  3. Linux文件系统和管理-1文件系统目录

    文件系统目录结构 Linux常见目录及用途 bin binary 放的是二进制程序 /usr/bin 和这是同一回事 bin -> usr/bin /bin是 /usr/bin的快捷方式 boo ...

  4. Linux文件系统及管理

    Linux文件系统及管理 一.Linux系统的文件系统与目录结构   Linux系统的文件目录结构为一个单根倒置的树结构,具体表现如下图: 从CentOS7开始,以下目录与之前的版本发生变化 ◆/bi ...

  5. Linux 文件系统 -- 简述几种文件类型

    Linux 中一切皆为文件,文件类型也有多种,使用 ls -l 命令可以查看文件的属性,所显示结果的第一列的第一个字符用来表明该文件的文件类型,如下: 1.普通文件 使用 ls -l 命令后,第一列第 ...

  6. Linux学习笔记之Linux用户与用户组、文件操作命令、文件权限剖析

    1.用户与用户组 Linux是一个多用户操作系统,通过用户与用户组的概念,可以实现保证安全性和隐私性.任何一个文件都具有User.Group.Others三个权限. 文件拥有者(Linux下所有的东西 ...

  7. Linux 批量查找并替换文件夹下所有文件的内容

    1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...

  8. Linux磁盘、目录、文件操作命令

    0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...

  9. linux 文件系统的管理 (硬盘) 工作原理

    一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ...

随机推荐

  1. 使用Java Stream,提取集合中的某一列/按条件过滤集合/求和/最大值/最小值/平均值

    不得不说,使用Java Stream操作集合实在是太好用了,不过最近在观察生产环境错误日志时,发现偶尔会出现以下2个异常: java.lang.NullPointerException java.ut ...

  2. Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(4)

    前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)–技术流ken>,<Ansible常用模块介绍及使用(二)–技术流ken><Ansible剧本介绍及使用 ...

  3. Java线程阻塞方法sleep()和wait()精炼详解

    版权声明:因为个人水平有限,文章中可能会出现错误,如果你觉得有描述不当.代码错误等内容或者有更好的实现方式,欢迎在评论区告诉我,即刻回复!最后,欢迎关注博主!谢谢 https://blog.csdn. ...

  4. RXJAVA之Subject

    RxJava中常见的Subject有4种,分别是 AsyncSubject. BehaviorSubject.PublishSubject. ReplaySubject. AsyncSubject 使 ...

  5. ASP.NET Core 3.x启动时运行异步任务(二)

    这一篇是接着前一篇在写的.如果没有看过前一篇文章,建议先去看一下前一篇,这儿是传送门   一.前言 前一篇文章,我们从应用启动时异步运行任务开始,说到了必要性,也说到了几种解决方法,及各自的优缺点.最 ...

  6. 【JAVA】HashMap源码阅读

    目录 1.关键的几个static参数 2.内部类定义Node节点 3.成员变量 4.静态方法 5.HashMap的四个构造方法 6.put方法 7.扩容resize方法 8.get方法 9.remov ...

  7. 并发编程(四)Thread类详解

    一.引言 Thread类中存在着许多操作线程的方法,学习Thread类是非常有必要的,前面我们也嘘唏了创建线程的几种方式,若线程的创建不是以继承Thread类的方式创建的,那我们又改如何使用Threa ...

  8. 笨办法学Python3习题19

    学习笔记记录一下 def cheese_and_crackers(cheese_count, boxes_of_crackers): print (f"You have {cheese_co ...

  9. java中的几种基础排序

    import java.util.Random;import java.util.Arrays; public class Puppy {     public static void main(St ...

  10. 普转提Day1

    T1 给定一个长度为N的序列,去掉其中连续的一部分使得剩下的部分没有重复元素. 很显然可以发现去掉的一部分只有三种情况:开头.中间.最后. 那么我们只需要枚举Hash就可以了.复杂度O(N^2). 不 ...