linux入门学第一天
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 内核的发行版。
常见的 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 服务状态
- 日志与日志查询方式
日志是由程序在运行过程中打印出来的一些执行流程或者记录信息的文本
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 服务执行日志的前十行
- 点赞
- 收藏
- 关注作者
评论(0)