touch Linux路径
》touch命令无选项,参数必填,表示要创建的文件路径(相对路径、绝对路径、特殊路径符都可以使用)。
注意:特别注意这个命令中关于 Linux 路径的理解。下面结合命令进行讲解。
创建文件。
如下:
我们用 ls 命令查看当前工作目录下的所有文件,接下来使用 命令 touch 创建一个 test.txt 文件。如下:
我们用命令 touch ,创建了一个文件test.txt,接着用 ls 的命令查看当前目录确实出现了 test.txt 的文件。那么,
当我一开始学习的时候,我会有这么一个疑问?上面执行的命令:
touch test.txt
这个命令里,test.txt 不是一个文件名吗?怎么和命令的语法格式所说的 Linux路径 不一样啊?
对于这个疑问,我觉得对于该命令的语法格式的 “ Linux路径 ” 的说法,换成 “ 创建的文件存储的Linux路径 ”。或许会更方便理解一点。
意思就是在上面的命令参数中,我们使用的 Linux的相对路径,等同于:
touch /home/blue/test.txt
意思是:创建一个文件 test.txt 存放到 /home/blue/ 这个路径下。而因为 /home/blue/ 是相对路径,因此可以省略不写。
了解了这个,那我们便可以在当前目录下,通过参数,即指定Linux路径底下创建文件。比如我们在当前目录下,在 Music 文件夹底下创建一个文件 hello.txt,如下:
原先用 ls 查看 Music 文件夹底下,没有任何文件,通过指定的目录底下,我们在Music文件夹下成功创建了一个 hello.txt 文件,用 ls 再查看 Music 文件夹时,存在 hello.txt 文件,实验成功。
以上便是对于 touch 命令的学习。
注意:
跟命令mkdir区分开来,mkdir用于创建文件夹/目录,而 touch 用于创建文件。
cat Linux路径
》cat 同样没有选项,只有必填的参数。参数表示:被查看的文件路径(相对路径、绝对路径、特殊路径符都可以使用)。
查看文件内容 。
我想要查看,在当前工作目录下的 test.txt 里面的内容。(我在test.txt文件里面写了“hello world!”)
那么只需要输入命令:
cat test.txt
然后按下回车即可,如下:
test.txt 里面的内容便弹出终端窗口了。
同样的,不要误会了命令中的 test.txt 参数了,跟前面讲述的一样,是打开相对路径下 test.txt 的文件。描述的是 Linux的路径。
同样的,我们可以使用绝对路径,去打开其他文件夹下的文件内容。比如我打开在当前目录下的 Music 文件夹下的 hello.txt 文件,查看文件内容:
成功打开了 Music 文件夹下的 文件并且显示。
以上便是对于 cat 命令的学习。
more Linux路径
》同样的没有选项,只有必填的参数。参数表示:被查看的文件路径(相对路径、绝对路径、特殊路径符都可以使用)。
more 命令的作用和 cat 命令一样,是 查看文件内容 的。但是两者有所不同:
① cat 命令查看内容时,是将内容全部显示出来。
② more 命令查看内容时,支持翻页,如果文件内容过多,可以一页页的展示。
也就是说,当查看的文件内容过多时,more 命令查看更加的方便。比如在Linux系统内置有一个文件,路径为: /etc/services
我们对于这个文件,分别用 cat 命令 和 more 命令进行查看。
由于文件内容过于庞大,因此就不在这里演示了。只给出命令,
用 cat 命令查看:
cat /etc/services
用cat查看时,如果遇到提示说权限不够,切换到最大权限用户root即可,切换指令如下:
su - root
然后输入用户的密码(虚拟机的登录密码)即可,退出root用户,用 “ ctrl + d”,或者用命令:
su - 用户名
即可。
用more 命令查看:
more /etc/services
在查看的过程中,
》用空格翻页
》通过键盘按键q退出查看
以上便是对于 more 命令的学习。
cp [ -r ] 参数1 参数2
》 -r 选项,可选(写或者不写都可以,能运行但是功能不一样),用于复制文件夹使用,表示递归(英文单词:recursion)
》参数1,Linux路径,表示被复制的文件或文件夹
》参数2,Linux路径,表示要复制去的地方。
比如,要将A路径下的a文件或文件夹,复制到B路径下,则
参数1填a文件或文件夹的Linux路径,
参数2填B的Linux路径。
复制文件或文件夹 。
比如
上图所示,在Music文件夹底下只有一个 hello.txt文件,现在我想要将blue目录底下的的文件 test.txt 复制一份到 Music文件夹底下。如下:
用命令:
cp test.txt Music
将相对路径(用户的工作目录)底下test.txt 文件复制一份放到 Music 文件夹底下。
注意使用的是相对路径,不要混淆认为是文件名啥的了。
然后再度查看Music文件夹底下,发现多了一份 test.txt 文件,复制成功。
那我们再接将工作目录底下的 Pictures 文件夹 也复制一份到 Music 文件夹底下吧。如下:
我们发现复制失败,那是因为 Pictures 是一个文件夹 不是文件。这两者要区分开了。要复制文件夹值时,得用到 -r 选项。如下:
使用命令:
cp -r Pictures Music
才能复制成功,然后打开 Music 文件夹下的内容,多了一个文件夹 Pictures,复制成功。
以上便是对于 cp 命令的学习。
mv 参数1 参数2
》参数1,Linux路径,表示被移动的文件或文件夹所在的Linux路径。
》参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
tip: mv 命令来自英文单词:move
移动文件或文件夹 。
如下,将blue目录下的文件 test.txt 移动到,该目录下的Downloads文件夹里面。
mv test.txt Downloads
后再显示工作目录下的内容,原先的 test.txt 文件不见了,在用 ls 显示 Downloads 文件夹内的内容,发现了 test.txt 文件。即成功将工作目录(blue)下的 test.txt 文件移动到 Downloads 文件夹里面。
下面,我们用同样的命令,对文件夹进行移动。如下:
如图,执行命令:
mv Music Desktop
回车后,blue目录下的 Music 文件夹 成功移动到了 Desktop 文件夹里面了。
注意:
当参数2,即移动到的地方(Linux路径)不存在时,会有改名的效果。
即被移动的文件/文件夹,名称会被更改为那个不存在的名称,从而保证了目标的存在。如下:
当执行命令:
mv one.txt 1.txt
回车时,将blue目录下的 one.txt 文件,移动到blue目录下的 1.txt 文件,但是移动的目的地 1.txt 并不存在,因此最终的效果是,文件 one.txt 名称被更改为 1.txt。
以上便是对命令 mv 的学习。
mv [ -r -f ] 参数1 参数2 … 参数N
》同 cp 命令一样, -r 选项用于删除文件夹。
》 -f 表示force,强制的意思,即强制删除(不会弹出是否确认删除的提示信息)
(
注:
① 普通用户删除内容不会弹出提示,只有root管理员用户删除内容才会有提示,
所以一般普通用户用不到 -f 选项。(用root用户删除时,该选项也要慎用,最好就是不用。)
)
》参数1、参数2、…、参数N,表示要删除的文件或文件夹路径,按照空格隔开。
即可一次新删除多个文件/文件夹。
tip: mv 命令来自英文单词:move
删除文件或文件夹 。
如下:
在blue目录下,有个文件 1.txt。现在我看他不爽,想把它删咯,执行命令:
rm 1.txt
回车后,再查看blue目录下的内容时,1.txt 文件没了,即完成文件删除的操作了。
现在我看着blue目录下的 Downloads 文件夹也不爽,想要删掉这个文件夹,也执行上面的命令:
rm Downloads
如下:
我们么发现,终端窗口显示删除失败。这是因为 Downloads 是文件夹,不是文件。要注意两者的区别。
要实现文件夹的删除,得加上 -r 选项。即执行命令:
rm -r Downloads
如下:
删除后再查看blue目录下的内容,发现 Downloads 文件夹成功删除了。
下面我们再学习学习,命令选项中 -f 的使用情况。
首先得切换到 root 用户。执行命令:
su - root
再输入用户密码即可。
如下,用 ls 显示 /home/blue 目录下的内容:
接着我们不使用 -f 选项,删除该目录下的,test.txt , 看图发现,这一次回车后终端多了一步提示是否删除的选项。输入 y(yes)后才成功删除。
我们试着使用 -f 选项,删除一个文件夹,如下:
我们发现,这一次,在没有任何提示的情况下,成功删除了 test 文件夹。
再三强调,使用root用户删除东西时,尽量不要使用 -f 选项,这是一件很恐怖的事情。
有一种情况,比如要删除很多个文件、文件夹,这些文件和文件夹中大都有一小部分的共同名称,那么有没有一种方法,根据这个特征,一次性全部删除呢?有!
就是rm命令搭配,通配符*。
rm命令支持通配符 ,用来做模糊匹配
符号* 表示通配符,即匹配任意内容(包含空),示例:
test*,表示匹配任何以test开头的内容
*test,表示匹配任何以test结尾的内容
*test*,表示匹配任何包含test的内容
命令1:
rm test*
表示删除所有名称以test开头的文件。 (因为没有带 -r 选项,所以带test开头的文件夹不会被删除)
命令2:
rm *test
表示删除所有名称包含test的文件 。
命令3:
rm *test*
表示删除所有名称中带有test的文件 。
以上便是对 rm 命令的学习。
也是本篇文章,对于文件操作的命令学习的结尾。下面对以上知识进行一个大体的总结。
1、touch命令
》用于创建一个新的文件。
》语法: touch Linux路径
》参数必填,表示要创建的文件存放的路径。
2、cat 命令
》用于查看文件内容。
》语法: cat Linux路径
》参数必填,表示要查看指定Linux存储的路径下的文件。
3、more 命令
》用于查看文件内容,可翻页查看。
》语法: more Linux路径
》参数必填,表示要查看指定Linux存储的路径下的文件。
》与cat命令的区别是,支持翻页。
(以上的路径,相对路径、绝对路径和特殊路径符都可以使用。)
4、 cp 命令
》用于复制文件或文件夹
》语法:cp [ -r ] 参数1 参数2
》 -r 选项,可选,用于复制文件夹使用,表示递归
》 参数1::Linux路径,表示被复制的文件或文件夹
》参数2,Linux路径,表示要复制去的地方
5、mv命令
》用于查看文件内容
》语法:mv 参数1 参数2
》参数1,Linux路径,表示被移动的文件或文件夹
》参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
6、rm命令
》用于删除文件或文件夹
》语法:cp [ -r -f ] 参数1 参数2 … 参数N
: -r选项,可选,文件夹删除
: -f选项,可选,用于强制删除(不提示,一般用于root用户)
》参数,表示被删除的文件或文件夹路径,支持多个,空格隔开
》参数也支持通配符 *,用以做模糊匹配