目录
3.永久设置主机名(newhostname为自定义新主机名)
1.RPM软件包管理器Red-Hat Package Manager
什么是Linux系统?
Linux是一个开源的类Unix操作系统内核,它是由芬兰计算机科学家Linus Torvalds在1991年首次发布。Linux内核是操作系统的核心部分,管理计算机硬件和软件资源,并提供用户与计算机系统交互的接口。
与其他商业操作系统不同,Linux的源代码是开放和可自由访问的,这意味着任何人都可以查看、修改和分发Linux内核的源代码。这种开放性使得Linux成为一个全球性的合作项目,吸引了全球范围内成千上万的志愿者,共同参与开发和改进Linux。
Linux被广泛用于各种设备和系统中,从个人计算机(如台式机和笔记本电脑)、服务器、嵌入式系统到移动设备(如智能手机和平板电脑),都可以使用Linux作为操作系统。此外,许多企业和组织也选择使用Linux作为服务器和数据中心的操作系统,因为它稳定、安全且支持大规模的并发处理。
Linux操作系统提供了丰富的软件和工具,可以满足各种需求,例如办公套件、图形界面、编程环境、网络服务等。同时,Linux还支持多用户多任务操作,允许多个用户同时使用一台计算机并执行不同的任务。
总的来说,Linux是一个强大、灵活且可扩展的操作系统,在当今计算机技术领域发挥着重要的作用。它的开放性和自由性使得任何人都可以根据自己的需求对其进行定制和改进,从而推动了计算机科学和技术的发展。
Linux的市场
Linux在我国服务器市场上的市占率高达79.1%,处于绝对领先地位。而Windows的市占率则为20.1%,以Unix为代表的小众服务器操作系统市场份额仅为0.8%。
Linux的版本
1.内核版本
LT 长期支持版本 ML 最新的稳定主线版本
2.发行版本
1.Ubuntu:Ubuntu是一种基于Debian的免费开源的Linux发行版,由Canonical Ltd. 开发和维护。它以易用性和稳定性而闻名,并且拥有庞大的社区支持。
2.CentOS:CentOS是一种基于Red Hat Enterprise Linux(RHEL)源代码的免费开源的Linux发行版。它被广泛用于服务器环境,并提供了长期支持 (LTS) 的版本。
3.Fedora:Fedora是由社区驱动的免费开源的Linux发行版,由Red Hat赞助。它以最新的软件包和技术为特点,常用于桌面和开发环境。
4.Debian:Debian是最早的自由软件发行版之一,以其稳定性和安全性而闻名。它拥有广泛的软件库和强大的包管理系统,适用于多种应用场景。
5.openSUSE:openSUSE是由社区开发和维护的一种免费开源的Linux发行版。它提供了两个主要版本:Leap(稳定版本)和Tumbleweed(滚动更新版本),适用于不同需求。
除了以上列举的发行版外,还有许多其他的Linux发行版可供选择,如Arch Linux、Gentoo等。每个发行版都有其独特的特点和适用场景,根据自己的需求选择最合适的版本是很重要的。
3.两者区别
1.内核版本:Linux操作系统中使用的内核的版本号,它代表了Linux内核的主要版本和次要版本的标识。例如,Linux内核版本可能是3.10、4.15或5.10等。每个新的内核版本通常会带来新的功能、性能改进和修复漏洞等。
2.发行版本(Distribution):对Linux操作系统的一个完整打包和发布,包括了操作系统本身的内核,以及众多的应用程序、工具集和驱动程序等。常见的Linux发行版本有Ubuntu、Debian、CentOS、Fedora等。每个发行版本都使用特定的内核版本,并且针对不同的用户需求和场景进行了适当的配置和定制。
3.区别:内核版本是指Linux操作系统核心的版本号,而发行版本是指一种对Linux操作系统的定制和打包发布,包含了特定版本的内核和其他相关软件的集合。
Linux的基本操作!!!
###命令行提示字符
[root@localhost ~]#
[当前登录系统的用户@主机名称 当前所在的目录]#
~表示为家目录
# 表示为管理员登录
$ 表示为普通用户登录
###sudo命令
"Superuser Do"(超级用户运行)的缩写。
允许普通用户以root(超级用户)或其他特定用户的身份执行特权命令。
一般情况下,普通用户只能执行一些有限的操作,而不能对系统设置进行更改或执行需要管理员权限的任务。通过使用sudo,用户可以临时地获取超级用户或其他特定用户的权限,以执行特定的任务,比如安装软件包、修改配置文件或执行系统维护任务等。
###关机与重启
1.关机
poweroff
init 0
shutdown -h now
2.重启
reboot
init 6
shutdown -r now
###切换用户
1.su命令
su - username
- 将"username"替换为要切换到的用户名。
- 输入目标用户的密码。
- 这将切换到目标用户的身份,并且会进入该用户的主目录。
2.sudo命令
sudo -u username -i
- 将"username"替换为要切换到的用户名。
- 输入当前用户的密码。
- 该命令将以指定用户的身份运行一个新的交互式shell。
注:使用以上命令切换用户需要有足够的权限。如果没有管理员权限,可以使用su
命令切换到自己具备权限的普通用户,然后再使用sudo
命令切换到其他用户。
###设置主机名
1.查看主机名
hostname
2.临时设置主机名
hostname 主机名
3.永久设置主机名(newhostname为自定义新主机名)
sudo hostnamectl set-hostname newhostname
重启使新主机名生效
sudo reboot
###查看版本
内核版本
uname -r
显示操作系统和内核的相关信息,包括内核版本号、硬件架构和操作系统类型等。
发行版本
cat /etc/os-release
cat /etc/*release
显示操作系统的相关信息,包括发行版名称、版本号、ID等。对于大部分常见的Linux发行版,都可以使用这个命令。
###设置IP
临时修改网卡IP
例:
ifconfig ens33 192.168.80.3/24
ifconfig ens33 192.168.80.3 netmask 255.255.255.0
永久修改网卡IP(重启网卡生效)
例:
1.先关闭和查看
2.进入修改页面
3.回车开始手动配置
4.记得重启网卡!!!
systemctl restart network
关闭与启动网卡
systemctl restart network #重启所有的网卡
ifdown ens33 #关闭某个网卡ifdown ens33
ifup ens33 #启动某个网卡
ifconfig ens33 down #临时禁用某个网卡
ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)
###添加静态路由条目
1.临时添加路由(重启network服务失效)
方法一:
例:
route add -net 192.168.3.0/24 gw 192.168.8.2 [dev ens33]
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口
增加一个默认路由(网卡需要开启网关配置)
例:
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.8.2
route add default gw 192.168.8.2
route -n #查看路由表条目
route del -net 192.168.3.0/24 #删除静态路由条目
方法二:
例:
ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]
2.永久添加路由(重启network服务生效)
方法一:
例:
vi /etc/sysconfig/static-routes
any net 192.168.3.0/24 gw 192.168.80.2 dev ens33
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2
any host 192.168.100.100 gw 192.168.80.2
systemctl restart network
方法二:
例:
vim /etc/sysconfig/network-scripts/route-ens33
0.0.0.0/0 via 192.168.80.2 dev ens33 #默认路由
10.211.6.0/24 via 192.168.80.2 dev ens33
192.168.100.200 via 192.168.80.2 dev ens33
systemctl restart network
3.测试网络连接
ping
traceroute #静态跟踪
mtr #动态跟踪
Linux常用命令!!!
###Shell
属于Linux中的特殊程序,位于用户与内核之间。
是一种命令行解释器,接收用户输入的命令,并将命令翻译成计算机语言,传递给内核执行调用相关硬件资源。
用户登录Linux系统会自动加载shell程序,bash为默认的shell,文件位于 /bin/bash
###快捷键辅助操作
按键 tab #键自动补齐命令、对象
按键 \ #强制换行(格式美化)
按键 Ctrl+U #清空至行首
按键 Ctrl+K #空至行尾
按键 Ctrl+L #清屏
按键 Ctrl+a #切换到行首
按键 Ctrl+e #切换到行尾
按键 Ctrl+C #取消本次命令编辑
###Linux命令分类
1.内部命令
是直接嵌入到Linux操作系统中的命令,它们随着系统启动而加载到内存中,并且不需要额外的执行文件。这些命令通常处理一些基本的操作,如文件和目录管理、进程控制等。由于内部命令存在于操作系统内核中,因此它们的执行速度更快
2.外部命令
是独立于Linux操作系统的可执行文件或脚本,它们不随系统启动而加载,而是作为独立的程序存储在磁盘上,需要有一个对应的系统文件。这些命令提供了更复杂和高级的功能,比如文本编辑、编译、网络通信等。外部命令需要通过终端或命令行解释器来执行。
(将文件放入到PATH环境变量指定的目录中)
3.如何区别
(1)查看内部命令
enable
help
enable -n <命令字> #禁用内部命令
enable <命令字> #启用内部命令
(2)type查看命令
type <命令字>
###命令行格式
1.命令字(操作)
进行相关操作
2.选项(功能)
(1)短字符
-<单字符> 例: -l -a -h #多个短格式选项可以组合再一起使用 -alh
(2)长字符
--<单词> 例: --help
3.参数(执行对象)
可以是 文件 目录 用户名等(根据不同的命令使用不同的执行对象)
数量可以是零个或者一个或者多个。
4.获取命令帮助
help <内部命令>
<命令字> --help
man <命令字> 有些情况内部命令无法使用
###通配符
? #代表任意一个字符,有且只有一个字符
* #代表任意数个字符,可以是0个或者1个或者多个
[XXXX] #表示可以匹配列表中的任意一个字符
###路径
表示文件或目录在计算机系统中的位置。
pwd #显示当前所在的目录位置
cd #切换目录
cd ~ #回到当前家目录
cd - #回到上次使用cd的目录
1.绝对路径
以根目录 / 为起点的完整路径 例:/usr/local/bin/cfssl
2.相对路径
直接使用文件名/目录名,代表的是以当前目录为起点的文件/目录。
(1) ./XXX
代表的是以 当前目录 为起点的 XXX 文件/目录
(2)../XXX
代表的是以 上一层目录 为起点的 XXX 文件/目录
(3)~/XXX
代表的是以当前用户的家目录为起点的 XXX 文件/目录
(4)~用户名/XXX
代表的是以指定用户的家目录为起点的 XXX 文件/目录
###ls 显示目录/文件内容
以列表形式显示文件本身或目录中的内容
ls -l #以长格式的形式显示文件/子目录的属性
ls -a #显示目录中所有的隐藏文件
ls -A #显示目录中所有的隐藏文件,不显示.和..
ls -h #以人性化的方式显示文件/子目录大小(默认单位为字节)
ls -d #查看目录本身
ls -R #以递归的方式显示目录中所有子目录的内容
ls -r #反向排序
ls -t 以时间排序显示,默认从最新到最老的方式
ls -i 显示文件/目录的 inode 号
常用:
ls -alh #以长格式和人性化的方式显示文件和子目录的属性和大小,包括所有的隐藏文件
ls -ltr #将文件和子目录的属性以长格式的方式,从老到新的排序显示
###alias 别名设置
alias #显示所有的别名命令
alias 别名命令='命令字 [选项] [参数]' #创建别名命令
unalias 别名命令 #取消别名命令
###du 统计文件所占大小
du -a #统计目录及其所有子目录和文件的占用大小
du -h #以更人性化方式显示出统计结果
du -s #只统计所占用空间总的大小,而不是统计每个子目录、文件的大小(仅统计目录本身的占用大小)不能和-a选项同时使用
du --max-depth=1或者 -d 1 #仅统计目录中的第1层子目录的占用大小