Linux系统基础特性

一、Linux操作系统说明

1.主流的Linux发行版

Linux发行版有数百种之多,常见的版本有以下几种:

1)RedHat:中国和美洲流行

Redhat 9.0个人版2003年停止更新àFedora Core:6个月更新一次

RedHat
Enterprise Linux: RHEL

--->社区版CentOS:
Community ENTerprise
OS

2)Slackware 版本

SuSE(商业、开源两种)--->欧洲流行

SLES:SuSE的商业版

OpenSuSE :SuSE开源版本,桌面华丽著称

3) Debian:现在唯一一个全社区版,无商业公司支持,使用难度复杂

Ubuntu
:基于Debian的二次发行桌面

mint

knopix 安全著称

4)Gentoo

5)ArchLinux

2.软件程序版本号:major.minor.release 主版本号.次版本号.发行版本号

1)kernel:0.99, 2.2, 2.4, 2.6, 3.0, 4.0  www.kernel.org

2)发行版本版本号:

RHEL:
5.x, 6.x, 7.x

Fedora
23

Debian:8.x

OpenSuSE:
13.x

3.开源协定:

1) GPL:通用公共许可证,版权属于GPL,任何程序只要遵循GPL协定,就必须开源

2) LGPL:Lesser
GPL 宽松的通用公共许可证,基于库接口调用,无需开源

GPL
V2. GPL V3.:更新版

3) BSD协定:

如果二次发布的产品中包含源代码,则在源代码中必须带有原来的代码中的BSD协定;

如果二次发布产品是二进制格式的库或程序,则需要在发布的文档或版权声明中说明包含原来的代码中的BSD协定

不可以用开源代码的作者或组织,以及原来的产品的名字做市场推广;

4) Apache协定:ASF:Apache
Software Foundtion

5) 双线授权:

Community社区版:遵循开源协定

Enterprise商业授权版:社区版基础上二次开发出更强大的功能、以及提供服务

4.Linux的哲学思想:

1) 一切皆文件:把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;

2) 由众多功能单一的程序组成;一个程序只做一件事,并且做好;组合小程序完成复杂任务;

3) 尽量避免跟用户交互------>>易于以编程的方式实现自动化任务;

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

5.终端设备:terminal  à多任务、多用户

1) 物理终端pty,控制台:console   /dev/console

2) 虚拟终端:6个
,Ctrl+Alt+F[1-6]  tty   /dev/tty#

3) 图形终端:图像化界面,但不是必须的,无需图形界面服务器不需要显卡

CentOS 6 : Ctrl+Alt+F7

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

4) 串行终端:ttyS   /dev/ttyS#

5) 伪终端:远程连接的终端变现形式pts    /dev/pts#

6. Linux OS的两类接口:

1)GUI:Graphic
User Interface 图形用户界面

实现:GNome:c,
gtk

KDE: c++, qt

XFACE:简洁,适用于嵌入式终端的桌面系统

2)CLI:Command
Line Interface  命令行界面

实现:bash、zsh、sh、csh、tcsh、ksh

命令行接口:例如 [[email protected] ~]#
COMMAND

root: 当登录的用户

node1: 当前主机的主机名,非完整格式;

~:用户当前所在的目录(current
directory),也称为工作目录(working directory);相对路径;

#:命令提示符;

#:管理员账号,为root;
拥有最高权限,能执行所有操作;

$:普通用户,非root用户;不具有管理权限,不能执行系统管理类操作;

二、Linux命令的语法通用格式

# COMMAND  OPTIONS  ARGUMENTS

1.COMMAND:发起一命令

请求内核将某个二进制程序运行为一个进程;静态到动态(过程)

命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;

1)多数系统程序文件都存放位置:/bin, /sbin, /usr/bin,
/usr/sbin,/usr/local/bin, /usr/local/sbin

普通命令:/bin,
/usr/bin, /usr/local/bin

管理命令:/sbin,
/usr/sbin, /usr/local/sbin

共享库:/lib,
/lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

32bits的库:/lib,
/usr/lib, /usr/local/lib

64bits的库:/lib64, /usr/lib64,
/usr/local/lib64

注:并非所有的命令都有一个在某目录与之对应的可执行程序文件

2)命令必须要遵循特定格式规范:

Linux:ELF --->Exectable and Linkable Format可执行链接文件

Windows:.exe .msi

3)命令分为两类:

内置命令(builtin):由shell程序的自带的命令独立的可执行程序文件,文件名即命令名;

外部命令:shell程序是独特的程序,负责解析用户提供的命令;

命令提示符背后的程序会完成在环境变量PATH下查找命令、词法分析等

环境变量PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件;

~]# echo $PATH     --->查找次序:自左而右;

查看命令类型:type COMMAND

2. OPTIONS:指定命令的运行特性

1)短选项:-C, 例如-l, -d

2)长选项:--word, 例如--help, --human-readable

