冯·诺伊曼计算架构:运算器,控制器,存储器,输入输出设备。
计算机最小单位是位bit
8bits=1byte(字节)
1024bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB 等等
每1024个就上升1个计数单位。而硬盘厂商采用的是1000进制的,所以1T硬盘的实际大小是1000/1024*1000=976GB.
x8664表示计算机可在同一时间内处理64位的整数运算,并兼容x86_32架构。
Linux哲学思想:
1.一切都是一个文件。(包括硬件)
2.小型单一用途的程序。
3.连接程序,共同完成复杂的任务。
4.避免令人困惑的用户界面。
5.配置数据存储在文本中。
Linux操作系统:Linux内核(kernel)+ GNU工具。
Shell 是 Linux 系统的用户界面,提供了用户与内核进行交互操作
的一种接口。它接收用户输入的命令并把它送入内核去执行
Shell 也被称为 LINUX 的命令解释器( command interpreter )
linux下命令的格式:command [options] [arguments]
command:命令
options:选项,启用命令的某项功能,从而改变命令的功能
argument:参数,改变命令作用的对象
linux内的命令很多,记得不清楚的时候,用man命令查询。
在 shell 中可执行的命令有两类
内部命令:由 shell 自带的,而且通过某命令形式提供
help 内部命令列表
enabled cmd 启用 内部命令
enable – n cmd 禁用 内部 命令
enable – n 查看所有禁用的内部命令
外部命令:在文件系统路径下有对应的可执行程序文件
查看路径: which - - a | -- skip- -s alias ; whereis
命令执行的顺序:别名>内部命令>外部命令(hash>PATH)每个命令之间用";"隔开。如要向下传道命令的数据用管道符“ | ”传递。
command:echo ,cat ,date ,clock ,cal ,halt,poweroff,reboot ,shutdown ,init ,whoami ,who ,w ,screen ,ls ,touch ,history ,whatis ,which ,help ,man ,ls ,pwd ,cd ,stat ,cp ,mv ,rm ,tree ,mkdir ,file ,rename ,ln
LINUX文件系统结构!
? /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
? /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
? /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
? /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
? /lib64:专用于x86_64系统上的辅助共享库文件存放位置
? /etc:配置文件目录
? /home/USERNAME:普通用户家目录
? /root:管理员的家目录
? /media:便携式移动设备挂载点
? /mnt:临时文件系统挂载点
? /dev:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问
? /opt:第三方应用程序的安装位置
? /srv:系统上运行的服务用到的数据
? /tmp:临时文件存储位置
? /usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header 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上的应用程序的组成部分
? 二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
? 库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
? 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
? 帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
Linux下的文件类型
? -:普通文件
? d: 目录文件
? b: 块设备
? c: 字符设备
? l: 符号链接文件
? p: 管道文件pipe
? s: 套接字文件socket
文件通配符
? * 匹配零个或多个字符
? ? 匹配任何单个字符
? ~ 当前用户家目录
? ~mage 用户mage家目录
? ~+ 当前工作目录
? ~- 前一个工作目录
? [0-9] 匹配数字范围
? [a-z]:字母
? [A-Z]:字母
? [wang] 匹配列表中的任何的一个字符
? [^wang] 匹配列表中的所有字符以外的字符
? 预定义的字符类:man 7 glob
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
inode,block,bitmap
索引节点
? inode(index node)表中包含文件系统所有文件列表
? 一个节点 (索引节点)是在一个表项,包含有关文件的信息( 元数据 ),包括:
文件类型,权限,UID,GID
链接数(指向这个文件名路径名称个数)
该文件的大小和不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
目录
? 文件引用一个是 inode号
? 人是通过文件名来引用一个文件
? 一个目录是目录下的文件名和文件inode号之间的映射
硬链接
? 创建硬链接会增加额外的记录项以引用文件
? 对应于同一文件系统上一个物理文件
? 每个目录引用相同的inode号
? 创建时链接数递增
? 删除文件时:
rm命令递减计数的链接
文件要存在,至少有一个链接数
当链接数为零时,该文件被删除
? 不能跨越驱动器或分区
? 语法:
ln filename [ linkname ]
符号(或软)链接
? 一个符号链接指向另一个文件
? ls - l的 显示链接的名称和引用的文件
? 一个符号链接的内容是它引用文件的名称
? 可以对目录进行
? 可以跨分区
? 指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的
引用计数;
? 语法:
ln -s filename [linkname]
原文地址:http://blog.51cto.com/13767062/2120813