大家周末好~热爱工作的小乐子又回来啦~这几天天气实在是好热呀~江南地区的梅雨季节真是太难熬了~
我们今天要继续来分享Linux下的命令行。经过前面几次的分享,我们已经知道了怎样使用命令行切换文件目录,今天开始我们要来分享与文件有关的内容啦~
创建文件
在 Linux下创建新的文件非常简单,只需要用下面的命令:
touch 文件名
这条命令的含义,就是在当前我们所在的文件目录中创建一个全新的文件,文件的内容为空,大小是零。
我们直接看例子吧,下面是一个空的文件目录,在这个目录下,一个文件都没有:
我们输入下面的命令,试图来创建一个新的文件:
touch view.js
这样一来,我们就在当前所在的文件目录下创建了一个全新的文件啦~怎么样,是不是特别的简单
修改文件的访问时间
touch命令除了能够创建新文件之外,还有一个小功能,就是可以修改已经存在的文件的访问时间,并且并不会影响到文件内的内容哦~
复制文件
其实呀,大家在日常工作当中,可能直接创建新文件的场合还不会特别多,更多的是复制文件,所以我们就需要用到下面的命令啦:
cp
cp命令其实就是英文“copy”的缩写,我们在使用的时候,还需要两个参数:源文件和目标文件:
cp source target
这条命令会将souce代表的文件复制出来一份,并且保存到target所表示的目标位置,我们直接来看例子吧。
还是刚才的例子,我们刚才创建了一个view.js文件,现在我们直接使用cp命令来复制一份:
cp view.js co
然后,我们就会看到在同级目录下,出现一个新的文件啦:
并且我们看到,被复制出来的文件的访问时间一定是晚于源文件的。
现在,问题就来啦,如果我们复制文件的时候,遇到了目标位置已经存在同名文件了,会发生什么事情呢?
为了大家看得更清楚,我们在刚才的源文件view.js中输入一些内容:
另外,再在之前复制出来的co文件中,也输入一些内容,以示两个文件的不同:
大家看到啦,两个文件的内容是不同的。这个时候,我们再来试着使用cp命令复制源文件:
cp view.js co
大家发现没有,狡猾的linux并没有出现任何提示信息,直接完成了命令。我们再来打开两个文件看一下:
也就是说,当我们使用cp命令来复制文件的时候,linux默认是会将同名目标文件进行自动覆盖的。
哈?
这么做的话,其实是很危险的呢,大家说是吧。
所以呢,为了避免这种情况发生,我们必须在cp命令上增加一个参数“i”:
cp -i source target
这样以来的话,如果目标文件已经存在,Linux就会询问我们是不是要强制覆盖啦:
在遇到询问的时候,我们输入“y”,就会覆盖已有的文件,但是如果输入“n”,就不会覆盖啦。
复制文件夹
其实呢,除了单个文件之外,cp命令还能够帮助我们将整个文件目录中的所有内容都复制到另外的位置。在这种情况下,cp命令的两个参数,其实就变成了源目录,以及目标目录啦:
cp -i sourceFolder targetFolder
由于理解起来很简单,小乐子就不单独举例子啦。不过需要大家注意的是,记得一定要加上参数“-i”哦,否则的话,万一我们将已经存在于目标目录下的所有同名文件全部都覆盖掉的话,可就不好啦~
递归参数“-R”
有的时候,我们的目录下包含众多的子目录,如果我们不想打开这个目录,一个一个手工去复制文件的话,那么就可以在cp命令中加上参数“-R”,这样的话,Linux会帮助我们将源目录下的所有下级子目录和文件一股脑儿全部复制下来哦~
小帖士:递归参数“-R”存在于很多Linux命令中,看到它出现,就意味着需要处理所有的下级子目录和文件哦
好啦,今天的分享非常简单,我们就到这里吧,大家记得一定要多多练习哦~
我们下次见啦