1.描述计算机的组成及其功能
CPU,输入,输出,内存(memory),存储器(外存,磁盘)
这种结构称为: 冯诺依曼 机
2.按系列罗列Linux 的发行版,并描述不通发行版之间的联系和区别.
操作系统发展史:
day01#lesson03
day01#lesson04
什么是Linux发行版(Linux distribution)?
GNU组织发布的都是源代码,想使用就需要将源码编译成二进制.但是过程复杂.
所以有不同维护者或组织,来进行编译成二进制.这就是发行版.所以发行版种类很多.
Linux 发行版 = Linux 内核(Kernel) + 众多软件工具(Application).
三大分支:debian,Slackware,RedHat
Debian:
-
Ubuntu
-
Knopix
Slackware:
-
S.u.S.E
-
OpenSUSE
RedHat:
RedHat 9.以后分为RedHat Enterprise Linux:RHEL 和Fedora Core
-
RedHat Enterprise Linux:RHEL
-
Centos:Community Enterprise OS : 可以看做是RedHat的山寨版.
-
Fedora Core:每6个月发行一个版本.
linux发展史:https://zh.wikipedia.org/wiki/Linux历史#.E5.A4.A7.E4.BA.8B.E5.B9.B4.E8.A1.A8
linux发行版分支时间线:
https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg?uselang=zh-cn
下载:https://commons.wikimedia.org/wiki/File:Linux_Distribution_Timeline.svg?uselang=zh-cn
Linux内核:https://www.kernel.org/
3.描述Linux的哲学思想,并按照自己的理解对其进行解释
1.一切皆文件 把几乎所有资源都抽象为文件形式,包括硬件设备,设置通信接口. open().read(),write(),close(),delete(),create()
2.由众多功能单一的程序组成,一个程序只做一件事.并且做好.
3.尽量避免和用户交互 易于以编程的方式实现自动化任务.
4.使用文本文件保存配置信息 文本是最容易实现的底层接口,可以用简单的编辑器就可以操作.
文件是什么?众多的文件如何有效的组织起来?
目录:路径映射.
文件:存储空间存储的一段流式数据,对数据可以做到按名存取.
文件系统: 层级结构,有索引.
/: 原始初起点.
倒置树状结构;
如:/dev/pts/2
最左侧/:表示根路径
其他的/:表示路径分隔符
Linux路径分隔符是/
windows是
文件路径表示:
绝对路径:从根表示的路径
相对路径:从当前位置表示的路径
文件名使用法则:
严格区分字符大小写:file1,File1 ,FILE1 是不同的.
目录也是文件,同一路径下,文件不能同名
支持/以外的任意字符.
最长不超过255字符.
用户有家目录:
用户的起始目录,普通用户管理文件的位置.
工作目录:
basename : 最右侧的文件名或目录名
dirname:basename左侧的路径
命令:
~]# basename 文件路径或目录路径/PATH/TO/SOMEFILE
SOMEFILE
~]# dirname 文件路径或目录路径/PATH/TO/SOMEFILE
/PATH/TO
4.说明Linux系统命令的使用格式,详细介绍ifconfig,echo,tty,startx,export.pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用,并配合相应的示例阐述.
day02#lesson03
[root@nodel ~]# COMMAND
prompt:
root:当前登录的用户
nodel:当前主机的主机名.非完整格式
~ :用户当前所在的目录,也成为工作目录
#:命令提示符
#:管理员账号,为root,最高权限,能执行所有操作
$:普通用户.非root用户.不具有管理权限,不能执行系统
Linux命令的语法通用格式:
# COMMAND OPTIONS ARGUMENTS
COMMAND :
发起命令:请求内核将某一个二进制程序运行为一个进程.
程序–>进程
静态–>动态(有生命周期)
命令本身是一个可执行的程序文件:二进制的格式的文件,有可能会调用共享库文件:
多数系统程序文件都存放在:
/bin, /sbin, /usr/bin, /usr/sbin , /usr/local/bin , /usr/local/sbin
普通命令:/bin, /usr/bin, /usr/local/sbin
管理命令:/sbin , /usr/sbin , /usr/local/sbin
共享库: /lib , /lib64 , /usr/lib , /usr/lib64 , /usr/local/lib , /usr/local/lib64
32bits的库: /lib , /usr/lib , /usr/local/lib
64bits的库: /lib64 , /usr/lib64 , /usr/local/lib64
注意:并非所有的命令都有一个在某目录下对应的的可执行文件
命令必须遵循特定格式规范:windows(exe,msi) , linux(ELF)
查看文件类型:
~]#file 文件路径
命令分为两类:
由shell程序的自带的命令:内置命令(builtin)
独立的可执行程序文件,文件名即命令名:外部命令
shell程序是独立的程序,负责解析用户提供的命令:
环境变量:
PATH:从哪些路径中查找用户键入的命令字符串对应的命令文件:(查找顺序,从左往右)
~]# echo $PATH
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查看命令类型:
type COMMAND
OPTIONS:
指定命令的运行特性;
选项有两种表现形式:
长选项: –word ,如:–help , –human -readable
长选项 不能合并
短选型:-C 如:-l , -d
有些命令选项没有-
如果多个短类型选项可以进行合并,-l -d –> -ld
ARGUENTS:
命令作用的对象,就是命令对什么有效.
不同的命令参数:有些命令可以同时带多个参数,多个参数之间已空白字符分隔
如:
~]# ls -ld /var /etc
常用命令:
ifconfig,echo,tty,startx,export.pwd,history,shutdown,poweroff,reboot,hwclock,date
ifconfig:
查看IP地址:
ifconfig或ip addr show
echo:
echo 回显
echo [SHORT-OPTION]… [STRING]…
echo LONG-OPTION
-n do not output the trailing newline 不加换行符
-e enable interpretation of backslash escapes 让转义生效
\n:换行
\t :tab键,制表符
STRING可以使用引号,
单引号:强引用.变量不执行替换
双引号:弱引用 , 变量会被替换
注意:变量正规引用使用${name}
tty:
查看当前设备终端
[root@localhost ~]# tty
/dev/pts/0
startx:
启动桌面程序.
centos7 最小化安装的话,没有桌面应用.可以参考如下方式安装,
http://unix.stackexchange.com/questions/181503/how-to-install-desktop-environments-on-centos-7
使用xshell远程ssh连接可能启动不了桌面.
export:
将shell变量输出为环境变量,或者将shell函数输出为环境变量。
pwd:
printing working directory
显示工作目录
history:
命令历史:shell进程会其会话中保存此前用户提交执行过的命令;
~]# history
定制history的功能,可通过环境变量实现:
HISTSIZE:shell进程可保留的命令历史的条数;
HISTFILE:持久保存命令历史的文件;
.bash_history
HISTFILESIZE:命令历史文件的大小;
eg:
[root@localhost ~]# echo $HISTSIZE 1000 [root@localhost ~]# echo $HISTFILE /root/.bash_history [root@localhost ~]# echo $HISTFILESIZE 1000
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 参数 [参数…]
-c: 清空命令历史;
-d offset:删除指定命令历史, 如 history -d 10 2 删除第10条历史
-r: 从文件读取命令历史至历史列表中;
-w:把历史列表中的命令追加至历史文件中;
history n:显示最近的n条命令;
调用命令历史列表中的命令:
!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;
注意:命令的重复执行有时候需要依赖于幂等性;
调用上一条命令的最后一个参数:
快捷键:ESC, .
字符串:!$
控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令;
ignorespace:忽略以空白字符开头的命令;
ignoreboth:以上两者同时生效;
修改变量的值:
NAME='VALUE'
shutdown:
关机或重启命令;
shutdown [OPTIONS…] [TIME] [WALL…]
OPTIONS:
-h : halt
-r:重启
-c:取消
TIME:
now
hh:mm : 指定时间
+m: 几分钟后
WALL:发送广播
poweroff:
关机命令:
Centos 7:
~]# systemctl poweroff
~]# systemctl reboot
*:
~]# poweroff
~]# reboot
~]# halt
reboot:
重启;
hwclock:
hwclock – query or set the hardware clock (RTC)
查询或设置硬件时钟
hwclock [function] [option…]
option:
-s : –hctosys : 已硬件为准,把系统调整为与预硬件时间相同
-w : –systohc : 已系统为准,把硬件调整为与系统时间相同
-
1[root@localhost ~]# date
-
2Mon Sep 19 16:38:51 EDT 2016
-
3[root@localhost ~]# hwclock
-
4Mon 19 Sep 2016 01:39:12 PM EDT –0.532864 seconds
-
5[root@localhost ~]# hwclock -s
-
6[root@localhost ~]# date
-
7Mon Sep 19 13:39:46 EDT 2016
date:
显示日期时间:
date [OPTION]… [+FORMAT]
FORMAT:格式符
%F full date; same as %Y-%m-%d
%T time; same as %H:%M:%S
%Y year
%m month (01..12)
%d day of month (e.g., 01)
%H hour (00..23)
%I hour (01..12)
%M minute (00..59)
%S second (00..60)
%s seconds since 1970-01-01 00:00:00 UTC //时间戳
-
1[root@localhost ~]# date
-
2Mon Sep 19 13:02:31 EDT 2016
-
3[root@localhost ~]# date +%F
-
42016–09–19
-
5[root@localhost ~]# date +%T
-
613:09:08
-
7[root@localhost ~]# date +'%Y-%m-%d %H:%M:%S'
-
82016–09–19 13:11:01
-
9[root@localhost ~]# date +%s
-
101474305077
设定日期时间:
date [MMDDhhmm[[CC]YY][.ss]] //月日小时分钟年份(2位或4位).秒钟
-
1[root@localhost ~]# date 101008082013.08
-
2Thu Oct 10 08:08:08 EDT 2013
-
3[root@localhost ~]# date 0919161916.08
-
4Mon Sep 19 16:19:08 EDT 2016
5.如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的,
day02#lesson03
获取命令的帮助:
内部命令:
help COMMAND
外部命令:
1.命令自带简要格式的使用帮助
~]# COMMAND –help
2.使用手册
位置: /usr/share/man
-
1[root@localhost ~]# ls /usr/share/man
-
2cs es id ko man1p man2x man3x man5 man6x man8 man9x pt sk zh_CN
-
3da fr it man0p man1x man3 man4 man5x man7 man8x mann pt_BR sv zh_TW
-
4de hu ja man1 man2 man3p man4x man6 man7x man9 pl ru tr
~]# man COMMAND
man 帮助文档结构:
SECTION: NAME:功能性说明
SYNOPSIS:语法格式
DESCRIPTION:描述
OPTIONS:选项
EXAMPLES:示例
AUTHOR:作者
BUGS:报告陈谷BUG的方式
SEE ALSO:参考
…等等
SYNOPSIS:语法格式
[] : 可选内容
<>:必须
a|b|c : 多选一
… :同类内容可以出现多个.
使用手册:压缩格式的文件,有章节之分
1.用户命令
2.系统调用
3.C库调用
4.设备文件和特殊文件
5.文件格式(配置文件格式)
6.游戏使用帮助
7.杂项
8.管理工具和守护进程
~]# man CHAPTER COMMAND 查找指定章节下手册
并非每个COMMAND在所有章节下都有手册
查看:
~]# whatis COMMAND
[root@localhost ~]# whatis passwd
sslpasswd (1ssl) – compute password hashes
passwd (1) – update user's authentication tokens
注意:其执行过程是查询数据库进行的.
手动更新数据库:
~]# make whatis
man命令打开手册的操作方法:
翻屏:
空格行:向文件尾翻一屏
b:向文件首部翻一屏
Ctrl+D:向文件尾翻半屏
Ctrl+u:向文件首翻半屏
回车:向文件尾翻一行
k:向文件首部翻一行
G:跳转到最后一行
#G:跳转到指定行
1G:跳转至文件首部
查找:
/keyword:从首部向尾部查找,不区分大小写
?keyword:从尾部向首部查找
n:与查找命令方向相同
N:与查找命令方向相反
退出:
q:退出
man命令的选项:
-M /PATH/TO/SOMEDIR 到指定目录下查找命令手册并打开
3.info COMMAND
获取命令的在线文档
4.应用自带的帮助文档
/usr/share/doc/APP-VERSION
5.主流发行版的官方文档
如:
6.程序的官方文档
7.搜索引擎
google
关键字 filetype:pdf //查找pdf
关键字 site:域名 //查找某个域名下面的资料
推荐书籍:google hacking技术手册:
http://down.51cto.com/data/1867431
http://www.hicode.cn/download/view-software-19272.html
6.请罗列Linux发行版的基础目录名称命名法及功用规定
FHS:
Filesystem Hierarchy Standard : 文件系统层级标准
-
1[root@localhost ~]# ls /
-
2bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
-
3
/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件;
-
设备有两种类型:字符设备(线性设备)、块设备(随机设备);
/etc:系统程序的配置文件,只能为静态;
/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
/root:管理员的家目录;可选;
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块
-
libc.so.*:动态链接的C库;
-
ld*:运行时链接器/加载器;
-
modules:用于存储内核模块的目录;
/lib64:64位系统特有的存放64位共享库的路径;64位特有
/media:便携式设备挂载点,U盘,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设备提供一种统一模型的的接口;
/sys参考:
https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
FHS参考:
http://www.pathname.com/fhs/
http://www.pathname.com/fhs/pub/fhs-2.3.html
原创文章,作者:luoluo,如若转载,请注明出处:http://www.178linux.com/48078
评论列表(1条)
看的出来很用心,写的很好,多注意一下排版的问题