马哥笔记(未整理)


RH442:硬件运行的基本原理和操作系统的基本原理。
软件调优:
硬件级别:调内存的使用,sishi的使用。
基础知识很重要。
学习新知识的
RAM:random-access memory随机存取存储器。
ROM:read-only memory 只读存储器。
CPU:处理器、控制器、寄存器
外围设备通过不停地中断,来和计算机进行沟通。
前端总线:FSB:
南桥设备:距离CPU比较近,低速总线控制器,早期是连接大量I/O设备:键盘鼠标,硬盘。南桥汇总以后传给北桥,北桥再穿给CPU。
北桥设备 : 高速总线控制器,早期是连接内存的。现在,内存直接连接CPU,不再连接北桥,速度更快。北桥只负责连接南桥,以及其他的总线的控制。
在北桥上接固态硬盘,来完成,快速服务。
程序局部性原理,时间,空间局部性。
机器语言:二进制。
汇编语言(微码):需要编译器,将微码转换为机器语言。跟硬件芯片的结合程度非常紧密,低级语言。
高级语言:先翻译成汇编语言,再编译成机器语言,然后机器才能识别,然后才能运行。结合一些额外的机制,来弥合多种芯片之间的不同。(不同设备之间)需要中间层API(应用编程接口application program interface),不同硬件平台用(用汇编语言写的软件)软件虚拟出来的环境是相同的,向上还有ABI。

库:弥合底层硬件不同。
一堆的程序,没有执行入口,可以被其他程序调用执行,提供统一的调用机制,只提供调用接口,(调用:call)
System call(底层:将会有上层的程序员决定他的应用机制,越底层,变化机制越少):操作系统为了尽可能简化他的调用机制,所以做的非常底层。将底层系统调用一个或者多个功能封装起来,做成更高级的接口(就是所谓的库APL)。
系统调用
程序不能直接和硬件打交道,只能通过操作系统和硬件交流

硬件架构(CPU架构类型):
ARM (移动设备android,ios):
x86(Inter和AMD 32位系列):
x64(64位):
安腾
Alpha(惠普公司)
UltraSparc
Power(IBM)
M68000,M68K
PowerPC(苹果,摩托罗拉,IBM三家)
CPU主频发展遇到了瓶颈,最多发展到了4G Hz,现在是朝多核发展,


OS:
Windows
Linux
Unix:
HP-UX(惠普)
Solaris(sun公司)
AIX(IBM)
Sco unix(sco公司)
Unixware
OS/2

操作系统:


-----应用程序----

-------库-------

-----操作系统----(系统调用)

-------硬件------
批处理,
多任务:
切割CPU,Memory,保存线程,
操作系统负责这些事情:运行在硬件上,负责管理硬件资源,将硬件资源所提供的计算能力,CPU切割成多个片,内存分成多个段,分配给多个不同的程序,并且在他们之间完成协调。还负责完成一个程序的启动,终止,回收等工作,还要负责程序(进程:运行的程序,process处理过程 有生命周期,从启动到结束)的切换等工作。通用软件,不负责完成具体的工作,只是负责协调其他程序的工作。
CPU:(时间驱动的)
:计算时间Silce(切成时间片)
假设:5ms
Memory(分段):
:1.2段
:虚拟地址空间(32位,4G个地址空间。64位,4G*4G个)
进程:正在进行的程序。
程序员就是负责调用别人所提供的功能,然后去开发程序的的这样一个过程,
造文字的概念,如果一个文字已经有了,我们拿来直接用就行了,没必要再重新造一个文字。
这种机制就是:将那种公共的功能做成公共的(共享库)库。
===计算机硬件===:处理器,控制器,存储器,输入、输出设备,
==协调硬件程序==:(操作系统operating system)(操作系统的核心)内核kernel:负责管理硬件资源,并且将硬件资源虚拟成其他样子,提供给上层所需要运行的程序。统一的资源管理者。程序运行是通过一个个的系统调用(system call)(一种非常底层的实现)来完成的,
====库====:library,API(Application Program Interface),调用库
=应用程序=:交互式程序、

内存分为三部分:BIOS,kernel space,多个程序共享内存


操作系统的外壳:shell
GUI:图形用户界面
CLI:命令行用户界面

