>和>>都属于输出重定向,都可以输出内容到指定文件。
>会覆盖目标的原有内容,当文件存在时,会先删除原文件,再重新创建文件,然后把内容写入该文件,否则直接创建文件。
>>会在目标原有内容后追加内容,当文件存在时直接在文件末尾进行内容追加,不会删除原文件,否则直接创建文件。
扩展阅读:
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善这个操作系统,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。
Linux与其他操作系统相比 ,具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。
. 在这里表示的是当前目录,就像 .. 表示上级目录一样。
这个 / 表示的是目录级别的分隔符,他之前的就是目录名,./aaa/ 表明的就是 . (也就是当前目录)下面的 aaa 目录。当然这个 aaa 后面的 / 可以省略,就像 ./ 表示当前目录时,其实 / 是不需要的。
对应的 ./bbb 表示的是当前目录下面的 bbb 文件,但也可以表示 bbb 这个目录,区别就在于这个 bbb 是文件还是目录,所以目录一般都在后面加 / 来表示。尤其是鉴于 . 这个符号太过常用,单拿出来容易引起混乱,所以大家都用 ./ 表示当前目录。同样的 xxxx/ 表示 xxxx 目录。
重定向
echo hello > test.txt 这样控制台就不会输出hello了,而是把输出重定向到test.txt文件中了
echo hello >> test.txt >> 是在文件后面追加 > 是覆盖
深入了解linux可以看下《linux就该这么学》
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组管理
重定向的意思,可查看“Linux命令大全”查看更多命令介绍。