Linux命令——cp、rm、mv、touch、file、dir
cp
copy 拷贝文件
拷贝过程不指定目标文件名 则目标文件名和源文件名一样
[root@WebServer ~]# cp /91xueit/teacher.txt 51cto/
拷贝过程指定目标文件名称
[root@WebServer ~]# cp /91xueit/teacher.txt 51cto/teacher1.txt
[root@WebServer ~]# cp 51cto/teacher.txt 51cto/teacher1.txt /tmp
将51cto文件夹中扩展名是txt的文件拷贝到当前目录
[root@WebServer ~]# cp 51cto/*.txt .
将51cto文件夹拷贝到/tmp文件夹,-R 或 -r 递归复制目录及其子目录的所有内容
[root@WebServer ~]# cp -R 51cto/ /tmp
默认情况下,拷贝文件时文件权限会变化。只有管理员能够将文件拷贝 权限不变,使用-p
[root@51cto ~]# cp /home/wangyan/wangyan.txt ./
[root@51cto ~]# ll
total
-rw-------. root root May : anaconda-ks.cfg
-rw-r--r--. root root May : install.log
-rw-r--r--. root root May : install.log.syslog
-rw-r--r--. root root May : wangyan.txt
[root@51cto ~]# cp /home/wangyan/wangyan.txt ./ -p
cp: overwrite `./wangyan.txt'? y
[root@51cto ~]# ll
total
-rw-------. root root May : anaconda-ks.cfg
-rw-r--r--. root root May : install.log
-rw-r--r--. root root May : install.log.syslog
-rw-rw-r--. wangyan wangyan May : wangyan.txt
-d 保留文件的软链接属性
-a 保留所有属性
大家知道linux下复制目录可以通过,cp -r dirname destdir,但是这样复制的目录属性会发生变化,想要使得复制之后的目录和原目录完全一样,可以使用cp -a dirname destdir
-p:(小P)复制时保留mode、ownership、timestamps
-i : 覆盖时提示
-n 不覆盖已存在文件
-f:覆盖已经存在的目标文件而不给出提示
-u:只有源文件较目标文件新时复制
命令格式为:cp -u 源文件 目标文件
这个命令很实用,尤其是在更新文件时。如下图所示,只有源文件比目标文件新时,才会将源文件复制给目标文件,否则,及时执行了命令,也不会执行复制。
-s :创建文件的软链接
命令格式为:cp -s 源文件 目标文件
也可以用ln命令实现同样的功能。当一个文件路径太深(如下述的a/b/c/d/e/orginalFile.txt),访问起来十分不方便时,就会创建这个文件的软链接,使之访问起来更方便些。软链接就相当于windows上的快捷方式。

-l:创建文件的硬链接
rm
remove 删除
删除单个文件
[root@WebServer ~]# rm 51cto/teacher.txt
-r 递归删除51cto目录中的文件和文件夹,51cto目录不删
[root@WebServer ~]# rm -r 51cto/*
删除51cto目录
[root@WebServer ~]# rm -r 51cto
以上删除,会有提示,因为alias里面rm时rm -i的别名。-f 强制删除 没有提示
[root@WebServer ~]# rm -f /tmp/
-i:删除前逐一询问确认。通常Linux对rm进行了从命名,默认就把-i加上了
[root@localhost ~]# alias rm
alias rm='rm -i'
mv
move 移动文件 或 文件夹
https://www.cnblogs.com/MenAngel/p/5465162.html
-b:当文件存在时,覆盖前,为其创建一个备份。备份文件以~结尾
[root@localhost Document]# cat >myword <<EOF
> this is my word!
> EOF
[root@localhost Document]# cat >text <<EOF
> this is my text!
> EOF
[root@localhost Document]# mv -b myword text //在一个文件即将覆盖另一个文件时,默认是提醒的,所以加上-i参数和不加是一样的
mv:是否覆盖"text"? y
[root@localhost Document]# cat myword
cat: myword: 没有那个文件或目录
[root@localhost Document]# cat text
this is my word!
[root@localhost Document]# ll
总用量
drwxr-xr-x. root root 5月 : mytext //这里text里存的是前面myword的内容,text的内容备份到text~中,需要特殊软件才能查看
-rw-r--r--. root root 5月 : text
-rw-rw-r--. sunjimeng sunjimeng 5月 : text~
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。这样可以避免误将文件覆盖。默认是以alias别名的方式带-i参数
[root@localhost ~]# alias mv
alias mv='mv -i'
-n 不覆盖已存在文件
-f:强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-u:若目标文件已存在需移动的同名文件,且源文件比较新,才会更新文件
-t : 移动多个源文件到一个目录的情况,此时target在前,source在后。
mv dir/ anaconda-ks.cfg
-v:verbose
touch
能够改变文件的时间戳,touch文件一下,文件的3个时间都会改变。
最近一次访问时间
最近一次修改时间 改变文件的内容。 内容变化——>文件大小变化——>元数据变化
最近一次改变时间 元数据的改变 eg:文件名 大小 权限
单独更改access时间,-a,change时间也会跟着变
单独更改modify时间,-m,change时间也会跟着变
因此,也就没有参数单独修改change时间。
使用指定时间,而非当前时间更改modify时间。-t 或者 -d
[root@51cto ~]# touch -m -t 199312312359.59 wangyan.txt
[root@51cto ~]# stat wangyan.txt
File: `wangyan.txt'
Size: Blocks: IO Block: regular empty file
Device: 802h/2050d Inode: Links:
Access: (/-rw-rw-r--) Uid: ( / wangyan) Gid: ( / wangyan)
Access: -- ::36.776992594 +
Modify: -- ::59.000000000 +
Change: -- ::58.569981915 +
touch file时file不存在默认创建,file存在则修改3个时间。使用-c可以取消这种默认行为,即文件不存在也不创建
file
查看文件类型
https://www.cnblogs.com/Dodge/p/4278306.html
通常file可以告诉我们目标文件是ELF文件还是脚本文件(得知是脚本文件是通过脚本内部#!后面的信息判断的)
-b:列出文件辨识结果时,不显示文件名称。
[root@localhost ~]# file /usr/bin/sh
/usr/bin/sh: symbolic link to `bash'
[root@localhost ~]# file /usr/bin/sh -b
symbolic link to `bash'
-f :列出文件中文件名的文件类型
[root@localhost ~]# cat haha.txt
/usr/bin/cp
/usr/bin/gzip
[root@localhost ~]# file -f haha.txt
/usr/bin/cp: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., BuildID[sha1]=47c2259e084c64fb00ec01bda8a57c005e3516d5, stripped
/usr/bin/gzip: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., BuildID[sha1]=526d77ff7164870f948d8f97aaf0a888cc561b30, stripped
-L:查看对应软链接指向文件的文件类型
[root@localhost ~]# ll /usr/bin/sh
lrwxrwxrwx. root root Oct : /usr/bin/sh -> bash
[root@localhost ~]# file /usr/bin/sh
/usr/bin/sh: symbolic link to `bash'
[root@localhost ~]# file /usr/bin/sh -L
/usr/bin/sh: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., BuildID[sha1]=765c505bb8a234fcd64ede405fa7fcb25734f06a, stripped
-z:尝试去解读压缩文件的内容

--help:显示命令在线帮助
-version:显示命令版本信息
[root@51cto ~]# file /etc/passwd
/etc/passwd: ASCII text
[root@51cto ~]# file /bin/cat
/bin/cat: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., stripped
dir
功能和ls一样,知道就行,没啥人用
Linux dir command for beginners (10 examples)
What's the difference between “dir” and “ls”?
Linux命令——cp、rm、mv、touch、file、dir的更多相关文章
- Linux命令行下cp,rm,mv命令的使用
以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...
- Linux命令下,cp,rm,mv命令的使用
Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件对比两文件的新旧而予以更新, 以 ...
- Linux cp/rm/mv 强制覆盖
一.Linux下的cp/rm/mv强制覆盖 (一).反斜杠(\)临时取消别名 [root@fz ~]# \cp filename new/filename [root@fz ~]# (二).unali ...
- 每天一个Linux命令:rm(5)
rm rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变 注意:使用rm命令要格外小心.因为 ...
- 每天一个linux命令(8):rm
1.命令简介 rm(Remove file 删除目录或文件)删除文件,对于链接文件,只是删除整个链接文件,而原有文件保持不变. 2.用法 rm [选项]... 文件.. 3.选项 -f, –force ...
- 3、Linux基础--cp、mv、rm、alias、vi/vim命令
笔记 1.考试 1.判断网络是否通畅的命令 ping 2.定义系统提示组成的变量 PS1 3.Linux中目录从什么开始 根(/) 4.系统中目录路径类型有哪些,解释一下 绝对路径:以根目录作为参照物 ...
- 【改造Linux命令之rm - 删除文件或目录-】
用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比 ...
- (转)每天一个Linux命令(5): rm
http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html 昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和 ...
- 复制、移动和删除:cp, rm, mv
要复制文件,请使用cp(copy)命令.不过,cp命令的用途很多.除了单纯的复制之外,还可以建立连接文件(就是快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等.至于移动目录与文件,则使用 ...
随机推荐
- iOS技术面试05:UI控件
怎么解决缓存池满的问题 1> 优先移除使用次数比较少的对象 2> 优先移除缓存时间最长的对象(让年轻的活下来) 3> 优先移除占用内存比较大的对象 CAAnimation的层级结构 ...
- Oracle数据同步交换
一.为了解决数据同步汇聚,数据分发,数据转换,数据维护等需求,TreeSoft将复杂的网状的同步链路变成了星型数据链路. TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之 ...
- PHP反射API的使用、体会、说明
最近开发支付宝相关功能的时候,由于支付宝的SDK比较落伍,不支持composer的方式加载,使用三方的composer SDK又觉得不放心 为了简化代码的调用方式,使用PHP的反射类针对支付宝官方SD ...
- talend工具通过关键字来取得text文本中的数据
问题描述: 在文件夹中有多个text文本,通过关键字来取得text文本里面我所需要的数据,并出力到Excel里面.取得的数据,在text文本里面可能是多行的存在,并且在Excel里面是一行的存在. 解 ...
- Jmeter plugins 之 Perfmon Metrics Collector(服务器性能监控)
客户端(Jmeter端) 1.安装plugins manager,然后安装 2.添加listener-(第1步成功后才可看到此功能) 服务端:(要监控的服务器) 1.下载ServerAgent,并 ...
- Navicat通过跳板机连接MySQL(2层跳转)
情景描述,公司开发数据库部署在内网,而且这个开发数据库有连接需要有IP验证,就是只能在内网的某个IP才能连接,所以每次连接都会先连接外网能访问的跳板机,在从跳板机上ssh到内网上的A机器,在从A机 ...
- 记录学习Python的第一天
这是我的第一篇博客,也是我学Python的第一天. 写这篇博客主要目的是为了记下我学习Python的过程以及所学到的知识点.我所学的是Python3版本,我所学的内容有如下几点: 1.python3中 ...
- 【贪心】洛谷2019 OI春令营 - 普及组 作业
[P3817 小A的糖果 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖. [贪 ...
- Scratch第四十九讲:完美的下落和反弹
做了很多小游戏,都会遇到碰撞和反弹的情况,CC哥大多时候也都是简单处理一下,包括之前的讲座也有提过,但是没有认真的讲解过.今天就专门为这个主题做一讲,把这部分内容彻底讲透,大家可以一起探讨一下. 是不 ...
- [ZJOI2007]捉迷藏 (线段树,括号序列)
大意: 给定树, 要求维护一个点集, 支持删点添点, 询问点集直径. 本题做法比较多. 一个显然的做法是, 线段树维护区间直径, 然后根据点集直径的性质, 合并后直径端点一定是四个端点其中两个, 枚举 ...