Linux发行版:
slackware:SUSE Linux Enterprise Server (SLES) , OpenSuse桌面
debian: ubuntu,deepin(深度),mint
redhat: RHEL: RedHat Enterprise Linux, 每18个月发行一个新版本
CentOS: Community Enterprise Operating System 兼容RHEL的格式
中标麒麟:中标软件
Fedora:每6个月发行一个新版本
Alpine: 一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,
Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上 比 busybox 又完善的多,只有 5M左右
ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid ),Manjaro
Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
LFS:Linux From scratch 自制Linux,只是一个说明书
Android:kernel+busybox(工具集)+java虚拟机
Linux 哲学思想
- 一切都是一个文件(包括硬件)
- 小型,单一用途的程序
- 链接程序,共同完成复杂的任务
- 避免令人困惑的用户界面
- 配置数据存储在文本中
常见的文件系统目录功能:
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都放此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
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:用于输出当前系统上硬件设备相关信息虚拟文件系统
(1)CentOS 8.4系统安装:
1)选择“Install CentOS Linux 8”
2)选择英文
3)选择自定义分区
4)依照顺序进行点击选择
5)点击“开始安装”
6)安装完成之后,点击“重启系统”
====================================================================================
(2)Ubuntu 20.04安装
1)选择安装“Ubuntu Server”
2)语言选择英文
3)选择“Continue without updating”
4)键盘选择“English”->Done
5)手动配置网络
6)代理不填
7)自定义存储布局
8)创建三个分区(boot分区、swap分区、根分区),点击完成
9)配置用户信息,点击完成
10)点选“OpenSSH”,点击完成
11)选择需要安装的包
12)安装完成,选择重启
Linux常见命令:
查看cpu:lscpu、cat /proc/cpuinfo
查看内存:free、cat /proc/meminfo
查看磁盘:lsblk、cat /proc/partitions
查看系统架构:arch
查看内核版本:uname –r/a
查看系统发行版本:cat /etc/redhat-release、cat /etc/os-release、lsb_release -a
查看系统时间:
系统时钟:由Linux内核通过CPU的工作频率进行的(date)
硬件时钟:主板(clock、hwclock)
系统时区:/etc/localtime
hwclock --set --date '08/22/2017 08:00:00' == date –s “2017-08-22 08:00:00”
hwclock --hctosys ==> hwclock -s(校正系统时间)
hwclock --systohc ==> hwclock -w (校正硬件时间)
设置系统时区:
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
ll /etc/localtime
关机和重启:(halt、poweroff、reboot、shutdown、init0、init6)
shutdown [option] [time] [message]
Options:
-r:reboot
-h:halt
-c:cancel
Time:
now:立刻,相当于+0
+#:相对时间表示法,几分钟之后,如:“+3”为三分钟之后
hh:mm:绝对时间表示法,指明具体时间
用户登录信息查看:whoami、who、w
远程登入显示信息:/etc/issue.net(登入之前显示)、/etc/motd(登入之后显示)
文本编辑工具:nano、gedit(图形工具)
查看日期:cal –y (特殊:cal 9 1752)
history:查看历史命令
按“↑ ”和“↓”键查看
!24 系统直接输入,表示执行第24条历史命令
!string 执行最近以string开头的命令
!! 执行上一条命令
默认记录1000条历史命令,变量参数为$HISTSIZE,保存到家目录对应账号的.bash_history下
Ctrl+r 打开历史命令搜索,退出:Esc 或 Ctrl + g
举例: history -c ##清空历史命令记录
history -d n ##删除第n条命令记录
history -w ##手动保存,退出登入自动保存。重新登入的用户可以查看保存的历史命令
修改/etc/profile并加载后,history记录如下,时间、IP、用户及执行的命令都一一对应
export HISTTIMEFORMAT="\%F \%T`who \-u am i 2>/dev/null | awk '{print $NF}' | sed \-e 's/[()]//g'``whoami`
序号 日期 时间 IP地址 账号 历史命令
历史命令相关环境变量:
HISTSIZE:命令历史记录的条数
HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
HISTTIMEFORMAT="%F %T `whoami` " 显示时间和用户
HISTIGNORE="str1:str2*:…" 忽略str1命令,str2开头的历史
HISTCONTROL:控制命令历史的记录方式
ignoredups 是默认值,可忽略重复的命令,连续且相同为“重复”
ignorespace 忽略所有以空白开头的命令
ignoreboth 相当于ignoredups, ignorespace的组合
erasedups 删除重复命令