Linux基础知识--基本概念与简单的命令

    在学习linux之前,为了更好的了解linux和掌握linux个人认为应该具备以条件:

    1.计算机概论和硬件的相关知识。

    2.网络基础的建立。

    3.从linux基础学习,例如linux的安装与命令的使用

    4.linux操作系统的基础技能。

  在这给出获取linux资源的网站:

    http://mirrors.aliyun.com

    http://mirrors.sohu.com

    http://mirrors.163.com

    http://mirror.bit.edu.cn/web/


一.linux中的一些基本概念:(大神勿喷)

  自由软件:

    自由使用,自由学习和修改,自由分发,自由创建衍生的版本等。

  linux的哲学:

    1.一切皆文件:几乎所有的资源都是文件,包括硬件设备都组织为文件格式。

    2.由众多单一的目的小程序组成;一个程序只实现一个功能,而且要做好,组合小程序完成复杂任务。

    3.尽量避免跟用户交互:目标;实现脚本编程,以自动完成某些功能

    4.使用纯文本文件保存配置文件

  终端:用户与主机进行交互的设备

    终端有以下几种:

    1.物理终端:直接接入本机的显示器和键盘设备:/dev/console

    2.虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,CentOS6中提供了6个虚拟终端

    用Ctrl+Alt+f1.f2.f3...分别打开各个虚拟终端

    3.图形终端:附加在物理终端上的,以软件的方式虚拟实现的终端。但额外会提供桌面环境。

    Ctrl+Alt +f7

    设备文件路径:/dev/tty#

    4.模拟终端:图形界面下打开命令行接口,基于ssh协议或telnet协议等远程打开的界面

    设备文件:/dev/pts/#  #为数字

   查看当前的终端设备用命令:tty

   例如:

    [root@localhost ~]# tty
  /dev/pts/0
  [root@localhost ~]# who
    root     tty1         2015-08-14 21:37
    root     pts/0        2015-08-15 18:17 (172.16.1.107)

 用户接口

         用户接口(User Interface,简称 UI)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。通常指软件接口,一般有命令接口、程序接口、图形接口三种。

         图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面

   CLI(command-line interface,命令行界面)是指可在用户提示符下键入可执行指令的界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。


二.基本命令:

  当用户在命令行模式下输入命令,回车,接下来的工作是:提醒shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程。

  shell程序搜寻可执行程序文件的路径定义在PATH环境变量中:遍历PATH环境变量内容从左至右

  在shell中可执行的命令有两种:内建命令和外部命令

   内建命令:由shell自带的,而且通过某命令形式提供;

   外部命令:在当前系统某文件系统路径下有对应的可执行程序文件

  用命令type查看命令是内部命令还是外部命令。

  路径有相对路径和绝对路径之分;

   绝对路径:从根目录起始的路径 

   相对路经:从当前位置起始地路径

 linux命令帮助的获取

   1.内部命令:#help COMMAND

   2.外部命令:

    (1)#COMMAND --help

    (2)使用man手册:#man  COMMAND

    (3)信息页:#info COMMAND

     (4)程序自身的帮助文档:

       README,INSTALL,ChangeLog

    (5)程序官方文档

    (6)发行版的官方文档

    (7)Google

   内部命令帮助:

    #help COMMAND

    hash 命令:

      shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中:

      清除缓存:hash -r

    history:历史命令:

      登陆shell时,会读取命令历史文件中记录下的命令:命令历史文件:~/.bash_history

      登陆shell后心执行的命令只会记录在缓存中,这些命令会在用户退出时“追加”至命令历史文件中


      history -a:追加本次会话执行的命令历史列表到历史文件中

      history -d #:删除历史中指定的命令

      history -c:清空命令历史

    

   快捷操作:

    !#: 调用历史中第#条命令;

    !string:调用历史中最近一个以string开头的命令;

    !!: 上一条命令

  外部命令的帮助:

   (1)man COMMAND

    手册页:/usr/share/man

    man1.....man8

    man1:用户命令

    man2:系统调用

    man3:C库调用

    man4:设备文件及特殊文件

    man5:配置文件格式

    man6:游戏:

    man7:杂项

    man8:管理类的命令

    有些关键在不止一个章节中存在帮助手册;要查看指定章节中的手册:man # COMMAND   

    man命令的配置文件:/etc/man.config

其中MANPATH:选项用来指定去那些目录下搜索man手册页

MANPATH /usr/man

MANPATH /usr/share/man

MANPATH /usr/local/man

MANPATH /usr/local/share/man

MANPATH /usr/X11R6/man    

    可以使用man -M  /PATH/to/somwhere COMMAND:到指定位置去搜索指定命令的帮助手册   

    man命令的操作方法:

 Space, ^V, ^f, ^F: 向文件尾翻屏;

 b, ^B: 向文件首部翻屏;

 d, ^D: 向文件尾部翻半屏;

 u, ^U: 向文件首部翻半屏;

 RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行;

 y or ^Y or ^P or k or ^K:向文件首部翻一行;

 q: 退出;

 #:跳转至第#行;

 1G: 回到文件首部

       G:翻至文件尾部   

    文本搜索:

/KEYWORD: 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索不区分字符大小写;

n: 下一个  N:上一个

    ?KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索不区分字符大小写;

n: 跟搜索命令同方向,下一个 N:跟搜索命令反方向,上一个

    

    (3) info:info COMMAND

    (4) 程序自身的帮助文档:/usr/share/doc/COMMAND-VERSION

    (5) 程序官方文档

    (6) 发行版的官方文档:http://www.redhat.com/docs

    (7) Google

    (8) slideshare:http://www.slideshare.net/