N22-第一周博客作业

1、计算机的组成和及其功能?

计算机由硬件,操作系统,软件三大部分组成。

硬件:

计算机系统中所使用的电子线路和物理设备,主要由中央处理器( CPU )、存储器、外部设备(输入输出设备、I/O设备)及总线等组成。

a、中央处理器(CPU)的主要功能是根据存储器内的程序 ,逐条地执行程序所指定的操作。中央处理器的主要组成部分是:数据寄存器、指令寄存器、指令译码器、算术逻辑部件、操作控制器、程序计数器(指令地址计数器 )、地址寄存器等。

b、
存储器。主要功能是存放程序和数据,程序是计算机操作的依据,数据是计算机操作的对象。存储器是由存储体、地址译码器
、读写控制电路、地址总线和数据总线组成。能由中央处理器直接随机存取指令和数据的存储器称为主存储器,磁盘、磁带、光盘等大容量存储器称为外存储器(或
辅助存储器) 。由主存储器、外部存储器和相应的软件,组成计算机的存储系统。
c、外部设备是用户与机器之间的桥梁。输入设备的任务是把用户要求
计算机处理的数据、字符、文字、图形和程序等各种形式的信息转换为计算机所能接受的编码形式存入到计算机内。输出设备的任务是把计算机的处理结果以用户需
要的形式(如屏幕显示、文字打印、图形图表、语言音响等)输出。输入输出接口是外部设备与中央处理器之间的缓冲装置,负责电气性能的匹配和信息格式的转
换。

操作系统:是管理和控制计算机硬件与软件资源的计算机程序,位于底层硬件与用户之间,是两者沟通的桥梁。主要有unix,linux,windows等。
功能:提供资源管理,程序控制和人机交互等。为用户分配cpu,内存,为高级编程提供标准的硬件接口,模块,库等。

软件:专门为某一应用目的而编制的软件,一般运行于操作系统之上。
功能:拓宽计算机硬件的应用领域,放大硬件的功能,满足人们的特定需要。

2、按系列罗列Linux的发行版,并描述不通发行版之间的联系和区别?

Linux
仅仅提供了操作系统的内核,而库和上层的应用程序是由其它组织提供的,早起绝大部门是由GUN提供的,因此大家使用的Linux应该叫GUN-
Linux。但是这些都是以源代码的形式提供的,而源代码需要通过编辑、编译、连接、运行等才能进行安装,而大部分用户是不具备这些能力的,因此就有了一
些厂商/组织专门负责以统一的通用的形式将源代码编译出来并添加一些具有自己特色的程序后给大家提供一个能够直接安装的程序,像这种不需要进行编译连接直
接运行安装的系统,就叫做发行版。
常用的发行版有以下几种:
ReadHat:现在主要是指ReadHat企业版
Fedora:主要用于桌面系统,为ReadHat提供实验环境,提高用户体验、桌面做的非常华丽。
CentOs:ReadHat的二次发行版
Debian:限制最少,更原生的程序,适合高手使用
Ubuntu:基于Debian的发行版
Mint:基于Ubuntu的二次发行版,界面做的非常漂亮
Suse:界面做的最好(欧洲用的比较多)


3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

  1. 一切皆文件,把几乎所有资源统统抽象为文件形式:包括硬件设备,甚至通信接口等。

  2. 由众多功能单一的程序组成;一个程序只做一件事,并且做好。组合小程序完成复杂任务。

  3. 尽量避免跟用户交互  目标:易于以编程的方式实现自动化任务

  4. 使用文本文件保存配置信息;

4、说明linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用并配合相应的示例来阐述?

  • Linux系统上命令的使用格式:

    命令关键字 [命令选项] [命令参数]
    (1) 命令关键字即命令名称,在linux命令行界面使用的命令字唯一确定一个命令。
    (2)
    命令选项:根据命令的不同,选项的个数和内容也不同。根据要实现的命令功能不同,选项的个数和内容也不同,大多数命令选项可以组合使用,命令选项有短格式
    和长格式的。短格式就是单个英文字母,选项是使用“ -”符号(半角减号符)引导开始选项,字母可以是大写也可以是小写。如 ls -al
    。长格式的命令选项使用英文单词表示,选项前用“–”(两个半角减号符)引导开始的。如 –abc –xyz。
    (3)命令参数:是命令处理的对象,通常情况可以是文件名、目录、或用户名。

