文件管理命令 | 学习笔记

简介: 快速学习文件管理命令。

开发者学堂课程【Linux文件管理命令:文件管理命令】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/591/detail/8343


文件管理命令

 

内容介绍

一、复制文件和目录

二、练习

三、移动和重命名文件

四、删除


一、复制文件和目录

1)命令

u cp [OPTION].. [-T] SOURCE DEST

1   [root@centos7 data]# ll /etc/fstab

2   -rw-r--r--. 1 root root 595 Sep 19 19:44/etc/fstab

3   [root@centos7 data]# cp/etc/fstab /data/fstab.bak

4   [root@centos7 data]# 17 /etc/fstab/data/fstab.bak

5   -rw-r--r--1 root root 595 Sep24 18:58/data/fstab.bak

6   rw-r--r--.1 root root 595 Sep1919:44/etc/fstab

u cp [OPTION]... SOURCE... DIRECTORY

1   [root@centos7 data]# cp /etc/fstab /etc/profile /root/anaconda-ks.cfg

2   [root@centos7 data]# ls

3   anaconda-ks.cfg fofstab fstab.bak profile

4   [root@centos7 data]# cp-t/data /etc/bashrc /etc/motd

5   [root@centos7 data]# ls

6   anaconda-ks.cfg bashrc fo fstab fstab.bak motd profile

7   [root@centos7 data]# cp /etc/issue /etc/

8   Display all 283 possibilities?(y or n)

u cp [OPTION]... -t DIRECTORY SOURCE...

u cp SRC DEST

2SRC 是文件:

l  如果目标不存在:新建 DEST,并将 SRC 中内容填充至 DEST

l  如果目标存在:

ü  如果 DEST 是 文件:SRC 中的内容覆盖至 DEST (基于安全,建议为 cp 命令使用-i选项)

ü  如果 DEST 是目录:

DEST 下新建与原文件同名的文件,并将 SRC 中内容填充至新文件中

目标源

不存在

存在且为文件

存在且为目录

一个文件

新建 DEST ,并将 SRC 中内容填充至DEST 

SRC 中的内容覆盖至 DEST 

注意数据丢失风险! 建议用-i选项

DEST 下新建与原文件同名的文件, 并将SRC中内容填充至新文件中

多个文件

提示错误

提示错误

在 DEST 下新建与原文件同名的文件, 并将原文件内容复制进新文件中

目录

须使用-r选项

创建指定 DEST 同名录,复制 SRC 目录中所有文件至 DEST 

 

提示错误

在 DEST 下新建与原目录同名的目录, 并将SRC中内容复制至新目录中

 

 

3cp 常用选项

u -i:覆盖前提示 -n 不覆盖,注意两者顺序

u -r-R:递归复制目录及内部的所有内容

u -d:--no-dereference--preserv=links 不复制原文件,只复制链接名

u -b--backup=numbered 目标存在,覆盖前先备份加数字后缀

u -a: 归档/备份(archive),相当于-dR--preserv=all

1   [root@centos7 data]# cp/root/anaconda-ks.cfg f1

2   [root@centos7 data]# ll /root/anaconda-ks.cfg f1

3   -rw------1 root root 1895 Sep 24 19:21 f1

4   -rw------. 1 wang root 1895 Sep 24 18:18/root/anaconda-ks.cfg

5   [root@centos7 data]# cp-a/root/anaconda-ks.cfgf2

6   [root@centos7 data]# ll -a/root/anaconda-ks.cfg f2

7   -rw------. 1 wang root 1895 Sep 24 18:18 f2

8   -rw------. 1 wang root 1895 Sep 24 18:18/root/anaconda-ks.cfo

u -v--verbose 显示详细的复制过程

1   [root@centos7 data]# cp-av /etc /data

u --preserv[=ATTR_LIST]

ü  mode: 权限

ü  ownership: 属主属组

ü  timestamp:

ü  links

ü  xattr

ü  context

ü  All

练习:

1   [root@centos7 data]# ll /etc/shadow

2   -----------1. root root 1339 Sep 21 16:11 /etc/shadow

3   [root@centos7 data]# cp-p/etc/shadow

4   [root@centos7 data]# ll /etc/shadow shadow

5   -----------1. root root 1339 Sep 21 16:11 /etc/shadow

6   -----------1 root root 1339 Sep 21 16:11 shadow

u -u--update 只复制源比目标更新文件活目标不存在的文件

1   [root@centos7 data]# ll f1

2   -rw------- 1 root root 1895 Sep 24 19:21 f1

3   [root@centos7 data]# cp-u f1 f2

4   cp:overwrite 'f2'?y

5   [root@centos7 data]# ll f2

6   -rw----- --. 1 wang root 1895 Sep 24 19:30 f2

7   [root@centos7 data]# ll f1 f2 -rw----

8   -rW----. e.1 mong root 1895 sep 24 19:30 f2

需要注意的是,cp 命令只适合复制普通的文件,无法复制特殊文件(如硬盘文件等)

 

二、练习

1、定义别名命令 baketc,每天将 /etc/ 目录下所有文件,备份到/app独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd,备份过程可见

1   [root@centos7 data]# alias baketc = ‘cp- av/etc//data/backup ’date+%F

2、创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限

1   [root@centos7 data]# cp -rp /root/ /data/rootdir

 

三、移动和重命名文件

u mv [OPTION]... [-T] SOURCE DEST

u mV [OPTION]... SOURCE... DIRECTORY

u mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:

i 交互式

-f: 强制

-b: 目标存在,覆盖前先备份

 

改名:[root@centos7 data]# mv f1 f2

移动:[root@centos7 data]# mv f2 /root/

边移动边改名:[root@centos7 data]# mv /root/f2/data/f3

 

四、删除

u rm [OPTION]... FILE...(慎用,尽可能不要执行,本部分仅供学习,需要删除的时候改用 mv 移动文件)

u 常用选项:

-i 交互式

-f  强制删除

-r 递归,rm 不能直接删文件夹,用-r就可以

--no-preserve-root 删除/根目录

u 示例:

rm -rf  /*

1   [root@centos7 data]# rm f4

2   [root@centos7 data]# \rm  f1*

3   [root@centos7 data]# rm -f  f

4   [root@centos7 data]# rm -r  backup2018-09-24/

5   [root@centos7 data]# rm -rf  backup2018-09-24/(删除整个文件夹)

6   [root@centos7 data]# rm -rf  /

7   [root@centos7 data]# rm -rf  / --no-preserve-root

相关文章
|
Linux 数据安全/隐私保护
Linux指令入门-文件管理
本教程介绍Linux系统中常用的磁盘管理命令。
|
Unix Linux 开发工具
|
Unix Linux Shell
Linux命令---文件管理1
Linux命令---文件管理
95 0
|
人工智能 安全 网络协议
Linux命令---文件管理4
Linux命令---文件管理4
130 0
|
Linux 数据库
Linux命令---文件管理3
Linux命令---文件管理3
103 0
|
自然语言处理 安全 前端开发
Linux命令---文件管理2
Linux命令---文件管理2
108 0
|
机器学习/深度学习
第三章 目录和文件管理
第三章 目录和文件管理
|
存储 安全 Unix
第5章 文件管理
第5章 文件管理
270 0
|
存储
六、文件管理
六、文件管理
183 0
六、文件管理