内核的功能:
进程管理
内存管理
文件系统
网络功能
硬件驱动
安全机制



批处理系统:
job1$$$job2$$$........

Mainfram(大型机)
GE(美国的通用电器公司),Bell(美国的电报电话公司ATMT的贝尔实验室),MIT(人工智能实验室)共同研发多任务,多用户的系统(multice)。用汇编语言开发的。

生产计算机的公司:
除了IBM外,还有DEC,digital equipment co-operation
PDP-系列计算机
vax-系列

Ken:
space Travel游戏
在PDP7上用汇编语言写了一个平台运行了他的游戏。
这个平台(系统)就是Unice --> Unix

B语言(脚本语言):引入静态变量,指针,和。。。---> C语言
Ken和 同事 用 C语言 研发了 Unix 系统

Ken 1976年,到加州大学伯克利分校 任教,
其中一个著名的研究生Bill Joy: BSRG团体(操作系统研究小组)研究Unix:改进,修复Bug,提供新功能。
发布新的 Unix 版本:BSD(Berkeley System Distribution)

贝尔实验室:Unix 版本: system V

1981年,PC机诞生,CPM系统,

西雅图:1981年Microsoft成立:开始卖basic语言的编译器,包装发行卖Xenix(Unix).后来,
PC机上的系统:
CP/M-->DOS(单用户,单任务)

JOBS(乔布斯):
PC机(装的Unix)苹果,apple1,

乔布斯去了Xerox公司:复印机
PARK实验室:研发出了鼠标,以及基于图形化操作的操作系统。
乔布斯买走了它们。
研发出了apple2(图形化操作系统),
比尔盖茨,偷走了apple2 ,研发了Windows,
Unix研发商醒悟,不再打口水仗。BSD解散,留下了:FreeBSD专注于运行在PC机上,OpenBSD专注于安全,NetBSD专注于服务.

苹果系统的核心:Unix,到今天为止,苹果公司用的都是FreeBSD的内核。

_一个企业如果只有技术,而经营不善的话,最终只有被收购的命运。做人也是一样,不能只埋头学习,还要抬头看路。
|
|
大概2010年被Oracle公司收购67亿美元
Sun MicroSystem:
Bell Joy成立的公司;
生产当时的工作站Work station,
有自己独立的操作系统,sun OS --> Solaris

windows 收购DEC,一个技术越流行,招收一个技术人员的成本越低
开发了,基于VMS的windows-->windows NT
windows的技术基本都是别人3.5年前弃之不用的技术,苹果公司很多强大的技术包裹绚丽的界面,都是依靠强大硬件的计算能力来实现的,现在的许多图形工作站,一般都是苹果机。

Unix商业化后,荷兰一大学教授 安德鲁 开发了一系统——Minix 用于上课。
但是系统不兼容,对于每个机器必须开发各自的驱动,很麻烦。
他的一个学生linus,开始用Minix,后来那个学生对于教授的固执不满,自己开发了一个系统——linus(后更名为linux),并且公开该系统,允许全球的人更改,那些更改的人只需要把改的系统反馈一下就好。然后该系统就迅速火起来了。
linux火起来,不是linux本身有多厉害,而是linux的思想符合了历史的契机。

80年代,美国麻省理工学院一教授----stallman倡导,Freedom,受到好多人支持
成立一个组织:
GUN : GNU is Not Unix
编写了一个宣言(准则):
GPL:General Public License(任何人和组织在应用我们提供的源码后,必须把应用更改之后的源码公开,否则视为侵权)
后来:
LGPL:Lesser GPL
GPLv2、GPLv3(严苛)

其他组织也有协定(比较宽泛):such as : BSD , Apache (相对比较流行)

开源:开放源代码(Open Source)

自由:
自由获取、自由修改、自由学习
自由并不意味着免费。

stallman为这个组织还贡献了许多著名的软件:
Emacs:文本编辑器
gcc: GNU C Complier
bash:

linux : glibc,gcc, 受到了全球的黑客的亲涞,并为他开发了大量的软件。

他叫GNU/Linux.
他们的软件都是C源代码。需要编译才能运行。

ABI:Application Binary Interface应用二进制接口

