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        [root@localhost ~]#           # 管理员     $ 普通用户      显示提示符格式           [root@localhost ~]#echo $PS1      修改提示符格式           PS1="[e[1;5;41;33m][u@h W]\$[e[0m]"           e 33              u 当前用户                       h 主机名简称        H 主机名           w 当前工作目录     W 当前工作目录基名                 t  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  相关文件
  •       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:跟搜索命令反方向,上一个    

    相关内容推荐