Linux基础概念

一、计算机的组成及其功能。

计算机机系统由五部分组成:运算器、控制器、存储器、输入设备、输出设备,遵从冯.诺依曼体系结构。具体的功能如下

CPU   :     运算器(处理数据)、控制器(指令控制),另有寄存器、缓存(缓冲数据,内部缓存非  常昂贵);

存储器:内存即RAM(随机访问存储器 Random Access Memory),可以理解为编址的存储单元。

输入设备(Input):提供数据、下指令等 ,如硬盘、键盘、鼠标、网卡

输出 设备(Output):输出数据加工的结果,如:硬盘(既是输入也输出)、显示器、网卡(既是输入也是输出

 

二、Linux的的发行版及不同发行版之间的联系与区别。

          1  Linux的发行版有数非种之多,其中比较著名有以下几种:

    1Debian系列: 没有商业公司支持更轻巧一点,但使用难度相比Redhat,suse更复杂一点,对于使用者要求高。

                         Ubuntu

                                  Minit (  Ubuntu的二次发行版,界面更加华丽)

                         Knopix(以安全著称,短小精悍)

              2 Slackware:SLS发行版的一个分支(SLS昙花一现)。Slcakware主干下著名的分支Suse,Suse下又有两个著名的分支             SLES,OpenSUSE

                         S.u.S.e ( 商业支持)

                                      SLES(企业版)

                                      OpenSUSE(免费的,个人桌面版,界面华丽,被欧洲广泛使用)

               3 Redhat: (商业支持,被美国大陆人民使用),Redhat 9.0之后就分成了RHEL,Fedora Core

                              Redhat  Enterprise LinuxRHEL 18个月更新一次,最新的为RHEL 7

                                                  CentOS: Community  Enterprise  OS  是基于RHEL的二次发行版

                               Fedora Core(个人桌面版):是为RHEL的更新做测试之用。

 

          2  完整的操作系统由内核和应用程序组成

                      联系:各个发行版所有的Linux内核是相同的。

                      区别:各个Linux发行版是各个发行商将LInux内核与自己的应用程序编译打包发行的版本,区别在于应用程序不相同。

 

三、Linux的哲学思想

       

            1、一切皆文件

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

            2、由众多功能单一的程序组成

                   一个程序只做一件事 ,组合小程序完成复杂任务。

            3、尽量避免跟用户交互

                   目标:易于以编程的方式实现自动化任务

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

                    

            个人理解 :一切皆文件 ,使得系统操作有一个统一的操作方法,方便操作。

                                   由众多功能单一的程序组成,使得系统拓展性很强。

                                   用文件文件保存配置使得系统维护变得更加方便。

 

四、Linux系统命令的使用格式及ifconfigechottystartxexportpwdhistoryshutdownpoweroffreboothwclockdate  令的使用说明

          

    1 命令的语法通用格式:

           COMMAND OPTIONS ARGUMENTS

           命令+选项+参数

           选项:指定命令运行时的特性,或者是调整命令运行时所要执行的代码和实现的功能。

              选项有两种表现形式:

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

                                      注意:有些命令的选项没有

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

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

                                         注意:长选项不能合并

                          注意:有些选项可以带参数,此称为选项参数,长选项的参数用=,短选项的参数用空格来分隔。

           参数 :命令的作用对象。

                         注意:有些命令可同时带多个参数,多个之间以空白字符分隔

    2、命令的使用说明:

            1ifconfig :查看活动接口的ip地址

            2)  echo :回显 

                   -n:不自动进行换行操作

                   -e:让转义符生效

                  例:  ~]# echo -n "hello"

                             hello[root@localhost ~]#    

                             ~]# echo -e "hello \nworld"

                                   hello

                                   world  

                                 (\n表示换行)

                            STRING可以使用引号,单引号和双引号都可用

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

                              常与以下命令结合查看当前所处位置及状态。

                                    查看接口程序

    ~]# echo $SHELL

                      物理终端:/dev/console  ,直接连接到主板上

                     虚拟终端:/dev/tty#[1,6],是通过主机上ctrl+alt+(f1-f6)切换的终端

                      串行终端: /dev/ttyS#  ,不需要显卡

                      伪终端:  /dev/pts/#    ,指的是图形终端下的字符终端和远程时打开的终端

            4startx:启动图形用于接口(GUI)

                       centos 6:

                                   ctrl+alt +F7

                       centos 7

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

              5export 导出shell变量

              6pwd:printing wording directory,显示当前工作目录

              7history:shell进程会在在其会话中保存此前用户提交执行过的命令

                              定制hisotry的功能,可通过环境变量实现:

