一、复习
【1】命令行提示符
【2】切换用户
su 用户名
sudo passwd 用户名 ----->修改用户密码
【3】cd、ls、mv、cp
【4】cat
echo的使用方式:echo "内容" >> 文件名
【5】touch
touch 文件名
如果文件存在更新文件的时间戳,如果文件不存在创建文件
二、网络配置
【1】虚拟机可以提供哪些虚拟网络
- 桥接模式 ---->(虚拟机和主机不是同一个ip地址,可以网络通信)
- 主机模式 ---->(只能和主机通信)
- NAT模式 ----->(外部看到的主机和虚拟机是同一个ip地址,可以网络通信)
【2】配置桥接网络
i)让网络适配器提供桥接网络
选择桥接或者是VMNAT0(自定义的桥接)
ii)为虚拟机添加虚拟网络
编辑---->虚拟网络编辑器
点击右下角的更改设置,保证虚拟机有桥接网络即可
如果网络列表中没有桥接网络,点击添加网络,手动添加桥接模式的网络(VMnet0)
如果不能够添加桥接网络,点击左下角的还原默认设置,如果还不行,找到VMware的安装包,双击修复
iii)给虚拟机设置桥接网络
进入虚拟机,右上角找到有线设置
如何找到主机的网络信息
cmd打开命令行工具,输入ipconfig
如何验证网络是否配置成功
ping baidu.com ---->ping+任意网址,只要能ping通,说明连接网络成功
三、在线安装软件
【1】更新ubuntu的软件源
因为ubuntu中默认访问的是国外的软件源,将ubuntu中默认的国外的软件源,更新成国内的软件源
清华源、阿里源、163源····
清华源的网址:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
软件源网址,存在于/etc/apt/sources.list文件中,将文件原有的内容删除,将新的软件源粘贴进去
拉去更新后的网址中的软件源列表
执行指令sudo apt-get update
只要更改了/etc/apt/sources.list文件,就必须重新update
【2】下载软件
下载:sudo apt-get install 软件名
sudo apt-get install oneko
下载完成直接输入软件名即可使用
直接运行软件时,如果软件不停止运行,无法进行其他的操作,可以后台运行软件,软件名 &会自动弹出进程号,后续可以直接使用进程号杀死进程kill -9 进程号
sudo apt-get install gnome-mines
卸载:sudo apt-get remove 软件名(不完全卸载,不删除配置文件)
完全卸载:sudo apt-get remove 软件名 --purge
sudo apt-get purge 软件名
下载软件安装包:sudo apt-get download 软件名
清理默认下载位置的安装包:
sudo apt-get clean
默认下载位置: /var/cache/apt/archives/
自动下载并安装的软件的软件安装包被下载在该位置(install下载的)
更新软件: sudo apt-get upgrade 软件名
四、离线安装软件
【1】软件包的命名规范
deb是Debian的缩写
rpm---->Redhat的软件包标准
【2】离线安装的指令
dpkg ---->debian package的缩写
离线安装软件的前提一定是,执行指令的路径下有软件安装包
sudo dpkg -i 软件包名 ---->安装
sudo dpkg -r 软件名 ---->卸载
sudo dpkg -P 软件名 ---->完全卸载
离线安装和在线安装的区别:
离线安装不会检查软件所需要的其他依赖,在线安装会检查并且会下载相关依赖
五、文件相关的操作
【1】head
head 文件名 ----->回显文件的前10行
head -n 文件名 ----->回显文件的前n行
【2】tail
tail 文件名 ----->回显文件的后10行
head -n 文件名 ----->回显文件的后n行
【3】管道符 |
指令1 |指令2
将指令1的输出,作为指令2的输入
显示文件的第5行
head -5 文件名 | tail -1
显示/etc/passwd倒数第二行被/分割的第五段字符,每个人都可能不一样,需要打开passwd确认
【4】 file
功能:查看文件的详细信息
file 文件名
【5】find
功能:查找文件或目录,多和通配符结合使用
find 路径 -name 文件名
find和通配符结合使用:
find 路径 -name "*字符串" ---->find ./ -name "*.c"
find 路径 -name "\*字符串" ---->find ./ -name \*.c
eg:查找根目录下的group文件
sudo find / -name group
【6】cut
功能:剪切字符串
cut -d 分隔符 -f 字段 文件名
cut -d "." -f 1 test 剪切以"."分隔符的第一个字段
cut -d "." -f 1,3 test 剪切以"."分隔符的第1和第3个字段
cut -d "." -f 1-3 test 剪切以"."分隔符的第1,2,3个字段
eg:查找/etc/passwd中ubuntu这一行的最后一个解析器bash
tail -6 /etc/passwd | head -1 | cut -d "/" -f 5
【7】grep
功能:查找字符串
grep "字符串" 文件名
grep -i "字符串" 文件名 忽略大小写
grep -w "字符串" 文件名 以单词的形式查找
grep -n "字符串" 文件名 以单词的的行号
grep -r "字符串" 路径/文件名 递归查找在指定目录下的所有文件
grep "^字符串" 文件名 查找以字符串开头的信息
grep "字符串$" 文件名 查找以字符串结尾的信息
grep "^字符串$" 文件名 查找以字符串开头结尾的信息
【8】通配符 * ? []
*
功能:匹配一个或多个字符
eg:
ls a* -->查找以a开头的文件
ls *.c --->查找.c文件
?
功能:匹配一个字符
ubuntu@ubuntu:~/24121C高级$ ls a? 查找第一个字符是a,第二个字符不确定的文件
'a?' ab
ubuntu@ubuntu:~/24121C高级$ ls a?? 查找第一个字符是a,后面两个字符不确定的文件
a3f aad abc
ubuntu@ubuntu:~/24121C高级$ ls ??? 查找三个字符的文件名
23d a3f aad abc
ubuntu@ubuntu:~/24121C高级$ ls ??d 查找前两个字符不确定,最后一个字符是d的文件
[]
功能:匹配一个字符,适用于有范围的匹配
ubuntu@ubuntu:~/24121C高级$ ls a[0-9] 查找以a开头第二个字符是0-9的文件
ubuntu@ubuntu:~/24121C高级$ ls a[0-9][0-9] 查找a开头第二个字符是0-9,第三个字符是0-9的文件
ubuntu@ubuntu:~/24121C高级$ ls a[0-9][a-z] 查找a开头第二个字符是0-9,第三个字符是a-z
ubuntu@ubuntu:~/24121C高级$ ls a[b7] 查找ab或者a7文件
ubuntu@ubuntu:~/24121C高级$ ls a[b,7] 查找ab a6 a,三个文件
a, a7 ab
ubuntu@ubuntu:~/24121C高级$ ls a[0-9a-z] 查找a开头第二个字符是0-9或者a-z的文件
a7 ab
【9】 wc (world count)
功能:打印行数,单词的个数,字符的个数 ,文件名
wc 文件名
wc -c 文件名 打印字节数
wc -m 文件名 打印字符个数
wc -l 文件名 打印行号
wc -w 文件名 打印单词的个数
【10】chgrp
功能:修改文件的所属组
sudo chgrp 组名 文件名
【11】chown
功能:修改文件的所属用户以及组
sudo chown 用户名 文件名
eg:
sudo chown root test 修改test文件的所属用户
sudo chown :root test 修改test文件的所属组
sudo chown root: test 修改test文件的所属组以及所属用户
六、链接文件ln
1 硬链接
硬链接文件:文件的inode相同
查看文件inode: ls -i
格式: ln 被链接的文件 创建的链接文件
硬链接文件时一个普通文件,不是链接文件
当创建硬链接文件时,硬链接文件的个数增加,删除是减少
当修改源文件或硬链接文件时,对应的硬链接文件或原文件会随之发生修改
不可以对目录创建硬链接
硬链接的inode的相同
当删除源文件且重新创建后,链接关系失效
2 软连接
软连接:快捷方式,可以对目录创建软链接
格式: ln -s 绝对路径下被链接的文件 绝对路径下的创建的链接文件
软链接文件类型是l
当创建软链接文件时,硬链接文件的个数不会增加,删除是不会减少
当修改源文件或软链接文件时,对应的软链接文件或原文件会随之发生修改
可以对目录创建硬链接
软链接的inode的不相同
当删除源文件且重新创建后,链接关系重新生效
为什么是绝对路径?
如果是绝对路径,当修改软链接的路径时,链接关系依旧
如果是相对路径,当修改软链接的路径时,链接关系失效
七、压缩\解压缩\归档\拆包
1 压缩\解压缩
压缩\解压缩:源文件不存在,不可以对目录,链接文件进行压缩
bzip2 xz gzip
压缩:
bzip2 压缩的文件名 --->生成一个***.bz2
xz 压缩的文件名 --->生成一个***.xz
gzip 压缩的文件名 --->生成一个***.gz
解压缩:
bunzip2 ***.bz2
unxz ***.xz
gunzip ***.gz
压缩效率:bzip2 >xz >gzip
压缩时间:bzip2 >xz >gzip
2 归档和拆包tar
归档\拆包:源文件存在,可以对目录进行操作
-c 把多个文件\目录归档
-v 显示归档过程的路径
-f 后面根一个指定的文件
-x 拆包
-J xz
-j bzip2
-z gzip
1.归档:
tar -cvf **.tar 归档的文件\目录
2.归档并压缩
tar -Jcvf **.tar.xz 归档的文件\目录
tar -jcvf **.tar.bz2 归档的文件\目录
tar -zcvf **.tar.gz 归档的文件\目录
3.万能拆包并解压
tar -xvf **.tar --->拆包
tar -xvf **.tar.xz --->拆包并解压
tar -xvf **.tar.bz2 --->拆包并解压
tar -xvf **.tar.gz --->拆包并解压
4.拆包并解压
tar -Jxvf **.tar.xz --->拆包并解压
tar -jxvf **.tar.bz2 --->拆包并解压
tar -zxvf **.tar.gz --->拆包并解压
一般用万能拆包,因为其他的太麻烦。
八、磁盘指令
1.磁盘和ubuntu连接
方式1:
方式2:
2.查看是否链接成功
ls /dev/sd*
注意:只要存在不是sda的,那就是优盘
3.查看优盘对应的使用信息
df 查看磁盘的使用情况:文件系统、1K-块、已用、可用、已用%、挂载点 df /dev/sdb1 查看指定磁盘的使用情况 df -a 查看所有磁盘的使用情况,包含0的 df -a -h 查看所有磁盘的使用情况,包含0的,单位是G\M
如果优盘存在已经挂载的时候,那么以下操作均失败,则需要提前取消挂载
取消挂载umount
使用格式:
umount 挂载点
umount 挂载的磁盘
4.给磁盘操作fdisk
使用格式:sudo fdisk 磁盘
eg: sudo fdisk /dev/sdb
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
w 将分区表写入磁盘并退出
q 退出而不保存更改
5.在ubuntu中格式化磁盘
注意:一旦分区成功,在插入windowd则识别不了,需要格式化
格式: sudo mkfs.格式化的类型 分区
eg: sudo mkfs.ntfs /dev/sdb1
6.挂载
在ubuntu中,万物都是文件,要想磁盘存储文件,则需要把磁盘挂载到一个文件夹下面
那么操作文件夹,就等价于操作磁盘,注意使用完以后取消挂载
1.创建一个目录
2.把指定分区挂载到指定的目录
挂载:mount
mount 挂载的分区 挂载点
取消挂载umount
umount 挂载分区
umount 挂载点
九、开关机指令
关机:
shutdown 10 10分后自动关机
shutdown 12:45 在12:45关机
shutdown now 立刻关机
重启:
shutdown -r 10 10分后自动重启
shutdown -r 12:45 在12:45重启
shutdown -r now 立刻重启
shutdown -c 取消操作
十、用户相关指令
/etc/passwd --->存储所有用户信息
/etc/group ---->存储所有组信息
/etc/shadow --->存储密码
1.查看用户名
whoami
2.查看用户id以及组id
id 查看当前终端的用户id 以及组id
id 指定用户名 查看指定用户id 以及组id
id -u 用户名 查看指定的用户id
id -g 用户名 查看指定的用户的组id
3.创建用户adduser
格式: sudo adduser 新用户
4.切换用户
su 用户名
5.退出用户
exit
6.删除用户userdel
格式:
sudo userdel 用户名 删除指定用户,不可以删除家目录
sudo userdel 用户名 -r 删除指定用户,可以删除家目录
7.修改用户信息usermod
1.修改用户名
sudo usermod -l 新用户名 原用户名
2.修改用户的描述信息
sudo usermod -c 描述信息 用户名
3.修改用户对应的家目录
sudo usermod -m -d 新的用户家目录 用户名
8.添加组\删除组
addgroup\groupadd\delgroup\groupdel
1.addgroup
功能:把一个组添加到系统,把用户添加到组中,可以使用id查看对应的组信息
sudo addgroup 用户名 组名
2.delgroup
功能:把用户从组中删除
sudo delgroup 用户名 组名
3.groupadd
功能:创建一个新的组,在/etc/group文件中查看
sudo groupadd 组名
4.groupdel
功能:删除一个组
sudo groupdel 组名
9.在新用户中添加sudo权限
建议保存快照
1.打开/etc/sudoers文件
sudo vim /etc/sudoers
2.添加以下语句
3.强制保存
w! --->强制保存