谈起计算机的组成不得不提冯诺依曼机

但是随着时间的发展,计算有新的发展了。
所以现在的计算机体系结构由五部分组成


有了计算机,我们就需要开始编写程序,那什么又是程序呢,简单一点。程序:指令+数据
我们学习程序,最厉害的程序是什么,大部分人肯定会说是内核,那内核的功能是什么。
内核功能的功能随时间的发展有很多变化,当时有一些功能是比较核心的功能:
这个适合我们就在疑问,内核与我们平常使用操作系统有什么区别。
在提出这个疑问的你,一定是一个有好奇心的人,因为你发现我们使用的操作系统有多种多样子。常见的有
不常见的有DOS ROS等等。
这个时候回到我们的问题,内核与操作系统有什么区别。
操作系统一般的概念是:
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配:以提供给用户和其他软件方便的接口和环境:它是计算机系统中最基本的系统软件

内核是操作系统最基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。
我们一直说在学习操作系统,那我们在学习什么。
我们来看看一般操作系统课程在教什么。

从目录看来整体其实就是在学习操作系统命令 +用户文件磁盘网络管理 + 一些常见的开源软件的使用与配置
为了后面大家看的明白,一下经常使用的命令现在需要描述一下
#ls
ls -l 长格式列出目录
ls -al 使用格式化列出隐藏文件
# pwd
Printing Working directory
显示当前工作目录
# cd
cd dir :达到指定dir
cd ~USERNAME : 进入指定用户的home目录
cd - :在当前目录和前一次所在的目录之间来回切换
cd .. :回到上一级
#date
date 显示系统日期
#tree
tree:查看目录树
#touch
touch file 创建文件
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
#rmdir
remove directory
rmdir -p删除空目录
# mkdir 创建目录
mkdir dir
#cp
cp old_file new_file #复制文件
cp -r old_dir new_dir #复制目录
#rm 删除文件
rm file #删除文件
rm -r dir #删除目录与文件
rm -rf dir #在不提示的情况下删除目录
#mv: move移动文件
mv file1 file2 将file1重命名或者移动到file2,如果file2是一个存在的目录则将file1移动到目录file2中
#history 命令历史:
history -c:清空命令历史
history -d OFFSET [n]: 删除指定位置的命令
history -w:保存命令历史至历史文件中
#ps查看系统所有进程、统计进程数量
ps aux (ps -aux)#统计系统目前所有进程
#uname 显示系统信息:
uname -a
#kill
kill pid 杀掉进程id pid
killall proc 杀掉所有名为proc 的进程
# find
find / -name 1.txt : 在根目录下开始寻找1.txt
# ln
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
#tar
tar -cvf archive.tar file1 file2 dir1 #创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
#grep
grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"
查看:cat、tac、 more 、less、 head、 tail
统计:wc
处理:tr、cut、join、sed、awk
排序:sort、uniq
ls、cd、pwd、mkdir、rmdir、tree
touch、stat、file、rm、cp、mv、nano、du、umount、mount
date、clock、hwclock、cal
chmod、chattr、lsattr
光标跳转:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u: 删除光标至命令行首的内容
Ctrl+k: 删除光标至命令行尾的内容
Ctrl+l: 清屏
获得命令的使用帮助:
命令手册:manual
man COMMAND
whatis COMMAND
分章节:
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)
<>:必选
[]:可选
…:可以出现多次
|:多选一
{}:分组
MAN:
NAME:命令名称及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照
翻屏:
向后翻一屏:SPACE
向前翻一屏:b
向后翻一行:ENTER
向前翻一行:k
查找:
/KEYWORD: 向后
n: 下一个
N:前一个
?KEYWORD:向前
n: 下一个
N:前一个
q: 退出
在线文档:
info COMMAND
文档:/usr/share/doc
文件系统:
rootfs: 根文件系统
FHS:Linux
/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/dev: 设备文件
设备文件:
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和次设备号(minor)
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root:管理员的家目录;
/lib:库文件
静态库, .a
动态库, .dll, .so (shared object)
/lib/modules:内核模块文件
/media:挂载点目录,移动设备
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件, /var/tmp
/var:可变化的文件
/bin: 可执行文件, 用户命令
/sbin:管理命令
/usr:shared, read-only
/usr/bin
/usr/sbin
/usr/lib
/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib
命名规则:
1、长度不能超过255个字符;
2、不能使用/当文件名
3、严格区分大小写