day5总结笔记

本文内容:

索引节点

硬链接与软链接

重定向

用户组

useradd命令


索引节点:

索引节点包含了一个表,包含了有关文件的元数据,包含:

    文件类型,权限,UID,GID 链接数(指向这个文件名路径名称个数) 

    该文件的大小和不同的时间戳。 

    指向磁盘上文件的数据块指针。 

有关文件的其他数据。

索引节点与数据是分开存放的。

 

cp命令:分配一个空闲的inode号,在inode表中生成新条目,在目录中创建一个目录项,将名称与inode编号关联,拷贝数据生成新的文件。

 

rm 命令:链接数递减,从而释放的inode号可以被重用把数据块放在空闲列表中 删除目录项 数据实际上不会马上被删除,但当另一个文件使用数据块 时将被覆盖。

 

 mv命令:如果mv命令的目标和源在相同的文件系统,作为mv 命令 用新的文件名创建对应新的目录项 删除旧目录条目对应的旧的文件名 不影响inode表(除时间戳)或磁盘上的数据位置,此时没有数据被移动!所以速度很快,如果目标和源在一个不同的文件系统, mv相当于cp和rm。

 

硬链接:一个文件的一个或多个文件名,本质上是一个文件。

特点:创建硬链接会增加额外的记录项以引用文件 v 

      对应于同一文件系统上一个物理文件 v 

      每个目录引用相同的inode号。

      创建时链接数递增,删除文件时,rm命令递减计数的链接

      文件要存在,至少有一个链接数,当链接数为零时,该文件被删除

   v 不能跨越驱动器或分区

语法: ln filename [linkname]

t1.png

可以看出,f1和f2实际上是一个文件。

 

 

 

软链接:软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

t2.png

 

I/O:输入与输出

程序:指令+数据 读入数据:Input 输出数据:Output 

打开的文件都有一个fd: file descriptor (文件描述符) v

Linux给程序提供三种I/O设备 Ø 

标准输入(STDIN)-0 默认接受来自键盘的输入 Ø 

标准输出(STDOUT)-1 默认输出到终端窗口 Ø 

标准错误(STDERR)-2 默认输出到终端窗口 

STDOUT和STDERR可以被重定向到文件: 

命令 操作符号 文件名

t3.png

 支持的操作符号包括: 

> 把STDOUT重定向到文件 

2> 把STDERR重定向到文件 

&> 把所有输出重定向到文件 

 

标准输入重定向:

多行重定向:cat <<E >f1

>

>

>E

 

单行重定向:

cat >f1

xxx

yyy

mail重定向:又称就地文本

mail -s hi wang <<eof

>aa

>bb

>cc

>eof

 

tr命令:转换或者删除字符串

tr [options] str1 str2

eg:

tr a-z A-Z

tr a-z A-Z </etc/issue

选项:

-c:取补集。

-d:删除字符,不做转换。

-s:把连续的重复的字符用一个字符显示。

-t:str1 str2 删除第一字符集较第二字符集多出的部分。

 

练习:

1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

t4.png

 

2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中 v 

t5.png

 

3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下: Hello, I am 用户名,the system version is here,please help me to  check it ,thanks! 操作系统版本信息 

t6.png

 

 

4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开。

t7.png

5、file1文件的内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和

 t8.png

 

6、删除Windows文本文件中的'^M'字符 

 

7、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字 和空格

t9.png

 

 

管道(使用符号“|”表示)用来连接命令 命令1 | 命令2 | 命令3 | … Ø                                  将命令1的STDOUT发送给命令2的STDIN,命令2的 STDOUT发送到命令3的 STDIN ,STDERR默认不能通过管道转发,可利用2>&1 或 |& 实现。 Ø 

最后一个命令会在当前shell进程的子shell进程中执行用来组合多种工具的功能。

eg:ls  | tr 'a-z' 'A-Z'。

 

tee:可以继续标准输出。同时写进文件中。

 

set -C:禁用覆盖功能。

set +C:取消禁用。

 

/dev/null:垃圾桶,不占空间。

用户,组和权限

linux用户:Uername/UID

管理员:root uid为0

一般用户:1-65535

系统用户:1-499 对守护进程获取资源进行权限分配。(不需要登录)

登录用户:500+

 

组:Groupname/GID

管理员组:root,0

普通组:

系统组:1-499

用户组:500+

 

主要组:用户必须属于一个且只有一个主组

组名同用户名,且仅包含一个用户,又叫私有组。

 

用户的附加组(辅助组)

一个用户可以属于0个或多个附加组。

组的信息保存在/etc/group下。

id 用户:查看用户,属组信息。

 

运行中的程序:进程

以进程发起者身份运行:

root:/bin/cat

liuzhuo:/bin/cat

进程所能访问资源的权限取决于进程的运行者的身份。

 

用户和组的配置文件:

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow:组密码及其相关属性

 

passwd文件格式:

login name:登录用名(wang) v

passwd:密码 (x) v

