linux入门学第一天

举报
炒香菇的书呆子 发表于 2022/09/21 23:57:48 2022/09/21
【摘要】 Linux 是什么?Linux 是一种自由的开放源代码的类 Unix 操作系统 Linux 的诞生过程Unix 操作系统是由贝尔实验室于1969年开发的一个操作系统,最初由汇编语言实现,在1973年的时候用 C 语言重写,更加方便移植到不同的平台上去。开始 Unix 是以免费许可证授权给学术机构的,因此百花齐放,形成了很多 Unix 变种操作系统。但是后来贝尔实验室意识到商业价值不再授权给...

Linux 是什么?

Linux 是一种自由的开放源代码的类 Unix 操作系统

Linux 的诞生过程

Unix 操作系统是由贝尔实验室于1969年开发的一个操作系统,最初由汇编语言实现,在1973年的时候用 C 语言重写,更加方便移植到不同的平台上去。

开始 Unix 是以免费许可证授权给学术机构的,因此百花齐放,形成了很多 Unix 变种操作系统。但是后来贝尔实验室意识到商业价值不再授权给学术机构,这催生了Minix。

由于贝尔实验室授权撤回,阿姆斯特丹自由大学的“Andy”教授为了教学,在完全不使用 Unix 的代码的情况下开发出了 Minix。

Linux 则是由 Linus Torvalds 在1991年于赫尔辛基大学上学时,出于对操作系统的好奇,而开发的。起初他在他新购买的计算机上安装 Minix,但是后来他逐渐为自己的计算机写了很多驱动程序,也认识到 Minix 作为一个教学用的操作系统有许多不足,然后逐步形成了 Linux 操作系统。

Linux 内核与 Linux 发行版的关系

在最内部,是 Linux 的内核,这一部分的源代码是开放给每一个人下载的,在内核之外,是用户空间程序,操作系统,通过这些东西,最终构成了我们所熟悉的 Linux 内核的发行版。

111.png

常见的 Linux 发行版

. Ubuntu

. Debian

. RHEL

. Centos

. Fedora

SSH 登录方式介绍

SSH 全称 Secure Shell,是一种加密的网络传输协议;

可以创建安全的隧道用于客户端与服务器连接;

可以使用非对称加密进行验证从而提升整个连接的安全性;

SSH 基本安全配置

实操生成密钥

生成密钥:输入 ssh-keygen 来成命令→选择使用默认的路径→输入密码生成一个新的 ssh 密钥→借助 ssh 密钥登陆到服务器,进行非对称加密,使连接更安全→输入 ls-a 查看所有目录→输入 cd.ssh 进入到 ssh 目录→执行 ls 可以看到在目录下有一个文件记录了授权的信息→使用 nano 加上文件名来编辑这个文件(如果没有 nano 也可以使用 vi 来进行文件的编辑)

配置 SSH

使用 cd/etc/ssh进入ssh目录→执行 ls 可以查看配置文件(最为重要的是 sshd_config 文件,记录了一些 ssh 的具体配置项目,比较重要的包括 port)→修改 port 使 ossh 监听除了22以外的其他端口,(这样可以使用自己定义的端口从而避免被他人爆破)→将底部 PermitRootLogin 并将其值设置为 yes(表明默认允许使用 Root 用户登录).

注意:在实际生产环境,我们推荐大家默认禁止使用 Root 用户登录,而使用其他权限更低的用户登录进行日常操作,仅在必要时刻选择使用 Root 用户

最后一行

 ssh

为密码验证,这里设置为 no 是一种比较安全的方式,如果设置为 yes ,则允许用户通过密码进行登录,将其设置为 no 则需要通过正确输入进行登录,正确输入更为安全,在设置完成之后,保存并重启服务使配置清效,通过修改端口号、配置正输登录等方式就可以提升 ssh 登录的安全性。

Linux 文件管理

1.Linux 系统目录结构 FHS 介绍

