Linux入门及 Basics

  • Post author:
  • Post category:linux


二进制:



0, 1



5大部件:



CPU:计算器、控制器



Memory: 存储器(内存)



编址存储单元阵列



输入设备/输出设备:I/O



键盘:



VGA:



辅助存储器



网卡



编程:



低级语言:汇编(微码编程)



高级语言:JAVA, C++, C, Scala, Python



转件:



时序复用:



计算机:硬件+软件



硬件:开发,制造



软件:编写,编译



OS: Operating System



通用软件,主要负责管理底层硬件设备,并且将调用接口抽象为易用的形式



库:



独立的功能模块,可被共享使用



应用程序:



人机交互接口:



GUI:Graphic User Interface



Windows, Gnome, KDE, Xfce



CLI:Command Line Interface



shell: bash, zsh, tcsh



特定应用程序



开发工具



…… ……



通过软件虚拟出硬件平台的程序:



创建多个“虚拟机”



虚拟的硬件平台



而后可以虚拟机上装OS



如何虚拟:



CPU:时序复用,把CPU的计算能力切割成timeslice



内存:把物理中空闲的离散的一段或几段组织成一个假的连续的空间当内存



IO:模拟



硬盘,网卡



硬盘:通过文件来模拟硬件(回环设备)



网卡:时序复用,也可通过软件模拟



virutalization, emulation



CMOS:Complimentary Metal Oxied Substance



BIOS:Basic Input and Output System



POST: Power On  and Self Testing



Ctrl, Alt, Insert (Delete)

计算机的5大部件:



CPU、内存、I/O



CPU:运算器、控制器、寄存器、缓存



内存:编址的存储单元阵列



8bits = 1Bytes



I/O设备:



I/O控制器



VM:虚拟机



硬件规格 –> OS –> 动态库(so, dll) –> 应用程序



用户界面



GUI



CLI



POST –> OS (内核, kernel)



CPU:众多指令



特权指令:操作硬件,获取敏感资源



普通指令:



CPU:



用户模式:运行程序的普通指令



内核模式:运行特权指令



编程:开发语言



写程序 –> 编译 –> 目标代码



declare -i num1=2



declare -i num2=3



sum=$[$num1+$num2]



CPU1: 摩托,M68000,m68k



CPU2: Intel, Core 2



程序 –> 编译器 –> “翻译后的结果是特定于某类CPU的”



编程:



汇编语言:方言



CPU1



CPU2



高级语言:通用语言



程序(通用语言) –> 编译 –> 方言(汇编)



源代码:source code



二进制程序:binary



硬件平台:X86, X86_64 (amd64), m68k, power(IBM), PowerPC, mips, arm, alpha, ultrasparc…



复杂指令集:CISC



精简指令集



OS的代码:99%可用高级语言编写,余下的1%使用特定平台的汇编编写;



www.top500.org: 超级计算机排名



高级语言:



编译:需要将整个程序事先转换可运行格式



解释:转换一个语句运行一个语句



ENIARC:



电子管 –> 晶体管 –> 集成电路 –> 超大规模集成电路



MainFrame:



DEC:PDP, VAX



批处理作业系统 –> Multics(多用户, 多任务)–> Ken (PDP7)



Unics –> Unix



Dennis: C



C –> Unix



Berkeley分校:BSRG, Bill Joy



1976, Ken



TCP/IP协议,虚拟内存:BSD(Berkeley System Distribution)



Unix: System V, sysv



BSD



SUN microsystem



IBM



Microsoft: XENIX



DOS: Disk OS



Apple: GUI



VAX: VMS



Windows NT



OS/2: Vista



BSD Lite:



FreeBSD



OpenBAD



NetBSD



Minix



MIT: Stallman, freedom



GNU: GNU is Not Unix



GPL: General Public License



copyright, copyleft



emacs, gcc



Linus:



Linux: Unix-like



www.kernel.org



GNU/Linux



GNU: 各种程序,源代码



Linux: 源代码



Linux系统发行版:



Debian



Slackware



S.U.S.E



RedHat



版本:



kernel:



发行商版本:



包管理器



PC兼容机:



Linux系统:由来、kernel, GNU, GPL, 发行版



Linux: kernel, GNU



GNU: GPL



kernel: GPL



Linux发行版:



Debian: Ubuntu (desktop, server)



Slackware: SUSE (SLES, OpenSUSE)



RedHat: RHEL, Fedora Core



RHEL:src.rpm



CentOS: Community ENTerprise OS



ArchLinux: 借鉴了FreeBSD



Gentoo:



LFS, Linux From Scratch



Android: Linux + jvm + android



Linux + Busybox + jvm + android



软件包管理器:



RPM:RedHat Package Manager, PRM is Package Manager



deb: dpt



RHEL:



发行更新速度较慢,更关注稳定性;



rhel 5 –> rhel 6 –> rhel 7



/sbin/init



rhel5: sysv init



rhel6: upstart



rhel7: systemd



RHEL 6.6 –> CentOS 6.6

对系统执行交互式访问:通过终端



终端的类型:



物理终端:VGA, console



虚拟终端:tty



Ctrl+Alt+F1-6



/dev/tty#



串行终端:serial interface, sty



伪终端:pty



/dev/pts/#



图形终端:



GUI



Ctrl + Alt + F7



前提:X Server 要启动



GNome: startx



KDE: startkde



Linux的用户:



管理员:root, 拥有最高权限



普通用户:不具有管理权限



实现管理任务:临时切换至管理员



su, sudo



bash prompt: 命令提示符



#



$



环境配置:通过环境变量来实现,持久有效需要保存在配置文件中



PS1



几个基础性的命令:



tty: 显示当前终端设备



who: 查看当前系统上登录的所有用户及其信息



Ctrl + c: 取消当前命令的执行



Shift + PageUp/PageDown



注意:Linux严格区分字符大小写



tty,  Tty



Stallman: 自由软件



自由的含义:



自由使用;自由学习和修改;自由分发;自由创建衍生版;



Linux的哲学思想:



1、一切皆文件;



把几乎所有资源,包括硬件设备都虚拟为文件形式;



open, read, wirte, close, create, delete



2、由众多功能单一的程序组成;一个程序只做一件事情,而且要做好;



组合多个程序完成复杂任务;



3、尽量避免跟用户交互;



目标:易于编程实现自动化任务执行;



4、使用文本文件保存配置信息;

转载于:https://blog.51cto.com/11910715/1831407


关闭菜单