1.计算机的组成及功能
ENIARC:冯诺依曼体系
1.1.运算器(所属CPU)
进行计算
1.2.控制器(所属CPU)
控制部件之间的协调,包括寻址操作
辅助性存储(加速与提升CPU性能)
寄存器(锁存数据)
缓存(缓存数据)
一级缓存
二级缓存
….
1.3.存储器
RAM(Random Access Memory)
断点后不能存储数据,存取数据必须通电
ROM(Read Only Memory)
断电后可以存储数据
1.4.输入(Input)
下指令,提供对方要加工的数据
1.5.输出(Output)
输出数据加工后的结果
2.描述及罗列linux版本,并描述不同发行版本之间的联系
2.1.发行版本概念简述
GNU组织开源程序运动[发布的都是源码]
源码不能直接运行:需要编译成二进制格式运行
源码编译是有门槛的
常见的源码工具
gcc,glibc,vi,linux
2.2.linux发行版
商业公司、社区组织负责按照自己的理解将源码打包成二进制文件一并提供给用户
这些组织或公司称为发行商
发行版有数百种之多
2.2.1.热门发行版及二次发行版
Debian(社区)
Knopix
Ubuntu
Gentoo(基于Enoch)
Slackware(基于SLS)
S.u.S.e
openSUSE
Arch
RedHat
RedHat Enterprise
Centos
Fedora Core
2.2.2主流发行版
Debian(使用要求更高,更轻巧)
ubuntu
mint
* knopix
Slackware"
S.u.S.e(商业公司)"
SLES
OpenSUSE(界面华丽著称)[欧洲人比较喜欢]
RedHat
RedHat 9.0
RedHat Enterprise Linux(RHEL)
RHEL 7.0
Centos(Community Enterprise OS)
Centos与RHEL(企业版)的关系
REHL商业版可以使用,但是升级包提供源码,不提供二进制文件
REHL虽然收钱,但是提供服务(如果不依赖提供服务则使用centos和redhat是一样)
社区将红帽提供的源码编译成二进制文件提供给centos
centos已经被红帽收购了
Fedora Core
每6个月发行一次
3.描述linux哲学
3.1.一切皆文件
把几乎所有资源统统抽象为文件形式:包括硬件设备,甚至通信接口等
open(),read(),write(),close(),delete(),create()
3.2.由众多功能单一的程序组成:一个程序只做一件事,并且做好
组合小程序完成复杂任务
3.3.尽量避免跟用户交互
目标:易于以编程的方式实现自动化任务
3.4.使用文本文件保存配置信息
4.命令使用
4.1.ifconfig eth0
[root Yorick ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.144.65.243 netmask 255.255.240.0 broadcast 10.144.79.255
ether 00:16:3e:00:2e:15 txqueuelen 1000 (Ethernet)
RX packets 186227 bytes 28876529 (27.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 315694 bytes 25053665 (23.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# ifconfig命令
## 获取当前设备所有网卡信息
ifconfig
## 获取当前设备指定网卡信息
ifconfig [eth0|eth1|eth…]
## 网卡信息主要内容(简)
网卡名称、网卡地址、子网掩码、广播地址、物理地址、进出的网卡的流量(单位字节)
4.2.echo
# 回显命令
echo "hello world"
# 常用参数
-n 不自动进行换行操作
-e 让转译字符生效
\t 制表符
\n 回车
4.3.tty
# 获取当前终端信息
]# tty
/dev/pts/0
# 根据终端的不同回显不同的终端信息
物理终端:/dev/console
虚拟终端:/dev/tty#
串行终端:/dev/ttyS#
伪终端: /dev/pts/#
4.4.startx
# 启动图形终端(根据操作系统的不同终端不一样)
startx
# 在伪终端或console中切换图形终端
## centos6 只能在tty7中启用图形终端
tty7
## centos7 哪里启动哪里就是图形终端
tty1-7
4.5.export
# 获取变量与声明变量
export (默认获取当前终端变量)
# 常见用法
export "key"="value" # 添加环境变量(仅当前shell生效)
export -n "key" # 删除环境变量,仅不显示变量名称,但实际存在(仅当前shell生效)
export [-p] # 查看当前shell的环境变量
4.6.pwd
# 获取当前工作目录的所在路径
pwd
4.7.history
# 记录操作历史记录
history (默认查看还是操作记录,默认记录1000行)
# 常见用法(跟操作审计相关)
## 记录历史命令的执行时间
export HISTTIMEFORMAT='%F %T '
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S $(who a mi|awk '{print $1,$5}'|tr -d "()") "
## 不记录历史命令
export HISTSIZE=0
## 修改记录历史的命令长度
HISTSIZE=450
HISTFILESIZE=450
## 记录历史命令的方法
### 消除历史记录中的重复记录(所有记录中不存在重复的记录)
export HISTCONTROL=erasedups
### 消除历史记录中的重复记录(相邻的重复记录只记录一条)
export HISTCONTROL=ignoredups
### 不记录以空格开头的操作
export HISTCONTROL=ignorespace
4.8.shutdown
# 关闭并切断电源
## 常见参数
-h halt 关机
-r reboot 重启
-c cancel 取消
now 现在立刻关闭
hh:mm 几点几分
+m 多少分后
4.9.poweroff
# 关机
4.10.reboot
# 重启
4.11.hwclock
# 物理时钟
hwclock(显示硬件时钟)
# 以硬件为准
-s –hctosys 把系统调整为与硬件时钟相同
# 以系统为准
-w –systohc 把硬件时钟调整为与系统时钟相同
4.12.date
# 日期的获取
date OPTIONS [FORMAT]
# 获取当前年份,按指定方式输出
date +"%Y-%m-%d"
date +'%Y-%m-%d %H:%M:%S'
# 获取当前时间戳
date +"%s"
# 将时间戳转换成当前时
date -d @1361542596 +"%Y-%m-%d %H:%M:%S"
# 将时间转换成时间戳
date -d "20161111" +"%s"
date -d '2013-2-22 22:14' +%s
# 修改系统时间
date -s "2016-11-11"
5.获取帮助
# 方式一
* help COMMAND
# 方式二
* COMMAND -h|–help (长格式帮助及短格式帮助)
# 方式三
* man COMMAND
# 方式四
* info COMMAND
# 方式五
* 安装的程序 readme:程序的相关信息
* 安装成续的 CHANGES:版本迭代时的改动信息
# 方式六
* 主流发行版本的官方文档
* http://www.redhat.com/doc
# 方式七
* 程序的官方文档,常用英文Document表示
# 方式八
* 使用google搜索
keyword
keyword filetype:pdf
keyword site:magedu.com
keyword tld:top+level+domain
5.1.man手册使用详解
# 使用格式
man COMMAND
# 基本段落说明
SECTION 简要说明
SYNOPSIS 命令语法使用格式
DESCRIPTION 描述
OPTIONS 选项
EXAMPLES 使用示例
AUTHOR 作者
BUGS 报告程序BUG的方式
SEE ALSO 参考
# SYNOPSIS语法说明
[] 代表可选内容
<> 必须提供的内容
a|b 表示多选一
… 同类内容可出现多个
{} 辅助性分组的
# man手册存放位置
/usr/share/man/{man1|man2|man3……}
说明:
man1: 用户命令
man2:系统调用(程序员才会用到的)
man3:C库调用
man4:设备文件及特殊文件
man5:文件格式说明(配置文件)
man6:游戏的使用帮助
man7:杂项
man8:管理工具及守护进程
man [1-8] COMMAND [man CHAPTER COMMAND]
# 查看命令再哪个章节有帮助信息
whatis COMMAND
# 如果新安装的命令,也许有可能不能正常的查询出来,使用如下命令重新刷新whatis数据库
makewhatis 【不建议使用,消耗系统资源较为严重】
# man手册使用时的快捷键
翻屏:
空格键: 向文件尾部翻一屏
b: 想文件首部翻一屏
ctrl+d: 向文件尾部翻半屏(ctrl downword)
ctrl+u: 向文件首部翻半屏(ctrl upword)
回车键: 向文件尾部翻一行
k: 向文件首部翻一行
G: 表示跳转至最后一行
#G: 跳转至指定行
1G: 跳转至文件首部
文本搜索功能:(查找时不区分大小写)
/keyword: 从文件首部向文件尾部依次查找
?keyword: 从文件尾部想文件首部依次查找
n:与查找命令方向相同
N:与查找命令方向相反
退出:
q:quit
6.linxu发行版的基础目录名规范
# 文件系统的标准规范(FHS)
文件系统层级结构标准(Filesystem Hierarchy Standard)
简单描述文件层级结构
## /bin
供所有用户使用的基本程序文件 (Essnetial user command binaries)
## /sbin
工系统管理使用的工具程序 (System binaries)
## /boot
引导加载器必须用到的各静态文件
kernel
initramfs(initrd)
grub等
## /dev
存储特殊文件或设备文件
字符设备|线性设备 `!有时序`
块设备|随机设备 `!无时序`
## /etc
系统程序的静态配置文件
## /home
普通用户家目录的集中位置
## /root
管理员的家目录
## /lib
为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
libc.so.* `动态链接C库`
ld* `运行时链接器加载器`
modules `用于存放内核模块的目录`
## /lib64
64位系统特有的存放64位共享库的路径
## /media
便携性设备挂在点
cdrom
floppy
等
## /mnt
其他文件系统的临时挂载点
## /opt
附加应用程序的安装位置(通常称为第三方程序)
## /srv
当前主机为服务提供的数据(特有的)
## /tmp
为那些会产生临时文件的程序提供的用于存储临时文件的目录,可提供所有用户执行写入操作 `有特殊权限`
## /usr
全局共享的只读数据路径(自己也存在层级结构)
/bin
/sbin
/lib
/lib64
/include #C程序的头文件
/share #命令手册和自带文档等架构特有的文件存储位置
/local #另一个层级目录
/src # 程序源码的存放位置
## /usr/local
让系统管理员安装本地应用程序,通常用于安装第三方程序(常用)
## /var/
存放常发生变化的数据的目录
cache 缓存数据
lib 状态数据
local 提供/usr/local的状态信息相关的额
lock 锁文件相关的
log 日志相关的
opt 第三方应用相关的额
run 进程中相关的信息
spool 管道信息
temp 系统重启后依然需要留存文件
## /proc
基于内存的虚拟文件系统,内核和进程信息的虚拟文件系统(内核级进程存储其相关信息,它们多为内核参数)
示例
net.ipv4.ip_forward -> 虚拟-> net/ipv4/ip_forward
路径 /proc/sys/
完整的路径 /proc/sys/net/ipv4/ip_forward
## /sys
sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径
主要作用:为管理linux设备提供一种统一模型的接口
原创文章,作者:Yorick,如若转载,请注明出处:http://www.178linux.com/62625
评论列表(1条)
总结的很好,有例子有说明,加油