关于界面和控制台以及终端三者间不得不理一下的关系

界面 界面其实分为图像界面和命令行界面,它的作用就是用来显示的信息与用户交互的.图像界面能显示文本和图像,丰富多彩;而命令行界面则智能显示文本字符串,略显单一. Consloe–控制台是虾米? Consloe,中文翻译为控制台.看中文名就知道它的作用是用来交互用的.确实,在Unix系统中,它叫做控制台终端,通常由显示器键盘等输入输出设备构成一个整体,并且/dev/console会与tty0相互关联. Terminal–终端是虾米? Terminal,中文翻译为终端.终端的作用是与用户交互,接收来自tty设备的输入. 终端的种类分为命令行终端与图形终端.显而易见的,命令行终端只能单调的显示文本字符,而图形终端则还能显示图像. 那么什么是tty呢? 其实tty也是个终端,只不过它是个虚拟终端.在早期打字机时代,对电传打字机(Teletype)的英文缩写就是tty,因此tty就成为了虚拟终端输入设备的简称.通常Unix系统下登录的终端有tty0-tty63,在登陆后会映射到某虚拟终端设备,比如tty1. 关于Shell,其实Shell就是一个用户操作系统的入口.Shell也分为图形Shell和命令行Shell.本质上它其实就是一个程序,加载了系统信息和本身的语法规则.比如有csh,zsh,bash等终端程序.对系统进行一些配置,终端启动后,系统会自动启动加载它们,然后我们其实就是在这些终端程序中进行操作. 总结 —————————— | CLI/GUI | | ——————– | | | Consloe/Terminal | | | | ————- | | | | | Shell | | | … “关于界面和控制台以及终端三者间不得不理一下的关系”

Read More

收集了一些在Linux下查看系统和硬件配置的相关命令

显示操作系统的相关信息: uname -a # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备 lsmod # 列出加载的内核模块 env # 查看环境变量 uptime # 查看系统运行时间、用户数、负载 … “收集了一些在Linux下查看系统和硬件配置的相关命令”

Read More

UNIX环境高级编程-进程的运行时环境和运行时资源

Chapter 7-9 [TOC] Runtime Environment 当系统启动时,内核代码被加载到内存,初始化后启动第一个用户进程,然后内核的代码就等着用户进程来调度了。 代码在编译之后会生成一个可执行程序。运行程序其实是用户进程(Shell进程)指示内核要启动另一个用户进程,内核便为这个新的进程分配资源,并加载该进程的代码和数据。 一个程序可以被运行多次,除非发生资源抢占可能会发生启动失败。 Runtime Resources PCB 进程运行时,内核为进程每个进程分配一个PCB(进程控制块),描述进程的详细信息。 PCB在内核中对应的结构体是task_struct。 Virtual Memory 每个进程都会分配虚拟地址空间,在 32 位机下,该地址空间为 4G 。 而在 64 位机下,其虚拟地址只使用了 48 位。所以C程序里,打印的地址都是只有 12 位 16 进制 ,最高为FFFF FFFF FFFF。由于当前 AMD 和 Intel … “UNIX环境高级编程-进程的运行时环境和运行时资源”

Read More

UNIX环境高级编程-系统

系统组成 系统–>硬件: 系统–>软件: 软件–>应用程序: 软件–>操作系统: 操作系统–>内核: 操作系统–>系统软件: 操作系统–>硬件: 硬件–>CPU: 硬件–>内存: 硬件–>键盘: 硬件–>鼠标: 硬件–>硬盘: 硬件–>显卡: 操作系统 操作系统这个词语有二意性,有时指内核,有时指内核和系统工具软件的组合。 由操作系统提供操作接口,支持用户通过该接口来操作系统,但是系统本身提供的功能,不足以完成用户需求时,则需要开发应用程序来拓展系统功能。 操作系统–>Linux: 操作系统–>Windows: 操作系统–>Hackintosh(OSX): 操作系统–>UNIX: 启动流程 st=>start: 上电 op2=>operation: 主板BIOS op3=>operation: Boot op4=>operation: Kernel op5=>operation: Init op6=>operation: Login e=>end: … “UNIX环境高级编程-系统”

Read More

将Apache换成Nginx