HISTSIZE:shell进程可保留的命令历史的条数

HISTFILE:持久保存命令历史的文件

                        .bash_history

HISTFILESIZE:命令历史文件的大小

               a 显示命令历史:

   命令用法

        history [-c] [-d 偏移量][n]

         history -anrw   [文件名]

        history  -ps    参数   [参数…]

      

         -c :清空命令历史

        -d offset:删除指定命令历史

        -r : 从文件读取命令历史至历史列表中

        -w:把历史列表中的命令追加至历史文件中

        history #:显示最近的#条命令

     

 

                 b、调用命令历史列表中的命令:

                !#:再一次执行编号为#的命令

                 !!:再一次执行上一条命令

                STRING:再一次执行命令历史列表中最近一个以STRING开关的命令

                注意:命令的重复执行有时候需要依赖于幂等性。

                  

              调用上一条命令的最后一个参数:

                快捷键:      ESC  ,(松开) .

                字符串:!$

 

        控制命令历史记录的方式:

         环境变量:HISTCONTROL

       ignoredups:忽略重复的命令

       ignorespace:忽略以空白字符开头的

        ignoreboth:以上两者同时生效

 

 

 8) shutdown :关机或重启命令

 shutdown [OPTIONS…] [TIME] [WALL…]

 

options

    -hhalt  

    -rreboot

    -c:   cancel        在关机时间未到之前 取消关机类操作

time

      now

      hh:mm

      +m (分钟)

WALL(可以用来广播交流)

         

            9poweroff:关闭计算机操作系统并且切断电源

                    -d :关闭操作系统时,不将操作写入日志文件

            10 reboot 重启命令

                       -f:force  强制重启

                        

Centos 7还可以按以下输入:    

~]# systemctl poweroff

~]# systemctl  reboot

 11)hwclock:显示或设置硬件时钟

                      clock是链接到hwclock的。

                   设置硬件时钟

                       -s     –hctosys  :以硬件为准,把系统调整为与硬件时间相同:

                        -w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同

             12  date :系统时钟

        a、显示日期时间:date [OPTION]… [+FORMAT]

                               Format

                      %F   日期

 %T  时间

%Y   

%m 

%d   

%H   

%M  

%S    

%s:197011号(unix元年)000秒到命令执行那一刻所经过的秒数。

                    例:date +%F

          b、设定日期时间 date [MMDDhhmm[[CC]YY][.ss]]

                  date  1008180316    161081803

 

   五、Linuxt系统上获取命令帮助信息的方法及man文档章节的划分。

           

                        1、先判断命令是内部命令还是外部命令:

                                  ~]#type COMMAND

                               

                                1)内部命令获取帮助:~]# help COMMNAD

                                2)外部命令获取帮助:COMMAN –help   man COMMAND  info COMMAND

           a、命令自带简要格式的使用帮助: ~]#COMMNAD –help

b、使用手册:manual

位置:/usr/share/man

命令:~]#man COMMAND

                                 c、当需要查看详细的信息时,用  ~]#  info COMMAND

                                     

                          2man文档章节的划分及内容说明:

1)man文档共分8

man1、用户命令:

man2、系统调用:

man3C库调用

man4、设备文件 及特殊文件

man5、文件格式:(配置文件格式)

man6、游戏使用帮助

man7、杂项

man8、管理工具及守护进行。

 

2)辅助命令:

 

 which命令:查询命令的完整路径

 whatis命令:查询命令的帮助文档在第几章节,并非每个COMMAND在所有章节下都有手册1

 whereis 命令:搜索命令

       -b:仅搜索二进制程序路径

      -m:仅搜索使用手册文件路径。

 

注意:whatis执行过程是查询数据库进行的:

手动更新数据库

~]#makewhatis

  指定章节:

~]# man chapter(章节号) COMMAND

 

3)内容组成:

 

            SECTION:

 NAME: 功能性说明

SYNOPSIS:语法格式

