Linux操作系统
文章目录
前言
操作系统
操作系统是直接运行在计算机上的系统软件,它是控制硬件和支持软件运行的计算机程序。操作系统向下控制硬件,向上支持软件的运行,具有承上启下的作用。
总之,操作系统是一个控制硬件和支持软件运行的计算机程序,只有安装了操作系统计算机才能进行正常工作。
虚拟机软件
- 虚拟机软件是一个可以虚拟出计算机的一个软件。
- 常用的虚拟机软件:Vmware、VirtualBox。只有安装了虚拟机软件才可以创建虚拟机。虚拟机软件可以创建多个虚拟机。
- 虚拟机:是模拟一个真实的计算机,好比一台虚拟的电脑。对于快速学习一个新的操作系统,可以通过虚拟机来完成。
Linux内核及发行版本
- Linux内核
Linux内核是操作系统内部操作和控制硬件的核心程序,它由芬兰人林纳斯开发。操作系统是基于内核开发出来的,真正操作和控制硬件是由内核来完成的。 - Linux发行版
Linux发行版本是Linux内核与各种常用软件的组合产品,通俗来说就是我们常说的Linux操作系统。
常用的发行版本有:Ubuntu、CentOS、Redhat等
Ubuntu操作系统
- Ubuntu操作系统是Linux操作系统的一种,它是免费、稳定又可以拥有绚丽界面的一个操作系统。它没有多个盘符,只有一个根目录(/)。
- Ubuntu图形界面介绍:任务栏、窗口操作按钮、窗口菜单栏
- Linux目录结构
根目录(/)下:
/dev:存放抽象硬件
/boot:存放内核与启动文件
/lib:存放系统库文件
/bin:存放二进制文件(可执行命令)
/sbin:存放特权级二进制文件
/usr:存放安装程序(软件默认目录)
/var:存放经常变化的文件
/mnt:文件挂载目录(u盘、光盘)
/home:普通用户目录
/root:特权用户目录
/etc:存放配置文件目录
/opt:大型软件存放目录(非强制)
Ubuntu终端快捷键
命令 | 说明 |
---|---|
ctrl + shift + ‘+’ | 放大字体 |
ctrl + ‘-’ | 缩小字体 |
ctrl + alt + t | 启动终端 |
ctrl + shift + t | 终端中再开启一个窗口 |
ctrl + a | 回到行首 |
ctrl + e | 回到行尾 |
ctrl + u | 快速删除当前行的命令 |
ctrl + c | 强制终止当前命令 |
Linux常用命令
查看目录
命令 | 说明 |
---|---|
ls | 查看当前目录信息 |
tree | 以树状方式显示目录信息 |
pwd | 查看当前目录路径 |
clear/ ctrl + l | 清除终端内容 |
小结:
ls和tree是我们查看目录信息最常用的命令
ls能查看一层目录信息
tree可以查看多层目录信息
切换目录
命令 | 说明 |
---|---|
cd 目录 | 切换到指定目录 |
cd ~ | 切换到当前用户的主目录 |
cd .. | 切换到上一级目录 |
cd . | 切换到当前目录 |
cd - | 切换到上一次目录 |
注意:
cd命令切换目录时,这个目录必须存在
cd后面不写目录等价于cd ~
绝对路径和相对路径
创建、删除文件及目录
命令 | 说明 |
---|---|
touch 文件名 | 创建指定文件 |
mkdir 目录名 | 创建目录(文件夹) |
rm 文件名或目录名 | 删除指定文件或目录 |
rmdir 目录名 | 删除空目录 |
说明:
rm命令想要删除目录需要加上-r选项,-r表示递归删除目录及内容
复制、移动文件或目录
命令 | 说明 |
---|---|
cp | 拷贝文件、目录 |
mv | 移动文件、目录、重命名 |
说明:
- 拷贝目录需要加上-r选项,-r表示递归拷贝目录及内容
- 移动目录不需要加-r选项
查看命令帮助
查看命令帮助方式
- –help使用说明:命令 --help
- man使用说明:man 命令
查看命令帮助的目的说明 - 查看命令帮助的目的是查看命令的选项信息
man命令说明
操作键 | 说明 |
---|---|
空格 | 显示下一屏信息 |
回车 | 显示下一行信息 |
b | 显示上一屏信息 |
f | 显示下一屏信息 |
q | 退出 |
小结:
–help和man是查看命令帮助的两种方式,主要是查看命令所对应的选项信息。
命令选项
ls命令选项
命令选项 | 说明 |
---|---|
-l | 以列表方式显示 |
-h | 文件大小,默认字节 |
-a | 显示隐藏文件和隐藏目录 |
mkdir命令选项
命令选项 | 说明 |
---|---|
-p | 创建所依赖的文件夹 |
rm命令选项
命令选项 | 说明 |
---|---|
-i | 交互式提示 |
-r | 递归删除目录及其内容 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-d | 删除空目录 |
小结:
- 创建嵌套文件夹使用mkdir -p
- 删除空目录使用rmdir 目录名或rm -d 目录名
- 删除非空目录使用rm -r 目录名
cp命令选项
命令选项 | 说明 |
---|---|
-i | 交互式提示 |
-r | 递归拷贝目录及其内容 |
-v | 显示拷贝后的路径描述 |
-a | 保留文件的原有权限 |
-a选项说明:
-a选项还支持拷贝文件夹并且文件夹中的文件权限不丢失
mv命令选项
命令选项 | 说明 |
---|---|
-i | 交互式提示 |
-v | 显示移动后的路径描述 |
小结:
- 拷贝文件防止覆盖使用cp -i操作
- 拷贝文件夹使用cp -r,拷贝文件夹并且文件权限不丢失使用cp -a
- 移动文件防止覆盖使用mv -i
- 移动文件夹直接使用mv即可,mv还可以给文件和文件夹重命名
重定向命令
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。
重定向命令使用
命令 | 说明 |
---|---|
> | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
>> | 如果文件存在会追加写入文件末尾,相当于文件操作中的’a‘模式 |
说明:
只要在终端能显示信息的命令都可以使用重定向,比如:tree
小结:
- 终端内容使用重定向保存到文件有两种方式:>和>>
- >表示每次只写入最新的数据,原有数据不保留
- >>表示每次在原有数据的基础上追加数据,原有数据会保留
查看文件内容命令
命令 | 说明 |
---|---|
cat | 查看小型文件 |
more | 分屏查看大型文件 |
说明:
- cat命令结合重定向可以完成多个文件的合并
- gedit文件编辑命令,可以查看和编辑文件
操作键说明
操作键 | 说明 |
---|---|
空格 | 显示下一屏信息 |
回车 | 显示下一行信息 |
b | 显示上一屏信息 |
f | 显示下一屏信息 |
q | 退出 |
管道(|)命令
一个命令的输出可以通过管道作为另一个命令的输入,可以理解为一个容器,存放在终端显示的内容。
说明:管道(|)一般结合more命令使用,主要是分屏查看终端显示内容。
链接命令
链接命令是创建链接文件,链接文件分为:
- 软链接
- 硬链接
命令 | 说明 |
---|---|
ln -s | 创建软链接 |
ln | 创建硬链接 |
软链接说明:
软链接相当于windows下的快捷方式,当一个源文件的目录比较深,我们想要方便的使用它可以创建一个软链接。
注意:
- 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径
- 删除源文件则软链接失效
- 可以给目录创建软链接
- 创建软链接命令格式:ln -s 源文件路径(使用绝对路径) 软链接
硬链接说明:
硬链接相当于源文件的一个别名,也就是说一份数据有两个名字
注意:
- 创建硬链接使用相对路径和绝对路径均可
- 删除源文件,硬链接还可以访问到数据
- 创建硬链接,硬链接数会加1,删除源文件或硬链接,硬链接数会减1
- 创建软链接,硬链接数不会加1
- 不能给目录创建硬链接
- 硬链接数就是文件数据被文件名使用的次数,好比引用计数
- 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删
- 创建硬链接命令格式:ln 源文件路径 硬链接
文本搜索命令
grep命令的使用
命令 | 说明 |
---|---|
grep | 文本搜索 |
grep命令选项的使用
命令 | 说明 |
---|---|
-i | 忽略大小写 |
-n | 显示匹配行号 |
-v | 显示不包含匹配文本的所有行 |
grep命令结合正则表达式的使用
命令 | 说明 |
---|---|
^ | 以指定字符串开头 |
$ | 以指定字符串结尾 |
. | 匹配一个非换行符的字符 |
扩展
- grep命令还可以文本搜索管道中的内容,比如:ls /| grep ’lib‘
- 在使用grep命令的时候还可以省略搜索内容的引号,比如:ls /| grep lib
查找文件命令
find命令的使用
命令 | 说明 |
---|---|
find | 在指定目录下查找文件(包括目录) |
find命令选项的使用
命令 | 说明 |
---|---|
-name | 根据文件(包括目录)名字查找 |
find命令配合通配符的使用
命令 | 说明 |
---|---|
* | 代表任意字符 |
? | 代表任意一个字符 |
扩展:
通配符不仅能够结合find命令使用,还可以结合其它命令使用,比如:ls、mv、cp等,这里需要注意只有find命令使用通配符需要加上引号。
小结:
- find命令是完成查找文件操作的
- 查找文件的命令格式:find 指定查找目录 -name ’文件名‘
压缩和解压缩命令
压缩格式介绍:
Linux默认支持的压缩格式有:.gz、.bz2、.zip
说明:
- .gz、.bz2的压缩包需要使用tar命令来压缩和解压缩
- .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩
**压缩目的:**节省磁盘空间
tar命令的使用
命令 | 说明 |
---|---|
tar | 压缩和解压缩命令 |
tar命令选项的使用
命令 | 说明 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或解包的详细信息 |
-f | 指定文件名称,必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
zip和unzip命令的使用
命令 | 说明 |
---|---|
zip | 压缩成.zip格式文件 |
unzip | 解压缩.zip格式文件 |
unzip命令选项的使用
命令 | 说明 |
---|---|
-d | 解压缩到指定目录 |
说明:
- 压缩文件尽量使用.gz格式,因为占用空间较少
- .gz格式的后缀名必须加上.tar,即文件名.tar.gz
- 使用zip命令压缩的文件占用空间比较多,比较通用,操作更加简单
文件权限命令
chmod命令的使用
命令 | 说明 |
---|---|
chmod | 修改文件权限 |
chmod修改文件权限有两种方式:
- 字母法
- 数字法
chmod字母法命令的使用
- 角色说明
角色 | 说明 |
---|---|
u | user,表示该文件的所有者 |
g | group,表示用户组 |
o | other,表示其他用户 |
a | all,表示所有用户 |
- 权限设置说明
操作符 | 说明 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设置权限 |
- 权限说明
权限 | 说明 |
---|---|
r | 可读 |
w | 可写 |
x | 可执行 |
- | 无任何权限 |
chmod字母法命令的使用
数字法就是‘rwx’这些权限也可以用数字来代替
- 权限说明
权限 | 说明 |
---|---|
r | 可读,权限值是4 |
w | 可写,权限值是2 |
x | 可执行,权限值是1 |
- | 无任何权限,权限值是0 |
小结:
- 利用chmod命令可以控制文件的操作权限
- 字母法格式:chmod 不同角色设置的权限 文件
- 数字法格式:chmod 不同角色的权限值 文件
获取管理员权限的相关命令
sudo命令的使用
命令 | 说明 |
---|---|
sudo -s | 切换到root用户,获取管理员权限 |
sudo | 某个命令的执行需要获取管理员权限,可以在执行命令前面加上sudo |
说明:
- 如果只是某次操作需要使用管理员权限,建议使用sudo,也就是临时使用管理员权限
- 如果大量操作都需使用管理员权限,使用sudo -s,但是操作需谨慎
whoami命令的使用
命令 | 说明 |
---|---|
whoami | 查看当前用户权限 |
exit命令的使用
命令 | 说明 |
---|---|
exit | 退出登录用户 |
说明:
- 如果是切换后的登录用户,退出则返回上一个登录账户
- 如果是终端界面,退出当前终端
who命令的使用
命令 | 说明 |
---|---|
who | 查看所有的登录用户 |
passwd命令的使用
命令 | 说明 |
---|---|
passwd | 修改用户密码,不指定用户默认修改当前登录用户密码 |
which命令的使用
命令 | 说明 |
---|---|
which | 查看命令位置 |
关机和重启命令的使用
命令 | 说明 |
---|---|
shutdown -h now | 立刻关机 |
reboot | 重启 |
用户相关操作
创建用户
命令 | 说明 |
---|---|
useradd | 创建(添加)用户 |
useradd命令选项
选项 | 说明 |
---|---|
-m | 自动创建用户主目录 |
-g | 指定用户所属的组,默认不指定会自动指定一个同名的用户组 |
说明:
- useradd命令的使用需要使用管理员权限,前面需要加上sudo
- 查看用户是否创建成功,可以查看 /etc/passwd 这个文件
- 查看用户组是否创建成功,可以查看 /etc/group 这个文件
passwd文件中的每项信息说明,以 root: x: 0: 0: root: /root: /bin/bash 为例
- 第一个:用户名
- 第二个:密码占位符
- 第三个:uid,用户id
- 第四个:gid,用户所在组id
- 第五个:用户描述,可选
- 第六个:用户的主目录所在的位置
- 第七个:用户所用shell的类型,一般是bash或sh,默认不设置是sh类型
group文件中的每项信息说明,以 laowang: x: 1001:为例
- 第一个:用户组名
- 第二个:用户组密码占位符,一般linux系统的用户组都没有密码的
- 第三个:组id
id命令查看用户信息
命令 | 说明 |
---|---|
id | 查看用户信息 |
每项信息说明,以 uid = 1001(laowang) gid=1001(laowang) 组=1001(laowang)为例
- 第一个:uid表示用户id
- 第二个:gid表示用户组id
- 第三个:组,表示用户所在的用户组
设置密码
给其他用户设置密码,需要使用sudo passwd 用户名
切换用户
命令 | 说明 |
---|---|
su | 切换用户 |
语法格式:su -用户名
修改用户信息
命令 | 说明 |
---|---|
usermod | 修改用户信息 |
usermod选项
命令 | 说明 |
---|---|
-G | 设置一个附加组 |
-g | 修改用户组 |
删除用户
命令 | 说明 |
---|---|
userdel | 删除用户 |
userdel命令选项
选项 | 说明 |
---|---|
-r 用户名 | 删除用户主目录,必须要设置,否则用户主目录不会被删除 |
说明:
- 删除用户,默认同名的用户组也会被删除
小结:
- 创建用户命令格式:sudo useradd -m 用户名,默认会创建一个同名的用户组
- 查看用户信息使用id命令或者 /etc/passwd文件
- 查看用户组信息使用 /etc/group文件
- 给用户设置密码使用sudo passwd 用户名
- 切换用户使用sudo - 用户名 或者sudo 用户名
- 设置附加组使用sudo usermod -G 组名 用户名
- 删除用户使用sudo userdel -r 用户名,默认会删除同名的用户组
用户组相关操作
创建用户组
命令 | 说明 |
---|---|
groupadd | 创建(添加)用户组 |
创建用户并指定用户组
sudo useradd -m -g test laowang
修改用户组
sudo groupadd abc
sudo usermod -g abc laowang
删除用户组
命令 | 说明 |
---|---|
groupdel | 删除用户组 |
sodo groupdel test
说明:
- 如果用户组下面有用户,先删除用户,再删除用户组
小结:
- 创建用户组使用:sudo groupadd 用户组名
- 创建用户并指定用户组名使用:sudo useradd -m -g 用户组 用户名
- 修改用户组使用:sudo usermod -g 用户组 用户名
- 删除用户组使用:sudo groupdel 用户组名
编辑器vim
软件安装和卸载
软件安装的介绍
Ubuntu软件安装有两种方式:
- 离线安装(deb文件格式安装)
- 在线安装(apt-get方式安装)
deb文件格式安装
是Ubuntu的安装包格式,可以使用dpkg命令进行软件的安装和卸载
命令 | 说明 |
---|---|
dpkg | 安装和卸载deb安装包 |
dpkg命令选项
选项 | 说明 |
---|---|
-i | 离线安装deb安装包 |
apt-get方式安装
是在线安装deb软件包的命令,主要用于在线从互联网的软件仓库中搜索、安装、升级、卸载软件。
在线安装软件命令格式:
- sudo apt-get install 安装包,表示在线安装deb安装包
更改镜像源
因为使用apt-get命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要改成国内的镜像源服务器。
镜像源说明:镜像源就是下载软件来源的服务器。
更改镜像源的方式
- 可视化方式更改镜像源
- 手动方式更改镜像源
说明:
- 手动修改镜像源,完成配置(需要在/etc/apt/sources.list文件中替换全部配置文件)以后需要执行 sudo apt-get update 这个命令来更新镜像源,保证可以下载最新的软件
- 使用apt-get方式安装软件一定要联网
小结:
- Ubuntu操作系统安装软件有两种方式:
-
- sudo dpkg -i 安装包 命令
-
- sudo apt-get install 安装包 命令
- 使用apt-get命令在线安装需要更改镜像源,提高下载和安装速度
软件卸载
卸载使用命令:sudo apt-get remove 安装包