五.Linux博客-2016年7月28日索引、硬链接、软连接、inode表、file、重定向、tr、管道、用户、组

格式说明:

操作

概念

命令

说明及举例


五.索引、硬链接、软连接、inode表、file、重定向、tr、管道、用户、组


索引节点

原数据保存在inode table表中
每个文件或目录都有一个独立的inode number(节点编号在一个分区中是唯一的,每个分区都有自己的inode table)

ls -i 查看节点编号

硬链接

ln f1 dir/f11 为f1文件创建硬链接并放到dir文件夹下,名称为f11.跨设备跨分区不能创建。

链接数=文件名字的数量,为一个文件创建多个硬链接相当于给一个文件取了多个名字,修改任何一个文件都等于全部修改,删除其中一个硬链接,只相当于删除了这文件的名字之一
目录不能创建硬链接

软连接(符号链接)

ln -s f2 f2kuaijiefangshi 为f2文件创建软连接f2kuaijiefangsh

给文件创建软连接,相当于给文件创建快捷方式,写软链接的时候,文件的路径必须写清楚(相对于软连接的路径,而不是当前工作目录的路径),软连接的路径无所谓

inode表结构

前12个是数据块,每个存4k,第13个是指针快,不直接指向数据块,可存4kx1024=4M文件;第14个是二重指针块,后面跟两个指针块,可存4kx1024x024=4G文件,以此类推.

df -i 查询每个分区最大节点数及已用节点数量

节点号消耗完也会提示磁盘空间满了

练习:解释cp rm mv命令的系统后台动作

file命令

flie -f +文档 把想查看的文件目录写到文档里,可以都查看

标准输入和输出

标准输出、错误

标准默认输出在当前窗口,标准输出错误也在当前窗口

重定向

ls > /dev/pts/0 在pts0窗口上显示
ls > /testdir/ls.log 让输出内容重定向到ls.log文件中(没有这个文件会创建,如果存在会覆盖)
ls >> /testdir/ls.log 将信息写到ls.log文件中,保留原有内容

>是重定向标准输出的正确结果的; >=1>
2>是重定向错误信息的

ls /dev /ddd > /tesedir/dui.log 2> /testdir/cuo.log 将命令中正确信息写到dui.log ,错误信息写到cuo.log

ls /dev /ddd &> /tesedir/all.log 把命令中所有标准输出都写到all.log里
以上命令是覆盖
以下命令是累加
ls /dev /ddd >> /tesedir/dui.log 2>> /testdir/cuo.log 将命令中正确信息写到dui.log ,错误信息写到cuo.log

ls /dev /ddd &>> /tesedir/all.log 把命令中所有标准输出都写到all.log里

多条命令重定向:用括号把多条命令括起来

标注输入重定向

cat < f1 将f1里的信息输出
cat < f1 > f2 将f1里的信息输出到f2里
cat f1 f2 > f3 将f1 f2的内容输出到f3里

mail -s hello wang 回车后写内容,结束按.
wang 用户 输入mail
mail -s hello wang < f1.txt  将f1.txt中内容作为正文发送

多行重定向
cat <<E >f1 直到打结束的E 才重定向到f1中 (<<+关键字开始。再出现独立的一行关键字结束)

tr命令

转换和删除字符

tr 'a-z' 'A-Z' 将所有输入的小写字母转换成大写字母    
tr 'a-z' 'A-Z' < f1 将f1 文件中所有小写字母转换为大写
r 'a-z' 'A-Z' < f1 > f2 将f1 文件中所有小写字母转换为大写并存到f2中(f1中内容不变)

tr 'abc' 'xyz'
tr 'abc' 'xy'
tr 'ab' 'xyz'

tr -c 'a-z' 取反
tr -d 'abc' 有a/b/c的都干掉
tr -d -c 'abc'  'xxx' < f1 将文件f1 中的除了abc以外的字符都换成xxx

tr -s  ‘x’  合并重复的x为1个

tr -d '\n' < f1 将f1文件中的换行都干掉
tr ' ' '\n' <f1 将f1文件中的空格转换城换行

mail -s help root <<end
Hello,I am whoami
the system version is here,please help me to check it,thanks!
< /etc/issue
end

