linux的哲学思想:
1.一切皆文件:
把几乎所有资源,包括硬件设备都组织委员文件格式
2.由众多单一目的的小程序组成;一个程序只实现一个功能,而且要做好
组合小程序完成复杂任务
3.尽量避免和用户交互
目标: 实现脚本编程,以自动完成某些功能
4. 使用纯文本文件保存配置信息
目标:一款实用的文本编辑器即能完成系统配置工作
linux的发行版
1. slackware:
suse
opensuse
2.debian:
ubuntu
mint
3. redhat
rhel: redhat enterprise linux
每18个月发行一个新版本
centOS:兼容rhel的格式
fedora: 每6个月发行一个版本
此外:linux还有其他分支
比如 ArchLinux、Gentoo、LFS等
linux开源协议
常见的开源协议
GPL:开源,不能闭源,用户修改后的代码也遵循相同的协议
APACHE: 源码修改后可以闭源,但是每一个修改后的文件都要放置版权说明
BSD: 源码修改后可以闭源,衍生的软件广告不能以你的名字进行促销
linux终端
用户与主机交互,必然用到的设备
物理终端:设备文件/dev/console
虚拟终端: 附加在物理终端之上的以软件方式虚拟实现的终端,默认启动6个虚拟终端
切换方式:Ctrl+Alt+F#:[1,6]
图形终端: 附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境
设备文件路径: /dev/tty#
模拟终端:
图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的
设备文件: /dev/pts/# [0,+oo]
查看当前终端:tty
shell
命令提示符:
管理员:#
普通用户:$
显示当前使用的shell:
# echo ${SHELL}
显示当前系统使用的所有shell:
# cat /etc/shells
输入命令,回车:
提请shell程序找到命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程
在shell中可执行的命令有两类:
内建命令: 由shell自带,而且通过某命令形式提供
外部命令: 在当前系统的某文件系统路径下有对应的可执行程序文件:可用which,whereis来查看
查看命令是内部命令还是外部命令:
# type COMMAND
linux的文件系统
根文件系统(rootfs)
遵循的协议是FHS(Filesystem Heirache Standard)
/boot: 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放在此目录
/bin: 供所有用户使用的基本命令,不能关联至独立分区,OS启动即会用到的程序
/sbin: 管理类的基本命令,不能关联至独立分区,OS启动即会用到的程序
/lib:基本共享库文件,以及内核模块
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc: 配置文件目录(纯文本文件)
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点,比如cdrom,usb
/mnt: 临时文件存储位置
/usr: universal shared readonly data
bin
sbin
lib
lib64
include: 程序的头文件(head files)
share: 结构化独立的数据,例如doc,man等
local:第三方应用程序的安装位置
bin,sbin,lib,lib64,etc,share
/var: variable data files
cache:应用程序缓存数据目录
lib:应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock:锁文件
log:日志目录及文件
opt:专用于为/opt下的应用程序存储可变数据
run:运行中的进程相关的数据,通常用于存储进程的pid文件
spool:应用程序数据池
tmp: 保存系统两次重启中间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys: 用于输出当前系统上硬件设备相关信息的虚拟文件系统
/selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置
linux命令查看帮助文档
内部命令:
# help COMMAND
外部命令:都有一个可执行程序,位于文件系统某目录下,可用which,whereis查看
外部命令:
(1)# COMMAND --help
# COMMAND -h
(2) 使用手册(manual)
# man COMMAND
(3) 信息页
# info COMMAND
(4) 程序自身的帮助文档
README
INSTALL
ChangeLog
(5) 程序官方文档