note_2_Linux系统组成
Linux基础:
CPU架构:
x86
x64(amd64)
m6800(m68k)
arm
ultrasparc solaris
power aix
powerpc(ppc)
MIPS
alpha hp-ux
![](https://img.haomeiwen.com/i11816271/b7d782ab3abf858b.png)
AMD64,或“x64”,是一种64位元的电脑处理器架构。它是基于现有32位元的x86架构,由AMD公司所开发,应用AMD64指令集的自家产品有Athlon 64、Athlon 64 FX、Athlon 64 X2、Turion 64、Opteron、Sempron、Phenom及最新的Ryzen、EPYC处理器。
Wintel,Windows-Intel架构。实际上是指Microsoft与Intel的商业联盟,该联盟意图并成功地取代了IBM公司在PC市场上的主导地位,所以也称为Wintel联盟。Wintel联盟垄断桌面端长达20多年。
低级语言如汇编语言编写的程序很难移植(portable)
可以交叉编译(cross compile)
因此出现了kernel,程序员通过kernel的系统调用与硬件交互
POS:POSIX (Portal Operate System IX)
GNU组织中的GPL协定:General Public Lisence (copyleft)
只要使用过遵循GPL协定的源代码的代码必须遵循GPL协定
后来出现了LGPL协定(Lesser GPL)
GPLv2,GPLv3
程序管理:
- 程序的组成部分
- 二进制程序
- 配置文件
- 库文件
- 帮助文件
- 程序包管理器
- 程序的组成文件打包成一个或有限几个文件:
- 安装:
- 卸载:
- 查询:
Debian:dpkg,apt-get
RedHat:rpm, yum --> dnf
S.u.S.E:rpm, zypper
ArchLinux:port
Gentoox
LFS:Linux From Scratch (自己构建Linux 估计48h)
Kali
安装Linux:
虚拟机:Linux
计算机:CPU,内存,IO
Linux镜像站:
http://mirrors.aliyun.com
http://mirrors.163.com
CentOS初识
locale
![](https://img.haomeiwen.com/i11816271/21b18ee8f0e4a535.png)
localectl -h
![](https://img.haomeiwen.com/i11816271/f0ed272cf75b5041.png)
localectl set-locale LANG=zh_CN.UTF-8
设置字符编码方式
终端:terminal
远程连接:基于ssh(secure shell)协议
ss -tnl
用于查看系统监听tcp协议的22号端口
![](https://img.haomeiwen.com/i11816271/c6449f498f20643a.png)
ifconfig
or
ip addr list
查看网卡地址
![](https://img.haomeiwen.com/i11816271/48a3248f03e60391.png)
iptables -L -n '''查看防火墙规则'''
iptables -F '''清除防火墙规则'''
当前有效
systemctl stop firewalld.service '''centos7 关闭防火墙服务'''
service iptables stop '''centos6 关闭防火墙服务'''
当前有效
systemctl disable firewalld.service '''centos 7'''
chkconfig iptables off '''centos 6'''
永久有效
终端设备:terminal
- 多任务、多用户
- 物理终端,控制台:console
- 虚拟终端:6个 Ctrl+Alt+[F1-F6] tty
- 串行终端:ttyS
- 伪终端:pty
Linux的哲学思想之一:一切皆文件
- 表现之一:硬件设备也通过文件表示:
- 物理终端:/dev/console
- 虚拟终端:/dev/tty# [1,6]
- 串行终端:/dev/ttyS#
- 伪终端:/dev/pts/#
echo $SHELL
查看接口程序
![](https://img.haomeiwen.com/i11816271/43b8d00e6c2925d5.png)
tty
查看终端设备
![](https://img.haomeiwen.com/i11816271/429baf6293f580c1.png)
[root@localhost ~]# COMMAND
prompt:
- root: 当登录的用户
- localhost: 当前主机的主机名,非完整格式;完整格式如:xxx.baidu.com
- ~:用户当前所在的目录(current directory),也称为工作目录(working directory);相对路径;
-
#:命令提示符;
- #:管理员账号,为root; 拥有最高权限,能执行所有操作;
- $:普通用户,非root用户;不具有管理权限,不能执行系统管理类操作;
注意:建议使用非管理员账号登录;
执行管理操作临时切换至管理员,操作完成即退回;
几个基础命令:
-
tty:查看当前的终端设备;
-
ifconfig或ip addr list:查看活动接口的ip地址;
-
echo:回显
-
ping:探测网络的目标主机与当前主机之间的连通性;
-
Ctrl+c:终止命令执行;
-
关机命令:
- CentOS 7:
~]# systemctl poweroff
~]# systemctl reboot - All:
~]# poweroff
~]# halt
~]# reboot
- CentOS 7:
Linux的哲学思想:
- 一切皆文件:
把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等; - 由众多功能单一的程序组成;
一个程序只做一件事,并且做好;组合小程序完成复杂任务; - 尽量避免跟用户交互;
目标:易于以编程的方式实现自动化任务; - 使用文本文件保存配置信息;
目录:路径映射;
文件:存储空间存储的一段流式数据,对数据可以做到按名存取;
文件系统:层级结构;有索引;
-
/: 原初起点;
倒置树状结构; -
/dev/pts/2:
最左侧/: 表示根目录
其它的/: 表示路径分隔符
Linux的路径分隔符是/
Windows的是\
-
文件的路径表示:
- 绝对路径:从根开始表示出的路径
- 相对路径:从当前位置开始表示出的路径
-
文件名使用法则:
- 严格区分字符大小写:file1, File1, FILE1
- 目录也是文件,在同一路径下,两个文件不能同名;
- 支持使用除/以外的任意字符;
- 最长不能超过255个字符;
-
用户有家目录:home,
用户的起始目录;普通用户管理文件的位置; -
工作目录:
/etc/sysconfig/network-scripts/ifcfg-eno16777736- basename:最右侧的文件或目录名;
- dirname:basename左侧的路径;
-
命令:
basename dirname