朗科学习期间心得笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了朗科学习期间心得笔记相关的知识,希望对你有一定的参考价值。

(一)

1.完整的操作系统由内核(kernel)和应用(application)组成。

 

linux内核版本由 主版本号+此版本号+小改动


(注:在2.X的版本奇数代表测试版偶数代表稳定版)

 
可在 http//www.kernel.org  此网站内获取内核源代码。

内核的主要功能有:驱动硬件、资源分配、进程管理、文件系统管理、安全防护等。


应用分为:API和ABI两种。

    API:application programing,应用编程接口。

    ABI:application binary interface,应用二进制接口。



linux系统中的应用程序一般由四部分组成:二进制文件、库文件头文件、配置文件、帮助文件。




2.虚拟化

   
  
虚拟化为将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术。

       虚拟化网络:

               桥接网络:让虚拟机和物理机利用物理网络接口完成通信。

                仅主机网络:让虚拟机和物理机利用被虚拟出来的VMNET1网路接口完成通信,通信  被限定在当前物理主机内部。







3.命令

命令提示符:[[email protected] ~]#

                    Root:当前成功登陆系统的用户账户名称

                    local host:当前主机名称的主机名部分

                    ~:当前用户操作时的工作目录,~意思是家目录。

                    #:用户身份提示符:#表示超级用户身份,$表示普通用户身份



命令的格式:命令(command)+ 选项(options) +参数(argument)


     Command:本次向要执行的操作,想要发起的进程。

                     内部命令:也叫内建命令,直接内建于SHELL的命令

                     外部命令:通过安装某些应用程序而安装的命令

      Options:修正命令的执行效果的组成部分

                   短选项:-CHAR(字符),某些特殊的命令还有特殊的短选项:+char(字符)

                                       当同时使用多个短选项时可以将其合并书写:-a,-b,-c ===> -abc

                   长选项:--WORD(单词)

                    注意:1.当一个命令中同时有多个长选项时,不可以合并书写。

2.有些选项,其选项本身也需要参数。

3.有些特殊的命令在写选项时可以不写“-”,有些特殊的命令,在写选项时,一定不写“-”

 4.有些特殊命令的长选项,只能使用一个“-”

       Argument(parameters):此次执行的命令的操作目标对象

                             注意:1.有的命令无需写参数

                                       2.有的命令必须写参数

                                       3.有的命令必须要写多个参数

 

对应整个命令格式:

            注意:

 1.在书写命令的时候,command,options,argument,之间必须使用至少一个空白字符进行分隔。

 2.有些命令在执行的时候,options和argument可以互换位置。

 3.由于文件系统的限制,导致命令中的command,options,argument必须区分大小写。




4.获取命令使用帮助的几种方法



1.Man:       针对于外部命令的帮助手册

Man九章:1.用户命令(所有用户都可以执行的命令)

          2.系统调用

          3.C库调用

          4.设备和特殊文件

          5.配置文件格式

          6.游戏相关的帮助信息

          7.杂项

          8.系统管理类命令

          9.与内核相关的帮助信息


在每个man手册中都常见到的一些字段

   NAME:程序的名称及相关的功能简单描述

   SYNOPSIS:命令使用的语法格式

   DESCRIPTION:程序的详细写描述信息

   OPTIONS:选项的用法和选项的含义的详细说明

   AUTHOR:程序的作者信息

   EXAMPLES:命令程序使用范例

   REPORTING  BUGS:报告程序中所包含的BUG的方式,通常是电子邮件

   SEE ALSO:额外参考的内容

   FILE:与该程序相关的其他的文献资料,如配置文件,README文档等

 

在帮助信息中可能出现的一些特殊符号的意义:

    []:可以省略不写,也可以根据需要选择使用

    {}:在花括号中一般包含竖线“|”,表示从所有项目中必须选择而且只能选择一个来使用,“|”有或者的意思

    <>:必须书写内容

    ...:可以有更多内容

 

区分内部命令个外部命令的方法:

    #Type command

       查找结果中显示为“内嵌”或者“buildin”字眼的,则为内部命令,其余的结果都是外部命令。

 

       内部命令的帮助获取不适用man手册,而使用help命令:

    # Help BUILDING_COMMAND



2.使用whereis命令获得帮助:

  可以查看程序的二进制文件、源代码文件及帮助手册所在位置。



3.Whatis命令

  可以获取被匹配到的命令的手册页描述信息



4.Which命令

  可以显示命令的别名的定义方式和命令的二进制文件路径

 

 

5.info命令:

      Info COMMAND

          获取命令的在线帮助文档

 


