linux基础及帮助

Posted rivendare

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础及帮助相关的知识,希望对你有一定的参考价值。

一、操作系统

    OS: Operating System,通用目的的软件程序

    硬件驱动

        进程管理

        内存管理

        网络管理

        安全管理

        文件管理

    OS分类:

        服务器OS:RHEL, CentOS, Windows Server, AIX

        桌面OS:Windows 10,Windows 7,Mac OS,Fedora

        移动设备OS:android, ios, YunOS

 

二、开发接口标准

    ABI: Application Binary Interface

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

    API:Application Programming Interface

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

    POSIX: Portable Operating System Interface

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

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

    运行程序格式:

    Windows: EXE, .dll(dynamic link library),.lib

    Linux: ELF,  .so(shared object),  .a

 

三、编程语言

    低级语言

    机器语言:0和1

    汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发

    中级语言:C

    系统级应用、驱动程序

    高级语言:python,go,java,Objective-C,C#,php

    应用级程序开发

 

四、服务器三大操作系统

    Windows:

    Linux:GNU/Linux

    Unix:1969年Ken Thompson

      System: Bell Lab

                AIX (IBM)

                Solaris (SUN)

                HP-UX (HP)

           BSD: (BSRG)Berkeley System Distribution

                NetBSD

                OpenBSD

                FreeBSD

 

五、Unix历史

      1965前后 Multics

        贝尔实验室,麻省理工,通用电气发起

      1969 Unix雏形UNICS

        Ken Thompson 汇编语言 B语言

      1973 正式命名为Unix

        Dennis Ritchie C语言

      1977 BSD

           Berkeley Software Distribution  伯克利大学

      1979 System V架构 版权声明

      HP-UNIX IBM AIX “不对学生提供源码” 收回版权

      1984年 Minix操作系统

       Andrew S. Tanenbaum荷兰阿姆斯特丹自由大学计算机科学系

 

六、Linux起源

      1991年的10月5日,Torvalds在comp.os.minix新闻组上发布消息,正式向外宣布他自行编写的完全自由免费的内核诞生(Freeminix-like kernel sources for 386-AT)———FREAX

      类Unix的内核,在GPL下发布

      官网:www.kernel.org

      Linux操作系统:

           完整的类UNIX操作系统

           Linux内核+ GNU工具

           如:CentOS,Ubuntu,Android

 

七、Linux发行版

      slackware:SUSE Linux Enterprise Server (SLES)

                OpenSuse桌面

      debian:     ubuntu,mint

      redhat:   RHEL: RedHat Enterprise Linux

                每18个月发行一个新版本

                CentOS:兼容RHEL的格式

                中标麒麟:中标软件

                Fedora:每6个月发行一个新版本

      ArchLinux:轻量简洁

      Gentoo:极致性能,不提供传统意义的安装程序

      LFS: Linux From scratch 自制Linux

      Android: kernel+busybox(工具集)+java虚拟机

 

八、开源协议

      世界上的开源许可证,大概有上百种

      GPLv2, GPLv3, LGPL(lesser) :通用公共许可 copyleft

      Apache: apache

      BSD: bsd

      Mozilla

      Apache

      MIT

 

九、命令提示符

      命令提示符:prompt

        [[email protected] ~]#

           # 管理员     $ 普通用户

      显示提示符格式

           [[email protected] ~]#echo $PS1

      修改提示符格式

           PS1="[e[1;5;41;33m][[email protected]h W]\$[e[0m]"

           e 33              u 当前用户            

           h 主机名简称        H 主机名

           w 当前工作目录     W 当前工作目录基名      

              24小时时间格式   T  12小时时间格式

           ! 命令历史数          # 开机后命令历史数   

 

十、执行命令

      输入命令后回车

           提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来

      在shell中可执行的命令有两类

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

                help 内部命令列表

                enable cmd 启用内部命令

                enable –n cmd 禁用内部命令

                enable –n 查看所有禁用的内部命令

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

                  查看路径:which  -a |--skip-alias ;  whereis

      区别指定的命令是内部或外部命令

           type COMMAND

 

