Linux基础文件管理命令之rm,mv,cp,touch

在linux系统下,一切皆文件,就连光盘也看作文件,要使用光盘首先要先建立一个目录,然后通过挂载来操作这个光盘,就连鼠标,键盘都是被看作文件。所以学习文件的相关操作命令是很重要的。

rm命令

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件保持不变。

注:rm是一个危险的命令,使用的时候要特别小心,尤其对于新手,否则整个系统就会毁在这个命令,比如以root身份在根目录下执行rm * rf对linux系统而言会是致命的。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

1)命令格式

rm [选项]    FILENAME

2)命令功能

删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录。

3)命令参数

-f:强制删除;忽略不存在的文件,不给提示。

-i:进行交互式删除,即在删除时会提示你是否真的需要删除

默认是没有提示的,之所以有提示是因为系统默认使用了命令别名一般只有root用户有普通用户不具备这项功能,也是系统的安全措施,具体的可以通过alias命令查看(如果命令使用了命令别名可以通过‘\‘取消命令别名,不含引号)

-r:指示rm将参数中列出的全部目录及其子目录均递归的删除

-v:显示命令执行的过程

4)常用范例

例一:删除/tmp目录下的test的目录

[[email protected] tmp]# mkdir test
[[email protected] tmp]# rm test
rm: cannot remove directory `test‘: Is a directory        #默认不可以删除目录
[[email protected] tmp]# ls
gconfd-root  mapping-root  test
[[email protected] tmp]# rm -r test
rm: remove directory `test‘? y
[[email protected] tmp]# ls
gconfd-root  mapping-root

例二:删除/tmp目录下的mnt子目录及其子目录,并且不需要一一确认

[[email protected] tmp]# tree mnt/
mnt/
|-- m
|   `-- x
`-- y

3 directories, 0 files
[[email protected] tmp]# rm -rf mnt
[[email protected] tmp]# ls
gconfd-root  mapping-root

mv命令

mv命令是move的缩写,可以用来移动文件或者将文件改名

1)命令格式:

mv    [选项]    源文件或目录    目标文件或目录

2)命令功能:

视mv命令中的第二个参数类型的不同(是目标文件还是目标目录),当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除。

3)命令参数:

-b:若需要覆盖文件,则覆盖前先行备份

-f:强制复制,如果目标文件已经存在,不会询问而直接覆盖

-i:若文件已经存在,就会询问是否覆盖

-u:若目标文件已经存在,且source比较新,才会更新

-t:将所有参数指定的源文件或目录移动至指定目录

4)常用范例:

例一:将test.txt重命名为test.log

[[email protected] tmp]# ls
gconfd-root  mapping-root  test.txt
[[email protected] tmp]# mv test.txt log.txt
[[email protected] tmp]# ls
gconfd-root  log.txt  mapping-root

例二:将a.txt,b.txt,c.txt文件移动至/tmp/txt目录中去

[[email protected] /]# mv -t /tmp/txt/ a.txt b.txt c.txt 
[[email protected] /]# ls /tmp/txt/
a.txt  b.txt  c.txt

例三:文件被覆盖钱做简单备份