6.有很多的程序有自带的帮助文档:

 /usr/share/doc/APP_NAME-VERSION/README

    RAADME:程序相关信息

    INSTALL:程序的安装信息

    CHANGES:程序的版本更迭的历程相关的信息

    LICENSE:程序所遵循的许可证类型

 


7.搜索引擎:

Google

  Kernel filetype :pdf

 


8.相关的网站站点中的文档信息:



9.程序的发行方的官方站点提供的官当文档;



10.参考书籍:O’Reiley、Wrox(出版社)





5.简单的系统管理类命令。

        注销:退出登录

       Exit、Logout、Ctrll+d;



      重新引导:将运行于内存中的所有进程关闭,关闭系统内核,对于所有的计算机部件进行重新通电,加载内核,启动应用程序,打印登陆提示符。

       Reboot、Shutdown -r   #|now|time、init6;

                  #:数字,表示相对时间,即#分钟后重新引导

               Now:现在,立即重新引导,相当于#=0

               Time:12:00


 

         关闭系统:将运行于内存中的所有进程关闭,关闭系统内核,对于所有的计算机部件断电。

                        Halt 、Powerdff 、 Init 0、Shutdown -h  #|now|time;



6.Linux的哲学思想。


  1. 一切皆文件

   Linux把几乎所有的数据和资源都抽象(虚拟)成文件的形式,甚至包括硬件,网络通信设备所使用的套接字以及管道都是如此。

   文件:一组有边界的位于存储设备中的流式数据;

 

 

  2.由众多的功能单一的小程序组成,可以实现复杂任务;

  功能单一:每个小程序只做一件事,只实现一个功能。并且要做到最好;

  复杂任务:可以根据我们的业务逻辑或业务类型,尽可能完美的组合多个小程序,使多个小程序相辅相成,将功能发挥至极致。

 

   3.尽量避免与用户直接交互:

  在程序化、系统化、平台化和自动化的运维空间中,人是及其易出错的一个环节;尽量避免与用户直接交互,可以尽可能地保证结果的准确性和过程的高效性。易于编程的方式实现自动化任务的实施。

 

   4.使用纯文本文件来保存程序的配置信息:

 在程序出现错误,或者执行不畅的时候,可以使用文本编辑工具分析程序的错误原因,而不必依赖于二进制文件;




7.文件系统。

 

文件是分成两部分来存放:

     元数据:描述文件的属性

     数据:文件的内容

 

 

分层编址方式:

在文件系统中,基于文件名引用文件,按名来进行文件存取。

在本间系统中,对于文件名有一系列的规定

   1.文件名不能包含“/”字符,“/”:表示跟文件系统,根文件系统是linux文件的原初起点,还表示路径的分隔符。

   2.文件名的长度不能超过255字符

   3.在同一个位置,文件名不能重复使用。

   4.文件的名称严格区分大小写

 

文件系统使用路径的概念标识文件的位置:所谓路径,就是定位一个文件所在的位置时,所必需经过的目录的层次结构的集合

 

文件系统中路径的描述方式:

  绝对路径:一切以“/”开始查找的路径

  相对路径:一切以“当前工作目录”开始查找的路径;

“.”:表示当前工作目录

“..”:表示当前工作目录的父目录(上一级目录)

 

 

 

因此一切以“.”或“..”开始查找的路径,叫做相对路径,而且在使用“.”表示当前工作目录的时候可以省略。

 

如何选择路径?选择绝对路径还是相对路径?

 如果在查找文件时,目标文件和当前目录不顺路就使用绝对路径,如果顺路就是用相对路径。

 

顺路指的是:当前工作目录被包含在绝对路径中;

 

家目录:每个用户在登陆系统时默认的当前工作目录;也是每个用户的起始目录;也成为“HONE directory”

任何一个路径其实都是由两部分组成:

  文件的基名:

         Basename

  文件的目录名:

          Dirname

 

 

 

FHS:文件系统的层及标准

bin :binary 所有用户(包括普通用户)可以执行的普通操作命令

Boot:引导操作系统启动的静态文件,包括:引导程序,linux内核,intramf等

dev:device,设备

    块设备:block device,随机访问,指的是能够实现数据存放的设备

    字符设备:character device,顺序访问(线性访问),指的是能够实现数据传输和数据处理功能的设备;

etc :external text configure,存放主机中各应用程序的配置文件

home:普通用户的默认家目录的根

lib、ib64:library,存放应用程序共享库的目录,内核的模块

media:可移动设备的挂载点

mnt:临时文件系统的挂载点

opt:optional,可选的,以前此目录是非常流行的第三方应用程序的安装目录

proc:

root:root用户的家目录

run:保存一些进程的PID文件,

sbin:super binary,存放那些只有超级用户ROOT能够执行的系统管理类的命令

srv:存放有系统提供的服务数据

