Linux 命令和 Vim 的使用

Linux 常用命令和 Vim 的使用

1. Linux 常用命令
1.1 Linux 终端打开方式
  • Linux桌面鼠标右键 --> 打开终端
  • 通过 Ubuntu 搜索功能 输入 ter 打开终端
  • 在目标文件中鼠标右键 --> 在终端中打开
  • 快捷键 Ctrl + Alt + T
1.2 Linux 终端快捷键
  • 复制 Ctrl + Shift + C
  • 粘贴 Ctrl + Shift + V / Shift + Insert
  • 打开终端 Ctrl + Alt + T
  • 关闭终端 Ctrl + Shift + W
  • 关闭全部终端 Ctrl + Shift + Q
  • 放大 Ctrl + +
  • 缩小 Ctrl –
  • 输入法切换中英文 Ctrl + Space
  • 自动补全 Tab
1.3 Linux 目录结构

Linux 整体的目录结构和 Windows 不同,Windows 采用不同的盘符方式来区分不同的磁盘,但是 Linux 中没有分区/分盘的概念

  • Linux 中是采用【根目录】为最大文件夹方式管理整个系统中的所有文件/文件夹,任何一个文件或者文件夹【绝对路径】都是从【根目录】开始。
Linux 根目录
	根目录在系统中的标识为 / , 根目录下是系统的资源文件,系统文件,系统配置文件,安装的软件目录.... 根目录中所有内容都不可以任意修改!!!

Linux 用户家目录/用户目录
	用户家目录/用户目录在系统中的标识为 ~,每一个用户对应一个家目录/用户目录,家目录中包含用户的相关数据,相关操作,相关配置,较为自由,可以任意操作,对其他用户以及操作系统没有任何的影响。

在这里插入图片描述

1.4 ls 查看命令

查看当前【工作目录】中文件或者文件夹情况

  • 【工作目录】就是终端打开对应的文件是哪一个目录,当前目录就是工作目录
jiu@jiu:~$ ls
	# 查看当前工作目录下的非隐藏文件或者文件夹,有一定颜色区分,告知是普通文件或者文件夹
jiu@jiu:~$ -a
	# 查看当前工作目录的所有文件或者文件夹,包括隐藏文件or文件夹,Linux 中隐藏文件 or 文件夹前缀是 .
jiu@jiu:~$ ls -al
	# 查看当前工作目录的所有文件或者文件夹,包括隐藏文件 or 文件夹 -l 命令参数是展示文件或者文件夹的详情

在这里插入图片描述

1.5 切换路径

change Directory 切换工作目录

jiu@jiu:~$ cd 桌面
	# 切换当前工作目录到桌面,桌面在家目录中,可以直接使用对应的文件夹名称进行路径切换
# 切换之后的控制台/终端前缀提示,路径提示告知当前工作目录是家目录中的桌面目录
jiu@jiu:~/桌面$

绝对路径

  • 是以 Linux 系统系统根目录 / 开头的路径,任何一个文件或者文件夹都有一个唯一的绝对路径。
  • 操作使用的路径 /home/jiu/桌面/111
  • 绝对路径在任意工作目录中,都可以直接达到对应文件夹位置。

相对路径

  • 以当前工作目录去往其他目录的【捷径】

  • 路径标识符 . [当前工作路径] 和 … [当前工作路径的上级目录]

  • 例如: 当前工作路径为 /home/jiu/桌面/111 ,期望到 /home/jiu/Code 文件夹

    jiu@jiu:~/桌面/111$ cd ../../Code
    jiu@qf:~/Code$ 
    
jiu@jiu:~$ cd .. # 切换到上级目录
jiu@jiu:/home$ cd . # 路径提示已到达原本的上级目录,cd . 当前目录
jiu@jiu:/home$ cd ~ # 路径提示没有变化,cd ~ 表示切换到家目录
jiu@jiu:~$
1.6 mkdir 创建文件夹

make directory 创建文件夹操作,可以在终端中指定目录中创建对的应文件夹

  • 可以创建文件夹的路径/目录,必须有下入权限!
jiu@jiu:~$ mkdir aaa # 家目录中创建一个 aaa 文件夹
jiu@jiu:~$ cd aaa # 切换工作路径到 aaa 文件夹中
jiu@jiu:~/aaa$ mkdir a b c d e f g # 批量创建文件夹,文件夹名称之间使用空格隔开
jiu@jiu:~/aaa$ mkdir b/test # 在 aaa 文件夹工作目录下,创建 b 文件夹中的 test 文件夹
1.7 touch 创建文件