这个系统需要编译,才能用,所以就出现了相应的第三方组织:负责编译linux内核和各种外围应用程序,并且将它们打包发行成为一个可安装的便捷的linux。
这种组织包括:
1993年,RedHat(在北美和中国是非常流行的)
1991年,SLS
1992年,德国Debian(高级用户用的较多)
。。。,德国SUSE(在欧洲非常流行)
他们本身都不是linux的开发者。他们被称为linux的发行(release)商。他们只是负责将源代码格式的linux在通用的计算机平台上,编译成通用的格式,使得其他人拿到以后可以在大多数硬件平台上安装并使用。

每个发行版的linux包括kernel和软件:因而软件管理器应运而生,
Debian,提供了:dpt
RetHat,模仿Debian提供了:rpm红帽软件包管理器
红帽
收钱,卖的是服务。让人很不爽,于是出现了Cent OS
开始个人版2003终止服务,并把他捐献给Fedora,后开发行企业版。
Fedora:更新很快

Mandriva:也是基于红帽个人版的二次发行版本,界面做的很好。

Cent OS:(国内用的最多)
Community ENTerprise OS
(基于SLS)SUSE: -->已经被Novell收购(他以前的操作系统Netware)有两个版本:SUSE 和 Open SUSE

Debian:技术最先进,唯一不受商业组织支持的系统,他的所有者和负责维护Debian的,统统来自于互联网,大家自发联合起来。最难用。
基于Debian的二次发行版本:
Ubuntu、Mint
linux内核也有版本:最新4.1.5
REHL也有自己的版本3.0 ,4.0 ,5.8 ,7.0:

/------------------\
linux的基本原则:
1.由目的单一的小程序组成:组合小程序完成复杂任务
2.一切皆文件:
3.尽量避免捕获用户接口:
4.配置文件保存为纯文本格式:


GUI接口:
Gnome:C
KDE:C++
XFace:嵌入式平台上的轻量级操作系统,比如手机上,
CLI接口:
sh
bash
csh
zsh
ksh
tcsh


命令提示符:prompt,bash(shell)
#:root
$:普通用户
命令:

命令格式:
命令 选项 参数
选项:
短选项: -
多个选项可以组合:ls -a -l = ls -al
长选项: --
通常不能组合
参数:
命令的作用对象
有多个参数时,用空格隔开

操作系统的使用凭证:进入操作系统需要登录
redhat严格区分大小写


虚拟终端(teminal):Ctrl+Alt+(F1-F6)
进入图形界面:
命令:startx &

切换用户:
假设有这几个用户:root、student、visitor
su:switch user
linux重要哲学思想:能简写绝不全些
命令:su [-l] student
[...]表示可省略

修改密码:
密码;passwd


密码设置规则:
1.使用4种类别字符中的至少三种
2.足够长,大于七位
3.使用随机字符串
4.定期更换
5.循环周期足够大


RHCE+RHCA+shell编程+MySQL+Web集群+NoSQL+Hadoop+Hbase+Openstack


---------------------------------------------------------------------------------------------------------------------------
2-1


GUI:Graphic User Interface
windows
X-window
Gnome
KDE
XFace


CLI:Command Line Interface
sh
bash
ksh
zsh
tcsh

IDE:集成开发环境
dll(库文件):动态链接库(Dynamic Link Library)


linux的库上叫:( .so )share object 共享对象


login:
用户名:用户ID


认证机制:Authertication
授权:Authorization
审计:Audition(日志)


命令提示符:prompt
命令:
magic number:魔数(程序的执行入口)


#!/bin/bash


# command options... arguments...


命令
选项:
短选项
长选项
参数:


list:ls
列出、列表
列出指定路径下的 所有目录或者文件


文件夹:
目录:也是一种文件:路径映射文件


路径:从指定起始点到目的地所经过的位置


文件系统:file system


绝对路径:
相对路径:


目录:working directory,current directory
FHS:文件系统层级结构标准


