朗科学习期间心得笔记(一)
(一)
1.完整的操作系统由内核(kernel)和应用(application)组成。
linux内核版本由 主版本号+次版本号+小改动
(注:在2.X的版本奇数代表测试版偶数代表稳定版)
可在 http://www.kernel.org 此网站内获取内核源代码。
内核的主要功能有:驱动硬件、资源分配、进程管理、文件系统管理、安全防护等。
应用分为:API和ABI两种。
API:application programing,应用编程接口。
ABI:application binary interface,应用二进制接口。
linux系统中的应用程序一般由四部分组成:二进制文件、库文件头文件、配置文件、帮助文件。
2.虚拟化
虚拟化为将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术。
虚拟化网络:
桥接网络:让虚拟机和物理机利用物理网络接口完成通信。
仅主机网络:让虚拟机和物理机利用被虚拟出来的VMNET1网路接口完成通信,通信 被限定在当前物理主机内部。
3.命令
命令提示符:[root@localhost ~]#
Root:当前成功登陆系统的用户账户名称
local host:当前主机名称的主机名部分
~:当前用户操作时的工作目录,~意思是家目录。
#:用户身份提示符:#表示超级用户身份,$表示普通用户身份
命令的格式:命令(command)+ 选项(options) +参数(argument)
Command:本次向要执行的操作,想要发起的进程。
内部命令:也叫内建命令,直接内建于SHELL的命令
外部命令:通过安装某些应用程序而安装的命令
Options:修正命令的执行效果的组成部分
短选项:-CHAR(字符),某些特殊的命令还有特殊的短选项:+char(字符)
当同时使用多个短选项时可以将其合并书写:-a,-b,-c ===> -abc
长选项:--WORD(单词)
注意:1.当一个命令中同时有多个长选项时,不可以合并书写。
2.有些选项,其选项本身也需要参数。
3.有些特殊的命令在写选项时可以不写“-”,有些特殊的命令,在写选项时,一定不写“-”
4.有些特殊命令的长选项,只能使用一个“-”
Argument(parameters):此次执行的命令的操作目标对象
注意:1.有的命令无需写参数
2.有的命令必须写参数
3.有的命令必须要写多个参数
对应整个命令格式:
注意:
1.在书写命令的时候,command,options,argument,之间必须使用至少一个空白字符进行分隔。
2.有些命令在执行的时候,options和argument可以互换位置。
3.由于文件系统的限制,导致命令中的command,options,argument必须区分大小写。
4.获取命令使用帮助的几种方法
1.man: 针对于外部命令的帮助手册
man九章:1.用户命令(所有用户都可以执行的命令)
2.系统调用
3.C库调用
4.设备和特殊文件
5.配置文件格式
6.游戏相关的帮助信息
7.杂项
8.系统管理类命令
9.与内核相关的帮助信息
在每个man手册中都常见到的一些字段
NAME:程序的名称及相关的功能简单描述
SYNOPSIS:命令使用的语法格式
DESCRIPTION:程序的详细写描述信息
OPTIONS:选项的用法和选项的含义的详细说明
AUTHOR:程序的作者信息
EXAMPLES:命令程序使用范例
REPORTING BUGS:报告程序中所包含的BUG的方式,通常是电子邮件
SEE ALSO:额外参考的内容
FILE:与该程序相关的其他的文献资料,如配置文件,README文档等
在帮助信息中可能出现的一些特殊符号的意义:
[]:可以省略不写,也可以根据需要选择使用
{}:在花括号中一般包含竖线“|”,表示从所有项目中必须选择而且只能选择一个来使用,“|”有或者的意思
<>:必须书写内容
...:可以有更多内容
区分内部命令和外部命令的方法:
#Type command
查找结果中显示为“内嵌”或者“buildin”字眼的,则为内部命令,其余的结果都是外部命令。
内部命令的帮助获取不适用man手册,而使用help命令:
# Help BUILDING_COMMAND
2.使用whereis命令获得帮助:
可以查看程序的二进制文件、源代码文件及帮助手册所在位置。
3.whatis命令
可以获取被匹配到的命令的手册页描述信息
4.which命令
可以显示命令的别名的定义方式和命令的二进制文件路径
5.info命令:
Info COMMAND
获取命令的在线帮助文档
6.有很多的程序有自带的帮助文档:
/usr/share/doc/APP_NAME-VERSION/README
RAADME:程序相关信息
INSTALL:程序的安装信息
CHANGES:程序的版本更迭的历程相关的信息
LICENSE:程序所遵循的许可证类型
7.搜索引擎:
Kernel filetype :pdf
8.相关的网站站点中的文档信息:
9.程序的发行方的官方站点提供的官当文档;
10.参考书籍:O’Reiley、Wrox(出版社)
5.简单的系统管理类命令。
注销:退出登录
exit、logout、Ctrll+d;
重新引导:将运行于内存中的所有进程关闭,关闭系统内核,对于所有的计算机部件进行重新通电,加载内核,启动应用程序,打印登陆提示符。
Reboot、Shutdown -r #|now|time、init6;
#:数字,表示相对时间,即#分钟后重新引导
Now:现在,立即重新引导,相当于#=0
Time:12:00
关闭系统:将运行于内存中的所有进程关闭,关闭系统内核,对于所有的计算机部件断电。
halt 、poweroff 、 init 0、shutdown -h #|now|time;
6.Linux的哲学思想。
一切皆文件
Linux把几乎所有的数据和资源都抽象(虚拟)成文件的形式,甚至包括硬件,网络通信设备所使用的套接字以及管道都是如此。
文件:一组有边界的位于存储设备中的流式数据;
2.由众多的功能单一的小程序组成,可以实现复杂任务;
功能单一:每个小程序只做一件事,只实现一个功能。并且要做到最好;
复杂任务:可以根据我们的业务逻辑或业务类型,尽可能完美的组合多个小程序,使多个小程序相辅相成,将功能发挥至极致。
3.尽量避免与用户直接交互:
在程序化、系统化、平台化和自动化的运维空间中,人是及其易出错的一个环节;尽量避免与用户直接交互,可以尽可能地保证结果的准确性和过程的高效性。易于编程的方式实现自动化任务的实施。
4.使用纯文本文件来保存程序的配置信息:
在程序出现错误,或者执行不畅的时候,可以使用文本编辑工具分析程序的错误原因,而不必依赖于二进制文件;
7.文件系统。
文件是分成两部分来存放:
源数据:描述文件的属性
数据:文件的内容
分层编址方式:
在文件系统中,基于文件名引用文件,按名来进行文件存取。
在文件系统中,对于文件名有一系列的规定
1.文件名不能包含“/”字符,“/”:表示跟文件系统,根文件系统是linux文件的原初起点,还表示路径的分隔符。
2.文件名的长度不能超过255字符
3.在同一个位置,文件名不能重复使用。
4.文件的名称严格区分大小写
文件系统使用路径的概念标识文件的位置:所谓路径,就是定位一个文件所在的位置时,所必需经过的目录的层次结构的集合
文件系统中路径的描述方式:
绝对路径:一切以“/”开始查找的路径
相对路径:一切以“当前工作目录”开始查找的路径;
“.”:表示当前工作目录
“..”:表示当前工作目录的父目录(上一级目录)
因此一切以“.”或“..”开始查找的路径,叫做相对路径,而且在使用“.”表示当前工作目录的时候可以省略。
如何选择路径?选择绝对路径还是相对路径?
如果在查找文件时,目标文件和当前目录不顺路就使用绝对路径,如果顺路就是用相对路径。
顺路指的是:当前工作目录被包含在绝对路径中;
家目录:每个用户在登陆系统时默认的当前工作目录;也是每个用户的起始目录;也成为“HONE directory”
任何一个路径其实都是由两部分组成:
文件的基名:
Basename
文件的目录名:
Dirname
FHS:文件系统的层及标准
bin :binary 所有用户(包括普通用户)可以执行的普通操作命令
boot:引导操作系统启动的静态文件,包括:引导程序,linux内核,intramf等
dev:device,设备
块设备:block device,随机访问,指的是能够实现数据存放的设备
字符设备:character device,顺序访问(线性访问),指的是能够实现数据传输和数据处理功能的设备;
etc :external text configure,存放主机中各应用程序的配置文件
home:普通用户的默认家目录的根
lib、ib64:library,存放应用程序共享库的目录,内核的模块
media:可移动设备的挂载点
mnt:临时文件系统的挂载点
opt:optional,可选的,以前此目录是非常流行的第三方应用程序的安装目录
proc:
root:root用户的家目录
run:保存一些进程的PID文件,
sbin:super binary,存放那些只有超级用户ROOT能够执行的系统管理类的命令
srv:存放有系统提供的服务数据
sys:
tmp:temporary,临时文件的目录,系统每30天会自动清理该目录中的在30天以上没有访问过的文件
usr:usual system root,linux系统的第二个跟;现在主要用于安装第三方应用程序;
/usr/local:第三根,主要用于通过编译源代码的方式安装第三方应用程序;
/usr/src:存放第三方应用程序的源代码;
var:variable,变量,存放可变化的数据,数据库类的文件;
伪文件系统:其中存放的是内存中的数据,通过操作系统映射的文件
proc:process,进程
sys:system,
文件类型:
根据有颜色区分文件类型:
黑色或白色:普通文本文件,regular file;
绿色:可执行文件,命令;
黄 色:设备文件,包括块设备和字符设备
红色:包文件,包括:软件包,压缩包,归档包等;
深蓝色:目录文件
青蓝色:符号链接文件,相当于windows系统中的快捷方式;
紫色:套接字文件;
棕色:管道文件
根据文件类型的标记区分文件类型:
-:普通文件
b:块设备文件
c:字符设备文件
d:目录文件
l:符号链接文件
p:管道文件
s:套接字文件
准确的区分文件类型:
file命令
# file /PATH/TO/SOMEFILE
8.常用的命令的使用方法。
1.echo(printf)
echo - display a line of text
常用选项:
-n:不换行
-e:使用\所引导的转义序列生效
\n:换行
\t:水平制表符
2.cd
change the shell working directory,切换工作目录。
cd: cd [-L|-P] [dir]
cd:cd /PATH/TO/SOMEDIR:将工作目录切换至参数所代表的目录;
cd:将工作目录切换至当前登录用户的家目录;相当于cd ~;
cd -:将工作目录切换至此前最后一次的工作目录;
Shell 提供了两个变量:
PWD:当前工作目录
OLDPWD:旧的当前工作目录
注意,在shell中获取变量值的方法:变量名严格区分大小写
echo ${VAR_NAME}
cd ~USERNAME:将工作目录切换至指定用户的家目录中;
3.pwd
Print the name of the current working directory,
4.ls
list directory contents
注意:目录的内容是文件名;
ls [OPTION]... [FILE]...
在linux的文件系统中,所有以“.”作为文件名的起始字符的文件,都是隐藏文件;
常用选项:
-a,--all:显示所有文件,包括隐藏文件;
-A, --almost-all:除了“.”和“..”之外的所有文件,包括隐藏文件
--color[WHEN]:以不同的颜色显示结果
-d, --directory:显示目录本身,而不是目录中的文件名
-h, --human-readable:在现实文件大小的时候,显示为更加易读的格式;通常与-l一起使用
-l :使用长的列表格式显示文件属性
例:- rw------- . 1 root root 1458 12月23 2016 文件名
-:表示文件类型
rw----------:文件的权限位设置
.:表示该文件是否具有特殊属性或扩展属性
1:表示该文件被硬链接的次数
root:文件的所有者
root:文件的属组
1458:文件的大小,在没有使用-h选项时,其单位为字节
12月23 2016:表示文档的时间戳之一,表示最后一次被修改的时间
对于设备文件:
~]# ls -l /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 9月 24 22:27 /dev/sr
11,0:major,minor
major:主设备号,用于标识设备类型,进而确定需要加载何种驱动程序
minor:次设备号,用于标识同一种设备类型中的不同的装备
设备号默认使用8位二进制表示,所以默认的设备号的范围是0-255;
-r:倒序输出结果
-R,--recursive:递归显示,如果目标目录中有子目录,则递归显示子目录的内容,依次递归下去
-Z, --context:显示文件的SELinux安全上下文标签
5.mkdir:
mkdir - make directories
mkdir [OPTION]... DIRECTORY...
-p, --parents:在创建目录的时候,如果其父目录不存在,则优先创建之;
-v, --verbose:为每个被创建的目录显示一条信息
6.rm
rm - remove files or directories
rm [OPTION]... FILE...
-f, --force:暴力,强制删除
-r, -R, --recursive:递归删除目录及目录中的内容
一般不会使用rm命令,避免错误删除后没办法恢复;一般使用mv命令代替rm命令移除文件,并起到误删恢复的作用;
转载于:https://blog.51cto.com/holmes975/1971846
朗科学习期间心得笔记(一)相关推荐
- 朗科学习期间心得笔记(九)
bash脚本编程的结构: bash脚本编程语言: 脚本类语言 解释型语言 过程式编程语言 过程式编程语言的结构: 顺序执行结构:从上到下,从左向右的执行所有语句(命 ...
- 朗科学习期间心得笔记(二)
基本命令: 7.touch:修改文件的时间戳. change file timestamps(如果文件不存在就会创建该文件) 常用选项: -c,--no-create;不创建任何文件 -a;仅修改文件 ...
- 朗科学习期间心得笔记(三)
vi编辑器:全屏文本编辑器 vi:visual interface,可视化界面: S.U.N:bill joy, vim相对于vi有更多的新特性: 1.语法着色显示: 2.更多的命令: 3.历史纪录: ...
- 朗科实习期间心得笔记(七)
bash多命令执行方法: 1.命令替换 COMMAND1 $(COMMAND2) 2.管道 COMMAND1 | COMMAND2 | COMMAND3 .... ...
- 朗科实习期间心得笔记(八)
其他的文本处理命令: wc命令 cut命令 在文件的每一行中提取片断 注意:能够被cut命令修剪的文本文件或数据内容,一般是具有某种特定格式或结构的文本文件或数据内容:如: ...
- 朗科实习期间心得笔记(六)
与用户账户和组账户相关的文件: /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/default/useradd /etc/login.defs ...
- 朗科实习期间心得笔记(五)
bash特性 十二.bash变量 变量:一段有名称的连续的内存空间:这段内存空间的名称,称为变量名,在这段内存空间中存储数据,则称为变量值: 向内存空间(变量)中存储数据的过程,称为赋值操作:赋值的符 ...
- 朗科实习期间心得笔记(四)
SHELL: 用户与操作系统之间完成交互式操作的一个接口程序,为用户提供简化了的操作. 上世纪70年代中期,Bell实验室,由bourne开发,bourne shell,简称sh: Bill ...
- JAVA基础学习精简心得笔记整理
JAVA基础学习精简心得笔记整理 配置java环境变量 Java的运行过程 基本数据类型 引用数据类型 逻辑运算符 数组 方法重载 封装 继承 多态 多态的作用 单例设计模式 接口interface ...
最新文章
- Cocos Creator 音频文件Audio的绑定与使用(TypeScript)
- 重要通知:招募200程序员,免费培训金融知识,不限年龄,有意者进!
- php点击按钮后弹窗,如何在静态页添加按钮,点击时弹出功能界面
- 《Elasticsearch in Action》书评与作者访谈
- VC++ 常用编程技巧总结
- R语言实战应用精讲50篇(十三)-如何使用JAVA调用R语言,两种语言的完美结合
- 全球及中国数字电视产业盈利模式及发展动态建议报告2021-2027年
- 使用 KubernetesClient 操作 kubernetes
- 论文排版怕翻车?这个排版神器是时候用起来了!
- 我们来判断一个php函数是否被定义
- 数据挖掘:特征提取——PCA与LDA
- DODAF2.0之能力视角如何落地
- Hadoop环境搭建学习之Hive(4)
- 70 个数据分析常用网址!
- python运用ico图标,处理Django中的favicon.ico图标实例方法
- 12 个追地铁的人:照亮生活的一次追逐
- java连接twitter登录,android中接入twitter进行第三方登录
- Java烤地瓜简单小案例
- Windows环境下安装OpenCV-Python 完美解决:找不到指定模块(dll缺失)
- 如何将数据导入python
热门文章
- [阅读笔记] 机器人隐私保护研究综述 ICRA - Enhancing Privacy in Robotics via Judicious Sensor Selection
- ActionScript 基础
- vue中父子组件先后渲染_vue父子组件钩子函数的执行顺序
- 南大学报 计算机科学 哪个好,南大核心学报比较好中的期刊
- 解决IDEA控制台中文乱码问题(Tomcat、动态网页项目)
- 自媒体文章标题怎么写?4个自媒体原创技巧
- VBA操作CAD画300个大小不同颜色不同的圆圈
- i7 7700k可以装linux吗,2018年自己组装电脑教程:intel七代I7-7700K/Z270核显装机教程...
- 网络编程:1. 网络IO与select
- 云服务器1M带宽是什么意思,购买服务器时带宽怎么选择?