UID:用户身份编号 (1000) v

GID:登录默认所在组编号 (1000) v

GECOS:用户全名或注释 v

home directory:用户主目录 (/home/wang) v

shell:用户默认使用shell (/bin/bash)

 

 

 

chsh -s+路径 改shell

linux通过UID来识别是管理员还是普通用户。只认ID 不认人。

 

shadow文件格式 

登录用名 v

用户密码:一般用sha512加密 v($6)

从1970年1月1日起到密码最近一次被更改的时间 

密码再过几天可以被变更(0表示随时可被变更) 

密码再过几天必须被变更(99999表示永不过期) 

密码过期前几天系统提醒用户(默认为一周) 

密码过期几天后帐号会被锁定 

从1970年1月1日算起,多少天后帐号失效。

 

group配置文件:

groups:查看某个用户属于哪个用户组

id +用户名:查看用户的信息。

root:x:0:(组的成员) 0为组id。

默认情况下,创建一个文件的所有者和所属组同名。

bin:::bin,daemon

第一个组名,第二个密码,第三个放该组的管理员账户

newgrp:临时性切换属组。

 

vipw=vi /etc/passwd

vigr=vi /etc/group  具有语法检查功能。

 

pwck:检查语法

grpck:检查语法

 

useradd:创建用户

useradd [options] 用户名

useradd -u 1234  zhang 指定UID

useradd -g wang li 指定组名或者GID

-o 配合-u 选项,不检查UID的唯一性 

-c "COMMENT":用户的注释信息 -d HOME_DIR: 以指定的路径(不存在)为家目录 -s SHELL: 指明用户的默认shell程序 可用列表在/etc/shells文件中。

对于服务等系统应用,shell可以设置成为/sbin/nologin 同时加-r定义为系统用户,这样就不会自动创建家目录。

 -G GROUP1[,GROUP2,…]:为用户指明附加组,组必须事先存

-N 不创建私用组做主组,使用users组做主组 

-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000

 

家目录模板文件夹:/etc/skel

cat /etc/default/useradd 添加用户的配置文件

useradd -D 显示useradd配置文件信息。

 

原创文章,作者:liuzhuo,如若转载,请注明出处:http://www.178linux.com/30503

(0)
上一篇 2016-08-08 16:16
下一篇 2016-08-08 16:16

相关推荐

  • 一点点RPM

    1、软件管理器简介          随着Linux的不断发展及越来越多的人投入到Linux大家庭中,软件管理器的作用对于还无法熟练掌握源码编译安装的人们还是显得尤为重要,同时,由Linux开发商在为其编译完成的软件包在某种程度上要比在网络上流传的软件包要安全的多;所以,掌握Li…

    Linux干货 2015-12-06
  • Linux文件压缩、解压、归档总结

    一、简介   压缩对我们来说通常意味着减小文件体积,节省硬盘空间。在Windows平台上处理大文件或目录中的文件很多时我们都需要对这些文件进行压缩处理,压缩格式多种多样,如:zip、rar、7z等格式,压缩方式也比较多样话,支持按最大压缩比例或者最快时间进行压缩等多种方式,而生成的压缩包就可以让我们更方便的进行拷贝及归档整理。解压缩顾名思义就是回归…

    Linux干货 2015-09-26
  • 推荐-LVS专题: LVS的工作模型和调度算法介绍

    LVS专题: LVS的工作模型和调度算法介绍 LVS专题: LVS的工作模型和调度算法介绍 前言 什么是负载均衡? 什么是LVS? LVS的架构: LVS的实现模型: NAT实现原理: DR实现原理: TUN实现原理: FULLNAT实现原理: LVS的调度算法 静态调度算法(4种) 动态调度算法(6种): 总结 前言 本文大概介绍一下LVS的工作方式和实现…

    Linux干货 2016-04-05
  • Linux 用户、用户组及权限管理

    一、Linux用户及用户组的基本概念 用户:用户是实现能够将有限的资源在多个使用者之间进行分配;、 用户组:用户组是指多个用户的集合,方便对一类需要同样权限的用户授权 Linux是多用户、多任务的操作系统。     多用户指:多人同时使用系统资源;多任务:同时运行多个进程 二、用户及用户组类别 1、用户:名称解析库 /…

    Linux干货 2016-03-20
  • Redis应用场景

    1.  MySql+Memcached架构的问题   实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:   1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据…

    Linux干货 2016-03-22
  • 系统管理中的三大利刃(htop glances dstat)

    工欲善事情,必先利其器,生产环境中的服务器在处理请求并生成回应数据的时间主要消耗在服务器端,包括了众多的环节,如何全面了解我们linux服务器的CPU使用率、使用时间、内存占用比例、磁盘IO数据、网络相关数据等等众多指标,保证我们的linux服务器顺利完成每一个请求,怎能没有几个趁手的利刃,而今天就让我们见识一下系统管理中三大利刃。 相传一把三尺长的软剑,叫…

    Linux干货 2015-11-18