ls:
-l 长格式:现实完整信息 显示(文件类型(占10个字符) )
文件类型:
-:普通文件(f)
d:目录文件(dictionary)
b:块设备文件(block)
c:字符设备文件(character)
l:符号链接文件(symbolic link file)
p:命令管道(pipe)
s:套接字(.socket)
文件权限:9位,每三位一组,rwx(读,写,执行),没有的话用-表示
文件硬链接的次数:
文件的属主(所有者):owner
文件的属组:group
文件大小(size):默认单位是字节
时间戮(timestamp):最近一次被修改的时间
访问:access
修改:modify
改变:change,metadata,元数据
-h:做(内存)单位换算
-a:显示以 . 开头的隐藏文件
. 表示当前目录
.. 表示父目录
-A:
-d:显示目录自身属性

-i:index node,inode:显示文件缩影节点号
-r:逆序显示
-R:递归(recursive)显示


cd:change directory
家目录,主目录:home directory
cd ~(USERNAME):进入指定用户的家目录(不加username进入的是自己的)
cd -:在当前目录和前一次所在的目录之间来回切换

linux命令类型:
内置命令(shell内置)
外部命令


环境变量:命名的内存空间
变量赋值:
NAME=Jerry
内存类型:
堆hig:
栈stack:存放本地声明的一些变量和静态变量


PATH:使用冒号分隔的路径(按次序的)
在缓存(hash)中找文件:时间复杂度O(1)

type:显示指定命令属于哪种类型


hash:缓存
printenv:打印环境变量


rtc:实时时钟
获得命令的使用帮助:
内部命令:
help COMMAND
外部命令:
COMMAND --help
命令手册:manual
man COMMAND(export LANG=en)
whatis COMMAND
分章节:有八个
1.用户命令
2.系统调用
3.库用户
4.特殊文件(设备文件)
5.文件格式(配置文件的语法)
6.游戏
7.杂项:miscellaneous
8.管理命令(/sbin,/usr/sbin,/usr/local/sbin)


<>:必须给出的内容
[]:可选
...:多选一
{}:分组
0
MAN:
NAME:命令名称及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:说明每一个选项的意义
FILE:此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照

翻屏:
向后翻一屏:SPACE
向前翻一屏:b
向后翻一行:ENTER
向前翻一行:k
查找:
/KEYWORD:向后
?KEYWORD:向前
n:下一个
N:前一个


q:退出


练习:
使用date单独获取系统当前的年份、月份、日、小时、分钟、秒

hwclock:显示硬件时钟
-w:将系统时间写到硬件中去
-s:将硬件时间写到系统中来

在线文档:
info COMMAND


google
apache,hadoop,
怎么能把一个问题给别人讲清楚,说明白


cal:(calendar)日历


练习:
1、echo是内部命令还是外部命令?
2、作用?
3、如何换行显示?


练习:
1、printf是内部命令还是外部命令?
2、作用?
3、如何显示“the year is 2013. today is 26”为两行


file命令及其用法


windows:PE
Linux:ELF


文件系统:
rootfs:根文件系统


FHS:文件系统层级标准


/boot:系统启动相关的文件,如内核,initrd,以及grub(bootloader)
/dev:设备文件:
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和设备号(minor)
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为:/home/USERNAME
/root:管理员的家目录
/lib:库文件
静态库: .a
动态库:.dll .so (share object)
/lib/modules:/内核模块文件
/media:移动设备的挂载点目录
/mnt:挂载点的目录,额外的临时文件系统
/opt:可选目录,第三方程序安装目录
/proc:伪文件系统,内核映射文件,
/sys:伪文件系统(关机以后变空),跟硬件设备相关的属性映射文件
/tmp:临时文件 /var/tmp
/var:可变化的文件
/bin:可执行文件,用户命令
/sbin:管理命令


/usr:shared,read-only
/usr/bin
/usr/sbin
/usr/lib

/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib

命名规则:
1、长度不超过255个字符;
2、不能使用 / 当文件名
3、严格区分大小写


相对路径:相对于当前位置的查找路径
绝对路径:相对于根目录的查找路径


文件管理
目录管理
ls
cd
pwd


mkdir:创建空目录
-p:逐一创建(父到子)
-v:查看详细目录
tree:查看目录树


删除目录;rmdir(remove directory)
删除空目录
-p:从子到父删除,删到该目录不为空目录为止

文件的创建和删除:
touch:
-a
-m
-t
-c
文件和目录不能同名
stat:显示文件的状态


创建文件,可以使用文件编辑器


ASCII:美国标准信息交换代码


