在开始正式学习Linux之前,我们首先要了解Linux是什么,是怎么来的,以及了解它的一些基本命令,下面我将从6个点说说我对Linux的基本认识。

1、 描述计算机的组成及其功能。 计算机由四个部分组成,分别是CPU、存储器、输入设备、输出设备。 CPU:运算器、控制器、寄存器、缓存,提供逻辑计算和控制。 存储器:内存,RAM,缓存和保存数据。 输入设备:下指令,提供数据。 输出设备:输出数据加工的结果

2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 Linux的发行版有数百种之多,其中可以分为: Debain :Ubuntu,mint,knoppix Slackware :S.U.S.E,SLES,OpenSUSE,Slax, Redhat : RHCL:redhat enterprise Linux 他们都是每18个月发行一个新版本 Centos:兼容RHCL的格式 中标麒麟:中标软件 Fedora : 每6个月发行一个新版本 ArchLinux: 轻量简洁 Gentoo : 极致性能,不提供传统意义的安装程序 LFS :Linux from scrath 自制Linux Android: kernel+busybox(工具集)+java虚拟机

3、 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。 一、 一切都是一个文件(包括硬件):一切皆文件,在Linux系统中它会把几乎所有的资源统统抽象成文件形式,当然也会包括硬件设备甚至通信接口等等。 二、 小型,单一用途的程序:小型单一,一个程序只做一件事,并把它做好。 三、 链接程序,共同完成复杂的任务:由众多的功能单一的小程序链接在一起,组合起来完成复杂的任务。 四、 避免令人困惑的用户界面:区别于windows操作系统用户界面的不稳定性,linux中尽量避免跟用户交互,系统从而稳定与快速,以编程的方式实现自动化任务。 五、 配置数据存储在文本中:linux系统都是使用文本文件的方式来保存配置信息。

4、 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。 命令的语法通用格式: #COMMAND OPTIONS ARGUMENTS Ifconfig:配置和显示网络接口的网络参数

Echo: 用于在shell中打印shell变量的值,或者直接输出指定的字符串 语法 echo(选项)(参数) 选项 -e:激活转义字符。 使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且光标移至行首; \r 光标移至行首,但不换行; \t 插入tab; \v 与\f相同; \ 插入\字符; \nnn 插入nnn(八进制)所代表的ASCII字符; 参数 变量:指定要打印的变量。

实例 用echo命令打印带有色彩的文字:

文字色:

tty命令:显示终端机连接标准输入设备的文件名称 语法: tty [-s][--help][--version] 参数: 1. -s或--silent或--quiet 不显示任何信息,只回传状态代码 2. --help 在线帮助 3. --version 显示版本信息 示例:ctrl+alt+F1-7可自由切换 。。。。

startx命令用来启动X Window,实际上启动X Window的程序为xinit。

语法 startx(参数) 参数 客户端及选项:X客户端及选项; 服务器及选项:X服务器及选项。 实例: 要在工作站上或 X 终端上启动 X 会话,请输入:startx

Export: 用于将shell变量输出为环境变量,或者将shell函数输出为环境变量 语法 export(选项)(参数) 选项 -f:代表[变量名称]中为函数名称; -n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中; -p:列出所有的shell赋予程序的环境变量。 参数 变量:指定要输出或者删除的环境变量。

实例 查看已经存在的环境变量

Pwd: 以绝对路径的方式显示用户当前工作目录 语法 pwd(选项) 选项 --help:显示帮助信息; --version:显示版本信息。 实例

History: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件 语法 history(选项)(参数) 选项 -c:清空当前历史命令; -a:将历史命令缓冲区中命令写入历史命令文件中; -r:将历史命令文件中的命令读入当前历史命令缓冲区; -w:将当前历史命令缓冲区命令写入历史命令文件中。 参数 n:打印最近的n条历史命令。

实例 使用history命令显示最近使用的10条历史命令,输入如下命令:

Shutdown: 系统关机命令 语法 shutdown(选项)(参数) 选项 -c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令; -f:重新启动时不执行fsck; -F:重新启动时执行fsck; -h:将系统关机; -k:只是送出信息给所有用户,但不会实际关机; -n:不调用init程序进行关机,而由shutdown自己进行; -r:shutdown之后重新启动; -t<秒数>:送出警告信息和删除信息之间要延迟多少秒。 参数 [时间]:设置多久时间后执行shutdown指令; [警告信息]:要传送给所有登入用户的信息。 实例 指定现在立即关机: #shutdown –h now 指定2分钟后关机,同时给出提示信息

Poweroff: 用来关闭计算机操作系统并且切断系统电源 语法 poweroff(选项) 选项 -n:关闭操作系统时不执行sync操作; -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; -f:强制关闭操作系统; -i:关闭操作系统之前关闭所有的网络接口; -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。 实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。

