很久前学过的马哥Linux笔记记录[17]
[设备]设备文件:b块设置:以块为单位,随机访问如硬盘。c字符设置:线性访问,如键盘。ll/dev:两数字表示主设备号和次设备号。主设备号标识设备类型.设备数据只存储在inode中,不占用磁盘空间。还有管道和socket设备文件。创建设备:mknod -mMODE(如640)指定权限。如:mknodhahac2500 主、次设备号要存在。使用tty取得两窗口设备号:echo'rewrewqrew'>>/dev/pts/0即可向对方设备发送信息。硬盘文件的设备名:IDE,ATA:hd SATA:sd SCSI:sd, USB:sd.以a,b,c来区别同一种类型的不同设备...[>>…]
很久前学过的马哥Linux笔记记录[16]
[小技巧]有时在输入命令时遇到没法删除数据,此时按住ctrl键再删除键可向后删除。[磁盘管理]磁盘都有MBR:masterbootrecord;mainbootrecord主引导记录。整个磁盘的第0磁道;0扇区;0盘面的512byte。属于磁盘用的全局的。独立操作系统之外的存储空间。一个扇区一般存储512byte:上面的512字节划分成3个部分:446byte:bootloader引导加载器(一段程序).64byte(标识4个分区记录,所以只能分4主分区);2bytesmagicnumber魔数。标记mbr是否有效。bios:自身健康状态检查。自检完成后根据设定顺序找启动设备的mbR。可将一个分...[>>…]
很久前学过的马哥Linux笔记记录[15]
[进程管理]线性内存:物理内存:内存的特权级别:最里面0环,最外面3环,只有内存才能执行0环,直接操作硬件。内核空间/用户空间mkdir执行时如果要执行硬盘操作需要转入内核模式,所以内核在自己的空间里维护着一个taskstructure任务结构内核数据结构:PPID,PID,NAME及执行到哪一条指令等信息堆:heap用来存储不断增加的内存申请,进程执行时要动态增加的内存空间。栈:stack用来存储本地变量CPU中有一个:MMU内存管理单元,CPU中的子芯片,将内存页面号转换为物理内存中的数据。TLB:MMU为了加速转化,采用的缓存加速...[>>…]
很久前学过的马哥Linux笔记记录[14]
[编译环境,开发环境,开发库,开发工具]编译前提:准备开发环境(编译环境)安装DevelopmentTools和Developmentlibraries。Linux是C语言开发。所以GNU众多软件也是C开发的。最流行的开发环境C环境。部分C++,PERL。java,pythonC,C++纯静态语言,编译器:gcc;GNPCComplier,Cg++:C++语言的开发环境。make:C或者C++的项目管理工具。里面有makefile makefile:定义了make(gcc,g++)按何种次序去编译这些源程序文件中的源程序。automake:定义可用于生成makefile.in文件,只是个半成品 -->makefile。autoconf:给...[>>…]
很久前学过的马哥Linux笔记记录[13]
【LINUX】basenamedirnamenl显示的时候,显示行号od以二进制读取umaskchattr,lsattrs权限,4suid,2sgid,1为stickybitwhich/whereis/磁头是以扇区为最小单位来读取数据的,一次最多读取512字节10M数据即:10*1024*1024/512=20480即10M文件磁头要读取这么多次。为了提高磁头效率,引入了逻辑块的概念。10*1024k/4k=2560次,一个逻辑块大概为4K,1Block=2n次方扇区MBR最多提供4个分区的记忆,所以磁盘最多可分为4个主分区。inode和block在格式化的时候就确定了。一个分区能容纳的文件数与inode有关。一个inode的大小为12...[>>…]
很久前学过的马哥Linux笔记记录[12]
haproxy---------------------haproxy,nginx:http,pop3,imap4, proxy_pass,rewriteupstream:将一组后端计算机定义集群算法:rr,ip_hash,least_conn(最少连接)lc,wlcproxy:还有许多功能,定义缓存。nginx的优势:异步转发模式(请求过来后是异步转发,会在本端做很多处理,再转发和回应)向后代理额外增加属性:proxy_set_header. X_forword_for,x_real_ip向前端增加头信息:add_header X-via谁处理的,x-cache是否命中打开文件、日志、fastCgi的cache.nginx->tengine:nginx要增加模块要重新编译,不...[>>…]
很久前学过的马哥Linux笔记记录[11]
IO模型:阻塞模型:当一个进程发出的IO请求不能满足时必须等待时,整个进程请求都停滞等待。非阻塞模型:发出IO请求后不再等待,而是一遍一遍轮询查看是否已准备好。同步模型:必须等待处理及返回。异步模型:把数据扔出去就不管了。mysql复制时只管把日志写进去不关注什么时候同步给从库。同步阻塞:异步阻塞:IO复用。同步非阻塞:基于事件的IO,event-driven异步非阻塞:AIONGINX重要特性:map,event-driven一个进程响应多个请求。一个进程是单线程。即线程进程。支持AIO。nginx是通过fastcgi与php通信,apache是...[>>…]
很久前学过的马哥Linux笔记记录[10]
nginx---------------------nginxkeepalived+nginx实现高可用。corosync+nginxFILEAIO:异步非阻塞。Event-driver轻量级的反向代理。web/mail/打开文件描述符缓存。使用缓存加速反向代理,varnish:专业的缓存服务器。nginx:缓存在磁盘上,但支持在内存中缓存文件描述符。有memcache模块memcached.SSI:将页面做成框架,部分缓存,部分动态。httpd:cache(disk,memory)squid:早期的缓存产品。反向代理:pipelined,将连接从前端和后端直接打通。不中断请求可重启:热部署。平滑启动。带缓存的日志写操作:将日志通过缓冲...[>>…]
很久前学过的马哥Linux笔记记录[9]
[生成随机数]random:0-32位。0-32768中间的随机数值。echo$RANDOM随机数生成器有两个:/dev/random /dev/urandom。熵池。把硬件的中断时间当做随机数。直接拿走/dev/random:如果熵池为空的话会阻塞,等待用户进行任意操作以填充熵池。更安全/dev/urandom:熵池为空的话,会自己通过软件方式生成。更可靠[case语句]caseswitchinvalue1) #条件还可以使用[0-9];字符串可加引号,但也有-v-verbose注 statement.. ;; #注意双分号结尾。value2) statement.. exit;; #里面加...[>>…]
很久前学过的马哥Linux笔记记录[8]
[文件系统访问列表]要让其它用户可访问文件,只能在other位上修改权限为rw-,但这样所有用户都能访问修改。此时可考虑将文件的属主改为其它某用户,但普通用户没有权限修改属主属组。此时FACL:FilesystemAccessControlList利用文件扩展保存了额外的访问控制权限。可明确对某用户进行权限控制。命令:setfacl设置权限 -m:设定,u:uid:perm g:gid:perm例如:setfacl-mu:502:rwe.sh文件 -x:取消, getfacl查看权限文件权限访问顺序:owner->facl.user->group->facl...[>>…]