其实Web驱动用哪个,哥觉得对哥这种小小的个人博客来说是无所谓的. 因为即便Nginx的极限性能强过同环境下的Apache,但你一个博客的访问量每秒最高还能超过1k/qps?日访问能上10W的PV? 基本达到了,对于再垃圾的Web驱动,这么点压力也是洒洒水. 但是本着誓死折腾的信念,对于新技术的爱好/追求/包容,哥决定玩玩. 由于Nginx已经早早的进入yum的源里了.因此只需要使用命令yum install -y nginx即可轻松安装Nginx了,没必要自己编译了. 接着关闭Apache服务service stop httpd.然后编辑Nginx的配置文件,这里需要注意的是,Nginx的配置文件存在三个地方: – /etc/nginx/nginx.conf 这个配置通常不需要改动,里面配置一些全局通用的参数. – /etc/nginx/conf.d/*.conf 一些全站相关的配置也可以放这里. – /etc/nginx/sites-enabled/* 这儿放每个站点的配置,也就是虚拟主机了. 哥只有一个站点,那么只需改/etcnginx/conf.d目录下文件即可. server { listen 80; #绑定监听端口 server_name goddick.com www.goddick.com; #站点名称 root /var/www/; #站点根路径 index index.html … “将Apache换成Nginx”

Read More

dd命令测试硬盘性能

上周买了vps,网上有一键测试vps性能的脚本,跑了下,发现有些看不懂,所以就单独只测试我想要的硬盘读写性能. 首先man dd一下,可以看到dd命令的作用是convert and copy a file,转换并复制数据块. 参数: – if=文件名:输入文件名,缺省为标准输入。即指定源文件 – of=文件名:输出文件名,缺省为标准输出。即指定目的文件 – bs=bytes:同时设置读入/输出的块大小为bytes个字节 – cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小 – ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节 – obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节 – skip=blocks:从输入文件开头跳过blocks个块后再开始复制 – seek=blocks:从输出文件开头跳过blocks个块后再开始复制 – count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数 – conv=conversion:用指定的参数转换文件,可用参数如下(哥英语菜就不翻译了): ascii from EBCDIC to ASCII ebcdic from … “dd命令测试硬盘性能”

Read More

tar命令

tar命令来自自由软件基金会的GNU开源项目,它是一个打包文件的命令. 在Linux世界中,tar这个家伙是必不能少的. 通常在Linux发行版中,tar都已经集成,使用方法可以用man tar命令查看. 哥不过是在此做个简单的学习记录. tar: – -f: 指定某个文件名称 – -c: 归档 – -x:解档 – -t:查看内容 – -r:在归档文件末尾追加文件 – -u:更新原压缩包中的文件 – -z: 使用gizp压缩方式归档 – -j: 使用bzip2压缩方式归档 – -v: 显示详情 – -O: 指定输出路径 – –xz: 使用xz压缩方式归档 … “tar命令”

Read More

scp与bbcp

早上在网上冲浪闲逛.发现CSDN的论坛有人讨论scp性能问题,有人提出bbcp要比scp牛,实践是检验真理的唯一标准.于是哥就亲自尝试了下. bbcp是个功能类似scp的免费开源的点对点网络文件拷贝工具软件,使用GPL开源协议.来自SLAC(斯坦福直线加速器中心),作者是Andy Hanushevsky. 首先到bbcp的下载页面下载适合自己系统的二进制版本,放到系统路径下便可以使用了. 接着开放对应的端口: iptables -A INPUT -s 172.16.66.65 -p tcp –dport 5031 -j ACCEPT 测试环境网络为是千兆局域网. #生成测试的文件,并放到内存中,这样可以避免硬盘读写速度的影响. dd if=/dev/zero of=/dev/shm/1024mb.zip bs=1024k count=1024 #首先测试scp scp /dev/shm/1024mb.zip [email protected]:/dev/shm/ 1024mb.zip       100%   1024MB   100.9MB/s      … “scp与bbcp”

Read More

Linux下的几个查找命令

据哥所知,Linux下的下的查找命令不过find和grep,并且一直以来都是用find查找文件.今天突然想查找上个月的一个js源码文件,但是忘记放哪儿,并且后缀也不是js,这就尴尬了,我用find找半天也不行,于是搜了下,发现Linux下还存在其他的查找命令.于是做个记录. grep 其实grep最多是用在过滤文本上,但有时也可用来查找存在某些内容的文件,并且它还有俩弟弟分别叫egrep和fgrep. 详细功能可以使用grep –help查看. find 这find命令就是正儿八经的查找命令了,非常强大. Usage: find [-H] [-L] [-P] [-Olevel] [-D debugopts] [path…] [expression] -name filename #查找名为filename的文件 -perm #按执行权限来查找 -user username #按文件属主来查找 -group groupname #按组来查找 -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前 -atime -n +n … “Linux下的几个查找命令”

Read More