重学Linux 笔记(1)
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
Linux发行版:
- Slackware:SUSE Linux Enterprise Server(SLES),OpenSUSE桌面
- Debian:ubuntu,deepin(深度),mint
- Redhat:
- RHEL:RedHat Enterprise Linux 每18个月发行一个新版本
- Centos:Conmmunity Enterprise Operating System兼容RHEL的格式
- 中标麒麟:中标软件
- Fedora:每6个月发行一个新版本
- Alpine:一个面向安全的轻型Linux发行版。它不同于通常Linux发行版,Alpine采用了musllibc和busybox以减小系统的体积和运行时资源消耗,但功能上比busybox又完善的多,只有5M左右大小
- ArchLinux:轻量简洁,遵循K.I.S.S原则(Keep it simple and stupid),Manjaro
- Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机编译安装软件
- LFS:Linux From scratch 自制Linux,只是一个说明书
- Android:kernel+busybox(工具集)+ java虚拟机
2、安装Centos7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
centos





Ubuntu



















3、配置环境变量,实现执行history的时候可以看到执行命令的时间。
# 修改文件
vi /etc/profile
# 新增如下内容
export HISTTIMEFORMAT=" %F %T `whoami` "
# 使修改生效
source /etc/profile
4、总结Linux哲学思想。
- 一切都是文件 包括硬件
- 小型、单一用途的程序
- 链接程序,共同完成复杂的任务
- 避免令人困扰的用户界面
- 配置数据存储在文本中
5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
echo
可以将后面跟的字符进行输出
显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号
# 语法
echo [-neE] [字符串]
选项:
- -E 默认 不支持解释功能
- -n 不自动换行
- -e 启用字符的解释功能
显示变量
# 用变量值替换,弱引用
echo "$VAR_NAME"
# 变量不会替换,强引用
echo '$VAR_NAME'
screen
# 安装
# centos7 安装screen
yum install -y screen
# centos8 安装screen
dnf install -y epel-release
dnf install -y screen
常见用法:
- 创建新screen会话:
screen -S [SESSION] - 加入screen会话:
screen -x [SESSION] - 退出并关闭screen会话:
exit - 剥离当前screen会话:ctrl+a,ctrl+d
- 显示所有已经打开的screen会话:
screen -ls - 回复某screen会话:
screen -r [SESSION]
date
显示和设置系统时间
# 按照指定格式显示当前时间
date +"%Y-%m-%d %H:%M:%S"
校正系统时间
- -s 以硬件时钟为准,校正时间
- -w 以系统时间为准
ifconfig
用于显示或设置网络设备
# 显示网络设备信息
ifconfig
# 启动关闭指定网卡
ifconfig eth0 down
ifconfig eth0 up
export
用于将shell变量输出为环境变量,或者将shell函数输出为环境变量,可以用于传递一个或多个变量的值到任何后记脚本
export [选项 [参数]
选项:
- -f:代表 [变量名称] 中的函数名称
- -n:删除指定的变量,变量实际上未删除,只是不会输出到后续指令的执行环境中
- -p:列出所有的shell赋予程序的环境变量
6、描述Linux发行版的系统目录名称命名规则以及用途
常见的文件系统目录功能
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员家目录
/media:便携式移动设备挂载点
/mnt: 临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
b:block device 随机访问
c:character device 线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr:universal shared,read-only data
bin:保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include:C程序的头文件
share:结构化独立数据,例如doc,man等
local:第三方应用程序的安装位置
bin,sbin,lib,lib64,etc,share
/var:variable data files
cache:应用工程缓存数据目录
lib:应用程序状态信息数据
local:专用于/usr/local下的应用程序存储可变数据
lock:锁文件
log:日志目录及文件
opt:专用于为/opt下的应用程序存储可变数据
run:运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp:保存系统两次重启之间产生的临时数据
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux:selinux相关的安全策略等信息的存储位置

浙公网安备 33010602011771号