相对于Windows下的右键新建文件与删除,我更喜爱Linux下的命令式创建与删除,真的方便。不过Windows下也可以借助工具来实现,比如git bash、cmder等等终端工具。

创建文件

新建文件使用touch命令,后直接跟文件名,比如创建一个名为 demo的 js文件:

touch demo.js

注意,如果当前目录下已经有了一个同名的文件,那么就会修改文件的末次修改日期。

查看文件信息

ls -l

有一个111.txt文件的信息:

-rw-r--r--    root root      Apr  : .txt

现在使用touch命令再来创建一次:

touch .txt

再看一下信息:

ls -l  

// -rw-r--r--   1 root root     0 Apr 22 14:57 111.txt

显然,时间已经变了~

创建目录

创建目录使用mkdir命令,后直接跟目录名。

结合cd 命令,创建多层级目录

mkdir a
cd a
mkdir b
cd b
mkdir c
cd c

这个层级很明了,查看当前所在位置:

pwd

//  /a/b/c

创建命令虽然简单,但是上面这种看起来很繁琐,层级多了还容易写错,所以这里主要介绍一个选项,可以更简便地创建多级目录:

-p : 可以递归创建目录

再来创建上面这样的目录,就可以这样写了:

mkdir -p a1/b1/c1

删除

删除命令是rm,可以删除文件也可以删除目录,需要注意的是:

使用rm删除的文件不可恢复

删除文件

删除一个普通的文件,直接rm+文件名,例如:

//删除test.txt文件
rm test.txt

此时会提示是否删除此文件:

rm: remove regular empty file ‘test.txt’?

在问号后面输入 y 就是确定删除,输入 n 就是取消删除。

删除目录

如果要删除一个目录文件,直接使用rm是不行的,例如:

//删除a目录
rm a

系统会提示:

rm: cannot remove ‘a’: Is a directory

此时,我们需要加一个选项,就是 -r,再来试下:

rm -r a

此时,会提示:

rm: descend into directory ‘a’?

输入 y确定:

rm: descend into directory ‘a/b’?

这是因为a目录下还有b目录,再次确定:

rm: remove directory ‘a/b/c’?

b目录下仍有c目录,之后一直确定:

rm: remove directory ‘a/b’?y

rm: remove directory ‘a’?

可以看到删除一个目录的过程比较麻烦,它会一层层进入到最深层的目录里,然后再从里往外一层层删除。不过虽然麻烦,但是却很合理,因为如果你不想删掉整个目录所有文件,这样的询问还是有必要的。现在,你可能会问,我就是想删掉整个目录,不想它一直提示怎么办?为此,Linux提供了另一个选项。

强制删除

使用选项 -f 可以实现强制删除,无需提示,即使文件不存在,也不会提示。

现在删除 a目录,可以:

rm -rf a

此时会一次性删除整个a目录,而不会再提示了。

在这之前,如果我们删除一个不存在的文件,会提示文件不存在:

//删除aaa.txt文件
rm: cannot remove ‘aaa.txt’: No such file or directory

如果加上-f,就不会提示了:

rm -f aaa.txt

最后想说,不管是touch、mkdir还是rm命令,它们都不止有一个选项可用,我只是把我用到的都说了,说多了也没必要,还不如查手册。

Linux 创建与删除(5)的更多相关文章

  1. Linux创建修改删除用户和组

    Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先 ...

  2. Linux 创建修改删除用户和组

    200 ? "200px" : this.width)!important;} --> 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就 ...

  3. Kali linux创建和删除用户

    #创建用户 图形界面如此友好,直接点用户——添加用户——设置密码即可,如果切换帐号,同样点用户——切换用户——输入密码即可. #删除用户的指令比较复杂一些,这里我们找到了特别好的资源,简明有效. ht ...

  4. [Linux] 创建、删除用户

    系统:Ubuntu useradd:创建新用户或更新默认新用户信息 创建新用户 xxx,/home 目录没有同名文件夹,并且此用户没有 shell 权限 $ sudo useradd xxx 创建新用 ...

  5. Linux创建与删除

    一.创建文件夹.文本.用户.组 mkdir 创建文件夹 touch 创建文本 useradd 创建用户 例1:创建一个文件夹xiaomi 创建文件夹:mkdir xiaomi 例2:创建一个文件如ad ...

  6. linux命令 - ln - 创建和删除软、硬链接

    linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...

  7. linux下创建和删除软、硬链接

    linux下创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制 ...

  8. 学习Linux二(创建、删除文件和文件夹命令)

     转自:http://www.cnblogs.com/zf2011/archive/2011/05/17/2049155.html 今天学习了几个命令,是创建.删除文件和文件夹的,在linux里,文件 ...

  9. linux下软、硬链接的创建和删除

    linux下软.硬链接的创建和删除 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复 ...

随机推荐

  1. APIview的请求生命周期源码分析

    目录 APIview的请求生命周期源码分析 请求模块 解析模块 全局配置解析器 局部配置解析器 响应模块 异常处理模块 重写异常处理函数 渲染模块 APIview的请求生命周期源码分析 Django项 ...

  2. Spring对单例的底层实现,单例注册表

    Spring框架对单例的支持是采用单例注册表的方式进行实现的,源码如下: public abstract class AbstractBeanFactory implements Configurab ...

  3. 导入Excel扩展名是.xls 和.xlsx的

    1.首先是导入Excel2003以前(包括2003)的版本,扩展名是.xls 的 /** * 操作Excel2003以前(包括2003)的版本,扩展名是.xls * @param templetFil ...

  4. spark2.1.0 自定义AccumulatorV2累加少值(线程不安全)?

    一.踩坑经历 自定义的accumulator是线程不安全的,会造成累加结果不正确.自定找了很久没想到是线程不安全行成的. 二.解决方法 创建一个线程安全的集合变量(我用的是Java的Concurren ...

  5. 电脑右键新建没有xmind文件选项解决方法

    xmind还是方便的. 打开注册表,展开HKEY_CLASSES_ROOT,展开.xmind(如果没有请新建).在里面新建ShellNew项,并展开,在里面新建NullFile这个字符串值. 如果还是 ...

  6. registry搭建及镜像管理

    registry 的搭建 docker pull registry:2 docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 -- ...

  7. 为什么MongoDB适合大数据的存储?

    NoSQL数据库都被贴上不同用途的标签,如MongoDB和CouchDB都是面向文档的数据库,但这并不意味着它们可以象JSON(JavaScript Object Notation,JavaScrip ...

  8. mac 绑定阿里企业邮箱

    注意事项: 1. 收件服务器 千万得写对, 选 pop 就写 pop.mxhichina.com; 选 imap 就写 imap.mxhichina.com 2. 发件服务器 必须写,smtp.mxc ...

  9. yanse

    0E71F9   左上面蓝色 0EA8FF 左下面蓝色 498B54  右边绿色

  10. 进程间通信(IPC)-管道、匿名管道

    每个进程都有各自的地址空间,任何一个进程的全局变量在另一个进程中都看不到 所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读 ...