cp 拷贝
Linux的cp命令主要用于复制文件或目录。以下是cp命令的语法:
cp [options] source destination
其中,source是要复制的文件或目录,destination是目标位置。
options是一系列的代号,表示各种复制的方式
首先假如一句命令没有明确写出[options]是什么,或者说直接省略了[options]的话,比如下面这样
cp /root/test1/tt1/1.txt /root/test1/tt2
默认[options]是取 -i 。
这个-i 是什么意思?
-i是 -interactive(交互的)的缩写。在cp命令中表示在复制文件时进行交互式确认。当目标文件已经存在时,-i选项会提示用户是否覆盖目标文件。回答y时,目标文件将被覆盖;回答n时,复制将不会进行。这是一种安全措施,可以防止意外地覆盖重要文件。
当然前面那句命令,复制之前并不存在1.txt这个文件,自然也就不存在和你交互,问你是否覆盖的问题了。直接把文件复制到你指定的路径下了。
给你来个复制后存在覆盖问题的,让你见识一下,啥是交互
先修改tt1下面的1.txt文件的内容为“6666666666s”
我们现在先来看一下tt2下面的1.txt(和tt1下面的1.txt名字相同,一会cp拷贝的时候会有覆盖问题)当下的内容,是“bhnjhbjsdbjabdjbs”
现在,见证奇迹的时刻。1.txt 的内容,从原来的“bhnjhbjsdbjabdjbs”替换为 被复制过来覆盖的“6666666666s”
但是呢不知道为啥,涉及了覆盖但是没有交互式界面让我输入YES或者NO
但是你注意哦,这种省去[options],默认取-i的写法,被复制的必须是一个文件而不能是一个文件夹。否则就会报错
报错信息告诉你的是,你要是想用cp复制文件夹 ,你的[options]必须加-r,否则就运行不了
cp -r /root/test1/tt1 /root/test1/tt2
这样搞完以后tt2这个本来是空的文件夹下面就多了一个叫tt1的文件夹,和tt1一样里面有一个叫1.txt的文件,1.txt里面写着“bhnjhbjsdbjabdjbs”的内容
文件夹以及文件夹下面所有的文件以及整个文件夹的结构全部复制过去了
OK,刚我们尝试了文件的 覆盖性 拷贝。现在试一下文件夹覆盖式拷贝。
现在我们先展示下文件夹覆盖式拷贝之前 被覆盖的那个文件里面的内容。里面1.txt里面的内容是“bhnjhbjsdbjabdjbs”。
现在 同名文件夹 覆盖式拷贝 后变成“6666666666s”,也是没有交互式界面
mv 移动文件
mv 被移动的文件 移动过去的位置
mv /root/test1/tt2 /root/test1/tt3
sh 执行 xxx.sh 代码文件(shell命令)
首先解释什么是 xxx.sh文件
你在linux bash shell中,写一行命令,按回车就执行这一条。但是假设你想一次性执行200条bash命令,这个时候你就需要用到 xxx.sh 代码文件。你可以在一个xxx.sh文件里面写无线多行shell命令。然后只需要 通过 sh xxx.sh,一次回车就能把这几十条命令执行完毕。省去了你按多个Enter的功夫。
1. 在不创建一个 xxx.sh 文件的前提下,运行一段 本应该写在 xxx.sh文件里面的 代码。
在linux命令行中直接输入
sh
你写啥shell命令都会接着出结果
这将进入sh命令行界面,你可以输入任何有效的shell命令并按下回车键执行。
此时你进入的叫shell命令行解释器
但是你要问了,那你如何退出这种模式呢?
方式一:输入exit命令并按回车。
可以这样用,是因为:任何xxx.sh文件,你如果想脚本的最后一行应该是exit
命令
2. 执行一个脚本文件:
假设你有一个名为script.sh的脚本文件,其中包含了一些shell命令。你可以使用以下命令来执行该脚本:
sh script.sh
只需要一键,里面所有的shell命令就都执行了。
3. 你在不想创建一个xxx.shell文件的前提下,执行带有参数的命令:
假设你有一个名为my_program的程序,它接受两个参数。你可以使用以下命令来执行该程序并传递参数:
sh -c "my_program arg1 arg2"
4.你在不想创建一个xxx.shell文件的前提下,又想一次性执行多条命令
你可以在一行中编写多个命令,使用分号将它们分隔开
sh -c "command1; command2; command3"
ll -a
在Linux中,ll命令通常是ls -l的别名,用于以详细格式列出文件和目录。
-a选项用于显示隐藏文件和目录。
Vim是一个功能强大的文本编辑器,在Linux中广泛使用。以下是Vim的一些常用用法:
- 打开文件:在终端中输入
vim 文件名
,可以打开指定的文件进行编辑。如果文件不存在,Vim将创建一个新文件。 - 命令模式:在Vim中,默认处于命令模式。在该模式下,可以使用各种命令来操作文件。例如,输入
i
进入插入模式,dd
删除一行,yy
复制一行等。 - 插入模式:在插入模式中,可以使用
i
进入该模式,然后输入文本内容。按下Esc
键可以退出插入模式,返回到命令模式。 - 删除操作:在命令模式中,可以使用
dd
删除当前行,使用d2d
删除两行等。 - 复制操作:使用
yy
复制当前行,使用y2y
复制两行等。 - 查找操作:在命令模式中,使用
/
后跟要查找的文本,然后按下回车键进行查找。按下n
键查找下一个匹配项,按下N
键查找上一个匹配项。 - 替换操作:使用
:s/旧内容/新内容/g
进行替换操作。例如,:s/hello/world/g
将文件中所有的“hello”替换为“world”。 - 分割窗口:使用
:vsp
命令可以将当前窗口分割成上下两个窗口,并打开同一文件的两个不同部分。 - 保存和退出:在Vim中,可以使用
:w
保存文件,使用:q
退出编辑器。如果需要不保存直接退出,可以使用:q!
命令。
在vim中,如果你没有指定文件名,它将默认创建一个新文件。如果你想退出vim并将内容保存到文件中,可以按照以下步骤操作:
- 按下Esc键,确保你处于命令模式。
- 输入
:w
命令后跟文件名,例如content.txt
。这将将你的内容保存到名为"content.txt"的文件中。 - 按下Enter键执行保存操作。
- 输入
:q
命令退出vim。
现在,你已经成功将你在vim中写下的内容保存到了"content.txt"文件中,并退出了vim编辑器。
rz -y