Linux发行版本
当前流行的Linux发行版有三大系列:Redhat,Debian,Slackware。其他流行版本Gentoo,Kali Linux,Archlinux,Tails等
一、在Redhat的主要Linux发行版有:
1.RHEL(Redhat Enterprise Linux),以商业模式运作
2.CentOS,以社区方式运作,基本与RHEL相同,免费(现已停止更新)
3.Fedora,Redhat阵营中,面向桌面的Linux发行版
二、Debian系列中的主要发行版有:
1.Ubuntu(基于Debian的二次发行版),Mint也是属于这个系列的。
2.Knopix(以安全著称)
三、在Slackware系列中的主要发行版是S.u.S.E,随着发展渐渐的区分为:
1.SLES(S.u.E.S Linux Enterprise Server),以商业模式运作
2.OpenSUSE,以社区方式运作
四、其他版本
中标麒麟:中标软件 Fedora:每6个月发行一个新版本
Alpine: 一个面向安全的轻型 Linux 发行版
Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
LFS:Linux From scratch 自制Linux,只是一个说明书
Android:kernel+busybox(工具集)+java虚拟机
安装Centos7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录
centos
[root@centos8 ~]# cat /proc/version
Linux version 4.18.0-348.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-3) (GCC)) #1 SMP Tue Oct 19 15:14:17 UTC 2021
[root@centos8 ~]# useradd chenyinj
[root@centos8 ~]# su chenyinj
[chenyinj@centos8 root]$ cd ~
[chenyinj@centos8 ~]$ ls
配置系统
# 关闭防火墙
systemctl disable --now firewalld
# 关闭SElinux
vim /etc/selinux/config
SELINUX=disabled
# 扫描硬盘别名
alias scandisk='echo - - - >/sys/class/scsi_host/host0/scan;echo - - - >/sys/class/scsi_host/host1/scan;echo - - - > /sys/class/scsi_host/host2/scan'
# 常用软件安装
yum -y install lrzsz tree screen tmux man-pages strace redhat-lsb-core
# yum源配置
[root@sakura:]~ # mkdir bak;mv *.repo /etc/yum.repos.d/bak
[root@sakura:]~ # ls /etc/yum.repos.d/
bak base.repo
[root@sakura:]~ # cat /etc/yum.repos.d/base.repo
[BaseOS]
name=BaseOS
baseurl=https://mirrors.cloud.tencent.com/centos/$releasever/BaseOS/x86_64/os/
https://mirrors.aliyun.com/centos/$releasever/BaseOS/x86_64/os/
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/BaseOS/x86_64/os/
# file:///misc/cd/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=https://mirrors.cloud.tencent.com/centos/$releasever/AppStream/x86_64/os/
https://mirrors.aliyun.com/centos/$releasever/AppStream/x86_64/os/
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/AppStream/x86_64/os/
# file:///misc/cd/AppStream
gpgcheck=0
[epel]
name=EPEL
baseurl=https://mirrors.cloud.tencent.com/epel/$releasever/Everything/x86_64
https://mirrors.aliyun.com/epel/$releasever/Everything/x86_64
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/Everything/x86_64
gpgcheck=0
enabled=1
[extras]
name=extras
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/x86_64/os
https://mirrors.cloud.tencent.com/centos/$releasever/extras/$basearch/os
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/os
gpgcheck=0
enabled=1
#修改默认网卡名
vim /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto resume=UUID=b5fcaf1d-b246-40ea-876e-408132e1622b net.ifnames=0"
grub2-mkconfig -o /boot/grub2/grub2.cfg
Ubuntu
chenyj@ubuntu1804:~$ cat /proc/version
Linux version 4.15.0-156-generic (buildd@lcy01-amd64-008) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #163-Ubuntu SMP Thu Aug 19 23:31:58 UTC 2021
配置系统
#ubuntu 允许root 远程连接
vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes
systemctl restart sshd
passwd root
配置环境变量,修改终端用户名
# //设置u为颜色为粉色,@为粉色,h为粉色,“:”为红色,'[]'为粉色,w为蓝色,“$”为绿色,后面打出来的字为白色
PS1='\[\033[01;35;1m[\]\u\[\033[00;35;1m\]@\[\033[01;35;1m\]\h\[\033[00;31;1m:\[\033[01;35;1m\[\033[00;34;1m\]\w\[\033[00;35;1m] \[\033[01;32;1m\]\$ \[\033[0;37;1m\]
配置环境变量,实现执行history的时候可以看到执行命令的时间
[root@centos8 ~]# vim /.bash_profile
export HISTCONTROL=ignoreboth
export HISTTIMEFORMAT="%F %T `whoami` "
[root@centos8 ~]# history
1 2021-12-24 21:20:42 root df
2 2021-12-24 21:20:42 root lsblk
3 2021-12-24 21:20:42 root ll -a
4 2021-12-24 21:20:42 root ls
5 2021-12-24 21:20:42 root cd /
6 2021-12-24 21:20:42 root ls
Linux哲学思想
一切都是一个文件(包括硬件)
小型,单一用途的程序
链接程序,共同完成复杂的任务
避免令人困惑的用户界面
配置数据存储在文本中
总结Linux常用命令使用格式,并用实例说明
echo 等待标准输入,后面可以接字符串,也支持正则表达式
[root@centos8 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
ifconfig默认什么都不接是显示网卡信息,后面也可以接其他不同的参数
[root@centos8 ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.231.133 netmask 255.255.255.0 broadcast 172.16.231.255
inet6 fe80::20c:29ff:fef3:b7da prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:f3:b7:da txqueuelen 1000 (Ethernet)
RX packets 95861 bytes 118612544 (113.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24688 bytes 2322766 (2.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 94 bytes 7980 (7.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 94 bytes 7980 (7.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 52:54:00:bf:44:47 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
date默认有固定的显示模式,后面接参数可以显示参数的信息
[root@centos8 ~]# date
Fri Dec 24 21:44:38 CST 2021
export可以显示当前bash的环境变量
[root@centos8 ~]# date
Fri Dec 24 21:44:38 CST 2021
[root@centos8 ~]# export
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
declare -x HISTCONTROL="ignoreboth"
declare -x HISTSIZE="1000"
declare -x HISTTIMEFORMAT="%F %T root "
declare -x HOME="/root"
declare -x HOSTNAME="centos8.sakura.test"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
free可以查看当前内存使用情况
[root@centos8 ~]# free
total used free shared buff/cache available
Mem: 800780 510468 60764 3148 229548 166364
Swap: 2097148 629760 1467388
lsblk查看硬盘和分区情况
[root@centos8 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 10.1G 0 rom /run/media/sakura/CentOS-8-5-2111-x86_64-dvd
nvme0n1 259:0 0 200G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
├─nvme0n1p2 259:2 0 50G 0 part /
├─nvme0n1p3 259:3 0 30G 0 part /data
├─nvme0n1p4 259:4 0 1K 0 part
└─nvme0n1p5 259:5 0 2G 0 part [SWAP]
描述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
/var: variable data files
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置