touch 创建文件操作,创建的文件需要提供名称的文件名称和对应类型名称/后缀名/拓展名

jiu@jiu:~/aaa$ touch 1.txt  # 在当前工作目录下创建 1.txt 文件
jiu@jiu:~/aaa$ touch 2.txt  # 在当前工作目录下创建 2.txt 文件
jiu@jiu:~/aaa$ touch 1.c    # 在当前工作目录下创建 1.c 文件
jiu@jiu:~/aaa$ touch 2.c    # 在当前工作目录下创建 2.c 文件
jiu@jiu:~/aaa$ touch 3.c 3.txt 4.c 4.txt 
	# 在当前工作目录下同时创建多个文件,不同的文件使用空格隔开
jiu@jiu:~/aaa$ touch touch .qf # 在当前工作目录下创建 .qf 隐藏文件
jiu@jiu:~/aaa$ touch LOCK 
	# 在当前工作目录下创建 LOCK 文件,没有明确类型名称,可以作为标记文件,用于后续程序的运行	判断,运行条件
1.8 cp 复制

cp copy 命令,可以复制文件,或者文件夹

jiu@jiu:~/aaa$ cp 1.txt 2.txt
	# 1.txt 复制一份到 2.txt 
jiu@jiu:~/aaa$ cp -r a b
	# 将 a 文件夹完整复制一份给 b 文件夹
	# [注意]如果是文件夹操作,需要加入 -r 命令行参数
1.9 mv 移动

mv move 移动,可以移动文件,文件夹,或者重命名相关内容

jiu@jiu:~/aaa$ mv 1.txt 2.txt 
	# 将 1.txt 文件重命名为 2.txt
jiu@jiu:~/aaa$ mv 2.txt b/2.txt
	# 将 2.txt 文件移动到 b 文件夹中,并且文件名依然是 2.txt
jiu@jiu:~/aaa$ mv 2.txt b/3.txt
	# 将 2.txt 文件移动到 b 文件夹中,同时修改文件名称 3.txt
jiu@jiu:~/aaa$ mv a c
	# a 是一个文件夹,c 是一个不存在的文件,当前操作是将 a 文件夹重命名为 c
jiu@jiu:~/aaa$ mv a b
	# a 是一个文件夹,b 是一个存在的文件,当前操作是将 a 文件夹移动到 b 文件夹中
1.10 rm 删除

rm remove 删除操作,删除任意内容都无法撤回,使用一定要小心!!!

jiu@jiu:~/aaa$ rm 1.c # 删除当前工作目录下 1.c 文件
jiu@jiu:~/aaa$ rm 2.c 3.txt 4.txt 5.jpg 
jiu@jiu:~/aaa$ rm 6.jpg 8.png 7.png 
	# 可以同时删除多个文件,不同的文件名称之间使用空格隔开
jiu@jiu:~/aaa$ rm a 
#	rm: 无法删除'a': 是一个目录,文件夹不可以直接删除,需要命令行参数
jiu@jiu:~/aaa$ rm -rf a
	# -rf 是删除文件夹的命令行参数
jiu@jiu:~/aaa$ rm -rf c
	# -rf 是删除文件夹的命令行参数

rm 配合通配符完成批量操作

jiu@jiu:~/aaa$ rm *.c # 删除文件名称不限制,文件后缀名为 .c 的普通文件
jiu@jiu:~/aaa$ rm *.txt # 删除文件名称不限制,文件后缀名为 .txt 的普通文件
jiu@jiu:~/aaa$ rm *.png # 删除文件名称不限制,文件后缀名为 .png 的普通文件
jiu@jiu:~/aaa$ rm *.jpg # 删除文件名称不限制,文件后缀名为 .jpg 的普通文件

jiu@jiu:~/aaa$ rm 1.* # 删除文件要求文件名为 1,文件类型不限制

jiu@jiu:~/aaa$ rm *.* # 删除当前工作目录下的任意普通文件,【注意无法删除隐藏文件】。
jiu@jiu:~/aaa$ rm -rf * # 删除当前工作目录下所有文件和文件夹,【注意无法删除隐藏文件】。

jiu@jiu:~/aaa$ rm .* # 删除当前工作目录下隐藏文件,可能会遇到无法删除的隐藏文件夹。
1.11 sudo + chmod

sudo 超级权限命令

chmod 修改文件/文件夹操作权限命令

