花了两个小时的时间,把文件和文件夹相关的常用命令:创建、删除、移动、复制、查找、重命名在linux上测试了一把,总结下来。文件夹的这些基本操作是要多注意的,一不小心就达不到你想要的效果。

文件夹操作:

1. 新建目录

mkdir warehouse/config (warehouse目录已经存在时,创建config目录)

mkdir -p warehouse/config (warehouse目录不存在,使用-p参数创建所有不存在的目录 p即parent父目录之意)

2. 删除目录

rm warehouse (warehouse为空目录时,删除warehouse空目录)

rm -r warehouse (warehouse目录非空时,使用-r参数递归删除目录及目录下所有内容 r即recursive递归之意)

3. 查找目录

find . -name “ware*” -type d (查找当前目录下及所有子目录下名字以ware开头的所有目录 点号代表查找当前目录,可以省去,默认查找当前目录 使用-type d 代表查找目录 d即directory之意)

文件操作:

1. 新建文件

touch demo.txt (在当前目录下创建文件demo.txt)

查了一些资料,没有找到如果需要创建的文件的父目录不存在,怎么用一条命令同时创建目录和文件。目前的解决方法是先创建目录,再创建文件。如下所示:

需求:创建文件filedemo/demo/a.txt,其中filedemohe和demo目录都不存在

mkdir -p filedemo/demo; cd filedemo/demo; touch a.txt (可以这样直接输入一行,其实是三个命令;也可以三个命令一个一个执行)

2. 删除文件

rm demo/a.txt (删除demo目录下的a.txt文件)

3. 查找文件

find . -name “a*” -type f (查找当前目录下及所有子目录下名字以a开头的文件)

4. 查看文件内容

cat

more

less

head

tail

具体请参考我的另一篇博客:Linux查看文本文件内容命令总结

移动

文件:

mv demo.txt file/demo_1.txt (将当前目录下的demo.txt文件移动至file目录下并命名为demo_1.txt,如果demo_1.txt已经存在,覆盖之)

mv demo.txt file/ (同上)

文件夹:

mv cws_demo file/ (将cws_demo目录移动至file目录下)