注:有些命令的短选项没有-;

如果同一命令同时使用多个 短选项,多数可合并:-l  -d =  -ld

长选项不能合并;

有些选项可以带参数,此称为选项参数;

3.ARGUMENTS:命令的作用对象;命令对什么生效;

不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;

三、获取命令的使用帮助:

1.内部命令:help  COMMAND

2.外部命令:

(1) 命令自带简要格式的使用帮助:# COMMAND --help

(2) 使用手册(manual)  ---> 位置/usr/share/man

# man COMMAND

1)SECTION:man查询帮助时显示的帮助文档内容结构

NAME:名称及功能性说明

SYNOPSIS:语法格式,用法说明,包括可用的选项

[]:可选内容;

<>:必须提供的内容;

a|b|c:多选一;

...:同类内容可出现多个;


} : 分组

DESCRIPTION:命令功能的详尽说明,可能包含每个选项的意义

OPTIONS:选项,说明每一个选项的意义

FILES:此命令相关的配置文件

EXAMPLES:使用示例

AUTHOR:
作者

BUGS:
报告程序bug的方式

SEE
ALSO: 参考

...

2)/usr/share/man存放的时压缩格式的文件形式的使用手册,有章节之分;

章节: man 1, man 2, man 3,man 4,man 5,man 6,man 7,man 8

~]#
man  NUMBER  KEYWORD

NUMBER[1|2|3|4|5|6|7|8]:

1:用户命令:/bin;
/usr/bin; /usr/local/bin;

2:系统调用;

3:C库调用;

4:设备文件及特殊文件;

5:文件格式;(配置文件格式)

6:游戏使用帮助;

7:杂项:Miscellaneous

8:管理工具及守护进程:/sbin;/usr/sbin;/usr/local/sbin

注:并非每个COMMAND在所有章节下都有手册;

查看命令所在章节:~]# whatis COMMAND

其执行过程是查询数据库进行的;手动更新数据库: ~]# makewhatis

3)man命令打开手册以后的操作方法:

翻屏:

空格键(Space):向文件尾部翻一屏;

b:
向文件首部翻一屏;

Ctrl+d:向文件尾部翻半屏; download

Ctrl+u:向文件首部翻半屏; upload

回车键(Enter):向文件尾部翻一行;

k:
向文件首部翻一行;

G:跳转至最后一行;

#G:
跳转至指定行;

1G:跳转至文件首部;

文本搜索:

/keyword:从文件首部向文件尾部依次查找;不区分字符大小写;

?keyword:从文件尾部向文件首部依次查找;

n:
与查找命令方向相同;

N:
与查找命令方向相反;

退出: q: quit

选项: man  -M  /PATH/TO/SOMEDIR    到指定目录下查找命令手册并打开之;

(3) info COMMAND:获取命令的在线文档;

(4) 很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

README:程序的相关的信息;

INSTALL:
安装帮助;

CHANGES:版本迭代时的改动信息;

(5) 主流发行版官方文档:例如RedHat官方网站  http://www.redhat.com/doc

(6) 程序官方的文档:官方站点上的“Document”

(7) 搜索引擎:google

keyword
filetype:pdf

keyword
site:domain.tld

四、目录与文件简介

目录:路径映射。分为工作目录:working
directory;家目录:home

文件:存储空间存储的一段流式数据,对数据可以做到按名存取;

1.文件系统格式:

层级结构   à倒置树状结构

/: 根节点,文件系统的原初起点

例如/dev/pts/2 --->最左侧/:
表示根目录;其它的/: 表示路径分隔符

2.文件的路径表示方法

绝对路径:从根开始表示出的路径

相对路径:从当前位置开始表示出的路径

3.文件名使用法则:

(1) 严格区分字符大小写:file1,
File1, FILE1表示不同文件

(2) 目录也是文件,在同一路径下,两个文件不能同名;

(3) 支持使用除/以外的任意字符;

(4) 最长不能超过255个字符;

(5) 以.开头的文件为隐藏文件;

五、文件系统层标准

FHS:文件系统层级结构标准(Filesystem Hierarchy
Standard)

/bin:所有用户可用的基本命令程序文件;

/sbin:供系统管理使用的工具程序;

/boot:启动相关文件,引导加载器必须用到的各静态文件:kernel,
initramfs(initrd), grub等;

/dev:存储特殊文件或设备文件;字符设备(线性设备)、块设备(随机设备);

/etc:系统程序的配置文件,只能为静态;

/home:普通用户的家目录集中位置,用户名同名子目录,/home/USERNAME;

/root:管理员的家目录;

/lib:为系统启动或根文件系统上的应用程序提供共享库,以及为内核提供内核模块;

libc.so.*:动态链接的C库;

ld*:运行时链接器/加载器;

modules:用于存储内核模块的目录;

/lib64:64位系统特有的存放64位共享库的路径;