OPTIONS: 选项:

XAMPLES:使用示例

 Author:作者

BUGS:报告程序bug的方式

SEE ALSO:参考

 ….

 

 SYNOPSIS:

[]:可选内容

<>:必须提供的内容;

 a|b|c:多选一:

 ……:同类内容可出现多个

 

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

1 翻屏

空格键:向文件尾翻一屏:

 b:  向文件首部翻一屏

 ctrl+d  向文件尾部翻半屏:

ctrl+u:向文件首部翻半屏

回车键: 向文件尾部翻一行

k:向文件首部翻一行。

G:跳转至最后一行

#G:跳转至指定行

1G:跳转至文件首部G

 

2)文本搜索

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

Keyword:从文件尾部向文件首部依次查找

n:与查找命令方向相同

N:与查找命令方向相反

 

3)退出

qquit

 

4)选项

-M  /PATH/TO/SOMEDIR     到指定目录下查找命令手册并打开之。

六、Linux发行版的基础目录名称命名法则及功用规定

 

 1Linux发行版的基础目录名称命名法则是遵从FHS标准的。          

FHSFilesystem Hierarchy standard   文件系统层级结构标准。

2、基础目录名称及功用说明如下:

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

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

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

/dev:存储特殊文件或设备文件

设备有两种类型:字符设备(线性设备,有时序有先有后)(键盘)、块设备(随机设备,(硬盘):

/etc:系统程序的静态配置文件 ,不能为二进制程序

/home:普通用户家目录的集中位置:一般每个普通的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME,是可选目录

/root:管理员的家目录:可选;

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

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

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

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

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

/media :便携式设备挂载点,cdrom ,floppy等。

/mnt:其他文件系统的临时挂载点。

/opt:附加应用程序的安装位置:

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

/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作:有特殊权限

/usrusr Hierarchy ,全局共享的只读数据路径。

除了//usr是最重要的目录,全局共享只读数据路径

bin,sbin

 lib,lib64

include:C程序头文件

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

local:另一个层级目录:

X11R6X-window程序的安装位置

src:程序源码文件 存放位置。

/usr/local:Local hierarchy:让系统管理员安装本地应用程序:也通常用于安装第三方程序:

/var: /var hierarchy :存储并发生变化的数据,

             cache

 

 

特殊目录:基于内存的虚拟文件系统

/proc:虚拟文件系统 ,用于为 内核及进程存储其相关信息:它们多为内核参数 ,例如net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/,因此其完整路径为/proc/sys/net/ipv4/ip_forward

/sys:   sysfs虚拟文件系统提供了一种比proc更为为理想的访问内核的途径:其主要作用在于为管理Linux设备提供一种统一模型的接口。

原创文章,作者:北京凯振飞,如若转载,请注明出处:http://www.178linux.com/50048

(0)
北京凯振飞北京凯振飞
上一篇 2016-10-09
下一篇 2016-10-09

相关推荐

  • N26_第一周

    计算机组成     CPU:核心部件:                 运算器: 对数据进行算术运算和逻辑运算     …

    Linux干货 2017-01-11
  • 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     [root@director2 ~]# cp -a /etc/skel /home/tuser1   &n…

    Linux干货 2016-08-29
  • Linux 第二天: (07月22日) 练习和作业

    Linux 第二天: (07月22日) 练习和作业         echo 显示闪烁, 下划线, 彩色, 倒三角形 ******* *****  ***   *   #!/bin/bash read -p "Input line number: "…

    Linux干货 2016-08-08
  • 从“黑掉Github”学Web安全开发

    Egor Homakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bug,他在他的这篇blog——《How I hacked Github again》(墙)说明了这5个安全bug以及他把github…

    Linux干货 2016-08-15
  • linux基础知识:文件管理,bash特性

    本文简要介绍了文件类的管理命令,包括mv、cp、mkdir等等。还介绍了一些万用字符的用法。

    2017-12-12
  • sed基本用法

    Stream EDitor, 行编辑器  sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space), 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令, 那会在两个循环之间清空模式空间,但不会…

    Linux干货 2017-08-20

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-10 22:21

    这部分属于Linux的基础知识,更多的是一个概述,希望能有自己的理解掌握,不是单纯的复制笔记,后面对于文件系统的整理还是不错的