FHS 全称(Filesystem Hieratchy Standard)中文名文件系统结构层次,定义了Linux操作系统中的主要目录和目录结构。

FHS 由 Linux 基金会维护,当前版本是 3.0

目录 描述
/ 根目录
/bin 可执行文件,比如 ls 命令
/boot 引导程序文件,内核,以及 initrd 等文件
/dev 设置文件,比如磁盘设备
/etc 系统范围的配置文件
/home 用户 home 目录,个人用户的配置
/media 可移除的媒体,cd-rom 等的挂载点
/lib 和 /lib64 /bin 和 /sbin 中用到的库文件存放位置
/mnt 临时挂载点
/opt 可选的应用包,一般用于存放一些直接提供二进制程序的非开源包
/proc 虚拟问价系统
/root root 用户的 home 目录
/run 存放一些 pid 和 socket 文件
/sbin 系统的可执行文件,init ,mount 等
/sys 非FHS保准,但是大部分发行版都有,虚拟文件系统,用来对内核和设备驱动做设置
/usr Unix Software Resource 绝大多数的程序和应用工具安装在这里,结果和/非常相似
/usr/bin
/usr/lib
/usr/share 和计算机
/usr/src 源代码存放路径,如Linux 内核源码
/var 在程序运行中内容不断变化的文件,比如日志
/tmp 临时文件系统,重启后内容丢失

2.操作文件的几个常用命令

Linux 中一切皆文件

命令 作用
ls list列出目录内容
cat 输出文件内容到标准输出
less 查看文件内容
more 查看文件内容
head 查看文件头部
tail 查看文件尾部
nano 编辑文件的工具
grep 查找文本中指定关键词的行

**3.介绍man系统

man系统其实是 linux 中的 manual 手册系统,大多数程序会自带手册,所以当遇到一个命令不会使用的时候不妨查手册

章节 说明
1 一般命令
2 系统调用
3 库函数
4 特殊文件和驱动程序
5 文件格式约定
6 游戏和屏保
7 杂项
8 系统管理命令和守护进程

Linux 服务与日志

服务的英文为 service ,服务顾名思义是就是能为系统或者用户提供某种特殊的服务的程序,只不过一般这种程序是常驻后台,不是直接运行的,这种程序一般叫做守护进程daemon

**1.**常见的服务有

• SSH 用于能随时连接到服务器,提供这个服务的程序是 sshd

• cron 提供定时任务的服务,提供这个服务的程序是 crond

**2.**常见的服务管理方式

systemd是一种init程序,用于初始化系统,提供了对服务的管理方式。

命令 说明
systemctl status crond 查看某个服务的状态
systemctl start crond 启动某个服务
systemctl stop crond 停止某个服务
systemctl enable crond 设置某个服务开机启动
systemctl disable crond 移除某个服务开机启动
systemctl restart crond 重启某个服务

示例:

systemctl status crond # 查看 crond 服务状态

systemctl restart crond # 重启 crond 服务状态

  1. 日志与日志查询方式

日志是由程序在运行过程中打印出来的一些执行流程或者记录信息的文本

Systemd 同样也提供了对日志访问的方式

命令 说明
journalctl -x 查看日志
journalctl -xe 跳到尾部查看日志

通过直接查看文本的方式查询

日志路径 说明
/var/log/message 全局系统日志,包括登录,对服务启停认证等
/var/log/lastlog 不是一个文本文件,需要 lastlog 命令读,保存了最近的用户登录信息
/var/log/yum.log 最近通过yum 安装的程序的日志
/var/log/cron 定时任务日志
/var/log/boot.log 启动日志
/var/log/kern 内核日志,也可以通过 dmesg 查看

示例:

journalctl -u crond.service # 查看 crond 服务的运行日志

cd /var/log # 跳转到系统日志文件夹

head -n 10 cron # 查看 cron 服务执行日志的前十行

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。