目录
001操作系统简介
01操作系统(Operation System,OS)
002操作系统的发展史
01 操作系统的发展历史
02 Linux 内核及发行版
03 Linux 的应用领域
003文件和目录(理解)
01. 单用户操作系统和多用户操作系统
02. Windows 和 Linux 文件系统区别
004 Ubuntu 图形界面入门
01. Ubuntu 的任务栏
02. 窗口操作按钮
03. 窗口菜单条
005 常用 Linux 命令的基本使用
01 学习 Linux 终端命令的原因
★02. 常用 Linux 命令的基本使用
03. 自动补全
006 Linux 终端命令格式
01. 终端命令格式
02. 查阅命令帮助信息(知道)
★007文件和目录常用命令
01. 查看目录内容
02. 切换目录
03. 创建和删除操作
04. 拷贝和移动文件
05. 查看文件内容
06. 其他
008远程管理常用命令
01. 关机/重启
02. 查看或配置网卡信息
03. 远程登录和复制文件
009用户权限相关命令
01. 用户 和 权限 的基本概念
02. 组管理 终端命令
03. 用户管理 终端命令
04. 修改文件权限
010系统信息相关命令
01. 时间和日期
02. 磁盘信息
03. 进程信息
011其他命令
01. 查找文件
02. 软链接
03. 打包压缩
04. 软件安装
目标
操作系统作为接口的示意图
没有安装操作系统的计算机,通常被称为 裸机
1.1 操作系统的作用
1.2 不同应用领域的主流操作系统
1> 桌面操作系统
2> 服务器操作系统
3> 嵌入式操作系统
4> 移动设备操作系统
1.3 虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
目标
1.1 Unix
1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑
为了解决数量不够用的问题
肯·汤普逊(左)和丹尼斯·里奇(右)
C 语言
Unix 家谱
1.2 Minix
1.3 Linux
2.1 Linux 内核版本
所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站,由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到 Linux 主线内核源码中
2.2 Linux 发行版本
在几乎每一份与 Linux 有关的榜单上,基于 Debian 的 Ubuntu 都占有一席之位。Canonical 的Ubuntu 胜过其他所有的 Linux 服务器发行版 ―― 从简单安装、出色的硬件发现,到世界级的商业支持,Ubuntu确立了难以企及的严格标准
3.1 服务器领域
3.2 嵌入式领域
主要应用:**机顶盒**、**数字电视**、**网络电话**、**程控交换机**、**手机**、**PDA**、等都是其应用领域,得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广
3.3 个人桌面领域
在 Ubuntu 中玩 QQ
目标
2.1 Windows 下的文件系统
2.2 Linux 下的文件系统
2.3 用户目录
位于 /home/user,称之为用户工作目录或家目录,表示方式:
/home/user
~
★2.4 Linux 主要目录速查表
目标
目标
学习终端命令的技巧:
序号 |
命令 |
对应英文 |
作用 |
01 |
ls |
list |
查看当前文件夹下的内容 |
02 |
pwd |
print work directory |
查看当前所在文件夹 |
03 |
cd [目录名] |
change directory |
切换文件夹 |
04 |
touch [文件名] |
touch |
如果文件不存在,新建文件 |
05 |
mkdir [目录名] |
make directory |
创建目录 |
06 |
rm [文件名] |
remove |
删除指定的文件名 |
07 |
clear |
clear |
清屏 |
小技巧
小技巧
目标
command [-options] [parameter]
说明:
[] 代表可选
提示
2.1 --help
command --help
说明:
2.2 man
man command
说明:
man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用说明
使用 man 时的操作键:
操作键 |
功能 |
空格键 |
显示手册页的下一屏 |
Enter 键 |
一次滚动手册页的一行 |
b |
回滚一屏 |
f |
前滚一屏 |
q |
退出 |
/word |
搜索 word 字符串 |
目标
1.1 终端实用技巧
1> 自动补全
2> 曾经使用过的命令
1.2 ls 命令说明
Linux 下文件和目录的特点
1.3 ls 常用选项
参数 |
含义 |
-a |
显示指定目录下所有子目录与文件,包括隐藏文件 |
-l |
以列表方式显示文件的详细信息,可用ll命令 |
-h |
配合 -l 以人性化的方式显示文件大小 |
ls -l实例:
选项可以连用,如ls -l -h也可以写成ls -lh
计算机中文件大小的表示方式
单位 |
英文 |
含义 |
字节 |
B(Byte) |
在计算机中作为一个数字单元,一般为 8 位二进制数 |
千 |
K(Kibibyte) |
1 KB = 1024 B,千字节 (1024 = 2 ** 10) |
兆 |
M(Mebibyte) |
1 MB = 1024 KB,百万字节 |
千兆 |
G(Gigabyte) |
1 GB = 1024 MB,十亿字节,千兆字节 |
太 |
T(Terabyte) |
1 TB = 1024 GB,万亿字节,太字节 |
拍 |
P(Petabyte) |
1 PB = 1024 TB,千万亿字节,拍字节 |
艾 |
E(Exabyte) |
1 EB = 1024 PB,百亿亿字节,艾字节 |
泽 |
Z(Zettabyte) |
1 ZB = 1024 EB,十万亿亿字节,泽字节 |
尧 |
Y(Yottabyte) |
1 YB = 1024 ZB,一亿亿亿字节,尧字节 |
1.4 ls 通配符的使用
通配符 |
含义 |
* |
代表任意个数个字符,常用 |
? |
代表任意一个字符,至少 1 个,常用 |
[] |
表示可以匹配字符组中的任意一个 |
[abc] |
匹配 a、b、c 中的任意一个 |
[a-f] |
匹配从 a 到 f 范围内的的任意一个字符 |
2.1 cd
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
命令 |
含义 |
cd |
切换到当前用户的主目录(/home/用户目录) |
cd ~ |
切换到当前用户的主目录(/home/用户目录) |
cd . |
保持在当前目录不变 |
cd .. |
切换到上级目录 |
cd - |
可以在最近两次工作目录之间来回切换 |
2.2 相对路径和绝对路径
3.1 touch
3.2 mkdir
选项 |
含义 |
-p |
可以递归创建目录 |
新建目录的名称 不能与当前目录中 已有的目录或文件 同名
3.3 rm
使用 rm 命令要小心,因为文件删除后不能恢复
选项 |
含义 |
-f |
强制删除,忽略不存在的文件,无需提示 |
-r |
递归地删除目录下的内容,**删除文件夹** 时必须加此参数 |
序号 |
命令 |
对应英文 |
作用 |
01 |
tree [目录名] |
tree |
以树状图列出文件目录结构 |
02 |
cp 源文件 目标文件 |
copy |
复制文件或者目录 |
03 |
mv 源文件 目标文件 |
move |
移动文件或者目录/文件或者目录重命名 |
4.1 tree
选项 |
含义 |
-d |
只显示目录 |
4.2 cp
选项 |
含义 |
-i |
覆盖文件前提示 |
-r |
若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
4.3 mv
选项 |
含义 |
-i |
覆盖文件前提示 |
序号 |
命令 |
对应英文 |
作用 |
01 |
cat 文件名 |
concatenate |
查看文件内容、创建文件、文件合并、追加文件内容等功能 |
02 |
more 文件名 |
More |
分屏显示文件内容 |
03 |
grep 搜索文本 文件名 |
Grep |
搜索文本文件内容 |
5.1 cat
选项 |
含义 |
-b |
对非空输出行编号 |
-n |
对输出的所有行编号 |
Linux 中还有一个 nl 的命令和 cat -b 的效果等价
5.2 more
使用 more 的操作键:
操作键 |
功能 |
空格键 |
显示手册页的下一屏 |
Enter 键 |
一次滚动手册页的一行 |
b |
回滚一屏 |
f |
前滚一屏 |
q |
退出 |
/word |
搜索 word 字符串 |
5.3 grep
选项 |
含义 |
-n |
显示匹配行及行号 |
-v |
显示不包含匹配文本的所有行(相当于求反) |
-i |
忽略大小写 |
参数 |
含义 |
a |
行首,搜寻以 a 开头的行 |
ke$ |
行尾,搜寻以 ke 结束的行 |
6.1 echo 文字内容
6.2 重定向 > 和 >>
其中
6.3 管道 |
常用的管道命令有:
目标
序号 |
命令 |
对应英文 |
作用 |
01 |
shutdown 选项 时间 |
shutdown |
关机/重新启动 |
1.1 shutdown
选项 |
含义 |
-r |
重新启动 |
提示:
# 重新启动操作系统,其中 now 表示现在
$ shutdown -r now
# 立刻关机,其中 now 表示现在
$ shutdown now
# 系统在今天的 20:25 会关机
$ shutdown 20:25
# 系统再过十分钟后自动关机
$ shutdown +10
# 取消之前指定的关机计划
$ shutdown -c
序号 |
命令 |
对应英文 |
作用 |
01 |
ifconfig |
configure a network interface |
查看/配置计算机当前的网卡配置信息 |
02 |
ping ip地址 |
ping |
检测到目标 ip地址 的连接是否正常 |
2.1 网卡 和 IP 地址
网卡
我们可以把 电脑 比作 电话,**网卡** 相当于 SIM 卡,**IP 地址** 相当于 电话号码
IP 地址
注意:每台电脑的 IP 地址不能相同,否则会出现 IP 地址冲突,并且没有办法正常通讯
提示:有关 IP 地址的详细内容,在就业班会详细讲解!
2.2 ifconfig
# 查看网卡配置信息
$ ifconfig
# 查看网卡对应的 IP 地址
$ ifconfig | grep inet
提示:一台计算机中有可能会有一个 物理网卡 和 多个虚拟网卡,在 Linux 中物理网卡的名字通常以 ensXX 表示
2.3 ping
# 检测到目标主机是否连接正常
$ ping IP地址
# 检测本地网卡工作正常
$ ping 127.0.0.1
原理:网络上的机器都有 唯一确定的 IP 地址,我们给**目标 IP 地址**发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机的存在
提示:在 Linux 中,想要终止一个终端程序的执行,绝大多数都可以使用 CTRL + C
序号 |
命令 |
对应英文 |
作用 |
01 |
ssh 用户名@ip |
secure shell(安全外壳协议) |
关机/重新启动 |
02 |
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 |
secure copy |
远程复制文件 |
3.1 ssh 基础(重点)
在 Linux 中 SSH 是 十分常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上
1) 域名 和 端口号
域名
端口号
序号 |
服务 |
端口号 |
01 |
SSH 服务器 |
22 |
02 |
Web 服务器 |
80 |
03 |
HTTPS |
443 |
04 |
FTP 服务器 |
21 |
提示:有关 端口号的详细内容,在就业班会详细讲解!
2) SSH 客户端的简单使用
ssh [-p port] user@remote
提示:
注意:
提示:
3) Windows 下 SSH 客户端的安装
建议从官方网站下载正式的安装程序
3.2 scp(掌握)
# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
选项 |
含义 |
-r |
若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-P |
若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口 |
注意:
FileZilla
3.3 SSH 高级(知道)
提示:有关 SSH 配置信息都保存在用户家目录下的 .ssh 目录下
1)免密码登录
步骤
示意图
非对称加密算法
2) 配置别名
每次都输入 ssh -p port user@remote,时间久了会觉得很麻烦,特别是当 user, remote 和 port 都得输入,而且还不好记忆
而 配置别名 可以让我们进一步偷懒,譬如用:ssh mac 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容:
Host mac
HostName ip地址
User itheima
Port 22
保存之后,即可用 ssh mac 实现远程登录了,scp 同样可以使用
目标
1.1 基本概念
序号 |
权限 |
英文 |
缩写 |
数字代号 |
01 |
读 |
read |
r |
4 |
02 |
写 |
write |
w |
2 |
03 |
执行 |
excute |
x |
1 |
1.2 组
1.3 ls -l 扩展
1.4 chmod 简单使用(重要)
chmod +/-rwx 文件名|目录名
提示:以上方式会一次性修改 拥有者 / 组 权限,有关 chmod 的高级用法,后续会讲
1.5 超级用户
sudo
若其未经授权的用户企图使用 sudo,则会发出警告邮件给管理员
提示:**创建组** / 删除组 的终端命令都需要通过 sudo 执行
序号 |
命令 |
作用 |
01 |
groupadd 组名 |
添加组 |
02 |
groupdel 组名 |
删除组 |
03 |
cat /etc/group |
确认组信息 |
04 |
chgrp -R 组名 文件/目录名 |
递归修改文件/目录的所属组 |
提示:
演练目标
提示:**创建用户** / 删除用户 / 修改其他用户密码 的终端命令都需要通过 sudo 执行
3.1 创建用户/设置密码/删除用户
序号 |
命令 |
作用 |
说明 |
01 |
useradd -m -g 组 新建用户名 |
添加新用户 |
|
02 |
passwd 用户名 |
设置用户密码 |
如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
03 |
userdel -r 用户名 |
删除用户 |
-r 选项会自动删除用户家目录 |
04 |
cat /etc/passwd \ |
grep 用户名 |
确认用户信息 |
提示:
3.2 查看用户信息
序号 |
命令 |
作用 |
01 |
id [用户名] |
查看用户 UID 和 GID 信息 |
02 |
who |
查看当前所有登录的用户列表 |
03 |
whoami |
查看当前登录用户的账户名 |
passwd 文件
/etc/passwd 文件存放的是用户的信息,由 6 个分号组成的 7 个信息,分别是
usermod
提示:设置了用户的附加组之后,需要重新登录才能生效!
# 修改用户的主组(passwd 中的 GID)
usermod -g 组 用户名
# 修改用户的附加组
usermod -G 组 用户名
# 修改用户登录 Shell
usermod -s /bin/bash 用户名
注意:默认使用 useradd 添加的用户是没有权限使用 sudo 以 root 身份执行命令的,可以使用以下命令,将用户添加到 sudo 附加组中
usermod -G sudo 用户名
which(重要)
提示
which ls
# 输出
# /bin/ls
which useradd
# 输出
# /usr/sbin/useradd
bin 和 sbin
提示:
3.3 切换用户
序号 |
命令 |
作用 |
说明 |
01 |
su - 用户名 |
切换用户,并且切换目录 |
- 可以切换到用户家目录,否则保持位置不变 |
02 |
exit |
退出当前登录账户 |
序号 |
命令 |
作用 |
01 |
chown |
修改拥有者 |
02 |
chgrp |
修改组 |
03 |
chmod |
修改权限 |
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名
# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
# 递归修改文件权限
chmod -R 755 文件名|目录名
# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名
chmod 演练目标
目标
序号 |
命令 |
作用 |
01 |
date |
查看系统时间 |
02 |
cal |
calendar 查看日历,-y 选项可以查看一年的日历 |
序号 |
命令 |
作用 |
01 |
df -h |
disk free 显示磁盘剩余空间 |
02 |
du -h [目录名] |
disk usage 显示目录下的文件大小 |
参数 |
含义 |
-h |
以人性化的方式显示文件大小 |
序号 |
命令 |
作用 |
01 |
ps aux |
process status 查看进程的详细状况 |
02 |
top |
动态显示运行中的进程并且排序 |
03 |
kill [-9] 进程代号 |
终止指定代号的进程,-9 表示强行终止 |
ps 默认只会显示当前用户通过终端启动的应用程序
选项 |
含义 |
a |
显示终端上的所有进程,包括其他用户的进程 |
u |
显示进程的详细状态 |
x |
显示没有控制终端的进程 |
提示:使用 kill 命令时,最好只终止由当前用户开启的进程,而不要终止 root 身份开启的进程,否则可能导致系统崩溃
目标
find
ln
tar
apt-get
find
命令功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件 序号 |
命令 |
作用 |
01 |
find [路径] -name "*.py" |
查找指定路径下扩展名是 |
find
命令时同时可用find
的高级使用,在就业班会讲演练目标
1
的文件find -name "*1*"
.txt
为扩展名的文件find -name "*.txt"
1
开头的文件find -name "1*"
序号 |
命令 |
作用 |
01 |
ln -s 被链接的源文件 链接文件 |
建立文件的软链接,用通俗的方式讲**类似于** Windows 下的**快捷方式** |
-s
选项建立的是一个 硬链接文件
演练目标
01.py
移动到 demo/b/c
目录下01.py
的 软链接 FirstPython
FirstPython
的软链接FirstPython
移动到 demo
目录下,对比使用 相对路径 和 绝对路径 的区别硬链接简介(知道)
ln
创建链接时,如果没有 -s
选项,会创建一个 硬链接,而不是软链接硬链接演练
~/Desktop/demo
目录下建立 ~/Desktop/demo/b/c/01.py
的硬链接 01_hard
ls -l
查看文件的**硬链接数**(硬链接——有多少种方式可以访问文件或者目录)~/Desktop/demo/b/c/01.py
,并且使用 tree
来确认 demo
目录下的三个链接文件文件软硬链接的示意图
在 Linux 中,**文件名** 和 文件的数据 是分开存储的
硬链接数
== 0
才会被删除ls -l
可以查看一个文件的硬链接的数量Windows
常用 rar
Mac
常用 zip
Linux
常用 tar.gz
3.1 打包 / 解包
tar
是 Linux 中最常用的 备份工具,此命令可以 把一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件tar
的命令格式如下:# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
tar
选项说明 选项 |
含义 |
c |
生成档案文件,创建打包文件 |
x |
解开档案文件 |
v |
列出归档解档的详细过程,显示进度 |
f |
指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
注意:f
选项必须放在最后,其他选项顺序可以随意
打包解包演练
01.py
、02.py
、03.py
py.tar
的包tar
目录,并且将 py.tar
移动到 tar
目录下py.tar
3.2 压缩/解压缩
1) gzip
tar
与 gzip
命令结合可以使用实现文件 打包和压缩
tar
只负责打包文件,但不压缩gzip
压缩 tar
打包后的文件,其扩展名一般用 xxx.tar.gz
在 Linux
中,最常见的压缩文件格式就是 xxx.tar.gz
tar
命令中有一个选项 -z 可以调用 gzip
,从而可以方便的实现压缩和解压缩的功能# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
选项 |
含义 |
-C |
解压缩到指定目录,注意:要解压缩的目录必须存在 |
2) bzip2(two)
tar
与 bzip2
命令结合可以使用实现文件 打包和压缩(用法和 gzip
一样)
tar
只负责打包文件,但不压缩,bzip2
压缩 tar
打包后的文件,其扩展名一般用 xxx.tar.bz2
tar
命令中有一个选项 -j 可以调用 bzip2
,从而可以方便的实现压缩和解压缩的功能# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
4.1 通过 apt 安装/卸载软件
Advanced Packaging Tool
,是 Linux 下的一款安装包管理工具# 1. 安装软件
$ sudo apt install 软件包
# 2. 卸载软件
$ sudo apt remove 软件名
# 3. 更新已安装的包
$ sudo apt upgrade
安装演练
# 一个小火车提示
$ sudo apt install sl
# 一个比较漂亮的查看当前进程排名的软件
$ sudo apt install htop
4.2 配置软件源
ubuntu
中安装软件,**更加快速**,可以通过设置**镜像源**,选择一个访问网速更快的服务器,来提供软件下载/安装服务所谓镜像源,就是**所有服务器的内容是相同的(镜像)**,但是根据所在位置不同,国内服务器通常速度会更快一些!