虚拟机网络
| 连接方式 | 连接的网卡 | 能否连接局域网 | 能否连接公网 |
|---|---|---|---|
| 桥接 | VMnet0(本地真实网卡) | 可以 | 可以 |
| NAT | VMnet8 | 不可以 | 可以 |
| 仅主机 | VMnet1 | 不可以 | 不可以 |
- 桥接连接的网卡是随机连接的,要是连接到了没网络的网卡还需要自己设置。
- 桥接模式下虚拟机相当一台独立的计算机,拥有一个独立的IP地址,与本机在一个局域网内。
- NAT模式可以帮助虚拟机通过本机所在的网络来访问公网。
- 仅主机模式会建立一个全封闭的虚拟网络,只有主机能访问
目录结构

常用命令
目录命令
ls
# 查看文件夹的信息
ls
# 查看详细信息
ls -l
# 查看隐藏目录
ls -a
# 显示文件大小
ls -lh
cd
# 进入目录
cd [路径]
# 进入家目录
cd ~
# 进入上一次所在的目录
cd -
# 进入上一级目录
cd ..
mkdir和rmdir
# 创建目录
mkdir [目录名]
# 删除目录,只能删除空目录
rmdir [目录名]
# 递归建立目录
mkdir -p [目录路径]
# 递归删除目录,只能删除空目录
rmdir -p [目录路径]
文件操作
touch
# touch创建文件
touch [文件名]
# 若已有该文件则会修改文件时间
stat
# 查看文件详细信息
stat
cat
# 查看文件内容
cat [文件名]
# 显示行号
cat -n [文件名]
# 显示所有隐藏符号
cat -A [文件名]
more和less
# 分屏显示文件内容
more [文件名]
# 空格键翻页,回车向下一行,b向上翻页,/字符串就算搜索字符串,q退出
# 分行显示文件内容
less [文件名]
head和tail
# 显示文件开头n行
head -[n] [文件名]
# 显示文件末尾n行
tail -[n] [文件名]
# 监听文件新增内容
tail -f [文件名]
文件和目录的命令
rm
# 删除文件或者目录
rm [文件名]
# 强制删除
rm -f
# 递归删除
rm - r
cp
# 复制文件,不自定义名字就会默认原名
cp [文件名] [复制后]
# 递归复制,多用于目录
cp -r
mv
# 移动或重命名
mv [文件名] [移动后]
权限
基本权限
通过命ls -l就能看到一些文件的基本权限,比如下图。