ifconfig :

        查看和配置网络接口

  ifconfig 【选项】【interface】【inet|up|down|netmask|addr|broadcast】

-a:显示所有网络接口的信息

-s:仅显示某个接口的摘要信息

-v:如果某个网络接口出现错误,将返回错误信息

[root@localhost ~]# ifconfig -a
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.102  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::20c:29ff:fe35:366f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:35:36:6f  txqueuelen 1000  (Ethernet)
        RX packets 5060  bytes 455323 (444.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3769  bytes 713421 (696.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
略去。。。。。
[root@localhost ~]# ifconfig -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777  1500     5110      0      0 0          3806      0      0      0 BMRU
lo       65536       76      0      0 0            76      0      0      0 LRU
virbr0    1500        0      0      0 0             0      0      0      0 BMU

ifconfig eno16777736 192.168.153.153 netmask 255.255.255.0 配置接口ip地址

ifconfig eno16777736 up/down

注意:用ifconfig配置的网卡信息,在网卡重启或机器重启后,所有的配置都失效。

echo:显示后面接的内容或变量

[root@localhost ~]# echo answer
answer
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
-n:不输出换行

[root@localhost ~]# echo -n answer
answer[root@localhost ~]#

-e:使转义符生效,配合\b(往前删除)、\e(退格)等

[root@localhost ~]# echo -e hii"\b" answer
hi answer
[root@localhost ~]# echo  hii"\b" answer
hii\b answer
-E:禁止转义符生效,默认

[root@localhost ~]# echo -E hii"\b" answer
hii\b answer
[root@localhost ~]# echo  hii"\b" answer
hii\b answer

tty:打印标准输入连接终端的文件名

[root@localhost ~]# tty
/dev/pts/3

startx:开启一个图形会话(x-window)

export:显示、设置变量的输出属性

[root@localhost ~]# export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x LANG="zh_CN.utf8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"

为变量赋值

[root@localhost ~]# export text=answer

pwd:查看当前工作的目录

[root@localhost ~]# pwd
/root

history:显示或操作命令历史列表

参数 N 会仅列出最后的 N 个条目。

[root@localhost ~]# history 10
  973  export
  974  export text=answer
  975  export
  976  pwd
  977  man pwd
  978  history
  979  history -10
  980  history -N 10
  981  history N 10
  982  history 10
选项:
      -c    删除所有条目从而清空历史列表。
      -d 偏移量    从指定位置删除历史列表。
     -a    将当前绘画的历史行追加到历史文件中
      -n    从历史文件中读取所有未被读取的行
      -r    读取历史文件并将内容追加到历史列表中
       -w    将当前历史写入到历史文件中,并追加到历史列表中

查看history相关的环境变量

[root@localhost ~]# export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"

cat  .bash_history (持久保存命令历史的文件) 通过history -a将历史列表中的命令写入到此文件保存
history
hi
export
cat .bash_history
export
cat .bash_history
pwd
history -a
[root@localhost ~]#
另外我们利用history的变量值还可以控制history,让其忽略重复的命令,或者忽略开头是空白的命令,也可以俩者都实现。

ignoreduos:忽略重复的命令。
ignorespace:忽略所有以空白字符开头的命令
ignoreboth:前面俩者都忽略

历史命令的调用:

[root@localhost ~]# !1013   再一次执行历史列表中的第1013条命令
pwd
/root
[root@localhost ~]# !!   执行上一条命令
pwd
/root
[root@localhost ~]# !ls  执行命令历史列表中最近以ls开头的命令
ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .esd_auth      .local    .oracle_jre_usage  .viminfo     公共  视频  文档  音乐
..  .bash_history    .bash_profile  .cache   .cshrc   .ICEauthority  .mozilla  .tcshrc            .Xauthority  模板  图片  下载  桌面

调用上一个命令的最后一个参数:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736  (cat Esc键+.
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
略去。。。
[root@localhost ~]# cat !$
cat /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
略去。。。

shutdown :停止或重启主机

 shutdown [OPTIONS…] [TIME] [WALL…]

-r:reboot 重启
-h:halt   关机
-c:  取消 时间不是“+0”或者“now”的关机命令
-k: 提示用户关机/重启,但是不会真正的执行。
TIME的设定:
now:立刻马上,相当于+0
+m:  m表示分钟,如+10,表示10分钟后
hh:mm  绝对的时间,指明时间来执行

[root@localhost ~]# shutdown +10
Shutdown scheduled for 六 2016-08-13 10:32:11 CST, use 'shutdown -c' to cancel.
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Sat 2016-08-13 10:22:11 CST):
The system is going down for power-off at Sat 2016-08-13 10:32:11 CST!

[root@localhost ~]# shutdown  +10 "please quit the system"
Shutdown scheduled for 六 2016-08-13 10:35:15 CST, use 'shutdown -c' to cancel.
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Sat 2016-08-13 10:25:16 CST):

please quit the system
The system is going down for power-off at Sat 2016-08-13 10:35:15 CST!

poweroff/reboot/halt:关闭或重启

halt [OPTIONS…]

poweroff [OPTIONS…]

 reboot [OPTIONS…]

-f: 强制关机
-p:切断电源
-w:不是真正的关闭系统,仅在日志文件中记录下来 。

hwclock:查询或设置硬件时间

硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。这个时间有主板上电池供电维持,如果主板电池电量耗尽,如果断电的话,恢复到出厂设置。系统时钟则是指kernel中的时钟。所有Linux相关指令与函数都是读取系统时钟的设定。因为存在两种不同的时钟,那么它们之间就会存在差异。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。

[root@localhost ~]# hwclock
2016年08月13日 星期六 10时37分13秒  -0.993637 秒

-r, –-show     读取并打印硬件时钟
-s, –-hctosys     将硬件时钟同步到系统时钟
-w, –-systohc     将系统时钟同步到硬件时钟

date:显示或设置日期和时间

date  [MMDDhhmm[[CC]YY][.ss]]
        MM:月份
        DD:几号
        hh: 小时
        mm:分钟
        CC:两位年数
        CCYY:四位数年
        .ss  秒钟
[root@localhost ~]# date
2016年 08月 13日 星期六 10:58:26 CST
[root@localhost ~]# date 081311022016.53
2016年 08月 13日 星期六 11:02:53 CST

5、如何在linux上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的?

命令可分为内嵌命令和外部命令,
        内嵌命令:由shell自带,而且是通过某命令形式提供
        外部命令:独立可执行的程序文件,文件名即命令名
那么如何查看当前命令是内嵌还是外部呢?我们可以通过type查看类型

内嵌命令通过help COMMAND 查看帮助文档

外部命令:(1)命令自带简要格式应用帮助

                        COMMAND –help

                (2)使用手册:manual

                        位置:/usr/share/man

                        man COMMAND

[root@localhost ~]# type cd
cd 是 shell 内嵌

[root@localhost ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.
        Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.

[root@localhost ~]# ifconfig –help
Usage:
  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
  [del <address>[/<prefixlen>]]
  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]
  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]
  [outfill <NN>] [keepalive <NN>]
  略去。。。

    man手册中包含多个部分(section),各个部分如下:         

              NAME:命名的名称及简要解释
              SYNOPSIS: 语法格式

              OPTION:    选项

              DESCRIPTION:   功能的详细描述
              EXAMPLES:    使用示例
              AUTHOR:     作者
              REPORTING BUGS: 报告bug,报告缺陷。
              SEE ALSO:    又见,参见。