sys:

tmp:temporary,临时文件的目录,系统每30天会自动清理该目录中的在30天以上没有访问过的文件

usr:usual system root,linux系统的第二个跟;现在主要用于安装第三方应用程序;

  /usr/local:第三根,主要用于通过编译源代码的方式安装第三方应用程序;

 /usr/src:存放第三方应用程序的源代码;

var:variable,变量,存放可变化的数据,数据库类的文件;

 

 

伪文件系统:其中存放的是内存中的数据,通过操作系统映射的文件

proc:process,进程

sys:system,

 

文件类型:

  根据有颜色区分文件类型:

    黑色或白色:普通文本文件,regular file;

    绿色:可执行文件,命令;

    黄色:设备文件,包括块设备和字符设备

    红色:包文件,包括:软件包,压缩包,归档包等;

    深蓝色:目录文件

    青蓝色:符号链接文件,相当于windows系统中的快捷方式;

    紫色:套接字文件;

    棕色:管道文件

 

根据文件类型的标记区分文件类型:

 -:普通文件

 b:块设备文件

 c:字符设备文件

 d:目录文件

 l:符号链接文件

 p:管道文件

 s:套接字文件

 

准确的区分文件类型:

 File命令

# file /PATH/TO/SOMEFILE

 

 

8.常用的命令的使用方法。


 1.echo(printf)

     echo - display a line of text


常用选项:

-n:不换行

-e:使用\所引导的转义序列生效

\n:换行

\t:水平制表符

 

 

 

 

2.cd

  change the shell working directory,切换工作目录。

cd: cd [-L|-P] [dir]

cd:cd /PATH/TO/SOMEDIR:将工作目录切换至参数所代表的目录;

cd:将工作目录切换至当前登录用户的家目录;相当于cd ~;

cd -:将工作目录切换至此前最后一次的工作目录;

   Shell 提供了两个变量:

       PWD:当前工作目录

       OLDPWD:旧的当前工作目录

 

注意,在shell中获取变量值的方法:变量名严格区分大小写

  echo ${VAR_NAME}

 

cd ~USERNAME:将工作目录切换至指定用户的家目录中;

 


3.pwd

Print the name of the current working directory,

 

 

  4.ls

list directory contents

注意:目录的内容是文件名;

ls [OPTION]... [FILE]...

在linux的文件系统中,所有以“.”作为文件名的起始字符的文件,都是隐藏文件;

 

常用选项:

-a,--all:显示所有文件,包括隐藏文件;

-A, --almost-all:除了“.”和“..”之外的所有文件,包括隐藏文件

--color[WHEN]:以不同的颜色显示结果

-d, --directory:显示目录本身,而不是目录中的文件名

-h, --human-readable:在现实文件大小的时候,显示为更加易读的格式;通常与-l一起使用

-l :使用长的列表格式显示文件属性

例:- rw------- . 1 root root 1458 12月23 2016 文件名

 -:表示文件类型

 rw----------:文件的权限位设置

.:表示该文件是否具有特殊属性或扩展属性

1:表示该文件被硬链接的次数

root:文件的所有者

root:文件的属组

1458:文件的大小,在没有使用-h选项时,其单位为字节

12月23  2016:表示文档的时间戳之一,表示最后一次被修改的时间

 

 

 

对于设备文件:

~]# ls -l /dev/sr0

brw-rw----+ 1 root cdrom 11, 0 9月  24 22:27 /dev/sr

11,0:major,minor

major:主设备号,用于标识设备类型,进而确定需要加载何种驱动程序

minor:次设备号,用于标识同一种设备类型中的不同的装备

 

设备号默认使用8位二进制表示,所以默认的设备号的范围是0-255;

 

-r:倒序输出结果

-R,--recursive:递归显示,如果目标目录中有子目录,则递归显示子目录的内容,依次递归下去

-Z, --context:显示文件的SELinux安全上下文标签

 

 

  5.mkdir:

 mkdir - make directories

mkdir [OPTION]... DIRECTORY...

 -p, --parents:在创建目录的时候,如果其父目录不存在,则优先创建之;

-v, --verbose:为每个被创建的目录显示一条信息

 

 

  6.rm

rm - remove files or directories

rm [OPTION]... FILE...

-f, --force:暴力,强制删除

-r, -R, --recursive:递归删除目录及目录中的内容


本文出自 “sherlockholmes” 博客,谢绝转载!

以上是关于朗科学习期间心得笔记的主要内容,如果未能解决你的问题,请参考以下文章

朗科学习期间心得笔记

朗科学习期间心得笔记

朗科实习期间心得笔记

朗科实习期间笔记心得

朗科实习期间心得笔记

朗科实习期间心得笔记