/media:便携式设备挂载点;

/mnt:其它文件系统的临时挂载点;

/opt:附加应用程序的安装位置;可选路径;

/srv:当前主机为服务提供的数据;

/tmp:用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

/usr:usr Hierarchy,全局共享的只读数据路径;

bin, sbin:用户和管理员命令程序

lib, lib64:共享库文件

include:C程序头文件;

share:命令手册页和自带文档等架构特有的文件的存储位置;

X11R6:X-Window程序的安装位置;

src:程序源码文件的存储位置;

local:Local hierarchy,本地层级目录;

让系统管理员安装本地应用程序;也通常用于安装第三方程序;

/var:/var Hierarchy,存储常发生变化的数据的目录;

cache        Application
cache data 应用缓存数据

lib        Variable
state information易变的状态数据

local        Variable
data for /usr/loca l可变化 /usr/local下的数据

lock        Lock
files 锁文件

log        Log
files and directories  日志文件和目录

opt        Variable
data for /opt 可变化/opt下的数据

run        Data
relevant to running processes 运行进程相关的数据

spool        Application
spool data应用队列信息,如例行性计划,邮箱服务器等数据

tmp        Temporary
files preserved between system reboots系统重启保存的临时文件

/proc:基于内存的虚拟文件系统,存储内核及进程其相关信息;内核参数

例如net.ipv4.ip_forward,
虚拟为net/ipv4/ip_forward, 存储于/proc/sys/

其完整路径为/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;

为管理Linux设备提供一种统一模型的的接口;

硬件设备相关属性映射文件

时间: 2025-01-31 08:45:20

Linux系统基础特性的相关文章

Linux系统基础知识

1.linux概述 ??Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.??Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间).Linux存在着许多不同的Linux版本,但它们都使用了Linux内核.Linux可安装在各

8,Linux系统基础优化及常用命令

Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 在我们刚装好linux的时候,需要用xshell进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启动网卡 #编辑网卡配置文件 vim

Linux系统基础(二)

            Linux系统基础(二) 一.linux系统结构 1.linux系统结构是倒树型 2. /bin##二进制可执行文件也就是系统命令 /sbin##系统管理命令存放位置 /boot##启动分区,负责系统启动 /dev##设备管理文件 /etc##大多数系统管理文件 /home##普通用户的家目录 /lib##32位系统库文件存放位置 /lib64##64位系统库文件存放位置 /media##系统临时设备挂载点 /mnt##系统临时设备挂载点 /run##系统临时设备挂载点

linux系统基础优化

1.Linux系统基础优化 一.关闭SELinux功能 Selinux是什么? 安全工具,控制太严格,生产环境不用它,使用其他安全手段. 简介: SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成: 1) Kernel SELinux模块(/kernel/security/selinux) 2) 用户态工具 SELinux是一个安全体系结构,它通过LSM(Linux Security

linux系统基础调优

linux系统基础调优 1.   关闭selinux,清空iptables sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 iptables -F iptables -X iptables -Z iptables -L /etc/init.d/iptables save 2.    添加普通用户并进行s

(转)Linux系统基础网络配置老鸟精华篇

Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太多的初学者徘徊在门外就不奇怪了,这里,老男孩老师花了一些时间总结了这个文档小结,也还不够完善,欢迎大家补充,交流.谢谢大家!20120827补充:http://oldboy.blog.51cto.com/2561410/974194 深入浅出route命令小结目录:1)配置修改主机名hostname

Linux 系统基础优化和常用命令

目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux中文显示设置(防止中文乱码) df 命令 tree命令 设置主机名 DNS 查看Linux的dns, 唯一配置文件 本地强制dns解析文件 /etc/hosts nslookup命令 计划任务crond服务 软件包管理 windows程序 macos程序 RPM软件包管理器 实例 rpm安装软件 r

Linux系统基础知识-嵌入式迅为4412开发板学习笔记

1. 什么是Linux系统编程 详情了解:http://topeetboard.com  更多了解:https://arm-board.taobao.com Linux系统编程分为三个部分:系统调用.C库和C编译器. 系统调用系统编程的基础是系统调用,也结束于系统调用.在带有操作系统的嵌入式开发中,需要从操作系统申请一些服务和资源,从用户空间向内核发起的一些函数调用.系统调用包括对文件的读写.进程的控制等等.在Linux中,系统的实现少于其它内核.例如在Windows下有几千个系统调用,但是在L

linux系统基础(一)

Linux简介与安装Unix ;windows; linux; apple(mac) linux=kernel (内核)=OSlinux全是文件==================================================IDE硬盘(支持4块):hd(a-d) [非IDE硬盘]SCSI硬盘,SATA硬盘,u盘(支持16块):sd(a-p) device 设备 (运行) hardware 硬件 /dev/hda /dev/sdc 分区:主分区(一块磁盘物理支持4个)c d e