GB18030 GBK GB2313 Unicode


删除文件:rm
-i:删除前询问是否删除
-f:强制删除
-r:递归删除该目录的所有文件

复制和移动文件:
cp:copy
cp:SRC(源文件) DEST(目的地)
一个文件到到一个文件
多个文件到一个目录
-i:覆盖前询问是否覆盖
-r:递归复制文件夹里的所有文件
-f:强制复制文件
-p:复制链接,同事保持链接的链接属性
-a:归档复制,常用于备份


mv:move
移动文件
(还可以重命名文件)
mv SRC DEST


install
-d DIRECOTRY: 创建目录
SRC DEST
install -t DEST SRC ...
只能复制文件




运行程序
设备管理
软件管理
进程管理
网络管理




目录管理:
ls,cd, pwd,mkdir, rmdir, tree


文件管理:
touch, stat, file, rm, cp, mv, nano


日期时间:
date, clock, hwclock, cal


查看文本:
cat, tac, more, less, head, tail


cat(连接并显示):
linux文本文件行结束的标志为$
windows的行结束符为$加换行符
-n:显示行号
-e:显示行结束符

tac:倒过来显示文本


分屏显示:
more,less
more:向后翻
less:类似man
head:查看文件的前N行
tail:查看文件的后N行(N默认是10)
-n :显示n行
-f:查看文件尾部,不退出,等待显示后续最贱至此文件的新内容。

文本处理:
cut、join、sed、awk、


database:数据库
关系型数据库:
表:二维表


文本文件也可以保存数据库:
用冒号或空格(分隔符)隔开
cut:
-d:指定字段分隔符,默认是空格
-f:指定要显示的字段
-f 1,3 显示1和3
-f 1-3 显示1到3


文本排序:
sort:(默认ASCII表升序)
-n:数值大小(升序)排序
-r:降序
-t:字段分隔符
-k:以哪个字段为准进行排序
-u:排序后相同的行只显示一次
-f:排序时忽略字符大小写

(相邻并且完全重复的行)


uniq:
-c:显示文件中行重复的次数
-d:只显示重复的行


文本统计:wc(word count)
显示(行数、单词数、字节数)
-l:只显示行数
-L:最长的一行包含多少个字符
-m(-c):显示字符数
-w:显示单词数

tr(字符处理命令):用于转换或删除字符
"<"输入重定向
eg:tr "a-z" "A-Z" -d:删除给定字符串中的单个字符


文本处理:cat,more,less,head, tail, cut, sort, uniq, grep
正则表达式
管道和重定向:> < >> <<
用户、组、权限
bash及其特性:
shell:外壳
GUI:Gnome,KDE,XFace
CLI:sh,csh,ksh,bash,tcsh,ksh
每个打开的shell都是一个进程:
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序执行的实例


用户的工作环境:
bash: #:
$:
shell:子shell


bash:
1.命令历史
2.管道和重定向
3.命令别名
4.命令行编辑
5.命令行展开
6.文件名通配
7.变量
8.编程




命令行编辑:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u:删除光标至命令行行首的内容
Ctrl+k:删除光标至命令行行尾的内容
Ctrl+l:清屏


命令历史:
查看命令历史:history
-c:清空命令历史
-d:OFFSET [n]:删除指定位置的命令
-w:保存命令至历史文件中
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史缓存区大小


命令历史的使用技巧:
!n:执行命令历史中的第n条命令
!-n:执行命令历史中的倒数第n条命令
!!:执行上一条命令
!(string):执行命令历史中以指定string为开头的命令
!$:引用上一个命令的最后一个参数
Esc, .:同上
Alt+.:同上


命令补全:搜索PATH环境变量指定的每个路径下我们给出的字符串开头的可执行文件,如果多于一个,可以给出列表,否则将直接补全;
路径补全:搜索我们给出起始路径下的每一个文件名,并试图补全;
Tab(敲一下:显示唯一匹配命令或参数;敲两下:显示所有符合条件的命令或参数或路径)


命令别名:
alias CMDALIAS=COMMAND [Options] {arguments}
在shell中定义的别名仅当在当前shell生命周期中有效,别名的有效范围仅为当前shell进程
撤销别名:unalias CMDALIAS


命令替换:$(COMMAND),`COMMAND`(反引号)