SYSOPSIS格式

【 】可选内容

 <>  必选内容

a/b  多选一

 …    同类内容可以多个

/usr/share/man下有man man1……man8.
而且有的命令不止在一个目录下有帮助。我们简要解释man1……man8目录下都有什么
man1: 用户的命令
man2:  系统调用
man3: C库调用
man4:  设备文件及其特殊文件
man5:  文件格式
man6:  游戏使用帮助
man7:  杂项
man8: 管理工具及其守护进程

man chapter COMMADN 查看不同章节的帮助

whatis COMMAD 查看命令在帮助文档哪几个章节,注意  其执行过程式查询数据库进行的,手动更新数据库可用命令 make whatis

[root@localhost ~]# whatis chmod
chmod (1)            – change file mode bits
chmod (1p)           – change the file modes
chmod (2)            – change permissions of a file
chmod (3p)           – change mode of a file
[root@localhost ~]# man 1 chmod 查看第一章节

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

7、罗列Linux发行版的基础目录名称命名法则及其功用规定。

Linux 文件系统机构.jpg

/boot:引导文件存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)都存放于此目录

/bin:供所有用户使用的基本命令:不能关联至独立分区。0S启动即会用到的程序:

/sbin:管理类的基本命令:不能关联至独立分区。0S启动即会用到的程序:

