Linux基础(2)基础命令与vim

文件的复制和移动

cp

拷贝文件和目录

cp file file_copy --> file 是目标文件,file_copy 是拷贝出来的文件
cp file one --> 把 file 文件拷贝到 one 目录下,并且文件名依然为 file
cp file one/file_copy --> 把 file 文件拷贝到 one 目录下,文件名为file_copy
cp *.txt folder --> 把当前目录下所有 txt 文件拷贝到 folder 目录下

-递归的拷贝,拷贝整个目录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本语法:

cp [选项] 源文件 目标文件

常用选项包括:
-r–recursive: 递归复制整个目录。
-p–preserve: 保留源文件的属性,包括文件权限、所有者、组、时间戳等。
-f–force: 强制复制,覆盖已存在的目标文件。
-i–interactive: 交互式复制,提示是否覆盖已存在的目标文件。
-v–verbose: 显示详细的复制过程。
-u–update: 仅复制源文件中较新的文件到目标目录。
-l–link: 创建硬链接而不是复制文件。
-s–symbolic-link: 创建符号链接而不是复制文件。
错误情况:
如果源文件不存在,则会显示错误信息并终止复制过程。
如果目标文件已存在且未使用 -f 或 -i 参数,则会显示错误信息并终止复制过程。
如果没有足够的权限进行复制操作,则会显示错误信息并终止复制过程。
注意事项:
1.当复制单个文件时,目标文件可以是一个已经存在的文件或者是一个新的文件名。如果目标文件已经存在,且没有使用 -f 或 -i 参数,那么复制操作将会被终止,并且不会覆盖目标文件。
2.当复制多个文件时,目标文件必须是一个目录。如果目标文件是一个已经存在的目录,那么源文件将会被复制到该目录中。如果目标文件不存在,那么会先创建该目录,然后将源文件复制到该目录中。
3.使用 -r 或 --recursive 参数可以递归复制整个目录及其子目录中的文件。如果不使用该参数,当源文件是一个目录时,cp命令将会报错。
4.使用 -p 或 --preserve 参数可以保留源文件的属性,包括文件权限、所有者、组、时间戳等。如果不使用该参数,复制的文件将会使用默认的属性。
5.使用 -f 或 --force 参数可以强制复制,即使目标文件已经存在。使用该参数时要小心,因为它会覆盖已存在的目标文件。
6.使用 -i 或 --interactive 参数可以进行交互式复制,即在复制过程中提示是否覆盖已存在的目标文件。
7.使用 -v 或 --verbose 参数可以显示详细的复制过程,包括复制的文件名和目标路径。
8.使用 -u 或 --update 参数可以仅复制源文件中较新的文件到目标目录。如果源文件和目标文件的时间戳相同,那么不会进行复制操作。
9.使用 -l 或 --link 参数可以创建硬链接而不是复制文件。硬链接是指多个文件共享同一份数据,如果其中一个文件被修改,其他文件也会受到影响。
10.使用 -s 或 --symbolic-link 参数可以创建符号链接而不是复制文件。符号链接是指一个文件指向另一个文件或目录的快捷方式。
11.在复制过程中,如果没有足够的权限进行复制操作,将会显示错误信息并终止复制过程。

mv

移动(重命名)文件或目录,与cp的用法相同

mv file one --> 将 file 文件移动到 one 目录下
mv new_folder one --> 将 new_folder 文件夹移动到one目录下
mv *.txt folder --> 把当前目录下所有 txt 文件移动到 folder 目录下
mv file new_file --> file 文件重命名为 new_file
  • -i 向用户确认是否删除;
  • -f 文件强制删除;
  • -r 递归删除文件夹,著名的删除操作 rm -rf 。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

语法:
mv [选项] 源文件或目录 目标文件或目录

-i: 交互式移动。在覆盖文件之前提示用户。
-u: 只在源文件比目标文件新,或当目标文件不存在时,才移动或重命名源文件。
-f: 强制移动,即使目标文件存在也不提示。
-b: 在覆盖目标文件之前进行备份。
**–backup[=CONTROL]:**控制备份,其中 CONTROL 可以是 none, off, numbered, t, existing, 或 nil。
-v: 详细模式,显示正在移动的文件的信息。
-n: 不覆盖已存在的文件。
–strip-trailing-slashes: 删除源文件名末尾的斜杠。
–update: 只在源文件和目标文件不同或目标文件不存在时,才进行移动。

用户权限

用户

Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root ,是一个很特殊的用户,它是超级用户,拥有最高权限。
自己创建的用户是有限权限的用户,这样大大提高了 Linux 系统的安全性,有效防止误操作或是病毒攻击,但是我们执行的某些命令需要更高权限时可以使用 sudo 命令。

sudo

以 root 身份运行命令

sudo ls/date --> 当然查看日期是不需要sudo的这里只是演示,sudo 完之后一般还需要输入用户密码的

