N25 – 第一周博客作业

 

1. 描述计算机的组成及其功能
2. 按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别
3. 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述
4. 说明Linux系统上命令的使用格式;详细介绍ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用,并配合相应的示例来阐述。
5. 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
6. 请罗列Linux发行版的基础目录名称命名法则及功能规定

 

那么,下面,我们开始,黑喂狗

 

描述计算机的组成及其功能

CPU
 运算器:算数运算,逻辑运算等各种运算
 控制器:控制总线使用权限,寻址,读访问,写访问
 寄存器/缓存:

存储器:内存/RAM, 随机访问存储器
 内存分为很多存储单元,每一个存储单元可以存储8位字节数据,8bits = 1Byte
CPU+存储器 = 计算机核心部件

 

输入设备:下指令,提供数据等
输出设备:输出数据加工后的结果

 

2. 按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别
 a. Slackware家族
  Slackware: 致力于成为Unix那样的Linux系统,没有软件包管理工具,所有软件都是tgz(tar/zip) 格式文件和安装脚`                   本,Slackware一罐坚持KISS原则”Keep It Simple Stupid)
  SUSE Linux(SLES): 基于RPM包管理工具的著名发行版rpm/zipper
  OpenSUSE: SUSE的社区版
   
 b. Debian家族:
  Debian: 分为Testing/Unstable/Stable三个分支,最遵循GNU规范的Linux系统,至今由社区支持,无商业化公司,使用优秀的dpkg(deb包)/apt-get包管理方式
  Ubuntu:基于Debian的Unstable分支出现, 所有系统命令必须使用sudo实现,无法使用root login系统
  Mint: 基于Ubuntu的另一个Linux 桌面版本

 c. Redhat家族
  RHEL: 基于RPM/YUM软件包管理方式,最流行的Linux发现版本,RPM/Yum->dnf
      Fedora:早先为Rebhat的免费产品,后来停止更新后捐赠给了Fedora。Fedora相对于RHEL相当激进,所有的新软件,新版本都会在Fedora上看到,可以说Fedora担当相当一部分RHEL试验田的角色。
  CentOS: 完全基于RHEL的社区版本,RHEL的免费替代品
  Oracle Enterprise: Oracle根据RHEL自行开发的运行Oracle的Linux服务器系统

 d. Gentoo: 滚动发行版,软件包括kernel均为下载的源码在本地编译而得,整个安装过程都需要边安装边编译
 
 e. Arch: 滚动发行版,软件是下载的可执行文件,直接安装即可,使用port包管理工具
 
 f. LFS: Linux From Scratch(从0构建Linux),一切都需要从头开始…

 
3. 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述
 a. 一切皆文件
 Linux中,所有的一切都是以文件的形式存在于Linux系统中的,字符设备,块设备,目录,管道,命令等等。Linux系统的根体现了Linux必须把一切作为文件存在于系统中。/是一个文件系统,是整个Linux系统的元,一切从/开始,/是一个目录也是一个文件系统,那么存在于这个文件系统中的,也只能是文件了。
  
 b. 一个程序只做一件事并把它做好/多个小程序完成复杂任务
 这句话是对的,但是我并不认为这是Linux独有的哲学思想。这应该算是匠人精神,匠人精神最出名的日本,有很多人都是遵循这种精神来生活的,22岁毕业开始画一部漫画,一直就是几十年,直到画到退休,一生全部奉献给了这部漫画。三星米其林餐馆的老板,专注天妇罗50年,从始至终就只是炸天妇罗,50年所想的就是如何把天妇罗炸的更好。同样,一个程序只做一件事并把它做好,这样就会造就无数的专注,精致,优秀的小程序。无数的专注的优质的小程序就撑起了整个Linux世界
 
 c. 尽量避免捕获用户交互接口
 不捕捉用户交互接口,就可以比较容易以编程的方式实现自动化任务

 cd 文本文件保存配置信息
 使用文本文件保存配置信息有一个好处,使用一款文本编辑器工具就可以完成大部分配置信息

 *. Freedom & Share
  相比上面几个,我觉得自由与分享才是Linux的哲学思想,上面的可以称之为Linux系统设计的哲学思想,虽然我没办法给出一个哲学的确切定义或者解释清楚什么是哲学。但是作为存在的根本,我觉得Freedom& Share才是Linux的根基,从无到有,从小到大,从未流行到今天的蓬勃发展,一直离不开自由与分享,所以学习Linux,使用Linux都需要抱着这样一种哲学思想或者精神吧。

  
4. Linux系统上命令的使用格式;详细介绍ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用,并配合相应的示例来阐述。
Linux系统的CLI使用格式
CLI模式下输入的左边为 [login_name@hostname working_directory]prompt 
解释一下 login_是登录到当前shell的用户账户
               hostname是当前主机的计算机名
               working_directory是当前所在的目录的目录名
               prompt是命令提示符,分为#和$, #为管理员的命令提示符,只有root账户才使用#提示符,除了root以外的所有账户,命令提示符都为$
       

CLI模式左边已经介绍完了,下面看看在CLI模式下输入命令有什么格式
    [root@CenOS ~]# COMMAND [OPTION]…[AGRUMENT]…
   

     COMMAND 即要输入的命令的命令名,例如ls,   

     [option]… 很多命令都是有选项的,选项的作用是使用同一个命令执行不同的操作,就需要使用不同的选项,选项分为两种,一种为短选项,使用一个"-"带上选项名,一种为长选项,短选项可以合并在一起,例如ls -l -d, 可以写成 ls -ld. 另一种为长选项,使用两个"–"在选项名前,长选项不能合并。
    注意“并不是所有的命令都是有选项的,具体需要看是什么命令,哪些命令有什么选项,可以参考man手册来学习研究
    

    [AGRUMENT]为参数,即命令要作用的对象,命令不同,参数的类型也不一样,例如ls命令的参数对象是文件或者目录,而cd命令的参数只能为目录
    
好了,linux系统上的CLI模式下的命令使用格式介绍完了。下面介绍几个命令的使用方法。

   ifconfig

   …

   …

   …

    此处未完成,待补全     

   echo: 回显命令
     $VAR:将变量的值输出到屏幕上
     -n: 不显示换行符
     -e: 使转译符生效
     -E: 使转译符失效(default是-E)
    …

    …

    …

    此处未完成,待补全    
        
   tty :显示当前terminal 连到的文件名
    -s 参数: 不显示任何内容,只返回状态值
    
    例如:使用root通过putty ssh来登录到主机执行tty命令, 显示为0号伪终端pts
    [root@dhcp-10-129-6-166 ~]# tty
    /dev/pts/0

 

   startx : 启动windows界面,用不上!!!
   
   export : 将变量传递给子shell
      ~]# export [-p|n] [$variable = word]
       不带参数或使用-p, 默认会输出所有变量信息,如果后面有变量名,只变量的信息,并将变量传递给子shell
       如果变量后面有 =word, 那么将word的值赋予前面的变量
       
       例如: 将变量A的值设置为Friday,之后显示$A的值,再将$A的值改为Monday,再次显示$A的值
       [root@dhcp-10-129-6-166 ~]# export A=Fridy
       [root@dhcp-10-129-6-166 ~]# echo $A
       Fridy
       [root@dhcp-10-129-6-166 ~]# export A=Mondy
       [root@dhcp-10-129-6-166 ~]# echo $A
       Mondy

 

   pwd: 用户显示当前的工作目录,也叫current directory,
     -L: 使用变量PWD中的值,即使包含符号链接
     -P: 避免所有符号链接
     
     例如: ls -l /bin,显示/bin为/usr/bin的符号链接,cd进/bin目录,使用pwd,显示pwd为/bin,而使用pwd -P就显示了真实的目录,即为/usr/bin
     [root@dhcp-10-129-6-166 bin]# ls -l /bin
     lrwxrwxrwx. 1 root root 7 Dec  1 21:51 /bin -> usr/bin
     [root@dhcp-10-129-6-166 bin]# cd /bin
     [root@dhcp-10-129-6-166 bin]# pwd
     /bin
     [root@dhcp-10-129-6-166 bin]# pwd -P
     /usr/bin
   
   history
     no option:显示当前用户使用过的命令
     -c: 清除用户命令使用记录
     -a: 将当前session的history中的命令记录存放到history file中
     
     例如:显示最近10行history记录,history 10,之后使用history -c清除,再使用history查看
     [root@dhcp-10-129-6-166 bin]# history 10
     114  pwd
     115  pwd -P
     116  clear
     117  history
     118  clear
     119  history -10
     120  history 10
     121  hitstory 20
     122  history 20
     123  history 10
     [root@dhcp-10-129-6-166 bin]# history -c
     [root@dhcp-10-129-6-166 bin]# history  
     1  history
  
   shutdown/poweroff /reboot:shutdown/poweroff和reboot命令放在一起说明,因为他们是同一类命令
       -H, –halt /暂停主机运行
       -P, –poweroff /关机命令,shutown的默认选项
       -r, –reboot /重启主机,
       -h /等于–poweroff, 除非使用了–halt
       -k /不执行任何操作,只是输出 wall massage
       –no-wall /在重启,关机或halt前,不输出wall massage
       -c /取消关机,重启动作

    在shutdown/poweroff/reboot命令中,我们可以在后面加上时间来定义在何时执行操作,例如 +5,5分钟后执行,也可以使用自然语言时间,例如 reboot now,表示立刻重启

    

   date /date命令用来显示当前系统日期或设置系统日期

    …

    …

    …

    此处未完出,待补全
     
    hwclock: hwclock是用来查看和设置当前系统时钟或硬件时钟的。Linux上时钟分为硬件时钟和系统时钟两种。硬件时钟是在硬件上维护的时钟,也就是BOIS里面设置的那个时钟。而系统时钟是靠Kernel来维护的,当系统开机时,系统时钟读取硬件时钟,之后系统时钟独立于硬件时钟运行。

    下面来介绍一下hwclock的简单用法:
    -r, –show /读取硬件时钟并显示出来,这个时间永远是本地时间

    -s, –hctosys /将硬件时钟同步到系统时钟,即硬件时钟写入系统时钟  

    -w, –systohc /将系统时钟同步到硬件时钟,即系统时钟写入硬件时钟
 

            
5. 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。   
 

无论是Linux新手如我,还是Linux的高手,谁都无法面面俱到,记住所有的命令,对所有的命令的使用都了如指掌,那是不可能的。所以,谁都有需要求助旁人的时候。Linux的程序设计者们都意识到这点,所以在Linux系统里面提供了非常丰富详细的说明文档,以便在使用者遇到困难时可以自行查阅。
 
Linux中获取帮助的地方有以下几处,分别简单介绍一下

man文档
man文档是在linux系统中经常需要使用的帮助信息 ,它里面包括了非常详细的帮助信息,不光有命令的,还有对于库调用的,C库调用的,配置文档的帮助信息。每一篇man文档都分为8个段落。介绍一下这8个段落
    NAME: 即当前man文档的名字

    SYNPSIS: 当前man文档的简要说明

    DISCRIPTION: 当前Man文档的说明

    OPTIONS: 命令的选项介绍

    EXAMPLE: 一些使用的例子

    AUTHOR: 作者

    BUGS: 提交发现BUG的方法

    SEE ALSO: 提供一些相关的文档链接

我们说了,man文档对于很多文件都提供了帮助信息。所以Linux也对man文档进行了一些归类,以便我们方便的查看man文档。

man文档分为了8类。

 

man1: 普通用户可以使用的命令的帮助文档

man2: 系统库调用的帮助文档

man3: C库调用的帮助文档

man4: 设备文件和特殊文件的帮助文档

man5: 配置文件的帮助文档

man6: 系统内置游戏的帮助文档

man7: 一些无法分类的帮助文档,也叫杂项

man8: 系统命令的帮助文档,只有管理员可以使用的命令

Man文档靠的是一个数据库来维护的,如果没有及时更新,那么有一些man文档是没法查到的。我们可以使用一个简单的名字来手动更新man文档的数据库。 makewhatis命令可以手动更新man文档的数据库。

简单再说一下什么是whatis命令。
  
 –help|help 一对好人
很多时候,可能我们并不需要man手册这样丰富的帮助文档,我们只是偶尔一个选项或者参数想不起如何使用了,如果每每这个时候都需要man COMMAND,那未必有点杀鸡用牛刀了,所以Linux系统中还有另外一种比较简便的方法来让我们获取命令的帮助信息。那就是 –help和help这对好人。我们都知道,Linux系统中命令分来两种,一种为shell的bulitit命令,这些命令都是集成在shell内的,可以使用help COMMAND来查看简单的帮助信息,而对于另一种命令,独立的命令,可以使用COMMAND –help来查看简单的命令帮助。
  
 info – man的补充
 最后,我们再介绍最后一种Linux帮忙信息info. info可以简单的作为man的补充,绝大部分的帮助信息我们都可以用man来完成,而info基本就会做为man的补充而存在,里面的内容比man更详细,包括每个版本的更新的内容,都在里面有说明。
 

6. 请罗列Linux发行版的基础目录名称命名法则及功能规定
 首先,我们使用ls -l / 来看看/目录下有哪些基础目录以及他们的功能都是什么
  此处以CentOS 7为例
  
[root@dhcp-10-129-6-166 ~]# ls -l /
total 32
lrwxrwxrwx. 1 root root 7 Dec  1  21:51 bin -> usr/bin
 #在CentOS7之前的版本中,/bin和/usr/bin是两个目录,里面都存放了所有用户可使用的普通命令,但是在7中,/bin成了/usr/bin的符号链接了,也难怪使用echo $PATH的时候,发现里面没有/bin和/sbin了。
dr-xr-xr-x.  4 root root 4096 Dec 1  22:09 boot
#boot目录中存放的是引导程序, kernel, grub等等都存放在/boot目录中 ,一般此目录都单独分区
drwxr-xr-x. 20 root root 3160 Dec  2  22:14 dev
#dev目录下存放的是各种设备文件,设备文件即是把硬件抽象成文件存放在这里
drwxr-xr-x. 76 root root 8192 Dec  2  22:14 etc
#etc目录里面存放着的是配置文件,全部为文本格式的文件
drwxr-xr-x. 3 root root 22 Dec  2  00:41 home
#home目录下有和所有系统上的用户同名的文件夹,即所有用户的私人家目录都在/home目录下,家目录只有用户自己才可以访问,是受法律保护的私人空间。但,root除外
lrwxrwxrwx. 1 root root 7 Dec  1  21:51 lib -> usr/lib
#和/bin一样,在centOS7之前,/lib和/usr/lib是单独两个文件夹,也是在CentOS7中lib作为/usr/lib的符号链接存在了,这样做的目的不知道是不是为了简化目录结构,但是这样一样/usr就不能单独分区了,/lib中存放的是动态库文件,即share object
lrwxrwxrwx. 1 root root 9 Dec  1  21:51 lib64 -> usr/lib64
#同/lib,不过这里面放的是64位的SO
drwxr-xr-x. 2 root root 6 Aug  12 2015  media
#media挂载的是可移除的媒体设备(例如U盘和CO-ROM)
drwxr-xr-x. 2 root root 6 Aug  12 2015  mnt
#mnt是临时挂载目录,用于我们临时挂载其他的文件系统时,可以挂载到此目录下
drwxr-xr-x. 2 root root 6 Aug  12 2015  opt
#opt的全称是optional,即可选的,一些不是系统必须的软件包都可以安装到此目录下
dr-xr-xr-x. 352 root root 0 Dec  2  22:14 proc
#proc的全称是processing,这是一个伪文件系统,它并不是一个真正的文件目录,它把当前系统上运行的进程都抽象成了文本文件,我们可以通过这个目录来查看当前系统上运行的进程,所以这个目录并不真正存在于硬盘上,而且是内存中。在linux中, /proc对应的是procfs格式挂载
dr-xr-x—.  5 root root 4096 Dec  2  00:49 root
#root目录是管理员root的家目录
drwxr-xr-x. 21 root root 620 Dec 2  22:14 run
#run用于替代/var/run目录。/var/run记录自最后一次启动以来运行中的系统信息,包括当前登录的用户和运行中的守护进程等。
lrwxrwxrwx. 1 root root 8 Dec  1  21:51 sbin -> usr/sbin
#/sbin和/usr/sbin里面存放的是管理员可以使用的管理命令
drwxr-xr-x. 2 root root 6 Aug  12 2015  srv
#某些服务启动后,需要访问的一些数据,都存放在这个目录下
dr-xr-xr-x.  13 root root 0 Dec  2  22:14 sys
#在kernel2.6之后,将procfs中的大量非进程相关的系统信息移到了一个专门的伪文件系统中,即sysfs, sysfs即挂载到/sys目录下,也就是说,可以这样简单理解,此目录是从/proc中生成出来
drwxrwxrwt. 7 root root 4096 Dec  2  22:14 tmp
#顾名思义,tmp里面存放的是临时文件
drwxr-xr-x. 13 root root 4096 Dec  1  21:51 usr
#usr的全称是Unix Share Resource,即Unix共享资源,用于存放只读的用户数据的第二层次
drwxr-xr-x. 19 root root 4096 Dec  2  22:14 var
#var的全称是variable, 即可变的文件都存放在这里,例如,日志文件和用户的mailbox等等,有些时候,/var会是单独的一个分区

 

原创文章,作者:JL,如若转载,请注明出处:http://www.178linux.com/61176

(0)
JLJL
上一篇 2016-11-28
下一篇 2016-11-28

相关推荐

  • 第二十二周作业

    1、请描述本地文件系统和分布式文件系统的特点 本地文件系统 本地文件系统主要是指Ext2,Ext3,Btrfs,XFS这类,它们通常提供以下功能: 扩展性:随着系统容量的增加保持性能,不随容量变化而导致性能震荡。比如一个目录下的海量文件,在EXT2/3中由于目录设计问题会导致较大的性能问题。再比如EXT2/3中的Metadata的占用和inode的划分可能会…

    2017-08-06
  • 马哥教育网络班21期第10周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) POST加电自检—— 根据bios设定,顺序查找引导设备—— 读取引导设备MBR(共512字节,前446为bootloader,后64表示分区信息,后2表示bootloader有效性),加载bootloader程序—— 以grub为例,grub1.0阶段将零磁道一扇区加载到内存,gr…

    Linux干货 2016-10-24
  • Linux文本处理三剑客之一sed

    这周我们学习了文本处理工具三剑客之一的sed,对于之前学的grep同样的重要,也同样是一个难点。sed是针对一个文件或者多个文件一行一行处理的,它处理的时候,把当前处理的行存储在模式空间,处理完成后,把缓冲区内容输出到屏幕上,接着处理下一行。直到文件末尾。原文件并没有经过更改。 1、sed一些常用的选项     -n …

    2017-08-26
  • 硬链接和软链接的区别

    硬链接和软链接在文件系统实现上的区别决定了两者之间功能上的不同,也就是说硬链接和软链在文件系统上两者实现的方式不同,让其各自具有不同的功能和特色,也决定了各自的优点和缺点。接下同文件系统上创建硬链接和软链接看各自的特点。 一文件系统上创建硬链接 下面命令是在文件系统上创建一个硬链接: ~]# ln test /testdir/t…

    Linux干货 2016-10-29
  • 怎么删除邮件?

    linux邮件位置一般在/var/spool/mail/root下,如果想查看邮件,在屏幕上输入mail就可以查看了,输入之后会出现&符号,你想看哪一封邮件,直接在后面跟对应的数字就好了。 如果你感觉自己的邮件太多了,比较占内存,那就删了吧。 d 删除当前邮件,指针并下移。   d 3 删除编号为3 的邮件。   d1-100 删…

    2017-07-22
  • N22-第八章作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。       网桥:网桥是工作在数据链路层的设备。用于将两个LAN连接在一起并按照Mac地址转发数据。网桥保存着所有与它相连的主机的Mac地址表和端口号并具有学习功能。当网桥收到某个数据包后,能根据目的主机的Mac地址再选择从哪个端…

    Linux干货 2016-10-24