1、描述计算机的组成及其功能。
所谓的计算机就是一种计算器,而计算器其实是:接受用户输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息。
计算机系统由硬件系统和软件系统两个部分组成。
硬件系统由运算器、控制器、存储器、输入设备、输出设备组成。
运算器
是计算机中进行算术运算和逻辑运算的主要部件是计算机的主体。
控制器
是计算机的指挥控制中心。
存储器
是用来保存程序、数据、运算的中间结果及最后结果的记忆装置。
输入设备
是用来完成输入功能的部件即向计算机送入程序、数据以及各种信息的设备。
输出设备
是用来将计算机工作的中间结果及最后的处理结果从内存送出来的设备。
操作系统是管理者,亦服务者,它还是一个执行者
1、Unix:AIX,BSD,FreeBSD,openBSD,HP-UX,Solaris/OpenSolaris... 2、Linux:服务器常用系统内核,在Linux基础上衍生出许多各有特色的发行版本,使用居多的宏观看有 ,suse,redhat,centOS,debian,ubuntu 3、Windows:Windows server2008... 4、MacOS... 运行在系统之上的,具有特定功能的程序。
2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用。这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。
Linux版本Debian,Red Hat,Ubuntu,SuSE,Mint,Gentoo,centos
由于Linux的内核源代码和大量的Linux的应用程序都可以自由获得,因此很多公司或组织开发了属于自己的Linux发行版。目前共有100多种发行版。其中较知名的有Debian、Slackware、RedHat、Gentoo、ArchLinux、红旗Linux等。
主要有三个分支:Debian、Slackware、RedHat。每一个分支都拥有一个最具代表性的商业服务器级的发行版,分别是Ubuntu Server,简称Ubuntu;SUSE Linux Enterprise;Red Hat Enterprise Linux.。同时,还有基于这三大分支和其他分支的一些社区发布版本,比如:基于RedHat的CentOS 、Fedora,基于Debian下的mimt Linux,knopix ,基于Slackware下的OpenSUSE,,以及Gentoo、ArchLinux、国内Linux红旗、麒麟Linux等。
Linux发行版众多,但是实际上只有一个内核,发行版只是给这个内核加上一些应用程序而组成的系统。而这些应用大部分都是来源于GNU社区,代码基本都一样,因此,各发行版之间差别不大。
不同的发行版细节上有一些差别,按软件包管理系统的不同,分以Redhat的rmp包管理系统和Ubuntu的基于DPKG包管理系统。使用前者的发行版包括SLES、Fedora、openSUSE、centos、RHEL等,包文件以rpm为扩展名;使用后者的包括Ubuntu系列,Debian系列等,包文件以deb为扩展名。
3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
Linux哲学思想:
1、一切皆文件;
-
小型,单一用途的程序;
-
连接程序,共同完成复杂功能;
-
避免令人困惑的用户界面;
-
配置数据存储在文本中;
解释:
一切皆文件:是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。
小型,单一用途的程序:程序和可执行文件不要太复杂,这样才能保证了linux内核的高效运行
连接程序,共同完成复杂功能:复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的
避免令人困惑的用户界面:如windows那样出了问题一般人选择的会是重启,实在是不行的话就是 重新 安装系统了,因为对于windows那样不是开源的,并且用户界面比较 复杂操作系统出了问题,一般的人是根本没有办法解决的。但是linux就不一样了,第一linux是开源的,无论什么问题都可以通过简洁的命令行实现 排错,修改系统的配置,一切都是简洁明了为基础。
配置数据存储在文本中:linux所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可,配置文件时文本形式的只需任意一款文本编辑器修改即可而不是类似于windows那样将保存在注册表中,并且windows的注册表需要专门的二进制或十六进制的编辑器才可编辑,修改比较复杂
4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。也可以把 它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址 语 法:ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址] 参数: up 启动指定网络设备/网卡 down 关闭指定网络设备/网卡 -arp 设置指定网卡是否支持ARP协议 -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包 -allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包 -a 显示全部接口信息 -s 显示摘要信息(类似于 netstat -i) add 给指定网卡配置IPv6地址 del 删除指定网卡的IPv6地址 <硬件地址> 配置网卡最大的传输单元 mtu<字节数> 设置网卡的最大传输单元 (bytes) netmask<子网掩码> 设置网卡的子网掩码 tunel 建立隧道 dstaddr 设定一个远端地址,建立点对点通信 -broadcast<地址> 为指定网卡设置广播协议 -pointtopoint<地址> 为网卡设置点对点通讯协议 multicast 为网卡设置组播标志 为网卡设置IPv4地址 txqueuelen<长度> 为网卡设置传输列队的长度
echo - 显示一行文本 允许在标准输出上显示STRING(s). -n 不输出行尾的换行符. -e 允许对下面列出的加反斜线转义的字符进行解释. -E 禁止对在STRINGs中的那些序列进行解释. --help 显示帮助并退出(须单独运行) --version 输出版本信息并退出(须单独运行) 在没有 -E 的情况下,可承认并可以内置替换以下序列: \NNN 字符的ASCII代码为NNN(八进制) \\ 反斜线 \a 报警符(BEL) \b 退格符 \c 禁止尾随的换行符 \f 换页符 \n 换行符 \r 回车符 \t 水平制表符 \v 纵向制表符
用法:tty [选项]... 显示出连接到当前标准输入的终端设备文件名。 -s, --silent, --quiet 什么也不显示,只返回退出状态值 --help 显示此帮助信息并退出 --version 显示版本信息并退出
startx 启动图形界面 export 显示和设置环境变量值 -f 带边环境变量为函数名称 -n 删除指定的环境变量 -p 列出所有的环境变量
pwd 显示当前目录
-L, --logical 显示当前目录 -P, --physical 显示当前目录的实际物理地址 --help 帮助 --version 版本 history 命令可以用来显示曾执行过的命令,也可以根据显示的治疗来重新执行需要的命令 n 显示n个最近的记录 -a 添加记录 -r 读取记录,但不会添加内容记录 -w 覆盖原有的history 文件 -c 清除记录 -d<编号>[n] 删除指定n条记录 -n<文件> 读取指定文件 -r<文件> 读取文件但不记录 -w<文件> 覆盖原有文件 shutdown 以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示,并且 login (1) 将被阻塞。可以指定立刻关机,也可以指定系统在一定的延时后关机。所有进程都将接收到 SIGTERM 信号。这可以使 vi (1) 等程序有时间将处于编辑状态的文件进行存储,邮件和新闻程序进程则可以将所有缓冲池内的数据进行适当的清除等等。 shutdown 通过通知 init 进程,要求它改换运行级别来实现。运行级别 0 用来关闭系统,运行级别 6 用来重启系统,运行级别 1 用来使系统进入执行系统管理任务状态,如果没有给出 -h 或 -r 标志时,这是 shutdown 命令的默认工作状态。具体关机或重启所执行的操作请查阅 /etc/inittab 文件中相应的运行级别栏。 选项 OPTIONS -a 使用 /etc/shutdown.allow 来验证身份。 -t sec 通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号。 -k 并非真正关机,只向所有人显示警告信息。 -r 重启。 -h 停机。 -n [DEPRECATED(不应再使用)] 不调用 init(8) 程序进行关机操作,而由自己进行。不建议用户使用这种关机方式,它的结果一般也不是你希望的那样。 -f 重启时跳过磁盘检测。 -F 重启时强制磁盘检测。 -c 取消运行中的 shutdown 进程。不可能为此选项指定 time 参数,但你可以在命令行输入一条解释消息来向所有用户说明。(一般的shutdown指令可以用按“+”号来进行中断) time 关机时间。 warning-message 发送给所有用户的消息。 time 参数的格式可以有很多种。首先,可以是 hh:mm 格式的绝对时间,其中 hh 指的是小时(一到二位数),mm 指的是分钟(二位数)。第二种是 +m 格式,其中 m 指的是等待的分钟数。 now 是 +0 的别名。 如果 shutdown 在调用时使用了延时,它将自动创建一个咨询 (advisory) 文件 /etc/nologin ,作用是禁止 login(1) 允许新用户登陆,除非 shutdown 在向 init 发信号前意外中止 (就是说,它被取消或出了什么问题)。它会在调用 init 改变运行级之前删除这个文件。 -f 标志意味着 `快速重启'。这将创建一个咨询 (advisory) 文件 /fastboot ,此文件在系统重启时会被检测到。启动脚本 rc 会检测是否存在这样的文件,如果有,就不会再运行 fsck(1),因为系统是以正常方式关闭的。这之后,启动进程会删除 /fastboot。 -F 标志意味着 `强制 fsck'。这将创建一个咨询 (advisory) 文件 /forcefsck,此文件在系统重启时会被检测到。启动脚本 rc 会检测是否存在这个文件,如果有,就运行 fsck(1) 并且加上一个特殊的 `force' 标志,以使得即使正常卸载的文件系统也被检查。这之后,启动进程会删除 /forcefsck。 -n 标志导致 shutdown 不调用 init 程序进行关机,而是自己关闭所有运行中的进程。shutdown 接下来会关闭配额 (quota),记账 (accounting) 和交换分区,卸载所有文件系统
poweroff命令用来关闭计算机操作系统并且切断系统电源。 常用参数: -n:关闭操作系统时不执行sync操作; -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; -f:强制关闭操作系统; -i:关闭操作系统之前关闭所有的网络接口; -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
reboot 命令详解 功能说明:重启。 语 法:dreboot [-dfinw] 补充说明:执行reboot指令可让系统停止运作,并重新开机。 参 数: -d 重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有"-n"参数的效果。 -f 强制重新开机,不调用shutdown指令的功能。 -i 在重开机之前,先关闭所有网络界面。 -n 重开机之前不检查是否有未结束的程序。 -w 仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
hwclock 命令:设置或者显示硬件时间的近似值 必要参数 --adjust 自动调整硬件时钟时间 --debug 运行时,输出详细的处理过程 --directisa 不通过设备文件/etc/rtc,直接对硬件时钟进行存取 --getepoch 输出硬件时钟的数值到标准输出 --hctosys 时钟同步,使系统时钟和硬件时钟同步 --se--date 设置硬件时间 --show 显示硬件时钟到标准输出 --systohc 系统时间写入硬件时钟 --test 进行测试 --utc 将硬件时钟的时间设置为UTC 选择参数 -setepoch-epoch=<年份> 设置硬件时钟的年份 --version 显示版本信息
date - 打印或设置系统日期和时间 根据指定格式显示当前时间或设置系统时间. -d, --date=STRING 显示由 STRING 指定的时间, 而不是当前时间 -f, --file=DATEFILE 显示 DATEFILE 中每一行指定的时间, 如同将 DATEFILE 中的每行作为 --date 的参数一样 -I, --iso-8601[=TIMESPEC] 按照 ISO-8601 的日期/时间格式输出时间. TIMESPEC=`date' (或者不指定时)仅输出日期,等于 `hours', `minutes', 或`seconds' 时按照指定精度输出日期及时间. -r, --reference=FILE 显示 FILE 的最后修改时间 -R, --rfc-822 根据 RFC-822 指定格式输出日期 -s, --set=STRING 根据 STRING 设置时间 -u, --utc, --universal 显示或设置全球时间(格林威治时间) --help 显示本帮助文件并退出 --version 显示版本信息并退出 格式 FORMAT 控制着输出格式. 仅当选项指定为全球时间时本格式才有效。 分别解释如下: %% 文本的 % %a 当前区域的星期几的简写 (Sun..Sat) %A 当前区域的星期几的全称 (不同长度) (Sunday..Saturday) %b 当前区域的月份的简写 (Jan..Dec) %B 当前区域的月份的全称(变长) (January..December) %c 当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989) %d (月份中的)几号(用两位表示) (01..31) %D 日期(按照 月/日期/年 格式显示) (mm/dd/yy) %e (月份中的)几号(去零表示) ( 1..31) %h 同 %b %H 小时(按 24 小时制显示,用两位表示) (00..23) %I 小时(按 12 小时制显示,用两位表示) (01..12) %j (一年中的)第几天(用三位表示) (001..366) %k 小时(按 24 小时制显示,去零显示) ( 0..23) %l 小时(按 12 小时制显示,去零表示) ( 1..12) %m 月份(用两位表示) (01..12) %M 分钟数(用两位表示) (00..59) %n 换行 %p 当前时间是上午 AM 还是下午 PM %r 时间,按 12 小时制显示 (hh:mm:ss [A/P]M) %s 从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充) %S 秒数(用两位表示)(00..60) %t 水平方向的 tab 制表符 %T 时间,按 24 小时制显示(hh:mm:ss) %U (一年中的)第几个星期,以星期天作为一周的开始(用两位表示) (00..53) %V (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (01..52) %w 用数字表示星期几 (0..6); 0 代表星期天 %W (一年中的)第几个星期,以星期一作为一周的开始(用两位表示) (00..53) %x 按照 (mm/dd/yy) 格式显示当前日期 %X 按照 (%H:%M:%S) 格式显示当前时间 %y 年的后两位数字 (00..99) %Y 年(用 4 位表示) (1970...) %z 按照 RFC-822 中指定的数字时区显示(如, -0500) (为非标准扩充) %Z 时区(例如, EDT (美国东部时区)), 如果不能决定是哪个时区则为空 默认情况下,用 0 填充数据的空缺部分. GNU 的 date 命令能分辨在 `%'和数字指示之间的以下修改. `-' (连接号) 不进行填充 `_' (下划线) 用空格进行填充
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
一 、help Command
适用于内部命令
举例:
代码如下:
# type cd
cd is a shell builtin
# help cd
# type ls
ls is aliased to `ls –color=auto'
# help ls
-bash: help: no help topics match `ls'. Try `help help' or `man -k ls' or `info ls'.
二、Command –help/-h
适用于外部命令
例如:
代码如下:
# ls –help
三、man Command
举例:
复制代码
代码如下:
# man cd
注manual 手册是分章节的;man # Command (#表示章节号)
1、所有用户可以使用的命令
2、系统内核调用,不是每个命令都有系统调用(如:man 2 read)
3、库调用
4、特殊文件,如:/dev/tty1
5、文件格式(命令配置文件的语法,如:man 5 passwd)
6、游戏相关
7、杂项
8、管理员命令,如:fdisk
man命令查询操作参考《vi,vim用法》中的命令模式
看懂man命令语法
[]:可选内容
<>:必须给出内容
a|b|c:多选一
…:可以有多个
四、 info Command
有超链接稳文档,info是信息页,提供作者、版本,什么时候发布等更详细信息,man手册是告诉你怎么用
五、README
绝大多数程序都有相应的帮助文档,保存在/usr/share/doc文件夹中
如:
# ls /usr/share/doc/ntp-4.2.4p8/
ChangeLog COPYRIGHT NEWS
六、Google
遇到问题,二话不说Google,优先参考项目官方文档
Linux的man手册共有以下几个章节:
代號 | 代表內容 |
1 | 使用者在shell中可以操作的指令或可执行档 |
2 | 系統核心可呼叫的函数与工具等 |
3 | 一些常用的函数(function)与函数库(library),大部分是C的函数库(libc) |
4 | 装置档案的说明,通常在/dev下的档案 |
5 | 设定档或者是某些档案的格式 |
6 | 游戏(games) |
7 | 惯例与协定等,例如Linux档案系统、网络协定、ASCII code等等的說明 |
8 | 系統管理員可用的管理指令 |
9 | 跟kernel有关的文件 |
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
目录描述
/主层次 的根,也是整个文件系统层次结构的根目录
/bin存放在单用户模式可用的必要命令二进制文件,所有用户都可用,如 cat、ls、cp等等
/boot存放引导加载程序文件,例如kernels、initrd等
/dev存放必要的设备文件,例如/dev/null
/etc存放主机特定的系统级配置文件。其实这里有个关于它名字本身意义上的的争议。在贝尔实验室的UNIX实施文档的早期版本中,/etc表示是“其他(etcetera)目录”,因为从历史上看,这个目录是存放各种不属于其他目录的文件(然而,文件系统目录标准 FSH 限定 /etc 用于存放静态配置文件,这里不该存有二进制文件)。早期文档出版后,这个目录名又重新定义成不同的形式。近期的解释中包含着诸如“可编辑文本配置”或者“额外的工具箱”这样的重定义
/etc/opt存储着新增包的配置文件 /opt/.
/etc/sgml存放配置文件,比如 catalogs,用于那些处理SGML(译者注:标准通用标记语言)的软件的配置文件
/etc/X11X Window 系统11版本的的配置文件
/etc/xml配置文件,比如catalogs,用于那些处理XML(译者注:可扩展标记语言)的软件的配置文件
/home用户的主目录,包括保存的文件,个人配置,等等
/lib/bin/ 和 /sbin/中的二进制文件的必需的库文件
/lib<架构位数>备用格式的必要的库文件。 这样的目录是可选的,但如果他们存在的话肯定是有需要用到它们的程序
/media可移动的多媒体(如CD-ROMs)的挂载点。(出现于 FHS-2.3)
/mnt临时挂载的文件系统
/opt可选的应用程序软件包
/proc以文件形式提供进程以及内核信息的虚拟文件系统,在Linux中,对应进程文件系统(procfs )的挂载点
/root根用户的主目录
/sbin必要的系统级二进制文件,比如, init, ip, mount
/srv系统提供的站点特定数据
/tmp临时文件 (另见 /var/tmp). 通常在系统重启后删除
/usr二级层级存储用户的只读数据; 包含(多)用户主要的公共文件以及应用程序
wKioL1eqavDRRw_rAAfFeFt3QlY819.png-wh_500x0-wm_3-wmp_4-s_507933680.png
/usr/bin非必要的命令二进制文件 (在单用户模式中不需要用到的);用于所有用户
/usr/include标准的包含文件
/usr/lib库文件,用于/usr/bin/ 和 /usr/sbin/中的二进制文件
/usr/lib<架构位数>备用格式库(可选的)
/usr/local三级层次 用于本地数据,具体到该主机上的。通常会有下一个子目录, 比如, bin/, lib/,share/.
/usr/local/sbin非必要系统的二进制文件,比如用于不同网络服务的守护进程
/usr/share架构无关的 (共享) 数据.
/usr/src源代码,比如内核源文件以及与它相关的头文件
/usr/X11R6X Window系统,版本号:11,发行版本:6
/var各式各样的变量(Variable)文件,一些随着系统常规操作而持续改变的文件就放在这里,比如日志文件,脱机文件,还有临时的电子邮件文件
/var/cache应用程序缓存数据. 这些数据是由耗时的I/O(输入/输出)的或者是运算本地生成的结果。这些应用程序是可以重新生成或者恢复数据的。当没有数据丢失的时候,可以删除缓存文件
/var/lib状态信息。这些信息随着程序的运行而不停地改变,比如,数据库,软件包系统的元数据等等
/var/lock锁文件。这些文件用于跟踪正在使用的资源
/var/log日志文件。包含各种日志。
/var/mail内含用户邮箱的相关文件
/var/opt来自附加包的各种数据都会存储在 /var/opt/.
/var/run存放当前系统上次启动以来的相关信息,例如当前登入的用户以及当前运行的daemons(守护进程).
/var/spool该spool主要用于存放将要被处理的任务,比如打印队列以及邮件外发队列
/var/mail过时的位置,用于放置用户邮箱文件
/var/tmp存放重启后保留的临时文件
原创文章,作者:a279854458,如若转载,请注明出处:http://www.178linux.com/66582
评论列表(1条)
总结的很详细,不求完全记忆,但相信这篇博客整理下来,在心里对整个知识结构会有一个大致的了解了。