- 第一位表示的是文件的类型。
-代表的是普通文件d代表是目录b代表块设备文件c代表字符设备,比如键盘鼠标等等s代表套接字文件l位链接文件p位管道文件
- 第二到第四位代表文件所有者的权限(user)
- 第五到第七位代表组群所有者的权限(group)
- 第八到第十位代表其他人的权限(other)
-
-代表没用该权限r代表可读w代表可写x代表可执行
- 后面两个root代表的是文件所有者和群组
修改权限
chmod
# 增加文件所有者的一个文件的可写权限
chmod u+w [文件名]
# 删除权限
chmod u-w [文件名]
# 修改所有者,组和其他用户权限
chmod u+w,g+w,o+w [文件名]
# 设置权限
chmod u=rwx,g=rwx,o=rwx [文件名]
数字权限
# 4代表可读,2代表可写,1代表可执行
# 修改文件权限,4+2+1=7,4+1=5
chmod 755 [文件名]
# 经常使用到的数字权限
chmod 644
chmod 755
chmod 777
chown
## 修改文件的所有者
chown [用户] [文件名]
## 修改文件的所有者和所有组
chown [用户]:[组] [文件名]
chgrp
## 修改文件的所属组
chown [组] [文件名]
默认权限
每次新建的文件都会有权限,这就是默认权限,umask。对文件来讲默认权限最大为666,对目录来讲是777。
## 查看当前umask的值
umask
## 查看当前默认权限
umask -S
帮助命令
man
man ls
## 查看命令有几个级别
man -f
what is
info
info ls
help
## help只能获取shell内置命令的帮助,不常用
cd --help
## 可以用type来判断是不是内置命令
type cd
搜索命令
whereis
## 用来搜索系统命令,源文件和帮助文档位置
whereis ls
which
## 查找命令,若该命令有别名也会查找别名
which ls
locate
## 通过文件名搜索,因为是通过数据库查找,所以新增的需要更新数据库
locate [文件名]
find
按照文件名搜索
## 通过文件名搜索
find [搜索的路径] -name [文件名]
## 不区分大小写的文件名
find [搜索的路径] -iname [文件名]
## 通过inode查找
find [搜索的路径] -inum [inode]
按照文件大小搜索
## 按照文件大小搜索
find [搜索的路径] -size [大小]
按照权限搜索
find [搜索的路径] -perm [数字权限]
## 三个权限只要有一个比数字权限的大或者等于
find [搜索的路径] -perm +[数字权限]
## 三个权限每一个都要比数字权限的大或者等于
find [搜索的路径] -perm -[数字权限]
grep
## 查找文件中符合条件的字符串
grep "ww" [文件名]
## 输出行号
grep -n
## 不区分大小写
grep -i
## 查找不符合条件的
grep -v
## 符合的部分高亮
grep --color=auto
压缩与解压缩
zip格式
## 压缩
zip [压缩后文件名] [原文件]
zip test.zip test.txt
## 解压缩
unzip [压缩文件]
gz格式
## 压缩文件,能压缩目录但不打包
gzip [文件名] # 不保留原文件
gzip -r [目录] # 会将目录内文件一个个压缩,不压缩目录
## 解压缩
gzip -d [压缩文件]
gunzip [压缩文件]
gzip -dr [目录]
bz2格式
## 压缩,不能压缩目录
bzip2 [文件名] # 不保留原文件
bzip2 -k [文件名] # 保留原文件
## 解压缩
bzip2 -d [压缩文件]
bunzip2 [压缩文件]
tar格式
## 打包,c表示打包,f表示指定文件名,v显示打包过程
tar -cvf [文件名.tar] [原文件或目录]
## 解压,x表示解打包
tar -xvf [tar包]
## 压缩包,生成.tar.gz的压缩包
gzip [tar包]
## 解压缩包
gzip -d [tar.gz压缩文件]
tar.gz和tar.bz2
## 压缩,z表示tar.gz格式,j表示tar.bz2
tar -zcvf [文件名.tar.gz] [原文件或目录]
tar -jcvf [文件名.tar.bz2] [原文件或目录]
## 解压缩
tar -zxvf [文件名.tar.gz]
tar -jxvf [文件名.tar.bz2]
## 解压缩到指定位置
tar -zxvf [文件名.tar.gz] -C [路径]
tar -jxvf [文件名.tar.bz2] -C [路径]
## 只查看不解压,用t参数
tar -ztvf [文件名.tar.gz] [原文件或目录]
tar -jtvf [文件名.tar.gz] [原文件或目录]
关机和重启
sync
# 数据同步,刷新文件系统的缓存区
sync
shutdown
# 现在关机
shutdown -h now
# 在10点关机
shutdown -h 10:00
# 现在重启
shutdown -r now
# 取消关机或重启
shutdown -c
reboot
# 现在重启
reboot
网络命令
ifconfig
# 查询网卡的信息
ifconfig
ping
# ping向一个主机发送ICMP请求
ping [IP]
# 指定ping的次数
ping -c 10 [IP]
# 广播
ping -b [IP]
netstat
# 查询本机开启的所有端口
netstat -tuln
# 查看本机开启的所有端口是哪个服务
netstat -tulnp
# 查看网关
netstat -rn
VIM
进入输入模式
| 插入命令 | 描述 |
|---|---|
| i | 在光标所在字符后插入 |
| I | 在光标所在字符行尾插入 |
| a | 在光标所在字符前插入 |
| A | 在光标所在行行首插入 |
| o | 在光标下插入新行 |
| O | 在光标上插入新行 |
编辑模式
# 在命令模式用:进入编辑模式
# 保存
:w
# 退出
:q
# 强制不保存退出
:q!
# 强制保存退出
:wq!
命令模式
移动光标
- 上下左右键
- HJKL键,h向左,j向下,k向上,l向右
gg移动光标到文件头,G移动到文件尾^移动到行首,&到行尾- 进入编辑模式加数字到第几行,比如
:3是到第三行
删除
x删除一个字母,nx删除n个字母dd删除一行,ndd删除n行- 进入编辑模式,
:n1,n2d删除n1到n2行 - 其实删除是放到了剪切板,按
p数粘贴到下一行,P是粘贴到上一行
复制
yy复制单行,nyy复制n行- 按
p数粘贴到下一行,P是粘贴到上一行
撤销
u撤销上一次操作ctrl+r是反撤销
替换
r替换光标的字符R进入替换模式,esc退出
vim配置文件
| 参数 | 描述 |
|---|---|
| nu | 显示行号 |
| nonu | 取消行号 |
| on | 依据语法显示相关颜色帮助 |
| off | 取消颜色帮助 |
| hlsearch | 设置将查询的字符串高亮,默认 |
| nohlsearch | 取消设置将查询的字符串高亮 |
| ruler | 显示右下角状态栏,默认 |
| noruler | 取消显示右下角状态栏 |
| showmode | 显示状态显示,默认 |
| noshowmode | 不显示状态显示 |
| list | 显示隐藏字符 |
| nolist | 不显示隐藏字符,默认 |
在编辑器中输入只是临时的,需要改就需要到家目录下的
.vimrc中添加配置,比如添加set nu该用户的编辑器就会显示行号