十一、简单命令

      关机:halt, poweroff, init 0

      重启:reboot, init 6

           -f: 强制,不调用shutdown

           -p: 切断电源

      关机或重启:shutdown

           shutdown [OPTION]...  TIME [MESSAGE]

           -r: reboot

           -h: halt

           -c:cancel

           TIME:无指定,默认相当于 +1

                now: 立刻,相当于+0

                +m: 相对时间表示法,几分钟之后;例如 +3

                hh:mm: 绝对时间表示,指明具体时间

      用户登录信息查看命令:

      whoami: 显示当前登录有效用户

           who: 系统当前所有的登录会话

           w: 系统当前所有的登录会话及所做的操作

      echo命令

      功能:显示字符

      语法:echo [-neE][字符串]

      说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号

      选项:

      -E  (默认)不支持 解释功能

      -n  不自动换行

      -e  启用 字符的解释功能

      u  显示变量

       echo "$VAR_NAME“  变量会替换,弱引用

       echo ‘$VAR_NAME‘   变量不会替换,强引用

      命令替换:$( ) 或 ``

      把一个命令的输出打印给另一个命令的参数

      echo "This system‘s name is $(hostname) "

      This system‘s name is server1.example.com

      echo "i am `whoami` "

      i am root

      括号扩展:{ }

      打印重复字符串的简化形式

      echo file{1,3,5}

           file1 file3 file5

      rm -f file{1,3,5}

      echo {1..10}

      echo {a..z}

      echo {000..20..2}

 

十二、tab键

      命令补全

           内部命令:

           外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令

           用户给定的字符串只有一条惟一对应的命令,直接补全

           否则,再次Tab会给出列表

      路径补全

         把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名

         如果惟一:则直接补全

         否则:再次Tab给出列表

 

十三、命令行历史

      保存你输入的命令历史。可以用它来重复执行命令

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

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

      重复前一个命令,有4种方法

      重复前一个命令使用上方向键,并回车执行

      按 !! 并回车执行

      输入 !-1 并回车执行

      按 Ctrl+p 并回车执行

      !:0  执行前一条命令(去除参数)

      !n     执行history命令输出对应序号n的命令

      !-n    执行history历史中倒数第n个命令

      使用up(向上)和down(向下)键来上下浏览从前输入的命令

      ctrl-r来在命令历史中搜索命令

      (reverse-i-search)`’:

      Ctrl+g:从历史搜索模式退出

      要重新调用前一个命令中最后一个参数:

       !$  表示

      Esc, .(点击Esc键后松开,然后点击 . 键)

      Alt+ .(按住Alt键的同时点击 . 键)

      history [-c] [-d offset] [n]

      history -anrw [filename]

      history -ps arg [arg...]

           -c: 清空命令历史

                -d  offset: 删除历史中指定的第offset个命令

                 n: 显示最近的n条历史

                -a: append, 追加本次会话新执行的命令历史列表至历史文件

                -r: 读历史文件附加到历史列表

                -w: 保存历史列表到指定的历史文件

                -n: 读历史文件中未读过的行到历史列表

                -p: 展开历史参数成多行,但不存在历史列表中

                -s: 展开历史参数成一行,附加在历史列表后

十四、命令帮助

      内部命令:help COMMAND

                  man bash

      外部命令:(1) COMMAND --help

      COMMAND -h

      (2) 使用手册(manual)

      man COMMAND

      (3) 信息页

      info COMMAND

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

      README

      INSTALL

      ChangeLog

      (5) 程序官方文档

      官方站点:Documentation

      (6) 发行版的官方文档

      (7) Google

--help选项

      显示用法总结和参数列表

      使用的大多数,但并非所有的

      示例:

      date --help 

      Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

      [] 表示可选项

      CAPS或 <> 表示变化的数据

       ... 表示一个列表

      x |y| z 的意思是“ x 或 y 或 z “

      -abc的 意思是-a -b –c

      { }  表示分组

 

man命令

      提供命令帮助的文件

      手册页存放在/usr/share/man

      几乎每个命令都有man的“页面”

      man页面分组为不同的“章节”

      统称为Linux手册

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

      MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置

      man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示

      中文man需安装包man-pages-zh-CN

 

man 帮助段落说明

      帮助手册中的段落说明:

  •       NAME  名称及简要说明
  •       SYNOPSIS 用法格式说明
  •       []    可选内容
  •       <>        必选内容
  •       a|b  二选一
  •       { }   分组
  •       ...    同一内容可出现多次
  •       DESCRIPTION 详细说明
  •       OPTIONS  选项说明
  •       EXAMPLES 示例
  •       FILES  相关文件
  •       AUTHOR 作者
  •       COPYRIGHT 版本信息
  •       REPORTING BUGS bug信息
  •       SEE ALSO 其它帮助参考

 

man帮助

        查看man手册页

        man  [章节]  keyword

        列出所有帮助

        man –a keyword

        搜索man手册

        man -k keyword 列出所有匹配的页面

        使用 whatis  数据库

        相当于whatis

        man –f keyword

        打印man帮助文件的路径

        man –w  [章节] keyword

 

man命令

        man命令的操作方法:使用less命令实现

        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:翻至文件尾部

 

man搜索

        /KEYWORD:

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

        n: 下一个

        N:上一个

        ?KEYWORD:

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

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

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

 

 

 

 

以上是关于linux基础及帮助的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础命令及获取命令帮助信息

Linux操作系统基础解析之——基本操作及获得帮助

Linux基础

Linux基础理论

Linux入门基础之 中

linux基础 --海风