1.Linux
1.1 操作系统
操作系统(Operation System, OS),是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
操作系统作为接口的示意图:
1.2操作系统应用领域划分
1、桌面操作系统
- Window 系列
- 用户群体大
- macOS
- 细节处理的更好, 没有windows软件丰富, 价格高
- Linux
- 应用软件少
2、服务器操作系统
-
Linux
- 安全、稳定、免费
- 占有率高
-
Windows Server
- 付费
- 占有率低
3、嵌入式操作系统
Linux
4、移动设备操作系统
- IOS
- Android (基于Linux)
- 华为鸿蒙
1.3什么是Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。
Linux与其他操作系统相比 ,具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。
1.4Linux的特点
基本思想
Linux的基本思想有两点:
第一:一切都是文件
第二:每个软件都有确定的用途
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响
良好的界面
Linux同时具有字符界面和图形界面。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。
优点
1)Linux由众多微内核组成,其源代码完全开源;
2)Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3)Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;
1.5 Linux和Unix区别
1、开源情况
Unix 是商业化的,而 Linux 是开源的,是免费、公开源代码的。
2、硬件适用
Unix 系统大多是与硬件配套的,也就是说,大多数Unix系统如AIX、HP-UX等是无法安装在 x86 服务器和个人计算机上的,而 Linux则可以运行在多种硬件平台上。
可以先学习Linux后再学习Unix,因为Linux可以方便的在虚拟机上运行,防止新手的误操作。
3、本质不同
Linux是开放源代码的自由软件,用户对前者有很高的自主权,在实际的的开发是处在一个完全开放的环境之中;
而Unix是对源代码实行知识产权保护的传统商业软件,用户的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触的产品的原型;
Unix 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 Unix是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 Unix
1.5 Linux和Windows区别
目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下
比较 | Windows | Linux |
---|---|---|
界面 | 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 | 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 Unix传承下来,基本命令和操作方法也几乎一致。 |
驱动程序 | 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 | 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。 |
使用 | 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 | 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。 |
学习 | 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 | 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。 |
软件 | 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 | 大部分软件都可以自由获取,同样功能的软件选择较少。 |
Windows与Linux在其他方面的不同
开放性
所谓的开放性就是Linux 操作系统是开放源码系统,可以对其程序进行编辑修改。而微软的Windows 系统是受微软版权保护,就是只能微软内部进行开发及修改。
文件格式不同
Windows 操作系统内核是NT,而Linux 是 shell;
另外,windows 硬盘文件格式是fat32或NTFS,而Linux 需要的文件格式是ext2或ext3,该操作系统还多一个SWAP格式的交换分区
免费与收费
在中国,对个人用户Windows 和Linux 都是免费的,对公用户Windows 需要收费,Linux 是免费的。
技术支持
Windows 较普及。Linux 需要深度的Linux 版块支持。
安全性
Linux 相对Windows 来说安全性更高。
开源
开源就是指对外部开放软件源代码。Linux 开源,而Windows并不开源。
使用习惯
Windows 放弃了dos的字符模式,主攻图形界面,让桌面系统更易用。Linux 字符模式运行的更好,图形界面还只是附带品,可有可无。
软件与支持
Windows 下可以运行绝大部分软件、玩99.999%的游戏、硬件厂商近乎100%的支持。Linux 下可直接运行的软件数量和win下比起来就是1和99的区别,而且目前选择Linux 的人基本不会考虑玩游戏,同时Linux 正期待更多硬件厂商的支持
1.6 Linux 应用领域
今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位。在企业级开发中,我们通常使用Linux作为我们的服务器。
比如:服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,高性能运算、计算密集型应用Linux有强大的运算能力。
目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。
1.7 Linux之CentOS
CentOS,是基于 Red Hat Linux 提供的可自由使用源代码的企业级 Linux 发行版本;是一个稳定,可预测,可管理和可复制的免费企业级计算平台
主要特点:
1.主流: 目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
2.免费: RedHat 和CentOS差别不大,CentOS是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本
3.更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED HAT那样需要花钱购买支持服务!
2.Linux常用命令
用户
创建用户
切换root管理员
创建用户zly
useradd相关用法
修改用户密码
更改zly用户的密码
修改用户
将zly用户的名字改为zlywan
usermod常用选项
删除用户
删除用户zlywan
userdel常用选项
显示用户
显示登录账号信息
切换用户
变更帐号为 root 并在执行 ls 指令后退出返回原使用者
切换到root
用户组
增加用户组
新增用户组zly-it
groupadd常用选项
修改用户组
将组zly-it的组名修改为zly-it-2022
groupmod常用选项
查询用户所属组
查询用户zly属于哪个用户组
删除用户组
删除用户组zly-it-2022
groupdel常用选项
用户添加到组
创建一个新的组,并添加组ID
创建三个用户
将三个用户添加到组zlywan
查看用户组下所有用户
gpasswd常用选项
日期
设置时间
显示时间
目录
ls列出目录
将根目录下的所有文件列出来(含属性与隐藏档)
ls -l
可以查看文件夹下文件的详细信息, 从左到右 依次是:
- 权限(A区域), 第一个字符如果是
d
表示目录 - 硬链接数(B区域), 通俗的讲就是有多少种方式, 可以访问当前目录和文件
- 属主(C区域), 文件是所有者、或是叫做属主
- 属组(D区域), 文件属于哪个组
- 大小(E区域):文件大小
- 时间(F区域):最后一次访问时间
- 名称(G区域):文件的名称
pwd显示当前目录
查看当前所在目录
cd切换目录
语法: cd [相对路径或绝对路径]
- 相对路径 在输入路径时, 最前面不是以
/
开始的 , 表示相对 当前目录 所在的目录位置 - 绝对路径 在输入路径时, 最前面是以
/
开始的, 表示 从 根目录 开始的具体目录位置
mkdir创建目录
创建一个名为zly的目录
创建一个多级目录
rmdir删除空目录
cp文件复制
我们将aaa下面的所有文件、目录复制到了目录c下面
cp –r aaa/* ccc
rm删除目录
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"
mv移动文件
其他
id命令
我们如果需要查看当前账号详细信息
的时候,比如查看它的用户id、群组id以及所属组的时候,我们就可以使用id命令进行查看
显示当前用户信息
sudo执行
比如我们使用普通用户操作用户或者操作用户组、以及修改网卡配置文件的时候,需要切换到root用户才操作,此时我们可以使用sudo命令
提高普通用户的操作权限
,以达到操作目的
sudo:控制用户对系统命令的使用权限,root允许的操作。
通过sudo可以提高普通用户的操作权限
使用者权限:普通用户
top命令
目的就是检测我们的程序是否在正常范围内运行
显示进程信息
显示完整命令,与top命令不同的就是command属性像是进行了命令补全
ps命令
ps命令类似于我们在Windows中通过任务管理器查看进程信息
显示进程信息
显示指定用户aaa的信息
显示所有进程信息
kill命令
kill命令用于删除执行中的
程序或工作(可强制中断
)
杀死一个进程
强制杀死进程
彻底杀死进程
- 杀死指定用户的所有进程
- 方法一 过滤出用户进程
- 方法二 直接杀死
- 方法一 过滤出用户进程
关机命令
立即关机
shutdown -h now
或者
shudown
指定1分钟后关机,1分钟关机并显示警告信息
shutdown +1 “System will shutdown after 1 minutes”
指定1分钟后重启,并发出警告信息
shutdown –r +1 “1分钟后关机重启”
重启命令
reboot
who命令
who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等
显示当前登录系统的用户
显示明细(标题)信息
timedatectl命令
可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息。
一般为了校正服务器时间、时区的时候会使用
显示系统的当前时间和日期,使用命令行中的timedatectl命令
查看当前时区
timedatectl | grep Time
或者
timedatectl
查看所有可用的时区
设置本地时区
禁用时间同步(使用管理员账户)
timedatectl set-ntp false
在执行
timedatectl set-time "2019-03-11 20:45:00"
启用时间同步
clear命令
clear命令用于清除屏幕
clear
exit命令
exit命令用于退出目前的shell
3.Linux文件基本属性
在Linux中第一个字符:
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
Linux文件属主和属组
charg更改属组
chown更改属主和属组**
通过chown命令将文件bbb的属主更改成aaa
将aaa的属主和属组都改为aaa
chomd权限命令
数字权限
符号权限
- (1)user 属主权限
- (2)group 属组权限
- (3)others 其他权限
那么我们就可以使用 u, g, o 来代表三种身份的权限!
此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看