mv cws_demo/* file/ 或者 mv cws_demo/. file/ (将cws_demo文件夹下的所有内容移动至file目录下,但不包括demo目录本身)

复制

文件夹:

1)cp -r 源目录 目标目录 (当目标目录下存在同名的目录时,cp命令会将源目录中的文件和目录递归的放入已经存在的目录中,如果有同名的文件,则覆盖掉;目标目录中之前存在的文件和目录不会被删除)

2)cp -r cws_demo/* cws_demo1 或者 cp -r cws_demo/. cws_demo1(将cws_demo文件夹下的全部内容复制到cws_demo1文件夹下,不包括cws_demo目录本身)

文件:

cp 源文件 目标目录|目标文件 (当目标目录下存在同名文件或目标文件已经存在时,cp命令会覆盖掉原来的文件)

重命名

文件:

mv demo.txt demo_1.txt (将当前目录下的demo.txt文件重命名为demo_1.txt,如果demo_1.txt已经存在,则覆盖之)

文件夹:

mv cws_demo cws_demo1 (将cws_demo重命名为cws_demo1,如果cws_demo1已经存在,则系统会将cws_demo移动至cws_demo1目录下;此时,可以使用cp -r命令将cws_demo目录中的内容复制到cws_demo1中)

文件或文件夹中存在空格时的处理

如果文件或文件夹中存在空格,可以使用双引号“”标明是一个整体,也可以使用反斜杠\表示后面的字符不代表其他意思,只代表本意。如下图所示:

touch “hehe hehe.txt” —–创建文件

mkdir demo\ demo —–创建文件夹

Linux下文件和文件夹操作命令详解的更多相关文章

  1. 【大数据】Linux下安装Hadoop(2.7.1)详解及WordCount运行

    一.引言 在完成了Storm的环境配置之后,想着鼓捣一下Hadoop的安装,网上面的教程好多,但是没有一个特别切合的,所以在安装的过程中还是遇到了很多的麻烦,并且最后不断的查阅资料,终于解决了问题,感 ...

  2. Linux操作系统的安装以及基本的操作命令详解

    背景:使用的虚拟机安装Linux  虚拟机使用的是VMware  Linux版本:CentOS-6.7-X86    自行下载:CentOS-6.7-x86_64-bin-DVD1.iso 打开VMw ...

  3. Linux下rz命令使用的实例详解

    Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...

  4. Linux 下编译Android-VLC开源播放器详解(附源码下载)

    这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库.Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库.我11年的时 ...

  5. Linux下同步工具inotify+rsync使用详解

    1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这 ...

  6. Linux下的搜索查找命令的详解(find)

    4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项 ...

  7. Linux下的crontab定时执行任务详解

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“cr ...

  8. (转)Linux下同步工具inotify+rsync使用详解

    原文:https://segmentfault.com/a/1190000002427568 1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步 ...

  9. Linux下 CentOS 7 对比6 改动详解 及 系统安装

    系统基础服务变化 操作系统 本文CentOS7 为最新版7.5 本文CentOS6 为6.9 操作 Centos6 Centos7 对比 自动补全 只支持命令.文件名 支持命令.选项.文件名 文件系统 ...

随机推荐

  1. Struts2--拦截器Interceptor

    拦截器是的我们可以在方法的执行前后定义执行的操作.可以作为一个非常有力的工具在数据验证,属性设置,安全,日志等等方面. 拦截器可以链接起来形成一个拦截器栈.框架会按照拦截器定义的顺序依次调用这些拦截器 ...

  2. remove、erase

    remove: remove不是真正的删除,删除后数量并没有变化. 它接收一对迭代器,而不是一个容器,所以不知道它作用于哪个容器. 而且没有办法从一个迭代器获取对应于它的容器 实现 remove会用需 ...

  3. 【IOI1998】Picture(扫描线+线段树)

    问题来源:IOI1998 D2T1 题意:就是在一个平面内给出n个矩形,叫你计算将这些矩形合并以后,新图形的周长. 例如: 上图是原本的矩形们 ---------->合并后的图形 解题思路:拿一 ...

  4. [BZOJ]2017省队十连测推广赛1 T2.七彩树

    题目大意:给你一棵n个点的树,每个点有颜色,m次询问,每次询问一个点x的子树内深度不超过depth[x]+d的节点的颜色数量,强制在线.(n,m<=100000,多组数据,保证n,m总和不超过5 ...

  5. Delphi7通过SendMessage来实现默认打印机的切换

    具体代码 procedure SetDefaultPrinter(NewDefPrinter: string); var ResStr: array[0..255] of Char; begin St ...

  6. C语言第五次作业——循环结构

    C语言程序设计第五次作业--循环结构(1) (一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增 ...

  7. POJ-2299 Ultra-QuickSort---树状数组求逆序对+离散化

    题目链接: https://vjudge.net/problem/POJ-2299 题目大意: 本题要求对于给定的无序数组,求出经过最少多少次相邻元素的交换之后,可以使数组从小到大有序. 两个数(a, ...

  8. postman 模拟请求中添加 header,post请求中传json参数

    1. GET 请求 2.Post 请求 (请求参数为Json,header中带有参数) 问题延伸 GET请求不能够 添加 Body 吗?[答案]

  9. String,StringBuilder,StringBuffer三者的区别

    参考   String,StringBuilder,StringBuffer三者的区别 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面. 1.运行速度 首先说运行速度,或者说是执行速 ...

  10. IOS JavaScriptCore介绍

    本文主要转自:https://www.jianshu.com/p/cdaf9bc3d65d http://blog.csdn.net/u011993697/article/details/515772 ...