Linux复习日志
硬件
北桥:快、CPU,RAM,GC
南桥:慢、
外频和倍频
现代的cpu与RAM和GC设备沟通的技术
Intel:使用QPI技术与DMI技术
AMD:使用HyperTransport技术
前端总线速度(FSB)
字组大小:现在称计算机时32位还是64位的依据。32位最大到4GBytes内存
CPU等级
i368、i586、i686->x86_64。向下兼容超线程(HT),性能效果跟实际使用情况相关
动态随机存储内存:DRAM
SDRAM:
DDR SDRAM:双倍数据传输速度(double data rate)
DDR2时四倍,DDR3是八倍。DDR3l是低电压版本双通道设计
静态随机储存内存:SRAM
第二层cache,在cpu里面,与cpu的频率同步。价格较高,容量小,但是速度快ROM:
CMOS:一个存放硬件参数信息的芯片,主板的电池的作用。
BIOS:现在一般写入到flash或者EEPROM中。有可读写特性,方便更新。
GPU:3D加速的芯片。
显示接口:
- D-sub(VGA端子):15针
- DVI:有四种以上的接头
- HDMI:特点是可以同时传输影像和声音
- Display port:使用较少
存储设备:
硬盘、软盘、MO、CD、DVD、磁带机、闪存、蓝光光驱等,局域网存储设备(SAN、NAS)磁盘与计算机的连接:
SATA、SAS、IDE与SCSI等。考虑外接设备的话还有USB、eSATA等。目前仅有的是SATA(取代IDE)和SAS(取代SCSI)。
SATA3口的理论速度可以达到600MBytes/s,但是一般只能跑到150~200MBytes/s。
SAS会比SATA好,还有热拨插功能,但是贵很多,个人计算机一般不配。
USB2.0理论60MBytes/s,但通常只有30-40MBytes/s
USB3.0读写差不多在100MBytes/s附近(指质量较好的)。
固态:拿闪存做的大容量“磁盘”,SSD。
测试磁盘的指标:每秒读写操作次数(IOPS)
购买磁盘需要考虑:接口(SATA或是SAS)、SSD还是HDD,容量,缓冲存储器(越大越好,主流产品能够达到60MB),转速(一般3.5寸7200r/s,2.5寸5400r/s)PCIe插口发展:早期的PCI->AGP->PCI-Express。传输数据的带宽是越来越大。
PCIe卡的信道数看长度就能识别(常见的是x1,x4,x8,x16,个人计算机一般是一个x16。主要是CPU一般只支持16个信道,主板可能会分成1个x16或者两个x8,妙的是,x16的卡也可以插在x16口(实际只有x4)上,只能效能只剩下1/4,靠近CPU的应该是与CPU直接联机的,远的扩展出来的PCIe口是和南桥联机的,特点就是慢)各个设备都有自己的I/O地址(门牌号),IRQ中断信号是各个设备与CPU之间直连路径发出的信号。
连接设备的接口:
PS/2接口:老电脑的鼠标键盘接口。
USB接口
声音输入输出麦克风口,三个圆孔
RJ-45网络口,常见的水晶头口,八根线。- T586A:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
- T586B:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
HDMI
电源供应器
软件
- unicode是规范,utf是实现
- date:当前日期 年%Y月%m日%d时%H%分%M
- bc:计算器 使用quit退出
- cal:万年历 cal m y
- [ctrl] + d:eof
- [shift] + [page up]:向上翻页
- who 查看在线用户
- chgrp:更改用户组
- chmod
- chmod 755 ./test.c
- chmod a+x ./test.c
- chmod u=rwx,go=r ./test.c
- chmod a-x ./test.c
- 删除文件的能力由当前目录权限w控制
- 对于目录,r可以读取文件夹中有哪些东西 ,w可以对文件夹内的文件或文件夹删除、更名、新建、移动,x能否进入该目录
- Linux的目录:参考FHS官方文件
- . :当前
- ./.:上一级
- /- :上一个目录
- ~ :home
- ~account :account的home
- cat
- tac
- nl 顺便输出行号
- more (空格一页,回车一行 /查找 :f显示文件名和行数 q退出 b 往回翻页)
- less 可以向前翻页(可以使用pgdown和pgup,?向前搜索 g第一行 G最后一行)
- head 只看头几行
- od 读取二进制
- head 显示几行(-n num)负数就是除去最后num行
- tail 显示后面几行 同理负数就是去除前面num行
- file 查看文件的类型
- which 查找命令的位置
- type 查看命令是什么东西(是别名?、二进制文件的位置?)
- whereis 找文件,在系统常用目录中找(会找到二进制文件,man手册、来源文件)
- locate 在已经建立的数据库中查找,archlinux中没有安装
- find 功能很强大,很操硬盘
find / -name passwd
- ln (-s 符号链接 -i inode链接)
- lsblk 查看磁盘状态和挂载点
- blkid 列出装置的uuid
- parted和fdisk用来分区
- mkfs.xxx 格式化分区
- 文字处理三剑客https://zhuanlan.zhihu.com/p/110983126
- grep
- awk
- sed
- tree 列出文件树
- cut 将文件的每一行按指定分隔符分割并输出
- tar [ctx][ajz]vf 文件名.tar.[gz] 文件名
shell script相关
- test 测试文件的各种信息 也可以测试表达式
test $1==$op
- export 设置变量
((express))
返回表达式的值((echo '12*13' | bc))
[]
判断符号, 表达式与中括号之间要有空格,变量要用双引号括起来- 参数:参数的个数@各个参数分开构成的字符串组,所有参数用分隔符隔开默认空格构成的一个字符串
- shift n:移动n个变量(吞掉前n个变量)
1 | if [ expr ];then |
1 | case $var in |
read:read -p "Input:" choice
1 | function fname(){ |
1 | while [ expr ] |
1 | until [ condition ] |
1 | for var in con1 con2 con3... |
1 | for ((i=1;i<$m;i=i+1)) |
sh -n dd.sh
即检查sh的错误
Linux 权限基础
使用ls -al /etc
可以看到多个文件的信息
第一个字段就是文件的类型和权限普通文件共10个字符drwxrwxrwx
第一个字符是文件的类型
- d:目录文件,即文件夹,也视作文件(directory)
- -:普通文件(regular file)
- l:连结文件(link)
- b:硬盘之类的块设备(block)
- c:键盘鼠标之类的字符设备(character)
- s:数据接口文件(sockets)
- p:数据传输文件(pipe)
后面九个字段rwxrwxrwx
每三个一组,分别是用户u
,用户组g
,其他o
的权限u
是文件的所有者,g
是文件所属的组,o
是其他用户或组
每三个字段对应二进制的0-1,比如rwx对应111即十进制7,r-x对应101即十进制5
下面对权限的作用说明
对于普通文件,如.txt
文件
- r:可以读取文件的内容
- w:可以修改文件中的内容,新增修改追加都可以
- x:执行文件
对于目录文件
- r:可以知道文件夹有哪些文件
- w:可以修改文件夹中的文件,对文件新增,更名,删除,移动,对象是文件本身而不是文件本身的内容(文件本身里面的内容由文件自己的权限控制)
- x:可以进入文件夹
说明:cp /etc/fstab /tmp
,需要有目录/etc的x权限,有文件/etc/fstab的r权限,有/tmp的wx权限mv /etc/tmp.txt /tmp
,需要有目录/etc的wx权限,有文件/tmp.txt的r权限,有/tmp的wx权限mv /etc/*.txt /tmp
,需要目录/etc的rwx权限,有多个文件*.txt的r权限,有/tmp的wx权限echo 'hello world' >> /tmp/test/1.txt
,需要目录/tmp的x权限,目录/tmp/test的x权限,文件1.txt的w权限。echo 'fuck' > /tmp/11.txt
,如果11.txt文件存在,就算11.txt没有我的w权限但只要/tmp有我的w权限也是可以成功的。其过程相当于删除11.txt,新建11.txt内容是’fuck’的文件。如果是追加>>
则会提示权限不允许。
无论是复制还是移动,首先得有进入该文件夹的权限x,对于知道文件名的文件,不需要r权限即可完成复制,相当于盒子虽然黑,但我知道我要的东西在哪,可以摸黑拿到。而如果不知道完整的文件名则需要r权限,才能知道文件夹中到底有哪些文件符合目标。另外,只有有目录的r权限才能使用tab补全这个文件夹内的文件名。