1,040
社区成员
发帖
与我相关
我的任务
分享linux最初是由李纳斯·托瓦兹(Linus Torvalds)创建的一个操作系统(OS),基于Minix(Unix的变种)开发的操作系统。当时尽管Unix是相当成熟而强大的操作系统,但Unix非常昂贵并且源代码并不公开可用,为了方便学生的学习和理解操作系统的原理安德鲁教授开发了Minix,并且公开源代码供当时的教学使用。由于Minix仅用于教学和学术研究,很多功能也没有完善比如没有内置的终端仿真器上网的功能不完善等等,所以在Minix的基础上李纳斯开发了Linux。


GNU(GNU is Not Unix)自由软件运动项目是由理查德·斯托曼(Richard Stallman)发起的,认为软件不应该收费、不应该完全封装起来看不到源代码、软件应该公开透明,GNU计划的目标是为了创造一套完全自由而且免费的兼容于Unix又不是Unix的系统。为了实现这个计划起草了GPL协议(源代码开源基于GPL许可的软件衍生出来软件也要遵循GPL协议),当时GUN计划除了内核都完成,正好Linux的发明完整了GNU计划。
硬件接口层:核心层,负责连接计算机硬件与软件的通信它提供了一种标准化的方式,使得软件可以与硬件设备进行交互和通信。
命令解释层:连接外层的应用程序和内核。
外围应用层:所有的应用,图形化桌面等等

RHEL:Red Hat的商业版
fedora:相当于Red Hat的实验版,迭代快速功能新不够稳定。
cnetos:免费版,滞后于商业版
debian:分为稳定版,不稳定版和测试版
ubuntu:基于不稳定版优化,对桌面进行了优化
gentoo linux:性能强大但安装要编译源码包和操作系统

Linux系统中一切皆文件:几乎所有东西都可视为文件,包括硬件设施,进程网络连接等等。
挂载点:指将一个文件系统连接到文件系统树中的一个目录,使得该文件系统中的文件和目录可以在该目录下访问。

bin:这个目录存放着最经常使用的命令
/sbin:这里存放的是系统管理员使用的系统管理程序
/home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录是以用户的账号命名
/root:该目录为系统管理员的用户主目录
/lib:系统开机所需要最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库
/etc:所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库的my.conf
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下
/boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
/tmp:存放一些临时文件
/media:Linux系统会自动识别一些设备,例如U盘,当识别后,Linux会把识别的设备挂载到这个目录下
/opt:这是给主机额外安装软件所存放的目录
/var:这个目录中存放着在不断扩充着的东西,习惯将经常修改的目录放在这个目录下,包括各种日志文件

vi是Unix操作系统和类Unix操作系统中最通用的文本编辑器
vim编辑器是从vi发展出来的一个功能更强的文本编辑器
yy:复制当前行
yw:复制单词
y数字y:复制当前到到n行
p:粘贴
dd:删除
u:撤销
$:行尾
^:行开
1+G:文档开头
G:文档末尾
数字 N+G:移动到目标行

shell:shell可以看做是一个命令解释器,提供了交换式的文本控制台,可以通过终端控制台输入命令,由shell进行解释最终交由内核执行。
不同的Linux发行版由不同的shell工具
Unix:Bourne Shell Linux:Bourne Again Shell 大多数:bash ubantu:dash
命令非常多,所以需要帮助命令 man获得帮助外部命令 help内置命令(写在bash中) type分辨是否为内置命令 pwd打印绝对地址
一、创建和删除目录
mkdir:创建目录 mkdir -p 嵌套创建 rmdir:删除目录 rmdir -p 嵌套删除
二、创建、复制、删除、移动和查看文件
touch:创建文件 cp[选项]source dest 复制 rm[选项]deletefile -r递归删除 -f强制删除
cat/more/less:查看文件
三、输出重定项软连接查看历史命令
ln -s 文件 目的地:创建软连接(相当于指针或者快捷方式) ln 文件 目的地:创建硬链接
echo:输出在控制台 >:覆盖文件 >>:追加内容 history:查看历史命令