使用poweroff立即关闭系统: #poweroff

Reboot: 重新启动正在运行的Linux操作系统 语法 reboot(选项) 选项 -d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果; -f:强制重新开机,不调用shutdown指令的功能; -i:在重开机之前,先关闭所有网络界面; -n:重开机之前不检查是否有未结束的程序; -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。 实例 reboot //重开机。 reboot -w //做个重开机的模拟(只有纪录并不会真的重开机)。

Hwclock: 是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。 语法 hwclock(选项) 选项 --adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟; --debug:显示hwclock执行时详细的信息; --directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟; --hctosys:将系统时钟调整为与目前的硬件时钟一致; --set --date=<日期与时间>:设定硬件时钟; --show:显示硬件时钟的时间与日期; --systohc:将硬件时钟调整为与目前的系统时钟一致; --test:仅测试程序,而不会实际更改硬件时钟; --utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作; --version:显示版本信息。 实例 查看当前的硬件日期和时间

Date: 显示或设置系统时间与日期 语法 date(选项)(参数) 选项 -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; -u:显示GMT; --help:在线帮助; --version:显示版本信息。 参数 <+时间日期格式>:指定显示时使用的日期时间格式。

日期格式字符串列表 %H 小时,24小时制(00~23) %I 小时,12小时制(01~12) %k 小时,24小时制(0~23) %l 小时,12小时制(1~12) %M 分钟(00~59) %p 显示出AM或PM %r 显示时间,12小时制(hh:mm:ss %p) %s 从1970年1月1日00:00:00到目前经历的秒数 %S 显示秒(00~59) %T 显示时间,24小时制(hh:mm:ss) %X 显示时间的格式(%H:%M:%S) %Z 显示时区,日期域(CST) %a 星期的简称(Sun~Sat) %A 星期的全称(Sunday~Saturday) %h,%b 月的简称(Jan~Dec) %B 月的全称(January~December) %c 日期和时间(Tue Nov 20 14:12:58 2012) %d 一个月的第几天(01~31) %x,%D 日期(mm/dd/yy) %j 一年的第几天(001~366) %m 月份(01~12) %w 一个星期的第几天(0代表星期天) %W 一年的第几个星期(00~53,星期一为第一天) %y 年的最后两个数字(1999则是99) 实例: 格式化输出: 1秒后输出 设置时间

5、 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。 在Linux中有两种方式:内部命令:help COMMAND 外部命令:1、命令自带简要格式的使用帮助 #COMMAND ---help 2、使用手册:manual 位置:/usr/share/man #man COMMAND Man文档的章节的划分: |1|标准用户命令(Executable programs or shell commands) |2|系统调用(System calls)functions provided by the kernel |3|库调用(Library call)functions within program libraries |4|特殊文件(设备文件)的访问入口(/dev)Special files (usually found in /dev) |5|文件格式(配置文件的语法),指定程序运行特性File formats and conventions |6|游戏(Games) |7|杂项(Miscellaneous)including macro packages and conventions |8|管理命令 System administration commands |9|跟kernel有关的文件Kernel routines 6、 请罗列Linux发行版的基础目录名称命名法则及功用规定 命名的法则都是根据文件系统层级结构标准FHS: Filesystem Hierarchy Standard来规定的 /bin:所有用户可用的基本命令程序文件; /sbin:供系统管理使用的工具程序; /boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等; /dev:存储特殊文件或设备文件; 设备有两种类型:字符设备(线性设备)、块设备(随机设备); /etc:系统程序的配置文件,只能为静态; /home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME; /root:管理员的家目录;可选; /lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块 libc.so.:动态链接的C库; ld:运行时链接器/加载器; modules:用于存储内核模块的目录; /lib64:64位系统特有的存放64位共享库的路径; /media:便携式设备挂载点,cdrom, floppy等; /mnt:其它文件系统的临时挂载点; /opt:附加应用程序的安装位置;可选路径; /srv:当前主机为服务提供的数据; /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限; /usr:usr Hierarchy,全局共享的只读数据路径; bin, sbin lib, lib64 include:C程序头文件; share:命令手册页和自带文档等架构特有的文件的存储位置 local:另一个层级目录; X11R6:X-Window程序的安装位置 src:程序源码文件的存储位置 /usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序; /var:/var Hierarchy,存储常发生变化的数据的目录; cache Application cache data lib Variable state information local Variable data for /usr/local lock Lock files log Log files and directories opt Variable data for /opt run Data relevant to running processes spool Application spool data tmp Temporary files preserved between system reboots

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
	/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;