权限标记对应数值
r4
w2
x1
-0
例如:
	-rwxrwxr-x 
		拥有者 可读可写可执行  r(4) + w(2) + x(1) ==> 7
		同组人 可读可写可执行  r(4) + w(2) + x(1) ==> 7
		访客   可读不可写可执行 r(4) + -(-) + x(1) ==> 5
	775 权限
	
	755 权限
		7 ==> r(4) + w(2) + x(1)  
		5 ==> r(4) + -(-) + x(1)		
		5 ==> r(4) + -(-) + x(1)
	rwxr-xr-x
		拥有者 可读可写可执行
		同组人 可读不可写可执行
		访客   可读不可写可执行
drwxrwxr-x  2 qf qf 4096 1226 15:51 a
jiu@jiu:~/aaa$ sudo chmod 755 a # sudo 命令操作需要使用密码
[sudo] qf 的密码: 
jiu@jiu:~/aaa$ ls -al
总用量 12
drwxrwxr-x  3 qf qf 4096 1226 15:51 .
drwxr-xr-x 21 qf qf 4096 1226 14:19 ..
drwxr-xr-x  2 qf qf 4096 1226 15:51 a

# 修改当前 a 文件夹权限为 555 任意用户都没有写入权限,无法直接在文件夹中创建内容
jiu@jiu:~/aaa/a$ touch 1.txt
# touch: 无法创建'1.txt': 权限不够
jiu@jiu:~/aaa/a$ mkdir aaa
# mkdir: 无法创建目录"aaa": 权限不够

# 可以通过 sudo 命令给予超级权限,创建文件和文件夹
jiu@jiu:~/aaa/a$ sudo touch 1.txt
jiu@jiu:~/aaa/a$ sudo mkdir aaa
1.12 tar 压缩 or 解压缩

压缩

jiu@jiu:~/aaa$ tar -cvf test.tar 1.txt 2.txt
# 将当前工作目录下的 1.txt 和 2.txt 文件压缩成 test.tar 

解压缩

jiu@jiu:~/aaa/c$ tar -xvf test.tar 
# 解压文件,压缩包内容解压到当前工作目录

jiu@jiu:~/aaa$ tar -xvf test.tar -C b
# 解压文件,压缩包内容解压到 -C 指定的文件夹
1.13 其他命令

ifconfig 查看当前虚拟机网络情况

ping 用于网络测试,可以 ping 远端的 ip 地址,判断网络连接情况

jiu@jiu:~/aaa/c$ ping 192.168.7.6 # ping 目标 ip
jiu@jiu:~/aaa/c$ ping www.baidu.com # ping 目标的网址

pwd 查看当前工作目录 print work directory

jiu@jiu:~/aaa/c$ pwd
/home/jiu/aaa/c # 绝对路径提示

clear 清理命令行屏幕,常用 ctrl + L

方向键上下 ↑/↓ 回顾之前的命令内容

1.14 cat tac nl
jiu@jiu:~/aaa/c$ cat 1.txt # 正向查看文本文档内容
aaa
bbb
ccc
ddd
eee
fff
ggg
jiu@jiu:~/aaa/c$ tac 1.txt # 反向查看文本文档内容
ggg
fff
eee
ddd
ccc
bbb
aaa
jiu@jiu:~/aaa/c$ nl 1.txt # 正向带行号查看文本文档内容
     1	aaa
     2	bbb
     3	ccc
     4	ddd
     5	eee
     6	fff
     7	ggg
2. Vim 使用
2.1 Vim 概述
终端编译器之神,作者已经去世。开源,开放,包容一切的开发工具。
Vim 有三种模式
	编辑模式
	插入模式
	命令模式

在这里插入图片描述

2.2 编辑模式
可以完成编辑相关的命令/指令,例如 复制,粘贴,删除,跳转
命令样式效果解释
yy复制光标所在行
y[n]yn表示数值,复制从光标所在行开始一共 n 行
dd剪切光标所在行内容,如果仅剪切不粘贴,就是删除操作
d[n]dn表示数值,剪切光标所在行开始一共 n 行
p粘贴当前剪切板中的内容
gg光标直接在整个文档的第一行
[n]ggn表示行数,跳转到文档的指定行
hjkl光标移动控制,h 左移动 j 下移动 k 上移动 l 右移动
u撤销一次操作
2.3 插入模式

从编辑模式进入到插入模式,需要使用字母 i 或 o

i 插入模式直接从当前光标所在位置开始
0 插入模式从光标所在位置另起一行开始

正常写代码
2.4 命令模式

可以用于关闭,保存,多文件打开

常用命令命令解释
w保存
q退出,文件未保存无法退出
q!强制退出
wq保存+退出
wqa保存所有文件+退出
wa保存所有文件
vsplit 文件名可以在 Vim 中打开多个文件
  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值