管道

管道接收的是标准输出,不能是标准错误

练习用管道读文档发邮件

ls /err |& tr 'a-z' 'A-Z' 不管前面是否是错误,都处理(|&=2>&1)
ls |tee f2  将ls输出内容存到f2文件,但是前台也显示
重定向输出信息不想看的话最后加 /dev/null

用户、组和权限

组的类别

用户的主要组-主组
用户必须属于一个且只有一个主组
组名同用户名,且仅包含,,, 
Linux中默认创建一个用户wang,就会创建一个wang组,组里只有wang一个

查看命令 id

Linux用户和组的配置文件

用户配置文件

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/shadow:用户密码及其相关属性 
例:m:$6$8BhKzFY7Pl02tuZK$M9ppDJCf6Y8sSx/kFGbmG6Mat/Z2JE.OJ6Mao.izesjpwW0t5MiFxxrtzwLrAwfP6/xvlZ7MG8Y4LeGIAd6Me0:17001:0:99999:7:::

$6=sha512加密算法 $1=md5加密算法 后面两个$中间的玩意($8BhKzFY7Pl02tuZK$)是加的延,目的是即使相同密码加密后也看不出来是相同 ;17001代表时间,后面的0表示随时可以改密码,改成3就是3天以后才能改。后面难道99999代表有效期,7代表提前7天通知;倒数第二个可以填个数,代表此账号的有效期,到时间自动锁定,格式也是类似17001天。

组配置文件

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

groups +用户名 查看用户属于什么组
getent passwd 用户名,查看某用户的密码信息

将用户加到root组中,该用户创建的文件所有者及所属组依然是该用户(其主组)

newgrp bin 将用户的主组切换为bin 但是需要密码
gpasswd bin 给组设置密码

改密码命令

vipw 改用户密码,格式改错会报警用法等于 vim /etc/passwd
vigr 改组密码。格式改错会报警用法等于 vim /etc/group

原创文章,作者:自己泡面,如若转载,请注明出处:http://www.178linux.com/39180

(0)
自己泡面自己泡面
上一篇 2016-08-23
下一篇 2016-08-23

相关推荐

  • rsync+inotify实现数据同步——双向传输

    实验环境:<仅2台主机之间进行数据双向传输> A主机:10.1.43.102 B主机:10.1.43.103 一、数据从A推向B 配置流程 先在B主机上配置: 1.vi /etc/rsyncd.conf(用户,目录,模块,虚拟用户及密码文件) uid = root gid = root port …

    Linux干货 2016-10-27
  • Nginx 编译安装

    Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服 1、Apache服务器和nginx的优缺点: Apache具有很优秀的性能,而且通过模块可以提供各种丰富的功能。 1)首先Apache对客户端的响应是支持并发的 ,运行httpd这个daemon进程之后,它会同时产生多个子进程/…

    Linux干货 2017-02-06
  • N22-妙手-第一周博客作业

           描述计算机的组成及其功能 1946年冯诺依曼提出冯 诺依曼结构,也称普林斯顿结构,即一种将程序指令存储器和数据存储器合并在一起的存储器结构。根据他的结构,计算机组成是: (1)运算器:负责数据的算术运算和逻辑运算 (2)控制器:  负责对程序信息和数据进行分析,控制并协调其输…

    Linux干货 2016-08-15
  • 马哥教育网络班21期-第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -a /etc/skel/ /home/tuser1 chmod -R 700 /home/tuser1/  2、编辑/etc/group文件,添加组hadoop。 echo "hadoop:x:2…

    Linux干货 2016-08-05
  • 马哥教育网络班N22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。     [root@zabbix ~]# id $(who | cut -d' ' -f1 | tail -n 1)    &nbs…

    Linux干货 2016-08-30
  • CentOS6 ELK实现

    1 简介 我们来介绍Centos6.5基于SSL密码认证部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同时为大家介绍如何集合如上组件来收集日志,本章的日志收集主要为大家介绍SYSTEM日志收集. 集中化日志收集主要应用场景是在同一个窗口临时性或永久性鉴定分析系统,应用等各类日志,对用户提供极大便利,同时也…

    2015-02-15