bash支持的引号:
``:命令替换
"":弱引用,可以实现变量替换
'':强引用,不完成变量替换


把命令中某个子命令替换为其执行 结果的过程






文件名通配:globbing
*:任意长度的任意字符
?:匹配任意单个字符
[]:匹配制定范围内的任意单个字符[a-zA-Z0-9]
[^]:匹配指定范围之外的任意单个字符
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:字母
[:digit:]:数字
[:alnum:]:数字和大小写字母






#man 7 glob


作业2:
1.思考:ls命令是否可以显示某目录的整体大小,即包括其内部的所有文件的整体大小?
2.通过帮助手册,学习使用du命令;
#du
-s
-h
3.通过帮助,学习read命令;
作业3:
描述GPL,BSD,Apache三个开源协定的大体联系及区别。
自由软件
开源协定,版权描述


作业4:
1.如何获取Linux当前最新的内核版本号?
官网:www.kernel.org
2.列出你所了解的Linux发行版,并说明其跟Linux内核的关系。
Linux,GNU/Linux,源代码,编辑,编译,链接,运行

发行版:Fedora,RedHat(CentOS),SUSE(opensuse),Debian(Ubuntu,Mint),Gentoo(给了我们编译的可能性),LFS(Linux From Scratch(起跑线))


RedHat:通用格式




计算资源:
权限
用户,
用户,容器,关联权限:用户组,方便的指派权限

用户:标识符
用户组:标识符




用户、组、权限:
安全上下文(secure context):
r,w,x


文件:
r:可读,可以使用类似cat等命令查看文件内容
w: 可写,可以编辑或删除此文件
x:可执行,exacutable,可以在命令提示符下当作命令提交给内核运行


目录:
r:可以对此目录执行ls以列出内部的所有文件。
w:可以再次目录创建文件
x:可以使用cd切换进入此目录,也可以使用ls -l查看内部文件的详细信息:


rwx:
r--:只读
r-x:读和执行
---:无权限


0 000:---:无权限
1 001:--x:执行
2 010:-w-:写
3 011:-wx:写和执行
4 100:r--:只读
5 101:r-x:读和执行
6 110:rw-:读写
7 111:rwx:读写执行
用户:UID(user ID),/etc/passwd
组 :GID(group ID),/etc/group


影子口令:
用户:/etc/shadow
组:/etc/gshadow


用户类别:
管理员:0
普通用户:1-65535(16位二进制(有的高达32位二进制))
系统用户:1-499
一般用户:500-60000

用户组类别:
私有组:创建用户时,如果没有为其指定所属的组,系统就会自动为其创建一个与其用户名相同的组
基本组:用户的默认组
附加组:额外组:默认组以外的其他组


进程(具有身份):tom tom
对象:rwxrw-r-- jerry(属主) tom(属组) a.txt
tom:ls
/bin/ls
rwx(属主)rw-(属组)r--(其他)


account:登录名
password:密码
UID:
GID:基本(其他)ID
comment:注释
HOME DIR:家目录
shell:用户默认的shell


/etc/shadow
account:登录名
encrypted password:加密的密码




加密方法:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥(secret key),一个为公钥(public key)(公钥加密,私钥解密;私钥加密,公钥解密;)
单向加密,散列加密:提取数据特征码(存在即合理),常用于数据完整性校验
1.雪崩效应(初始条件的微小改变,将引起结果的巨大变化)(蝴蝶效应:亚马逊流域的一只蝴蝶忽闪一下翅膀,可能会引起得克萨斯州的一场飓风)
2.定长输出
MD5:Message Digest第5版(中文名为消息摘要算法第五版)(麻省理工学院的人工智能实验室研发的), 120定长输出
SHA1:美国国家标准委员会,安全哈希算法第一版(Secure Hash Algorithm),160位的定长输出(还有SHA256,SHA512)


useradd USERNAME(添加用户)
groupadd GROUPNAME(添加用户组)
用户管理:
useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
组管理:
groupadd,groupdel,groupmod,gpasswd
权限管理:
chown,chqrp,chmod,umask







解析:名称解析,www.sohu.com-->IP地址




chmod:修改文件的权限
修改三类用户的权限
chmod 774 test.py

相关内容