/lib:基本共享库文件,以及内核模块文件(/lib/modules)

/lib64:专用于x86_64系统上的辅助共享库文件存放位置:

/etc:配置文件目录(纯文本文件):

/home/USERNAME:普通用户的家目录:

/root:管理员用户的家目录:

/media:挂载便携式移动设备(光盘,U盘)

cdrom

usb

/mnt:挂载临时设备

/dev:设备文件特殊文件目录

b:block device 随机访问

c:character device 线性访问

/opt:第三方应用程序存放目录

/srv:系统上运行的服务用到的中间数据

/tmp:临时文件存放目录

非系统开机要使用的目录

/usr:universal shared readable:read-only data:

bin:保证系统拥有完整功能:

sbin:保证系统拥有完整功能:

lib:

lib64:专用于x86_64系统上的辅助共享库文件存放位置:

incloud:c语言开发调用的头文件(header fils):

share:结构化的独立的数据, doc man

local:本地层级结构,第三方应用程序的安装位置

bin,sbin,lib,etc,share

/var:variable data files 可变数据文件存放

cache:应用程序缓存数据目录:

lib:应用程序状态信息存放目录:

local:专用于为/usr/local下的应用程序存储可变数据

lock:锁文件

log:日志目录及文件

opt:专用于为/usr/local下的应用程序存储第三方

run:与运行中程序相关的数据:通常用于存储进程的pid文件

spool:应用程序数据池

tmp:系统重启临时文件存放目录

mail:邮箱

/proc:用于输出内核与进程相关的虚拟文件信息:

/sys:输出当前系统上硬件设备相关信息的虚拟文件信息:

/misc:备用杂项文件

/lost+found:ext文件系统产生的文件碎片

/selinux:security enhanced Linux:安全增强机制

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

(0)
上一篇 2016-08-15 12:06
下一篇 2016-08-15 12:06

相关推荐

  • GNU awk

    文本处理三工具:grep, sed, awk grep, egrep, fgrep:文本过滤工具;pattern sed: 行编辑器 模式空间、保持空间 awk:报告生成器,格式化文本输出;  AWK: Aho, Weinberger, Kernighan –> New AWK, NAWK  GNU awk, gawk&…

    Linux干货 2015-12-03
  • 位置变量$1,$2,$@,$*,$#详解

    位置变量: 位置变量实际是属于系统预定义变量的一种,不能修改变量名,同时作用也是固定的,也不能新增的变量,只能修改变量的值。     常用的位置参数变量        $0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号括起来,比如${11}.     该变…

    Linux干货 2016-08-18
  • 文件查找和压缩

    文件查找     在文件系统上查找符合条件的文件;       文件查找:locate, find        非实时查找( 数据库查找) :locate        实时查找:find locate &n…

    Linux干货 2016-08-18
  • linux文件系统

    linux的文件系统:             根文件系统为rootfs(root file system)           &nbsp…

    Linux干货 2015-12-19
  • 压缩与解压

        compress 命令使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出”.Z”的扩展名。当要解压缩时,可执         &nbsp…

    2017-08-14
  • 测试so接口函数的脚本 [python]

    下面是一个测试solib库中调用函数的测试脚本,但该脚本还存在这一些问题,我目前无法理解和解决; 问题: 1.我定义了logging采用日志滚动的方式,写日志,并且每个日志的大小是20M,但测试结果发现日志连1M都没到就开始轮转了,并且在轮转过程中,还出现logging写日志,却发现,日志轮转了,结果竟然报了,轮转日志不存在。 Traceback (most…

    Linux干货 2016-01-05

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-17 16:17

    写的很好,排版还可以在漂亮一点,加油,图画的很好,继续保持