linux是:其实就是类unix的操作系统。 like unix
使用c语言写的linux
linus 李纳斯:
kernel(内核):是操作系统内部最核心的软件。
作用:
1.对cpu进行调度管理
2.对内存进行分配
3.对磁盘文件系统管理
4.对进程进行管理
5.对其他硬件进行管理
Linux操作系统构成
Linux内核、系统基本库(实现某个功能函数)、应用程序(例如浏览器、MySQL、nginx等)
https://www.kernel.org/
免费的
非常适合服务器---》服务器
python---》后端 --->服务器后端开发工程师
Linux是开源的(Open Source)
CentOS 与 RHEL 的区别(RHEL是redhat)
其实为什么有 CentOS? CentOS 与 RHEL 有什么关系?
RHEL 在发行的时候,有两种方式。一种是二进制的发行方式,另外一种是源代码的发行方式。
无论是哪一种发行方式,你都可以免费获得(例如从网上下载),并再次发布。但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费。
RHEL 一直都提供源代码的发行方式,CentOS 就是将 RHEL 发行的源代码从新编译一次,形成一个可使用的二进制版本。由于 LINUX 的源代码是 GNU,所以从获得 RHEL 的源代码到编译成新的二进制,都是合法。只是 REDHAT 是商标,所以必须在新的发行版里将 REDHAT 的商标去掉。
REDHAT 对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”
所以,CentOS 可以得到 RHEL 的所有功能,甚至是更好的软件。但 CentOS 并不向用户提供商业支持,当然也不负上任何商业责任。
我正逐步将我的 RHEL 转到 CentOS 上,因为我不希望为 RHEL 升级而付费。当然,这是因为我已经有多年的 UNIX 使用经验,因此 RHEL 的商业技术支持对我来说并不重要。
但如果你是单纯的业务型企业,那么我还是建议你选购 RHEL 软件并购买相应服务。这样可以节省你的 IT 管理费用,并可得到专业服务。
一句话,选用 CentOS 还是 RHEL,取决于你所在公司是否拥有相应的技术力量。
unix
AIX:是IBM开发的一套UNIX操作系统。
Solaris:是oracle公司研制的类Unix操作系统。
HP-UX:是惠普公司以SystemV为基础所研发成的类UNIX操作系统。
FreeBSD:是一种类UNIX操作系统
FreeBSD--》麒麟操作系统:国防科大--》军方
自由软件 (Free Software) --》版权的问题
GNU:是项目--》搞一个不是unix的系统 ---》linux/GNU
GPL:通用许可协议
LGPL:轻量级的通用许可协议
Linux --》开启的黄金时代
redhat ---》Linux/GNU系统
redhat--》centos
centos属于redhat
Linux/GNU
debian
Ubuntu 乌班图、友邦图 --》免费 --》公司
redhat
centos 免费 --》社区
http://www.centos.org/
1.安装
centos、Ubuntu(server、desktop)
redhat 5%
自动分区
最小安装---》没有图形界面---》开发工具
GNOME桌面 ---》图形界面
root用户是Linux系统里的超级用户--》administrator
CentOS --->community enterprise operating system
社区企业操作系统(Community Enterprise Operating System)
[root@localhost ~]#
localhost 是安装好linux系统后的主机的默认名字
local 本地 host 主机
login 登录
root 代表当前的登录用户名
@ 分隔符号
localhost 代表主机名
~ 代表当前所在的路径在家目录
[] 是分割符号
# 提示符 管理员 root
$ 提示符 普通用户 lengzhouwei
PS1 第1提示符变量
[root@Miking ~]# echo $PS1
[\u@\h \W]\$
\u 代表user 用户
\h 代表host 主机名
\W 代表working directory 工作目录
\$ 代表提示符
echo 输出内容(相当于python里的print命令)
echo 123455
echo "lengzhouwei"
echo $PS1 输出PS1变量的值
$变量名 ---》引用这个变量的值
daxue=gongda 定义变量daxue的值为gongda
注意: = 左右不要空格
- ctrl+L 清除屏幕
- TAB 补齐
- trl+alt+enter 虚拟机全屏
BUG错误原因:
- 虚拟机的工作原理:
- 原因:ens33 连接的是无线网卡 网卡被禁用
- 修改方式:更改ens33连接为本地连接
- wireless 无线 broadcom 802.11n 无线网卡的产商
- Realtek或者intel 都是有线网卡
- Realtek或者intel 是制造网卡的产商
- 在机房里建议网卡类型选择“桥接”—》有线网卡上—》无线路由器
- 使用有线
- 回到寝室–》使用无线上网–》桥接到无线网卡上
- 使用无线
配置静态ip地址
1.进入网卡配置目录
cd 是进入文件夹的命令
ls 查看文件夹的内容
cd /etc/sysconfig/network-scripts
ifcfg-ens33 --》ifconfig ens33 interface config
interface 是接口 config 是配置
2.查看网关
```
[root@localhost ~]# ip route
default via 192.168.0.1 dev ens33 proto static metric 100
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.112 metric 100
```
3.查看dns服务器地址
```
[root@localhost ~]# cat /etc/resolv.conf resolve 解析
# Generated by NetworkManager
nameserver 192.168.0.1 -->首选dns服务器
nameserver 114.114.114.114 --》备用dns服务器
```
4.vi ifcfg-ens33 编辑网卡配置文件
BOOTPROTO=dhcp #动态获得ip地址 dhcp靠dhcp服务器分配ip none 静态配置
ONBOOT=no #开机启动是否激活 no 不激活(禁用) yes 启用
修改成
BOOTPROTO=none
ONBOOT=yes
BOOTPROTO=none 静态配置ip
ONBOOT=yes 开机激活网卡
IPADDR=192.168.0.112 指定ip地址
NETMASK=255.255.255.0 指定子网掩码
GATEWAY=192.168.0.1 网关
DNS1=192.168.0.1 首选dns服务器地址
DNS2=114.114.114.114 备用dns服务器地址
5.刷新服务
service network restart
6.再次查看ip地址
[root@Miking network-scripts]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:28:73:22 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.109/24 brd 192.168.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::408d:6fd0:8e82:4380/64 scope link noprefixroute
valid_lft forever preferred_lft forever
lo代表127.0.0.1,即localhost
ens33代表网卡,网卡选择:桥接模式
修改主机名
1.临时修改
[root@localhost ~]# hostname 查看
localhost.localdomain
[root@localhost ~]# hostname cali 修改为cali
[root@localhost ~]# hostname
cali
[root@localhost ~]#
用户重新登录系统,才会看到新的主机名
临时的修改的主机名,重新启动系统会失效
2.永久修改主机名
[root@cali ~]# vi /etc/hostname
cali
使用名字好区别服务器到底是做什么使用的,跑什么业务
web
mysql
游戏
3.关闭防火墙
防火墙的作用:防止别人攻击你的服务器
[root@cali ~]# iptables -F 清除防火墙规则
[root@cali ~]# systemctl stop firewalld 停止防火墙服务,关闭防火墙 (新式)
[root@cali ~]# service firewalld stop 停止防火墙服务,关闭防火墙(老式)
[root@cali ~]# systemctl disable firewalld 设置firewalld服务开机不启动
4.关闭selinux
selinux 是一个安全工具,用来保护linux系统的安全。 security linux
[root@cali ~]# getenforce 查看当前selinux安全工具的状态
Enforcing 强制执行
[root@cali ~]#
[root@cali ~]# setenforce 0 临时修改selinux的状态为自由模式(宽容模式)
不强制执行安全策略,不会限制你的自由操作linux了
[root@cali ~]# getenforce
Permissive 宽容模式(自由模式)
[root@cali ~]#
临时修改,重新启动系统后会失效
2.永久修改selinux的状态
[root@cali ~]# vi /etc/sysconfig/selinux
# enforcing - SELinux security policy is enforced.
selinux 策略 强制执行
# permissive - SELinux prints warnings instead of enforcing.
selinux策略不强制执行,只是给与警告
# disabled - No SELinux policy is loaded.
selinux策略不加载执行,禁用
SELINUX=disabled 修改为disabled
永久修改了selinux的状态,需要重新启动linux系统,才会生效
[root@cali ~]# getenforce
Disabled
[root@cali ~]#
[root@cali ~]# iptables -L 查看防火墙规则
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@cali ~]# service firewalld status 查看防火墙服务是否开启
Redirecting to /bin/systemctl status firewalld.service
?.firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead) --》说明服务没有启动
Docs: man:firewalld(1)
[root@cali ~]# 5.重启系统 reboot init 6