=================================
2022-7-11
=================================
一.介绍
上课时间(课前阅读单词 | 随机抽取学生复述昨天讲过的内容)
09:00 - 12:00
13:30 - 17:30
18:30 - 20:30
周一 到 周五
节假日以及周六周日休息(周六有自习室)
课程安排
预科 通过预科时间把大家的基础拉平
--------------------------------
Linux基础 (环境安装\命令\软件安装\权限管理\用户管理\服务搭建)
Linux下C语言 (变量\运算符\分支语句\循环\跳转\数组\函数\指针\)
(复合型数据类型\预处理\文件IO)
数据结构 (链表\栈式存储结构\队列式存储结构\树存储结构\哈希表)
---------考试以及项目-------------
APUE (标准IO\系统调用IO\信号\进程\线程\进程间通信)
(网络套接字TCP/UDP)
C++/QT ()
---------考试以及项目-------------
智能终端 单片机开发(裸板驱动)
---------------项目--------------
边缘计算 高端芯片的开发(带操作系统的驱动)
---------------项目--------------
就业环节 压力面试\压力笔试
二.Linux环境的安装
环境的安装
1.双系统
准备
1)把笔记本的硬盘分出空白的空间(100G)
2)系统盘
(光盘安装\U盘安装\网络安装)
2.虚拟机
准备
1)虚拟机软件(vmware\vboxs)
2)镜像(开源的镜像网站)
3.注意:无论是双系统的安装还是虚拟操作系统的安装,分区需要选择手动分区
例如:分了100G的空间
8192Mb 交换空间
剩余的一半空间 /home
剩余的所有空间 /
三.Linux的历史
在市面上的电子产品的万年历的功能
1.RTC的功能可以查找基准时间
1)1900年1月1日 这一天是星期一
2)1970年1月1日 计算机元年
3)2000年1月1日 千禧年(千年虫)
2.计算机元年
在美国一家通讯公司,AT&T公司(马刺队)
AT&T公司里面有个实验室叫做贝尔实验室
丹尼斯.里奇(C语言之父)用闲置的电脑写了一个游戏--太空旅行
丹尼斯.里奇和肯.汤姆逊使用BSPL语言(B语言)在机器上写通用程序
觉得B语言不好用,所以创立了C语言
丹尼斯.里奇和肯.汤姆逊写了系统,叫做UNIX
美国加州学院伯克利分院一个教授通过UNIX写了一个minix,用于教学
这个教授的学生林纳斯,写了Linux
3.可以在电脑上查询信息
uname -a 查询内核版本以及操作系统版本
四.Linux系统的认知
windows Linux
500G
C D E F /(根目录)
4棵树 1棵树
/(根目录)
bin 存放的是二进制的文件(命令)
boot 存放的是用来引导内核的文件
dev 存放的是各种设备文件
etc 存放的是配置文件
home 存放的是普通用户的家目录
lib 存放的是各种库文件(动态库和静态库)
media 用来挂载存储介质或者媒体介质的文件
mnt 系统默认可以使用的挂载的目录
proc 动态的目录(不能用于存储文件)
(系统内核的信息\进程的信息\内存映射的信息)
root 超级用户的家目录
sbin 存放系统的二进制文件
sys 存放系统的文件
usr 存放的是应用程序\头文件
五.终端的使用
1.终端的打开
1)通过鼠标右键->打开终端
2)在Ubuntu左下角有显示应用程序->全部->终端
3)快捷键ctrl + alt + t
4)打开终端之后打开终端的标签页
ctrl + shift+ t //打开标签页
ctrl + pgup/pgdn //切换标签页
注意 : 有同学电脑的键盘上的pgup和pgdn和别的按键在一起
有可能在切换标签页的时候需要使用shift或者fn
2.终端提示符
zack@zack-CSTG:~/桌面/2022-6-29_UEA/02linux$
在@之前 当前登陆这个终端的用户名
@ 分割符号
在@之后,:之前 主机名
: 分割符号
在:之后 当前终端所在目录的路径
路径分为绝对路径和相对路径
绝对路径 : 从根目录出发.一层一层递进的目录就是绝对路径
相对路径 : 除了绝对路径都是相对路径
在路径中 ~ 指的是家目录的意思
每个用户都会有家目录
root用户 /root
zack用户 /home/zack
tom用户 /home/tom
#或者$ 用户的身份识别
# 代表的是超级用户
$ 代表的是普通用户
3.修改终端提示符的长度
1)需要修改配置文件
注意:
如果修改/etc/下边的配置文件,会影响所有用户
如果修改家目录下边的配置文件,会影响当前用户
2)把原有的配置文件拷贝一个备份
cp ~/.bashrc ~/bashrctest
3)修改配置文件
vim ~/.bashrc
-------------------------
1>找到要修改的位置,大约在60行左右
2>PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
3>把 \h\[\033[00m\]: 删掉 代表不再显示主机名
4>把 \w 修改成 \W 代表目录路径只显示最后一级
5>保存退出
6>sync 代表同步一下信息
六.命令
在Linux下一切皆文件,任何东西在Linux环境中都是以文件形式存在的
在终端提示符之后可以录入命令 或者 可执行文件 或者 程序
终端提示符 命令
终端提示符 命令 + 选项
终端提示符 命令 + 参数
终端提示符 命令 + 选项 + 参数
注意 : 命令 选项 参数之间需要用空格隔开
命令 --help 可以查看命令的帮助手册
cd (切换目录/改变目录/进入目录)
1.cd + 目录 //可以切换到该目录中
如果目录不存在,会提示报错
2.cd + 路径 //可以切换到该路径中
可以是绝对路径或者相对路径,但是必须是一个正确的路径
3.cd 直接回车 //可以直接回到家目录
4.cd + .. //可以切换到上一级目录
ls (显示当前目录下的文件名)
1.ls 直接回车 //显示当前目录下的文件名
2.ls + 文件名 //显示当前目录下该文件的文件名
3.ls + 目录名 //显示该目录下的文件名
4.ls + -a //显示所有文件包括隐藏文件
//在Linux环境下以.开头的文件都是隐藏文件
//任何目录都有来两个默认的隐藏文件
//. 代表当前目录 .. 代表上一级目录
5.ls + -i //显示文件inode号
//文件是存储在硬盘中的,在Linux文件系统中
//是通过inode号来管理文件的
//在硬盘的同一分区中,文件inode号不会重复
6.ls + -l //使用较长格式显示文件信息
-rw-r--r-- 1 zack zack 8980 7月 9 15:51 examples.desktop
drwxr-xr-x 2 zack zack 4096 7月 9 16:26 公共的
part.1 文件的类型(在Linux环境中一共有7种文件类型)
- 普通文件
d 目录文件
c 字符设备文件
b 块设备文件
p 管道文件
s 网络套接字文件
l 链接文件(符号链接文件)
part.2 文件的权限(分为基本权限和特殊权限)
rw- r-- r--
文件所属者 文件所属组 其他用户
字符表示 数字表示 含义
r 4 可读
w 2 可写
x 1 可执行
- 0 该处无权限
part.3 文件链接数
part.4 文件所属者
part.5 文件所属组
part.6 文件的字节数
part.7 文件最后修改时间
part.8 文件名
pwd (可以显示当前目录所在的绝对路径)
touch (创建普通文件)
1.touch + 文件名 //创建以文件名命名的普通文件
如果文件名已经存在,不会修改文件内容,只会修改文件最后修改时间
如果加已存在的目录名,不会修改文件内容,只会修改文件最后修改时间
2.touch + 文件名 + 文件名 //可以创建多个文件
注意 : 文件名与文件名之间用空格隔开
3.touch + {1..20}.c //可以创建1.c ... 20.c
touch + {a..z}.c //可以创建a.c ... z.c
touch + {A..Z}.c //可以创建A.c ... Z.c
4.touch + 路径/文件 //在该路径下创建新的文件
注意 : 路径可以是相对路径或者绝对路径,但是必须是正确的路径
mkdir (创建目录文件)
1.mkdir + 目录名 //创建以目录名命名的目录
注意 : 不能加已有的目录名,会报错
2.mkdir + 目录名 + 目录名 //创建多个目录
注意 : 目录名与目录名之间用空格隔开
3.mkdir + {a..z}dir //创建adir ... zdir
4.mkdir + 路径/目录名 //可以在该路径下创建目录文件
注意 : 可以是绝对路径或者相对路径,但是必须是正确的路径
rm (删除文件)
1.rm + 文件名 //删除文件(普通文件)
2.rm + -r + 目录名 //删除目录文件
-r 代表递归的操作
3.rm *.c //删除当前目录下所有以.c结尾的文件
rm file* //删除当前目录下以file开头的文件
rm -r dir* //删除当前目录下以dir开头的文件
4.rm + 路径/目录名 //删除该目录下的该文件
注意 : 路径可以是绝对路径或者相对路径,但是必须是正确的路径
注意 : 在根目录中千万不要执行 sudo rm -rf *
cat (查看普通文件的文件内容)
1.cat + 普通文件的文件名
2.cat + 路经/普通文件的文件名
注意 : 路径可以是绝对路径或者相对路径,但是必须是正确的路径
----------------------------
cat 把所有的文件内容打印输出到终端中
less 从文件的起始位置开始显示,可以通过鼠标滚轮或者键盘上下键翻阅
按q退出
more 从文件的起始位置开始显示(显示百分比)
s向下翻阅 b向上翻阅 q退出
head 默认查看文件的前10行
tail 默认查看文件的末尾10行
----------------------------
cp (拷贝文件)
1.cp + 源文件名 + 目标文件名 //把源文件的文件内容拷贝到目标文件中
如果目标文件名已存在,源文件的文件内容会覆盖目标文件的文件内容
如果目标文件名不存在,会新建以目标文件名命名的文件,
然后把源文件的文件内容会覆盖目标文件的文件内容
2.cp + 源文件名 + 目录名 //会把源文件拷贝到目录中
3.cp + -r + 源目录 + 目标目录 //会把源目录拷贝到目标目录中
如果目标目录已存在,会把源目录拷贝到目标目录内
如果目标目录不存在,会新建目标目录,并且把源目录内的文件拷贝到目标目录中
mv (剪切文件\移动文件\改名字)
1.mv + 源文件名 + 目标文件名 //剪切文件内容
如果目标文件名不存在,就是把源文件改名字
如果目标文件名已存在,也是把源文件改名字,不过会替代掉重名的文件
注意 : mv在操作目录文件时不需要加 -r 的操作
tar (压缩与解压缩)
1.tar cvf 最终生成的压缩包的名字.tar 要压缩的文件 //用来压缩的
2.tar xvf 压缩包的名字.tar //会把压缩包默认解压缩到当前目录下
3.tar xvf 压缩包的名字.tar -C 路径
//会把压缩包解压缩到指定目录中
--------------------------------
作业 :
1.把今天讲过的内容完完整整的复习一遍
2.抽时间自己安装一遍虚拟操作系统
3.查找ls加什么选项可以查看目录名
--------------------------------