N26-第一周
描述计算机的组成及功能。
计算机主要由运算器,控制器,存储器,输入、输出设备五大部件组成
-
运算器(Arithmetic Logic Unit, ALU):实现各种算数运算和逻辑运算(与控制器组成cpu)。
-
控制器(Control Unit, CU):计算机控制中心,根据程序规定的控制程序进行解释,根据要求进行调度,控 制协调各部分有条不紊的运行。
-
存储器(Memory Unit):存储程序以和各种数据信息。
-
输入设备(Input Device):向计算机输入各种原始数据和程序。
-
输出设备(Output Device):从计算机输出各类数据。
按系列罗列Linux的发行版,并描述不通发行版之间的联系与区别。
Debian:由伊恩默多克于1993年发起,社区支持。
-
Ubuntu:基于Debian发行版和unity桌面环境,是一个以桌面应用为主的Linux发行版。
-
Linux mint:基于Debian和Ubuntu的Linux发行版,功能强大对用户友好的操作系统。
-
KNOPPIX:采用特殊的解压缩技术,不需要硬盘安装,一张CD,就容纳了2GB的可执行程序,供用户使用。
Red Hat:Red Hat公司发行。
-
Red Hat Enterprise Linux:RHEL:Red Hat开发的商业导向的Linux发行版。
-
CentOS:(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源码规定释出的源代码所编译而成。由于出自同样的源代 码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
-
Fedora:Red Hat Linux终止发行后,Red Hat公司计划以Fedora取代Red Hat Linux 在个人领域的应用。
Slackware:Slackware Linux, Inc的Partrick Volkerding制作,力图成为“UNIX风格”的Linux发行版。
-
SUSE:德国的一个发行版,以Slackware Linux为基础。
-
OpenSUSE:前身为SUSE Linux和SuSE Linux Professional,由SUSE和其他公司赞助,OpenSUSE在全世界,尤其 是在德国被广泛使用。它的开发重心是为软件开发者和系统管理者创造适用的开放源代码的工具,并提供易于使用的桌面环境和功能丰富的服务器环境。OpenSUSE针对桌面环境进行了一系列的优化,对Linux新手较为友好。
Gentoo:基于Portage包管理系统,而拥有几乎无限制的适应特性。
-
Google Chrome OS:Google开发定位于上网本,紧凑型以及低成本电脑的操作系统,Chrome OS中大部分应用都将在Web中完成,迅速,简洁,安全是其重要特征。
Arch Linux:轻量简单,面向开发者定义,需要用户有一定的Linux环境尝试才能正确安装使用。
描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
-
一切皆文件。包括硬件设备,方便统一管理定义,就像电影中的代号47、9527超市中的蔬菜也全部是编码,便于管理。
-
小型,单一用途的程序。一个程序只实现一个功能,而且要做好,专而精,分工明确,保证Linux内核的高效运行。
-
通过连接程序共同完成复杂的功能。复杂的功能通过简单程序的组合方式完成,模块化,保证高效。如同蚂蚁的分工有兵蚁,工蚁,雄蚁,蚁后,各个分工明确,小儿精悍,共同组成庞大群体高效运作。
-
尽量避免跟用户交互。避免臃肿令人困惑的用户界面,像windows出了问题大都选择重启,实在不行就重装系统,windows并不开源且用户界面比较复杂,出了问题,除了问题一般人很难解决。但Linux不一样,首先是开源的,遇到问题可以通过简单的命令行进行排错,修改系统配置,一切以简洁明了为基础。去掉了臃肿的用户界面,让操作系统更加专业高效。
-
配置数据存储在文本中。Linux所有的配置文件都存放在文本配置文件中,无论什么配置修改都只需修改其配置文件即可,配置文件时只需任意款文本编辑器修改即可,不用像windows那样保存在注册表中,并且windows的注册表需要专门的二进制或16进制的编辑器才可编辑,修改比较复杂。
GNU/Linux核心思想即自由,分享。自由使用,自由学习,更改,自由分发,自由创建衍生版。引用一句话:“分享的责任与获取的自由”。
说明Linux系统上命令的使用格式;详细介绍ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用并配合相应的示例来阐述。
命令的的通用格式:# COMMAND OPTIONS ARGERUMENTS
-
ifconfig:配置网络接口
常见用法:
-
ifconfig [-v] [-a] [-s] [interface]
-
ifconfig [-v] interface [aftype] options | address ...
1)ifconfig不加任何参数查看网卡配置
[root@study ~]# ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.12.31 netmask 255.255.255.0 broadcast 192.168.12.255 inet6 fe80::20c:29ff:fec6:423f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c6:42:3f txqueuelen 1000 (Ethernet) RX packets 74330 bytes 5817421 (5.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 906 bytes 146063 (142.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2)ifconfig interface up|down,启动关闭制定网卡
[root@study ~]# ifconfig eno16777736 up
3)ifconfig interface ip/netmask
[root@study ~]# ifconfig eno16777736 192.168.12.56/24
-
echo:回显
常见用法:
-
-n:不进行换行
-
-e:让转义字符生效
-
echo [SHORT-OPTION]... [STRING]...
-
echo LONG-OPTION
1)echo string 可以使用引号,单引号:强引用,变量引用不执行替换。
双引号:弱引用,变量引用会被替换。
2)echo命令用于在shell中打印shell变量的值。
[root@study ~]# echo "hello world" hello world [root@study ~]# echo -n "hello world" hello world[root@study ~]# [root@study ~]# echo -e "\e[1;42mGreed Background\e[0m" Greed Background //绿色背景效果 [root@study ~]# echo '$SHELL' $SHELL [root@study ~]# echo "$SHELL" /bin/bash
-
tty:显示当前的终端
常见用法:
1)tty
[root@study ~]# tty /dev/pts/0
-
startx:启动GUI
-
export:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,这样很麻烦,在代码中先执行export,相当于告诉程序,执行某个命令需要的文件在指定的目录里。)
常见用法:
-
-f 代表[名称]为函数名称
-
-n 删除指定的的变量。变量实际上并未删除,只是不会输出到后续的指令环境中。
-
-p 列出所有的shell赋予程序的环境变量。
-
用法:export [-fnp] [名称[=值] ...]
1)export
[root@study ~]# export declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="study.centeros.vbird" declare -x LANG="zh_CN.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:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=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:*.webm=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/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin" declare -x PWD="/root" 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.12.33 64901 22" declare -x SSH_CONNECTION="192.168.12.33 64901 192.168.12.31 22" declare -x SSH_TTY="/dev/pts/1" declare -x TERM="xterm" declare -x USER="root" declare -x XDG_RUNTIME_DIR="/run/user/0" declare -x XDG_SESSION_ID="385"
-
pwd:以绝对路径的方式显示用户当前工作目录。
常见用法:
1)pwd
[root@study ~]# pwd /root
-
history:显示历史指令记录内容。
常见用法:
-
n :数字,要列出最近的若干命令列表
-
-c :将目前的 shell 中的所有 history 内容全部消除
-
-a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,则预设写入 ~/.bash_history
-
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-
-w :将目前的 history 记忆内容写入 histfiles
-
history [n]
-
history -c
-
history -d offset
-
history -anrw [filename]
-
history -p arg [arg ...]
-
history -s arg [arg ...]
1)history [n]:列出最近的n笔命令列表。
[root@study ~]# history 1 yum -y install cups cups-windows cups-libs hal-cups-util samba samba-client samba-common</strong> 2 yum -y install cups 3 ping www.baidu.com 4 yum -y install cups [root@study ~]# history 10 352 who ls 353 w ls 354 which ls 355 man 356 man history 357 history --help 358 man history 359 histroy 360 history 361 history 10
2)history [-c]:将目前shell中的所有history内容全部消除。
-
shutdown:用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。
常见用法:
[root@study ~]# shutdown -h Shutdown scheduled for 日 2017-01-22 16:28:37 CST, use 'shutdown -c' to cancel. [root@study ~]# shutdown -h now //现在就关机 [root@study ~]# shutdown -h 17:00 Shutdown scheduled for 日 2017-01-22 17:00:00 CST, use 'shutdown -c' to cancel. [root@study ~]# shutdown -c //取消操作 Broadcast message from root@study.centeros.vbird (Sun 2017-01-22 16:32:03 CST): The system shutdown has been cancelled at Sun 2017-01-22 16:33:03 CST! [root@study ~]# shutdown -r now [root@study ~]# shutdown -r +30 'The system will reboot' //30分重启钟后重启 [root@study ~]# shutdown -r +30 ‘The system will reboot’ Shutdown scheduled for 日 2017-01-22 17:19:34 CST, use 'shutdown -c' to cancel. [root@study ~]# shutdown -k now 'The system will reboot'
-
-r 关闭系统然后重新启动,类似于Windows平台restart
-
-k 模拟关机(不是真的关机),只是向登录者发送警告信息
-
-h 关机后关闭电源〔halt〕。
-
-n 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
-
-c 取消目前正在执行的关机程序。这个选项没有时间参数﹐但是可以发送一个讯息给每位使用者。
-
-f 快速关机重启动时跳过fsck。
-
now
-
hh:mm
-
+m
-
+0 现在
-
用法:shutdown [OPTIONS...] [TIME] [WALL...]
OPTION:
TIME:
-
poweroff:用来关闭计算机操作系统并且切断系统电源
-
-p
-
--reboot
-
-f
-
-w
-
-d
-
--no-wall
-
reboot:重启
-
hwclock: 用来查询和设置硬件时钟。
常见用法:
-
-r:读取并打印硬件时钟(默认)
-
-s:将硬件时钟同步到系统时钟
-
-w:将系统时钟同步到硬件时钟
option: -
--date=date_string
-
用法:hwclock [function] [option...]
function:
1)hwclock/clock
[root@study ~]# hwclock 2017年01月23日 星期一 20时19分59秒 -0.161537 秒
2)hwclock -s/w
-
date:显示或设置日期时间。
常见用法:
[root@study ~]# date +%F 2017-01-23 [root@study ~]# date +%T 21:09:16 [root@study ~]# date +%Y 2017 [root@study ~]# date +%m 01 [root@study ~]# date +%d 23 [root@study ~]# date +%H 21 [root@study ~]# date +%M 09 [root@study ~]# date +%s 1485176980 [root@study ~]# date +%S 44 [root@study ~]# date +%T%Y 21:10:092017 [root@study ~]# date "+%T %Y" 21:10:24 2017 [root@study ~]# date +%T-%Y 21:10:34-2017 [root@study ~]# date +%T-%Y-%M-%d 21:11:22-2017-11-23 [root@study ~]# date 102012302015.50 2015年 10月 20日 星期二 12:30:50 CST
-
date [OPTION]... [+FORMAT]
-
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
-
用法:
FORMAT:%F,%T,%Y,%m,%d,%H,%M,%S,%s
如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
命令分为两类,可以使用type COMMAND查看命令类型。
-
内建命令:由shell程序自带的命令(builtin)。
-
外部命令:独立的可执行程序文件,文件名即命令名。
1.内建命令使用:help COMMAND
2.外部命令使用:
1)命令自带简要格式的使用帮助:COMMAND --help
2)使用帮助手册(manual):man COMMAND
3)info COMMAND:获取命令的在线文档
4)很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
-
README:程序的相关信息
-
INSTALL:安装帮助
-
CHANGES:版本迭代时改动信息
5)主流发行版版官方文档
6)搜索引擎
使用手册:压缩格式的文件,有章节之分。在目录/usr/share/man中,分为man1-man8
-
man1:用户命令,普通用户和管理员都可以使用
-
man2:系统调用
-
man3:C库调用
-
man4:设备文件及特殊文件
-
man5:文件格式:配置文件格式
-
man6:游戏使用帮助
-
man7:杂项
-
man8:管理工具及守护进程
使用:man CHAPTER COMMAND
注意:
1.并非每个COMMAND在所有章节下都有手册
2.通过~]#whatis COMMAND查看命令在哪些章节存在
3.whatis执行过程是查询数据库进行的,如果有新命令加入需要手动更新数据库:~]#makewhatis
请罗列Linux发行版的基础目录名称命名法则及功能规定。
Linux文件系统以'/'为原初起点形成树状结构
-
/bin:所有用户可用的基本命令程序
-
/sbin:系统管理员使用的管理命令程序
-
/boot:Linux启动文件和内核文件
-
/dev:Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,访问这些外部设备与访问一个文件或一个目录没有区别
-
/etc:存放系统管理时用到的各种配置文件和子目录,例如网络配置文件,文件系统,X系统配置文件,设备配置信息,设置用户信息等
-
/home:系统默认的用户家目录(home directory)。在你新增一个使用账号时,默认的用户家目录都会规范到这里来。
-
~:代表目前这个用户的家目录
-
~:gentoo:代表gentoo这
-
/lib:系统动态共享链接库
-
/lib64:64位动态共享链接库
-
/media:便携式设备挂载点,如软盘,光盘等
-
/mnt:其他文件系统临时挂载点
-
/opt:第三方软件安装目录
-
/proc:一个虚拟文件系统,是系统内存的映射,可以通过查看该目录中的文件过去有关系统硬件运行的详细信息
-
/root:系统管理员的主目录
-
/run:有关正在运行进程的数据
-
/srv:可视为service的缩写,是一些网络服务启动之后,这些服务所需要的数据目录
-
/sys:与/proc类似,也是一个虚拟的文件系统,主要也是记录核心与系统硬件信息相关的信息
-
/tmp:公用临时文件
-
/var:用来存放那些经常被修改的文件,如系统日志,邮件文件等
-
/usr:Unix Software Resourse,用户的应用程序和目录几乎都在这个目录,类似Windows的C:\Windows\的一部分+C:Program files\