day2:
1>安装ubuntu
2>网络配置
1>需要注意格式
过程:
1>将自己ubuntu的网络模式切换成桥接?
NAT?
2>打开ubuntu网络配置文件
sudo vim /etc/netplan/*.yaml */
3>根据以下模板填写进自己的文件
network:
version: 2
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.90.6/24]
gateway4: 192.168.90.1
nameservers:
addresses: [202.96.128.86]
注意:该文件编写需要注意缩进,这个网络层次是分层的
在缩进格式上,空格 和 tab 进行二选一
4>wq保存退出后执行网卡重启命令
sudo netplan apply
拓展知识:
在安装操作之前养成习惯:
更新一下你的软件商店:
sudo apt-get update
安装网络工具:
sudo apt-get install net-tools
调用网络工具:
ifconfig
3>vim的安装与配置
1>安装:
sudo apt-get update
sudo apt-get install vim
2>vim有多少种模式
插入、命令、底行
3>vim的配置:
配置成我们系统用法
1>打开配置文件
sudo vim /etc/vim/vimrc
2>在末尾添加以下内容:
set number
set cindent
set mouse=a
set st=4
set sw=4
set sts=4
3>保存退出
source /etc/vim/vimrc
ubuntu分了两个版本:
1>桌面版 --->有界面有图形:18.04-desktop-amd64
2>服务器版 --->只有字符界面:18.04-bit-amd64
要做的操作:
利用一些软件,将ubuntu切换成服务器版本
1>ssh协议 --->外部连接协议
2>putty --->工具
1>安装ssh协议
sudo apt-get update
sudo apt-get install ssh
2>开启ssh协议
sudo /etc/init.d/ssh start //开启
[ ok ] Starting ssh (via systemctl): ssh.service.
sudo /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl): ssh.service.
3>调用putty接入终端
通过IP和用户名和密码接入ubuntu
putty和我们第三天的跑板子有关
apt: 1>需要通过网络安装
2>自行获取资源安装
3>会提用户考虑依赖关系
、详解:
安装逻辑:
apt:软件仓库:内部存储了很多软件的URL
源:软件获取的途径
在我们ubuntu18.04当中:源在/etc/apt下
sources.list ---》源文件
1>在更换源之前,需要先备份:
sudo cp sources.list sources.list.bak
2>更换源
打开源文件:sudo vim sources.lst
清空里面的内容
把在网络上复制的源,粘贴到里面 并 保存退出
3>使源生效
sudo apt-get update
apt命令:
install --->安装
update --->更新
remove --->卸载
什么是依赖关系?
软件包运行时,需要有另外一个软件包进行依赖
该被依赖的软件包被称为依赖项
=====================================================================
2>shell命令详解/通配符/标准文件重定向/挂载:
1> 什么叫shell命令?
ls cd cp touch mkdir mv vi vim… —>shell
2> 什么是shell? ---“贝壳”
Linux中的Shell就是Linux内核的一
个外层保护工具,并负责完成用户与内核之间的
交互
3> shell命令的格式:
[命令] [选项] [参数]
--->三个成员各用空格隔开
例如:
ls --->命令
ls -l --->命令 + 选项
ls -l 1.c --->命令 + 选项 + 参数
PS:命令是必须的 选项和参数是可选的
命令行第一个读取的,必定是命令,所以命令是必须的
4> 命令行详解:
farsight@ubuntu:~$
farsight:用户名
@ : 分隔符--->隔开两个信息
ubuntu : 主机名
: : 分隔符--->隔开主机名和所在路径
~ :代表当前所在位置
$ : 权限符
$--->普通用户的权限
#--->超级用户的权限
su -->super user
sudo ->super user do
5>通配符
什么是通配符
是一种用于匹配文件名字的符号
*.yaml
*:通配符
通配符 含义 实例 -->第一阶段必考
星号(*) 匹配任意长度的字符串
用file_*.txt,匹配file_wang.txt、file_Lee.txt、
file3_Liu.txt
问号(?) 匹配一个长度的字符
用flie_?.txt,匹配file_1.txt、file1_2.txt、file_3.txt
方括号([…]) 匹配其中指定的一个字符
用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
方括号([ - ]) 匹配指定的一个字符范围 a-z 1-9
用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到
file_z.txt
方括号([^…]) 除了其中指定的字符,均可匹配
用file_[^otr].txt,除了file_o.txt、file_r.txt和file_t.txt的
其他文件
标准文件和标准文件重定向
什么是标准文件:
是一种开机自启、负责ubuntu系统正常运作的三种文件
1>标准输入 --- 键盘
2>标准输出 --- 屏幕
3>标准错误输出- 屏幕
--->ubuntu开机的时候一起开启
---->流/文件描述符
标准文件重定向 ---->了解
改变输入和输出的方向
输入--->文件,命令行
输出--->屏幕
错误输出->屏幕
正常方向
重定向: 把正常方向修改
> 输出重定向,将输出的结果定向别的地方 ->清空模式
>> 输出重定向,将输出的结果定向别的地方 ->追加模式
< 输入重定向,wc -c < 1.c,将1.c的文本内容输入给wc -c统计
2> 标准错误输出重定向
6>挂载操作
就是将外来的文件系统,载入进ubuntu系统中,该操作用于
抹除文件系统差异,该操作:挂载
外来文件系统叫挂载项
挂载操作:
1>挂载的地方必须事先存在
2>用于共享文件系统
3>挂载点内原本拥有的文件,将会被隐藏
ubuntu:EXT4
windows:NTFS
--->windows的目录或者文件,就需要通过挂载操作才可以
在ubuntu中使用 --->U盘
把一个U盘,挂载进ubuntu中
farsight@ubuntu:~$ cat /proc/partitions --->检查设备
major minor #blocks name
7 0 2136 loop0
7 1 224256 loop1
7 2 93888 loop2
7 3 4 loop3
7 4 477736 loop4
7 5 508 loop5
7 6 358088 loop6
7 7 66660 loop7
8 0 104857600 sda
8 1 104855552 sda1
sd*X:
sda:第一磁盘
sda1:第一磁盘的第一分区
sdb3:
sdb:第二磁盘
sdb3:第二磁盘的第三分区
/dev? --->设备目录
接下来:开始操作: 准备工作:绿色环保U盘
挂载命令:mount
1>将U盘插入主机后,弹出页面选择连接至虚拟机
PS:千万不要记住选择,谁记住选择,老郭第二天吊死在他座子上
2>再次查看设备cat /proc/partitions
8 16 30720000 sdb
8 17 30719984 sdb1
---->多出来的磁盘
3>我们建立好挂载点
/mnt/myusb
4>开始操作
sudo mount /dev/sdb1 /mnt/myusb
>>>>>>
5>卸载操作
umount
sudo umount /mnt/myusb
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
复习一下:
3>ubuntu的常用命令
ls
cd
cp
rm --->删除操作 -->大师上预科C最后一天 表演一下什么叫删库跑路
姓唐 ---> 姓郭
rm 删掉的东西完完全没办法恢复的
touch
mkdir
chmod
man
mv
4>用户管理和进程管理
用户管理
什么是用户管理?
源于我们系统中多用户机制:一个系统可以容纳多个用户
多个用户存在的目的是什么:是为了利用权限区分对文件的操作
用来一机多用的同时,尽可能的保护各个用户的文件安全
ubuntu身为一种多用户多进程的系统,自然也支持多个用户操作同一机子
1>修改密码:-----------****别乱用
passwd 用户名
:密码太简单不行,密码比上一次相似不行
2>添加用户:adduser
用法:adduser 用户名
新添加用户:无法执行sudo命令 -->没有sudo权限
为什么farisight
--->farsight --->由系统创建
--->tonly --->由用户创建
PS:操作:get新用户添加sudo权限
在ubuntu中,管理用户的组件一共有三个
/etc/sudoers --->权限
/etc/passwd --->密码
/etc/shadow --->信息
操作: ----》需要格外注意,如果要玩这个操作,记得快照,不快照
1>sudo vim /etc/sudoers
2>打开文件发现第20行:
20 root ALL=(ALL:ALL) ALL //超级用户的权限位置
3>复制第20行,粘贴在第21行
用户名 ALL=(ALL:ALL) ALL
3>把tonly做掉 --->删除用户:userdel
farsight@ubuntu:~$ sudo userdel tonly
userdel: user tonly is currently used by process 5514
--->当前tonly用户正在被进程5514使用
farsight@ubuntu:~$ sudo kill -9 5514
-->把进程5514做掉
惨绝人寰的事情:彻底灭杀
1>检查组件中是否还存留tonly的信息
/etc/sudoers --->权限
/etc/passwd --->密码
/etc/shadow --->信息
确认全部组件中没有遗留信息
2>在home目录下执行:
sudo rm -rf tonly
进程管理---->应用层:多进程线程
进程:程序执行的过程:进程
程序:你写的程序,是静态的
查看我们系统中的进程:
ps -aux :静态查看进程
top :动态查看进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:进程拥有者
PID:进程的ID号 :唯一的
%CPU:CPU占用率
%MEN:内存占用率
VSZ:物理内存用量
RSS:虚拟内存用量
TTY:终端
STAT:进程的状态
START:进程的开启时间
TIME:进程的执行时间
COMMAND:开启进程的命令
进程拥有者是:farsight --->用户进程
进程拥有者:root --->系统进程
玩个好玩的:
写一个进程出来,将其做掉
#include <stdio.h>
#include <unistd.h>
int main(){
while(1){
sleep(1);
printf("%d\n",getpid());//获取自己PID号的函数
}
return 0;
}
如果觉得:不够过瘾,建议你用putty连上你同桌的ubuntu,kill他pid1-100的进程
康康会发生什么
kill:发送信号给进程
-9:杀死:无法被任何事件阻塞
-2:终止:ctrl + c
5>文件系统详解和文件压缩与解压
1>文件系统详解:
ubuntu的文件系统:EXT4
特点:
1>分离式存储 --->了解
2>用缓冲区隔开各个组件的输入和输出
缓冲区: ---->IO编程第一天:标准IO
硬件和输入输出的响应速度不同
在两者之间加入缓冲区,可以让两者速度匹配
".1.c.swp":临时缓存文件
出现原因:我们写入23071但是没有保存,也就没有写入到文件
而是留在了缓冲区,遇到异常退出时,系统会自动
保留缓冲区的数据,并在你下一次访问在文件时提示你
删除:sudo rm .1.c.swp
3>文件信息详解
我们要查看文件的详细:ls -l
-rw-rw-r-- 1 farsight farsight 126 Jul 27 01:31 1.c
类型与权限 硬链接数 文件拥有者 文件所属组 文件大小 文件最后修改时间 文件名
文件类型与权限:
-rw-rw-r–
10为一体:
1+3+3+3
1:文件类型
3: 文件拥有者权限
3: 文件所属组权限
3: 其他用户的权限
1: 就看第一位
-:普通文件
d:目录
c:字符设备
l:软链接
s:套接字文件--->网络编程
p:管道文件 --->多进程线程
3+3+3:权限位:由系统决定
rw- rw- r--
八进制: 0 6 6 4
二进制: 110 110 100
--->标志位保存 --->32位 前16废物位 后16标志位
修改权限:chmod 八进制 文件名
你们必考的知识点:
权限掩码:权限阉割码 割以永治
用来保护创建文件时使文件权限过大而被修改的保护手段
创建目录的权限:0777 - 掩码权限 =0775?
创建文件的权限: 0666 - 掩码权限 =0664?
farsight@ubuntu:~/test1$ umask
0002 --->掩码
0777-0002=0775
0666-0002=0664
4>文件压缩与解压
压缩:将文件压缩使其大小比原大小 要小 -->便于网络传输
文件格式变成压缩包格式 -->传输时不易损坏
下载和传输:网络波动的 -->文件传输的完整性
原神安装 --->断网又有网 损坏
解压:将压缩包还原成完整文件 恢复 大小
ubuntu的压缩和解压工具有哪些?
1>压缩:gzip 解压:gunzip 后缀:.gz
2>压缩:bzip2 解压:bunzip2 后缀:.bz2
3>压缩:zip 解压:unzip 后缀:.zip
4>神中神工具:tar -->集归档、压缩、解压为一身全能
--->必考
1>gzip的压缩与解压过程 -->只能操作一个对象,且操作的是本体
压缩:
farsight@ubuntu:~/test1$ gzip 1.c
farsight@ubuntu:~/test1$ ls
1.c.gz 2.c 3.c
解压:
farsight@ubuntu:~/test1$ gunzip 1.c.gz
farsight@ubuntu:~/test1$ ls
1.c 2.c 3.c
2>bzip2的压缩与解压过程
压缩:
farsight@ubuntu:~/test1$ bzip2 1.c
farsight@ubuntu:~/test1$ ls
1.c.bz2 2.c 3.c
解压:
farsight@ubuntu:~/test1$ bunzip2 1.c.bz2
farsight@ubuntu:~/test1$ ls
1.c 2.c 3.c
3>zip的压缩和解压过程 //有所不同将一个文件或多个文件压缩成单一的压缩文件。
用法:自定义压缩包名字
zip [选项] 压缩包名字 压缩文件名
压缩:
farsight@ubuntu:~/test1$ zip 123.zip 1.c 2.c 3.c
adding: 1.c (stored 0%)
adding: 2.c (stored 0%)
adding: 3.c (stored 0%)
farsight@ubuntu:~/test1$ ls
123.zip 1.c 2.c 3.c
解压:
farsight@ubuntu:~/test1$ rm 1.c 2.c 3.c
farsight@ubuntu:~/test1$ ls
123.zip
farsight@ubuntu:~/test1$ unzip 123.zip
Archive: 123.zip
extracting: 1.c
extracting: 2.c
extracting: 3.c
farsight@ubuntu:~/test1$ ls
123.zip 1.c 2.c 3.c
4>tar --->神中神 ---->必考,不考去砍tonly
tar [ -t | -x | -u | -c | -v | -f | -j | -z ] tarfile filelist
选项 描述
-t 显示归档文件中的内容
-x 释放归档文件
-u 更新归档文件
-c 创建一个新的归档文件
-v 显示归档和释放的过程信息
-f 用户指定归档文件的文件名,否则使用默认名称
-j 由tar生成归档,然后由bzip2压缩
-z 由tar生成归档,然后由gzip压缩
具体用法:
压缩:
tar -zvf hello.gz 1.c 2.c 3.c
tar -jvf hello.bz2 1.c 2.c 3.c
解压:通用:
tar -xvf hello.gz
tar -xvf hello.bz2