复制:
(cat需搭配符号使用,cp直接后接文件名)
cat(concatenate)命令用于连接文件并打印到标准输出设备上;
| 是管道符,用于将两个命令隔开,管道符左边命令的输出会作为管道符右边命令的输入;
> 是输出重定向,将左边内容重定向到右边指定的文件中;
cp(copy file)命令主要用于复制文件或目录。
链接:
链接操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
硬链接
硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
相当于 cp -p 再加上同步更新
通过 inode 查找文件
不可以跨文件系统
源文件删除后,硬链接不受影响(因为inode count减一之后依旧>=1)
不可以对目录或不存在的文件进行链接
软链接(符号链接)
软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)。
相当于 windows 快捷方式
通过文件位置查找文件
可以跨文件系统
源文件删除后,软链接失效
可以对目录或不存在的文件创建软链接
硬链接与软链接的区别;
硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。
硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。
软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令
ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接。
同步日志:
rsync是中小型企业常用的同步工具是基于内容的同步,其他的也都可以,但是存在一些问题, rsync结合inotify可以达到实时同步,最重要的是rsync是同步差异的内容,而不是同步差异的文件开销比其他的小,并且是基于ssh协议的,sshd服务都是服务器必备的,不需要额外装其他服务
vi编辑器:
:q 不保存退出
:q! 直接强制退出,不写入修改的数据
:wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间
:wq! 强制写入并退出(只有当操作者是文件所有者才可行)
:x 文件有变动时等同于 :wq,文件无变动时等同与 :q
ZZ 等同于 :x