标签:linux
一、描述计算机的组成及其功能。
答: 现代计算机系统遵循冯·诺依曼体系结构,由以下部分组成:
运算器: 用于二进制算数运算和逻辑运算;
控制器: 用于控制计算机各部件协调工作,是一个调度控制中心;
存储器: 用于存储数据,通常指内存。存储参与计算的数据包括结果;
输入设备: 用于向计算机中输入数据,如键盘;
输出设备 : 将计算机计算的结果或过程显示出来,如显示器、打印机;
其中,运算器和控制器集中于CPU中,输入/出设备是计算机与人进行交互的设备。
二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
答:Linux的发行版:
slackware: (历史最悠久任活跃维护的Linux发行版)
suse (基于slackware的二次发行版,免费使用)(欧洲最流行的发行版)
opensuse (基于slackware的三次发行版)
debian:(原汁原味的版本)
ubuntu (二次发行版)(有着漂亮华丽的桌面)
mint:(三次发行版)
redhat:
rhel: redhat enterprise linux (企业版)(每18个月发行一个新版本)
CentOS:兼容rhel的格式,从新编译一次(程序社区组织维护)
fedora:每6个月发行一个新版本 (主要测试各项软件,测试是否稳定)
ArchLinux
Gentoo
LFS: Linux From scratch (这个发新版不是光盘,是第一本书,要我们自己做一个linux,指导文档而已)
Android: kernel+busybox+java虚拟机
GNU: GPLv2, GPLv3, LGPL(lesser)
Apache: apache
BSD: bsd
三、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
答: 1.一切皆文件,计算机中所有的文件目录,把几乎所有资源,包括硬件设备都组织为文件格式。
2.单一功能程序(由许许多多的小程序组成,一个程序完成一个功能,而很多小程序的组合就可以完成一个复杂的任务。)
3.文本文件保存配置信息
4.尽量避免用户交互(注:尽量不与用户交互,一个程序一旦运行,就不需要用户进行任何操作,如查看IP:ifconfig,日期:date等。)
5.提供机制,而不是策略
四、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
答:1, ifconfig:查看和配置网络设备。
ifconfig [interface]ifconfig interface [aftype] options | address ...
格式:ifconfig
如果想启用或者禁用网卡,可使用下面的命令。
up:表示启用 down:表示禁用
2, echo:回显,打印,格式化输出:
[root@localhost ~]# echo 你好 你好
-n 不换行显示(禁止自动添加换行符号。)
[root@localhost ~]# echo -n 你好 你好[root@localhost ~]#
-e 允许使用转移字符\t,\n,\b(退格),\c...;
[root@localhost ~]# echo -e ho"\b"w are you? #(b:删除前一个字符) hw are you? [root@localhost ~]# echo -e ho"\t"w are you? #(\t:插入tab.) ho w are you? [root@localhost ~]# echo -e ho"\f"w are you? #( \f:换行,但光标在停留的字符后开始。) ho w are you? [root@localhost ~]#
echo “x”:x可以是字符串,也可以是变量
3,tty:显示自己终端名,Print the file name of the terminal connected to standard input.
[root@localhost ~]# tty /dev/pts/0 [root@localhost ~]#
4,startx:切换到Xwindow界面,前提安装了图形桌面。
5,export:设置全局变量
[root@localhost ~]# export declare -x CVS_RSH="ssh" declare -x G_BROKEN_FILENAMES="1" declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="localhost.localdomain" declare -x LANG="en_US.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root" declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:" declare -x MAIL="/var/spool/mail/root" declare -x OLDPWD declare -x PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" declare -x PWD="/root" declare -x QTDIR="/usr/lib64/qt-3.3" declare -x QTINC="/usr/lib64/qt-3.3/include" declare -x QTLIB="/usr/lib64/qt-3.3/lib" declare -x SELINUX_LEVEL_REQUESTED="" declare -x SELINUX_ROLE_REQUESTED="" declare -x SELINUX_USE_CURRENT_RANGE="" declare -x SHELL="/bin/bash" declare -x SHLVL="1" declare -x SSH_CLIENT="192.168.2.45 61282 22" declare -x SSH_CONNECTION="192.168.2.45 61282 192.168.2.52 22" declare -x SSH_TTY="/dev/pts/0" declare -x TERM="xterm" declare -x USER="root" [root@localhost ~]#
6,pwd:显示当前路径
[root@localhost ~]# pwd
/root
[root@localhost ~]#
7,history:历史命令
(1),参数:
n :数字,要列出最近的 n 笔命令列表
-c :将目前的shell中的所有 history 内容全部消除
-a :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles,则预设写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w
:将目前的 history 记忆内容写入
histfiles。Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下
的.bash_history文件中。默认保存1000条,你也可以更改这个值。如果你键入 history,
history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000
个命令中的所有项目, 当然你也可以加入数字来列出最近的 n 笔命令列表。linux中history命令不仅仅让我们可以查询历史命令而已.
我们还可以利用相关的功能来帮我们执行命令。运行特定的历史命令history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号
接编号”的方式运行特定的历史命令.
①.列出所有的历史记录:
[root@localhost ~]# history 1 ll 2 ifconfig 3 halt 4 ifconfig 5 ifconfig up eth0 6 vim /etc/sysconfig/network-scripts/ifcfg-eth0 7 service network restart 8 ll 9 ifconfig 10 ping www.baidu.com 11 ll 12 yum -y install lrzsz 13 ll 14 sz -bey install.log 15 rz -bey 16 ll 17 ifconfig 18 trr 19 tty 20 date 21 ll 22 vim install.log 23 ll 24 vim install.log.syslog 25 ll 26 cd / 27 ll 28 cd /usr/local/ 29 ll 30 cd src/ 31 ll
②,只列出最近10条记录
[root@localhost ~]# history 10 61 echo -e ho"\f"w are you? 62 TTY 63 tty 64 clear 65 export 66 c;ear 67 clear 68 pwd 69 history 70 history 10 [root@localhost ~]#
③,使用命令记录号码执行命令,执行历史清单中的第60条命令
[root@localhost ~]# !60 (我第60条历史记录是 echo -e ho"\t"w are you? ) echo -e ho"\t"w are you? ho w are you? [root@localhost ~]#
④,重复执行上一个命令
[root@localhost ~]# !! echo -e ho"\t"w are you? ho w are you? [root@localhost ~]#
⑤,执行最后一次以echo开头的命令(!代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[root@localhost ~]# !echo echo -e ho"\t"w are you? ho w are you? [root@localhost ~]#
⑥.立即清空history当前所有历史命令的记录
[root@localhost ~]# history -c
8, shutdown:安全关机或重启
shutdown [OPTION]… TIME [MESSAGE]
-r:reboot 重启
-h:halt 关机
-c: 取消
-k: 提示用户关机/重启,但是不会真正的执行。
TIME的设定:
now:立刻马上
+m: m表示分钟,如+3,表示3分钟后
hh:mm 绝对的时间,指明时间来执行
9,poweroff :关闭电源
-f --force 强制重启
-n --no-sync 直接重启,不将内存的数据写入磁盘
10,reboot :重启
正常重启
11,hwclock:系统硬件时间,也是COMS电池不间断供电,是计算机时间不再断电情况下恢复出场时间。
[root@localhost ~]# hwclock Sun 14 Aug 2016 08:50:59 AM EDT -0.438195 seconds [root@localhost ~]#
选项:-s –hctosys:以硬件时间为准,来调整系统时间
-w –systohc:以系统时间为准,来调整硬件时间。
12,date:显示date
[root@localhost ~]# date Sat Aug 6 23:41:41 EDT 2016 [root@localhost ~]#
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date+[potions]+[+Format]
%Y 年
%m 月
%d 日
%D 月/日/年
%F 日期
%T 时间
%H 时
%M 分
%S 秒
%a 短星期
%A 长星期
设置日期格式date
date [YYMMDDhhmm[[CC]YY][.ss]]
MM 月
DD 日
hh 时
mm 分
YY 短年
CCYY 长年格式
.ss 秒
五、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
答,1.help+COMMAND
2.COMMAND+--help(-h)
3.man+COMMAND
4.info+COMMAND
5.程序自身的帮助文档:/usr/share/doc/COMMAND.VERSION
6.查看程序官方文档
7.发行版的官方文档
8.Google,百度
man手册页各节及内容
man1 用户命令及应用程序
man2 系统调用和内核出错代码
man3 库调用
man4 设备驱动程序和网络协议
man5 标准文件格式
man6 游戏和演示
man7 各种文件和文档
man8 系统管理命令
man9 含糊的内核规范和接口
六、请罗列Linux发行版的基础目录名称命名法则及功用规定
答:1./:根
2./boot/:系统启动目录,内核文件vmlinuz,引导文件,启动加载器boot loader,grub(开机设置文件相关);
3./root/:root用户家目录;
4./home/用户名:普通用户家目录;
5./bin/:一般命令存放目录;
6./sbin/:开机或单用户模式还能操作的命令;
7./etc/:配置文件存放目录,init.d下存放了各种软件的启动脚本;
8./dev/:任何设备与接口设备都是以文件的形式存放在此目录,通过访问目录下的文件,就等于访问某个设备,这就相当于是设备的入口,类似有/dev/null,/dev/zero,dev/tty,/dev/sd*,/dev/lp*,/dev/hd*等设备文件;
9./lib/:基本共享库,内核模块文件/lib/modules;
10./lib64:专用于x86_64系统上的辅助共享库文件存放位置;
11./usr/:Unix Software Resource,Linux系统安装完成软件的默认安装目录。相当于Windows下的C:\Windows\和C:\Program files\两个目录的综合。/usr/的子目录包括:
①./usr/bin/用户可使用命令
②./usr/include/包含文件
③./usr/lib/软件的函数库,目标文件以及不被一般用惯用的执行文件或脚本。
④./usr/sbin/非系统正常运行所需的系统命令。
⑤./usr/local/本地软件或用户安装的软件目录
⑥./usr/share/放置共享文件的目录,其中有/usr/share/man在线帮助文档,/usr/share/doc软件杂项文档说明,/usr/share/zoneinfo与时区有关的时区文件。
⑦./usr/src/一般源码置位置。
12./var/:常态性变动的文件,包括缓存(cache)、登录文件(log file)以及某些软件运行所产生的文件,包括程序文件(lock file,run file),也许有MySQL数据库的文件等。/var/的子目录包括:
(1)./var/lib
(2)./var/cache程序运行过程中产生的缓存文件
(3)./var/lock锁文件
(4)./var/log日志文件
(5)./var/run
(6)./var/mail邮件
(7)./var/spool程序数据池
①./var/spool/cron
②./var/spool/mail
③./var/spool/mqueue
④./var/spool/lpd
13./opt/:第三方软件安装目录
14./mnt/:临时挂载目录
15./media/:如cdrom,floppy等暂存媒体;
16./sys/:属于虚拟文件系统,内存中的数据,如内核、文件系统等。
17./proc/:属于虚拟文件系统,内存中的数据,如内核、程序进程、外部设备的状态,网络状态等,处于动态变化中。
18./srv/:service,一些网络服务启动后,这些服务所需要取用的数据目录。常见的服务有关www,FTP等,不同服务在不同的子文件夹中。
19./tmp/:临时存放目录,所用用户都能访问,
20./selinux/
21.Lost+found当文件发生错误时,将一些丢失的片段放置到这个目录下。
马哥2016全新Linux+Python高端运维班第一周作业
标签:linux
原文地址:http://9693009.blog.51cto.com/9683009/1837766