在这里插入图片描述

在这里插入图片描述

useradd + passwd

useradd 添加新用户
passwd 修改用户密码
这两个命令需要 root 用户权限

useradd laowine --> 添加一个laowine用户,添加完之后在 /home 路径下可以查看
passwd laowine --> 修改laowine用户的密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

su

切换用户,需要root权限

sudo su --> 切换为root用户(exit 命令或 CTRL + D 快捷键都可以使普通用户切换为 root 用户)
su laowine --> 切换为普通用户
su - --> 切换为root用户

在这里插入图片描述

vim

打开 Vim

在终端命令行中输入 vim 回车后 Vim 就会被运行起来,也可以用 Vim 来打开一个文件,只需要
在 vim 后面再加文件名。如 vim file.name ,如果文件不存在,那么会被创建。
在这里插入图片描述

插入

进入文件之后,此时处于交互模式,可以通过输入 i 进入插入模式。
在这里插入图片描述
在这里插入图片描述

移动

在 Vim 的交互模式下,我们可以在文本中移动光标。
h 向左移动一个字符
j 向下移动一个字符
k 向上移动一个字符
i 向右移动一个字符
当然也可以使用四个方向键进行移动,效果是一样的。

跳至行首和行末

行首:在交互模式下,为了将光标定位到一行的开始位置,只需要按下数字键 0 即可,键盘上的
Home 键也有相同效果。
行末:在交互模式下,为了将光标定位到一行的末尾,只需要按下美元符号键 $ 即可,键盘上的
End 键也有相同效果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

按单词移动

在交互模式下,按字母键 w 可以一个单词一个单词的移动。

退出文件

在交互模式下,按下冒号键 : 进入命令模式,再按下 q 键,就可以退出了。
如果在退出之前又修改了文件,就直接想用 :q 退出 Vim ,那么 Vim 会显示一个红字标明错误信
息。此时我们有两个选择:
保存并退出 :wq 或 :x ;
不保存且退出 :q! 。
在这里插入图片描述
在这里插入图片描述

标准操作

删除字符

在交互模式下,将光标定位到一个你想要删除的字符上,按下字母键 x 你会发现这个字符被删除
了。
也可以一次性删除多个字符,只需要在按 x 键之前输入数字即可。
在这里插入图片描述
在这里插入图片描述

删除(剪切)单词,行

删除一行:连按两次 d 来删除光标所在的那一行。
删除多行:例如先输入数字 2 ,再按下 dd ,就会删除从光标所在行开始的两行。
删除一个单词:将光标置于一个单词的首字母处,然后按下 dw 。
删除多个单词:例如先按数字键 2 再按 dw 就可以删除两个单词了。
从光标所在位置删除至行首: d0 。
从光标所在位置删除至行末: d$ 。

复制单词,行

复制行:按两次 y 会把光标所在行复制到内存中,和 dd 类似, dd 用于“剪切”光标所在行。
复制单词: yw 会复制一个单词。
复制到行末: y$ 是复制从光标所在处到行末的所有字符。
复制到行首: y0 是复制光标所在处到行首的所有字符。
在这里插入图片描述

粘贴

如果之前用 dd 或者 yy 剪切复制过来的,可以使用 p 来粘贴。同样也可以使用 数字+p 来表示复制多次。

替换一个字符

在交互模式下,将光标置于想要替换的字符上。按下 r 键,接着输入你要替换的字符即可。
在这里插入图片描述
在这里插入图片描述

撤销操作

如果要撤销最近的修改,只需要按下 u 键,如果想要撤销最近四次修改,可以按下4,再按下u 。
在这里插入图片描述

重做

取消撤销,也就是重做之前的修改使用 ctrl + r 。

跳转到指定行

Vim 编辑的文件中,每一行都有一个行号,行号从1开始,逐一递增。
行号默认是不显示,如果需要它显示的话,可以进入命令模式,然后输入 set nu ,如果要隐藏行
号的话,使用 set nonu 。
跳转到指定行: 数字+gg ,例如 7gg ,表示跳转到第7行。
要跳转到最后一行,按下 G 。
要跳转到第一行,按下 gg 。

高级操作

查找

处于交互模式下,按下 / 键,那么就进入查找模式,输入你要查找的字符串,然后按下回车。光
标就会跳转到文件中下一个查找到的匹配处。如果字符串不存在,那么会显示 “pattern not found” 。
n 跳转到下一个匹配项;
N 跳转到上一个匹配项。
注意: 用斜杠来进行的查找是从当前光标处开始向文件尾搜索,如果你要从当前光标处开始,向
文件头搜索则使用 ? ,当然也可以先按下 gg 跳转到第一行在进行全文搜索。
在这里插入图片描述

vim 设置行号与去除行号

设置行号:set num
在这里插入图片描述

去除行号:set num!
在这里插入图片描述

  • 15
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值