[[email protected] txt]# cat a.txt 
1234567890
[[email protected] txt]# cat b.txt 
abcdefghi
[[email protected] txt]# mv -b a.txt b.txt
mv: overwrite `b.txt‘? y
[[email protected] txt]# ls -l
total 20
-rw-r--r-- 1 root root 11 Aug  4 14:57 b.txt
-rw-r--r-- 1 root root 10 Aug  4 14:57 b.txt~
-rw-r--r-- 1 root root  0 Aug  4 14:45 c.txt
[[email protected] txt]# cat b.txt
1234567890
[[email protected] txt]# cat b.txt~
abcdefghi

5)扩展:

-b 不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。

--backup该选项指定如果目标文件存在时的动作,共有四种备份策略:

1.CONTROL=none或off : 不备份。

2.CONTROL=numbered或t:数字编号的备份

3.CONTROL=existing或nil:如果存在以数字编号的备份,则继续编号备份m+1...n:

执行mv操作前已存在以数字编号的文件log2.txt.~1~,那么再次执行将产生log2.txt~2~,以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。

4.CONTROL=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。

cp命令

cp命令用来复制文件或者目录,是linux系统中最常用的命令之一。

1)命令格式

cp    [选项]     源文件或目录    目标文件或目录

2)命令功能

将源文件复制到目标文件,或将多个源文件复制至目标目录。

3)命令参数

-i:覆盖前询问

-r:复制目录及目录内的所有项目

-f:覆盖已经存在的文件而不提示

-a:归档复制,常用于备份

-p:源目录或文件的属性全部保留

-v:显示命令执行的过程

4)常用范例

例一:将多个文件复制到同一目录下

[[email protected] txt]# cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/ -v
`/etc/passwd‘ -> `/tmp/passwd‘
`/etc/inittab‘ -> `/tmp/inittab‘
`/etc/rc.d/rc.sysinit‘ -> `/tmp/rc.sysinit

例二:将test.rb 复制到test目录,并且保留原文件的属性

-rw-r--r-- 1 root root     0 Aug  4 15:33 test.rb
drwxr-xr-x 2 root root  4096 Aug  4 14:59 txt
[[email protected] tmp]# cp -p test.rb test
[[email protected] tmp]# ls -l test
total 4
-rw-r--r-- 1 root root 0 Aug  4 15:33 test.rb

touch命令

touch命令不常用,一般在使用make的时候可能会用到,用来修改文件的时间戳,或者新建一个不存在的文件。

1)命令格式

touch    [选项]    FILENAME

2)命令功能

将文件的访问时间和修改时间改为当前时间。

不存在的文件将会被创建为空文件,除非使用-c

3)命令参数

-a:只更改访问时间

-c:不创建任何文件

-m:只更改修改时间

-r:指定某文件的时间属性而非当前时间

-t:使用[[CC]YY]MMDDhhmm[.ss]格式的时间而非当前时间

4)常用范例

例一:将a.txt的时间改为当前时间,文件不存在则建之

[[email protected] txt]# touch a.txt
[[email protected] txt]# ll
total 24
-rw-r--r-- 1 root root  0 Aug  4 15:50 a.txt
-rw-r--r-- 1 root root 11 Aug  4 14:57 b.txt
-rw-r--r-- 1 root root 10 Aug  4 14:57 b.txt~
-rw-r--r-- 1 root root  0 Aug  4 14:45 c.txt

例二:将c.txt的时间改为8月1号1点零1分

-rw-r--r-- 1 root root  0 Aug  4 14:45 c.txt
[[email protected] txt]# touch -ct 08010101 c.txt
[[email protected] txt]# ll
total 24
-rw-r--r-- 1 root root  0 Aug  4 15:50 a.txt
-rw-r--r-- 1 root root 11 Aug  4 14:57 b.txt
-rw-r--r-- 1 root root 10 Aug  4 14:57 b.txt~
-rw-r--r-- 1 root root  0 Aug  1 01:01 c.txt

例三:将c.txt的时间改为和b.txt的一样

-rw-r--r-- 1 root root 11 Aug  4 14:57 b.txt
-rw-r--r-- 1 root root 10 Aug  4 14:57 b.txt~
-rw-r--r-- 1 root root  0 Aug  1 01:01 c.txt
[[email protected] txt]# touch -r b.txt c.txt
[[email protected] txt]# ll
total 24
-rw-r--r-- 1 root root  0 Aug  4 15:50 a.txt
-rw-r--r-- 1 root root 11 Aug  4 14:57 b.txt
-rw-r--r-- 1 root root 10 Aug  4 14:57 b.txt~
-rw-r--r-- 1 root root  0 Aug  4 14:57 c.txt

Linux基础文件管理命令之rm,mv,cp,touch

时间: 2024-12-18 17:41:40

Linux基础文件管理命令之rm,mv,cp,touch的相关文章

Linux基础文件管理命令之ls,cd

Linux中提供了大量的命令,使用他们可以简化我们的工作,也许在图形化界面中要点击鼠标十几下操作,而在linux系统中一条命令就可以轻松解决.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统,就必须从Linux命令学起. linux系统中的命令格式一般如下: 命令格式:   命令  选项  参数     选项:       短选项: -       多个选项可以组合:-a -b = -ab       长选项: -- 参数:命令的作用对象 下面主要介绍ls和cd命

菜鸟学Linux命令:cd rm mv cp pwd 目录操作

文件和目录操作是必须掌握的. pwd命令 pwd命令用于打印当前目录. cd命令 Linux最基本的操作. 命令格式cd [目录名] 切换当前目录至dirName 参数规则1.返回上一级目录cd ..2.返回系统根目录cd /3.进入当前用户主目录“当前用户主目录”和“系统根目录”是两个不同的概念.进入当前用户主目录有两个方法.直接使用 cd或者 cd ~4.跳转到指定目录跳转到指定目录,从根目录开始,目录名称前加 / cd /data/jdk7/当前目录内的子目录直接写名称即可cd Music

Linux基础文件管理命令

Linux上的文件管理类命令有哪些,其常用的使用方法及其相关的示例演示. 1.ls:显示目录文件 -a:显示所有文件,包括隐藏文件 -A:显示所有文件,包括隐藏文件,但是不包含当前目录和父级目录 -l:列出长数据串,包含文件的属性.权限.所有者.所属组.大小等等 -d:配合-l一起使用,查看目录自身属性(不是目录内部的文件列表) 2.cd:切换目录 cd / #切换到根目录 cd(cd ~) #切换到当前用户的家目录 cd - #切换到上一次所在的目录 cd .. #切换到父级目录 3.pwd:

linux 基本文件管理命令

Linux基本文件管理命令 一..cp [OPTION]... [-T] 1>.SOURCE   DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... 2>.cp  SRC  DEST 2.1>SRC 是文件 如果目标文件不存在:新建DEST,并将src中内容填充至DEST中: 如果目录文件存在: 如果DEST是文件,SRC中的内容覆盖至DEST: 此时建议cp命令使用-i选项: 如果D

小猿圈解析Linux常用文件管理命令都有哪些?

对于刚开始学习linux的同学,很多都是比较陌生的,打开文件的速度过慢影响很多,针对这个情况,小猿圈Linux讲师整理了一份linux常用文件管理命令,希望对你正在自学linux的你有所帮助. 一.文件管理基本命令 1.pwd pwd显示当前的工作目录(显示当前shell CWD的绝对路径) 用法:pwd [option] 选项: -P显示真实物理路径 -L显示链接路径(默认) 拓展: ?每个shell和系统进程都有一个当前的工作目录 ?绝对路径:以正斜杠开始 完整的文件的位置路径 可用于任何想

linux 基础与命令

常见的UNIX AIX IBM HP-UX HP solaris SUN 常见的Linux fedora RadHat CentOS SUSE gentoo mandriva turbolinux RHEL enterprise www.kernel.org debian Ubuntu liunx 内容即文件 严格区分大小写 多数文件不以扩展名区分文件类型,靠权限. 主分区 最多四个(主分区+扩展分区) 扩展分区 最多一个,不能格式化.不能写入数据,只包含逻辑分区 逻辑分区 文件系统 linux

【系统知识点】linux基础&优化命令

Xshell上传下载服务器的文件: yum -y install lrzsz sysstat//安装对应软件 sz XXXX//下载 rz XXXX//上传 创建用户: Useradd vrfxie //创建用户 -c comment 指定一段注释性描述. -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录. -g 用户组 指定用户所属的主用户组. -G 用户组,用户组 指定用户所属的附加组. -s Shell文件 指定用户的登录Shell. #可以设置为/sbin

Linux基础tree命令

tree命令以树状图列出文件目录结构.不过某些Linux上(Centos 6.4)没有tree命令,本文将介绍安装方法. 常用参数: tree -d 只显示目录. tree -L 1 只显示第一层目录. [[email protected] tree-1.7.0]# tree -bash: tree: command not found 安装tree命令: [[email protected] 下载]# tree -bash: tree: command not found 到ftp://mam

Linux 重命名命令 rename 和 mv 详解

刚学linux时,对文件重命名脑袋里立马呈现了rename命令,但却用不起来.G了一下,仍是一知半解,而且发现很多人对它也是很陌生!还有部分童鞋说直接使用mv,哎,mv还真管用,但老感觉命令名咋就那么不顺眼呢! 我们来man下吧,先man mv: mv - move (rename) files mv不仅有转移的功能,确实有重命名的含义,语法简单可理解为: mv [path/]oldfilename [path/]newfilename 但只能是重名为当个文件. 我们再来man rename: