1、使用echo如何显示“The year is 2017. Today is March 5.”为两行?
2、使用printf命令如何显示“The year is 2017. Today is March 5.”为两行?
3、通过man获得帮助,创建目录
(1)在/mnt下创建boot和sysroot;
(2)在/mnt/boot下创建grub;
(3)在/mnt/sysroot下创建proc, sys, bin, sbin, lib, usr, var, etc, dev, home, root, tmp
a)在/mnt/sysroot/usr下创建bin, sbin, lib
b)在/mnt/sysroot/lib下创建modules
c)在/mnt/sysroot/var下创建run, log, lock
d)在/mnt/sysroot/etc下创建init.d
4、对今天的课程内容进行总结,并发到博客上。
3.5 随学笔记
1.网络运维需要实现的目标:安全,高效,稳定(最重要)
2.概念:不是最新的就是最好的
3.命令提示符:【root@mylab11 ~】#
root当前登录的用户账户名称
Mylab11:非完整格式的计算机名称,叫主机头名称
~:在执行命令时的当前目录(Currunt Directory),也叫工作目录(Working Directory)~符号代表用户的家目录
#:真正意义上的命令提示符
#:超级用户root
$ : 普通用户
用命令比用鼠标效率高
4.【root@mylab11 ~】# COMMAND(命令本身就是二进制文件)
5.程序一般包含四类文件:
二进制文件:可执行文件
Windows :exe(execute)msi
Linux: ELF
API:Application Programing Interface
POSIX:Portable Operating System 标准API 编程用接口
ABI:Application Binary Interface应用下的接口
头文件/库文件:
Windows: dll(动态链接库)(Dynamic Linked Library)
Linux:SO(shared object共享库)
KO(kernel object)
a (静态库)
帮助文件:使用说明书
配置文件:
6.命令的格式:
一般情况下格式:COMMAND OPTIONS ARGUMENTS[PARAMETERS]
命令之间要有空格隔开
COMMAND:想要执行的具体操作,操作主体,进程
Linux中分为两类:
内部命令:内建与shell中的命令,基础的一些shell命令,不需要借助外力
外部命令:通过安装应用程序而得到的命令,第一次执行通过PATH变量中的路径进行查 找,以后只要hash缓存中依然有缓存记录,就不会再查找PATH变量,直接查找缓存。大量的静态内容被缓存,使之加快访问,现在是一个缓存为王的时代。
使用type命令查看一个命令属于内部还是外部
OPTIONS: 此次命令执行过程中所使用的特性
短选项:
-CHAR
一次可以写多个, -a -1 -d ==》-ald(作用一样,格式不一样)
长选项:
--WORD: --help --list --human-readable
长选项不能合并书写,只能一个一个书写
注意:
1.有些选项需要额外的参数
2.有些选项可以不用-引导,有些命令的选项一定不能加-
3.有些命令的长选项使用一个
ARGUMENTS[PARAMETERS](参数):此次命令执行的操作对象
有些命令可以同时拥有多个参数,但是参数之间必须要用空白字符分隔
注意:
1 命令在书写的时候,COMMAND,CPTIONS, ARGUMENTS[PARAMETERS]之间必须使用空白字符分隔;
2 有些命令在书写时,选项和参数的位置是可以调换的
3 命令中的所有组成部分,严格区分大小写;(文件系统规定严格)
Ls File1 file1 FILE1完全不一样
获取命令的使用帮助:
[]:可以省略不写,也可以根据需要填写
<>:必须书写
...:有更多的
a|b|c:多选一
1.内部命令:
help COMMAND
外部命令:
1.使用--help选项
2.man(manual)
2. Man九章
1.用户命令(所有用户可以执行的普通命令)
2.系统调用
3.c库函数
4.设备和特殊文件
5.配置文件格式
6.游戏相关的帮助信息
7.杂项
8.管理类命令(只有root能执行的管理类命令)
9.内核相关
每个man手册中都有很多字段:
NAME:程序的名称及相关的功能介绍
SYNOPSIS:命令使用的语法格式
DESCRIPTION:程序详细信息的描述
OPTIONS:选项的用法及含义的详细说明
AUTHOR:程序的作者信息
REPORTING BUSS:报告程序中所包含的bug的方式
EXAMPLES:命令的使用范例
SEE ALSO:额外的参考内容
FILES:与程序相关的程序文件,如配置文件等
3种常用的
Whatis
Whereis
Which
练习,查找echo和printf的命令的信息
查找shutdown,useradd
使用useradd创建一个用户,qhdlink
3. Info COMMAND :获得命令的在线帮助文档
4.有很多的程序会有自带的帮助文档
/user/share/doc/APP _NAME-VERISION/
README;
INSTALL:
CHANGES:程序迭代更新的历程
5.相关网站站点中的文档信息
Wiki FAQ
6.程序的发行商的官方站点
Mysql
7.搜索引擎 Google
8.参考书籍
O,Reiley
Worx
电子工业出版社
回顾:
1.命令提示符:[用户登陆名@非完整格式的主机名 工作目录]#|$
2.命令的格式:COMMAND,CPTIONS, ARGUMENTS
3.帮助获得的方法
Linux的哲学思想
1.一切皆文件
Linux把几乎所有的资源都抽象为文件的形式,甚至连硬件,网络通讯使用的套接字以及管道都如此
文件:一组有边界的位于存储设备中的流式数据;
2.由众多功能单一的小程序组成,但是却可以实现复杂任务;
功能单一:每一个小程序只做一件事,并且要做好;
复杂任务:尽可能完美的组合多个小程序,让其功能发挥至极致;
3.尽量避免与用户进行直接交互,易于以编程的方式实现自动化任务实施;
4.使用纯文本文件来保存程序的配置信息;便于恢复与故障排查;
用平面结构管理文件效率低;
分层结构
文件系统
/:原初起点
元数据:描述文件的属性
数据:文件的内容
在文件系统中,基于文件名开有用文件,按文件名来进行存取。
在文件系统中,对于文件名有一系列的规定:
1.不能包含“/”字符;
“/”表示根文件系统
“/”表示路径分隔符
2.文件名的长度不能超过255字符;
3.在同一个位置中,文件名不能重复;
4.文件名要求严格区分大小写;
使用路径的概念来表示文件的具体位置:
路径:定位一个文件所在的位置是所经过的目录的层次结构;
路径的描述方式:
绝对路径:
一切从“/”开始查找的路径
相对路径:
从“工作目录(当前目录)”开始查找的路径
.:当前目录
..:当前目录的父目录
注意:如果顺路就用相对路径,不顺路就绝对路径;
在目标文件的绝对路径中是否包含当前目录
工作目录:e
到达m文件的绝对路径:/a/e/m,因此用相对路径更容易
./m通常.可以省略,简写为m
到达 z 文件的绝对路径:/d/k/z,因此用绝对路径更容易
../../d/k/z
家目录:每个用户登陆系统时的当前目录,也是每个用户的起始目录;~来代指
任何一个路径都可以分为两部分:
文件基名:文件本来的名字
basename
文件目录名:
dirname
HFS--层级标准
/:
bin:普通用户可以执行的普通操作命令
boot:引导操作系统启动的静态文件,包括:引导程序,内核,initramfs等
dev:device,设备
块设备:能够实现数据存放的设备,随机访问
字符设备:能够实现数据传输和数据处理的设备,顺序访问
etc:存放着主机专用的系统配置文件,
home:普通用户的家目录的根
Lib,lib64:存放共享库文件的目录,内核的模块
Media:可移动设备的挂载点
Mnt:临时的文件系统的挂载点
opt:以前是非常流行的第三方应用程序的安装目录
Root:超级用户root的家目录
Sbin:存放那些只有超级用户root能够执行的管理类命令
Srv:存放由系统提供的各种服务数据
Tmp:temperate,临时文件目录,缓存目录,每隔三十天自动清除该目录中三十日之内有访问的数据
Usr:linux系统的第二个根,主要安装应用程序;
/usr/local是第三根,主要用于编译安装第三方应用程序;
/usr/src:存放应用程序源代码
Var:可变化数据,
伪文件系统:
Proc:process,进程
Sys:System,
文件类型:
根据颜色:
黑色或白色:普通的文本文件
绿色:可执行文件
×××:设备文件
红色:包文件(压缩包,归档包,软件包)
深蓝色:目录文件
浅蓝色:符号链接文件,相当于windows快捷方式
紫色:套接字文件,用于实现网络数据传输
棕色:管道文件,进程通信
根据标记:
-:文本文件
b:块设备
c:字符设备
d:目录文件
l:链接文件
p:管道文件
s:套接字文件
使用file命令查看:非常准确的文件类型的查看方式,最靠谱的