Linux 相关基础知识认知1

Linux

开发接口标准:

ABI:Application Binary Interface

ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在兼容ABI的系统中无需改动就能运行

API:Application Programming Interface

API定义了源代码和库之间的接口,因此同样的源代码能在支持这个API的任何系统中编译

POSIX:Potable Operating System Interface(在操作系统上定义的API)

IEEE在操作系统上定义的一系列API标准

Posix兼容的程序可在其他POSIX操作系统编译执行

【Hardware Plateform:(硬件平台)

CPU平台:x86,arm,PowerPC,Power(IBM),UltraSpace,Alpha,...】

服务器三大操作系统:

Windows,Linux,Unix

Linux 是类Unix操作系统(Unix-Like):完整的Linux=Linux内核(kernel)+ GNU工具(应用程序)

GNU/Linux:

Kernel:内核;

GNU(GPL,LGPL开源协议):应用程序

其他开源协定:Apache(ASF),BSD,MIT,...

发行版:RedHat,Debian,SUSE

RedHat -> CentOS

Debian ->Ubuntu

SUSE ->OpenSUSE

ArchLinux

Mac OS X:

Linux哲学思想:

  • 一切皆文件(包括硬件),99.9%

  • 小型,单一用途的程序

  • 链接程序,共同完成复杂的任务

  • 避免令人困惑的用户界面

  • 配置数据存储在文本中

Linux使用:

创建进程:用户基于外壳(Shell)向内核请求,由内核启动程序

shell:一个程序,用户与计算机交互的程序

内核:Kernel:https://www.kernel.org/

版本4.17.9:

4:major,主版本号

17: minor,次版本号

开发版本:第二位数是基数

稳定版本:第二位数是偶数

9:release,发行版本号

发行版的版本号与内核版本号不同步:

开源(Open Sourse)软件和代码提供给所有人

自由分发软件和源代码

能够修改和创建衍生品

开源协议:使用开源代码之前一定要查看其属于的开源协议

QQ1.png

交互式接口

启动终端后,在终端设备附加一个交互式应用程序

GUI:Graphical User Interface(图形界面接口):Gnome,KDE,Xfce    

CLI:Command Line Interface(命令行接口):sh->bsh->csh->bash->zsh

什么是Shell:sh->bsh->csh->bash->zsh

shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行

shell也被称为LINUX的命令解释器(command interpreter)

什么是程序:

程序:就是一个可执行的静态文件

进程:一个正在运行的程序

程序=指令+数据

程序=算法+数据结构

以算法为中心,数据结构服务于算法:过程式编程(EX;c)

以数据为中心,算法服务于数据结构:对象式编程(EX:Java)

终端terminal

1.设备终端:键盘鼠标显示器

2.物理终端:(/dev/console)控制台console

3.虚拟终端:(tty:teletypewriters,/dev/tty# #为【1-6】tty可有n个,Ctrl+Alt+F【1-6】

4.图形终端:(/dev/tty7)startx,xwindows;

CentOS6:Ctrl+Alt+F7

CentOS 7:在哪个终端启动,即位于哪个虚拟终端

5.串行终端:(/dev/ttyS#)ttyS

6.伪终端:(pty:pseudo-tty,/dev/pts/#)pty,SSH远程连接

查看当前的终端设备:# tty

Linux下两大树形结构:增删改查

1.文件系统树

/(根目录)

一切皆文件

程序文件:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin

登陆进shell,每时每刻都位于某路径下(目录)

2.进程树

init

bash shell

GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是 Linux标准的shell,与sh兼容

CentOS默认使用

显示当前使用的shell: echo ${SHELL}

显示当前系统使用的所有shell:cat /etc/shells

Bash的使用技巧

命令行展开:{ },~

>命令替换: $(command),' command'

>命令补全: $PATH

>路径补全:从指定的起始位置进行路径搜索

>命令历史: .bash_history

    HISTCONTROL

    — ignoredups

    — ignorespace

    —ignoreboth

命令帮助

内部命令:1.help command

                 2.man bash

外部命令:1.command --help

                 2.commadn -h

2.使用手册(manual):man command

3.信息页:info command(查询相关文档)

4.程序自身的帮助文档:Readme,Install,Changelog

5.官当文档:Documentation

6.Google:

http://tldp.org

http://www.slideshare.net

http://www.google.com


猜你喜欢

转载自blog.51cto.com/13886191/2151885