inode 是什么及绝对路径和相对路径和一些目录相关命令总结

inode是什么

    

    每个分区又分两个区,元数据区和数据区。

    元数据区主要存储文件的权限,属主属组,时间戳,文件的存储位置指针….就如一本书有目录页和内容页一样,目录页上的记录的是内容的页数,可以通过目录页的页数直接找到内容。而不用从第一页去往后翻。这就是inode(文件的索引)

     数据区存储文件内容数据

   每个文件都有一个inode,通过这个inode查找文件,inode中的指针指向文件的数据块,

   而指针又分为直接指针,间接指针,双重间接指针,多重间接指针。。。。

   直接指针:直接指向文件存储位置

   间接指针:当直接指针指向的存储空间不足以容纳文件的大小的时候就采取间接指针指向的数据块,(假设一个数据块4k大小,一个指针占用4个    字节,那么一个数据块可以有1024个指针,而1024个指针可以指向1024个4k大小的数据库,那么就是1024*4k=4096k)从这个指针数据块中有N多指    针指向文件数据块,如此层层扩大以达到存储大文件的目的

   目录的inode指针指向的数据块存储的是文件名和文件的inode,(也就是可以理解为直接指针指向的数据块只是存储文件名和文件inode),通过    间接指针指向的数据块中存储的文件本身的inode再从元数据区去指向文件所对应的数据块,多层目录间接指针如此多一个循环

绝对路径和相对路径

    绝对路径:

   从根开始(/)完整的文件位置路径,可用于任何想指定一个文件名的时候

     相对路径:

   不从根(/)开始,指定相对于当前工作目录或者某一个目录的位置,可作为简短形式指定一个文件名

硬链接和软连接的区别

   硬链接是多个文件名共同指向一个文件内容,一个inode各个链接可以任意访问,如果修改了文件内容,则其他链接受到影响,就如同一个房间有多个门牌号,一个链接删除了文件内容并不影响其他链接的使用。

   软链接只是原始文件的路径,每个链接都有一个inode,但是所有链接都是建立在原始文件的基础上的,如果删除了所有的软连接并不影响原始文件,但是如果原始文件被删除,则所有软连接都会报错

文件通配符

*:匹配任意零个或多个字符

?:匹配任意单个字符

~:当前用户的家目录

~username:用户家目录

~+:当前工作目录

~-:上一个工作目录

[0-9]:指定范围内的一个数字

[a-z]:以小写a开头小写z结尾(中间不区分大小写)

[A-Z]:以大写A开头大写Z结尾(中间不区分大小写)

[xxx]:列表中的任何一个字

[^xxx]:列表中的所有字符以外的

预定义的字符类

[:digit:]任意数字,相当于[0-9]

[:lower:]任意小写字母

[:upper:]任意大写字母

[:alpha:]任意大小写字母

[:alnum:]任意数字和字母

[:space:]空格

[:punct:]标点符号

标准输入和输出

标准输入0

标准输出1

错误输出2

程序:指令+数据

读入数据

输出数据

打开的文件都有一个文件描述符号

linux给程序员提供三种io设备,

标准输入0:默认接受来自键盘的输入

标准输出1:默认输出到终端端口

标准错误2:默认输出到终端端口

查看文件状态

stat:查看文件的元数据

创建空文件和刷新文件时间

touch:刷新时间

-a:刷新atime 访问时间

-c:刷新改动时间,如果ctime发生改动,则mtime(文件内容的更改时间)也跟随刷新

复制文件和目录cp

cp 如果源是一个文件, 目标不存在 则在目标创建一个和源同名的文件,并且把源的内容复制进去,如果目标是目录而且存在,则在目标目录下创建一个和源同名的文件,并把内容复制进去

如果源是多个文件 ,目标是文件的话会报错,如果目标是目录而且存在,则在目标目录下创建和源同名的文件,并把内容复制进去

如果源是目录需要配合-r选项,目标不存在的话就需要创建并且指定命名的目录并把源目录总的内容复制进去,如果目标是文件的话就会报错,如果目标是目录而且存在的话,就在目标目录下新建一个和源同名的目录并把源目录中的内容复制进去

-i:交互式

-r;-R:递归复制目录及其内部所有内容

-a:归档

-d:不复制原文件,只复制链接名

–preserv[=ATTR_LIST]

mode: 权限

ownership: 属主属组

timestamp:

links

xattr

context

all

p: 等同–preserv=mode,ownership,timestamp

-v: –verbose

-f: –force

命令别名

显示当前shell进程可用的所有命令别名

]#alias

定义别名name,其相当于指明命令value

]#alias name=value

在命令行中定义的别名,仅对当前shell进程有效,如果想要永久生效,需要定义在配置文件中

仅对当前用户有效:~/.bashrc

对所有用户有效:/etc/.bashrc

编辑配置给出的新配置不会立即生效,需要重新登录或者使用sourec /path/to/config_file 来重新读取shell进程配置文件

撤销别名

]#unalias name

如果别名与原名同名,如果要执行原命令,可使用

\cmd

或者是使用绝对路径(外部命令)

移动和重命名文件

mv

-i:交互式

-f:强制

删除

rm

-i:交互式

-r:递归删除

-f:强制

目录操作

tree:显示目录树

-d:只显示目录树

-L level:指定显示层级数目

mkdir:创建目录

-p:存在于不报错,而且自动创建所需的各目录

-v:显示过程

-m MODE:创建目录时直接指定权限

rmdir:删除目录

-p:递归删除父目录

-v:显示过程

rm -r:递归删除目录树

确定文件内容

file:

-b:列出文件辨识结果时,不显示文件名称

-c:详细显示指令的执行过程,便于排错或分析序执行

-f:列出文件中文件名的文件类型

-F:使用指定的分隔符替换输出文件名后默认的“:”分隔符

-i:输出mime类型的字符串

-L:查看对应的软连接对应的文件类型

-z:尝试去解读压缩文件

io重定向:改变输入和输出的默认位置

把输出和错误重新定向到文件

命令 操作符号 文件名

>把标准输出定向到文件

2>:把错误输出定向到文件

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

>此符号输出会把定向文件的内容覆盖

可以使用 set -c 禁止覆盖

但是使用>| 强制覆盖

使用set +c 允许覆盖

>>把标准输入追加到文件

把标准输出和错误输出重新定向到文件

2>错误输出(覆盖)

2>>错误输出(追加)

标准输出和错误输出可以指向不同的文件

cmd > /path/to/file.out 2 > /path/to/file.out

标准输出和错误输出可以指向相同的文件

&>:覆盖

&>>:追加

cmd >/path/to/file.out 2> &1(顺序很重要)

cmd >/path/to/file.out 2>> &1

():可以合并多个程序的输出

(cal 2008 ; cal 2016)> all.txt

tr :转换字符

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

发邮件

mail -s haha wang

命令     标题    收件人

作业

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

[root@daxia ~]# tr 'a-z' 'A-Z' <  /etc/issue > /tmp/issue.out

[root@daxia ~]# cat /tmp/issue.out

\L \N \T

WELCOME ALI

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

root@daxia ~]# echo `who` | tr 'a-z' 'A-Z' > /tmp/who.out

[root@daxia ~]# cat /tmp/who.out

ROOT :0 2016-07-28 07:54 (:0) ROOT TTY2 2016-07-28 07:58 ROOT PTS/1 2016-07-28 17:36 (10.1.250.14)
3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下:
Hello, I am 用户名,the system version is here,pleasehelp me to check it ,thanks!
操作系统版本信息

[root@daxia ~]# echo "hello,i am `whoami` the system version is here,paleasehelp me to caeck it,thanks! `cat /etc/redhat-release` "| mail -s hi xing

[xing@daxia ~]$ mail

Heirloom Mail version 12.5 7/5/10.  Type ? for help.

"/var/spool/mail/xing": 3 messages 3 new

>N  1 root                  Thu Jul 28 21:44  18/583   "haha"

N  2 root                  Thu Jul 28 21:56  19/651   "haha"

N  3 root                  Thu Jul 28 22:02  18/683   "hi"

& 3

Message  3:

From root@daxia.localdomain  Thu Jul 28 22:02:46 2016

Return-Path: <root@daxia.localdomain>

X-Original-To: xing

Delivered-To: xing@daxia.localdomain

Date: Thu, 28 Jul 2016 22:02:46 +0800

To: xing@daxia.localdomain

Subject: hi

User-Agent: Heirloom mailx 12.5 7/5/10

Content-Type: text/plain; charset=us-ascii

From: root@daxia.localdomain (root)

Status: R

hello,i am root the system version is here,paleasehelp me to caeck it,thanks! CentOS Linux release 7.2.1511 (Core)

&

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

[root@centos6 ~]# ls /root |tr "\n" "\040" 

1aA aa anaconda-ks.cfg Desktop f3 install.log install.log.syslog manpages.sh manpages-zh-1.5.1 manpages-zh-1.5.1.tar.gz maxing maxing2016-07-28 公共的 模板 视频 图片 文档 下载 音乐 桌面 [root@centos6 ~]#


原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/26904

(0)
M20-1马星M20-1马星
上一篇 2016-08-02 10:55
下一篇 2016-08-02 10:55

相关推荐

  • linux文件权限管理和用户,组管理常用命令应用实例

    用户和组概念简述 用户一般指使用计算机的人,GNU/linux通过用户和用户组实现对计算机的文件访问和设备使用控制。 用户分类1.管理员root(类似皇帝,权力最大)2.普通用户:分为系统用户和普通登录用户。系统用户不登录,常用于发起一些进程提供服务,防止进程被劫持带来的风险,所以尽量减少以root身份发起进程对外提供服务。3.用户标识UID。管理员的UID…

    2017-10-05
  • linux 学习之权限优先级

    linux下对同一文件的权限分成很多类,同时也可能对同一文件权限配置多种权限那么在这么多配置中,到底是怎么生效的呢?比如一个文件abc.txt属于wang用户,而同时对abc.txt又设置了ACL禁止 wang用户读写执行等等这些情况就是ACL的生效顺序完全理解,模拟出实验环境一一验证1,文件a属于mage用户,但ACL限制 mage读写执行 Paste_I…

    Linux干货 2017-05-29
  • 非常不错的编程技术教程

    下面是一些非常不错的编程教程,当然,全是英文版的。不过因为是新手教程,所以非常容易阅读,可以在学习技术的同时加强一下自己的英语阅读能力。 如果你是一个新手,建议你把本页设为你的收藏夹。C Introduction to C Programming C Optimization Tutorial Compiling C and C…

    Linux干货 2016-05-10
  • rsyslog日志系统

    一、前言  什么是日志?    日志就是历史事件,按时间序列将发生的事件予以记录;日志记录信息记录的是事件的发生时间以及事件内容  Linux下记录日志的系统:    syslog:是CentOS 5.0系统上使用的日志系统,有两类日志,分别是syslogd、klogd;    …

    Linux干货 2015-06-15
  • 关于LNMP架构的网站迁移的事(第一版)

    大家好: 今天分享下在生产环境中如何对LNMP架构的两台服务器群的网站进行迁移及其操作思路: 1– 首先要对老服务器上的nginx,PHP, mysql的版本及其安装方式要彻底了解。 特别对php来说,用php -m 来了解老服务器上php所安装过的插件。 [azureuser@cnux17 ~]$ php -m [PHP Modules] ap…

    Linux干货 2016-12-26
  • 推荐CentOS Linux下的分区及格式化工具

    简介 伴随着科技的飞速发展,越来越多的企业对于服务器的稳定要求越来越高,越来越多的企业开始采用linux系统来部署自己的服务,以求高效的稳定性,当然任何操作系统都需要一个最基本的基础,那就是硬盘,及硬盘分区,今天来给大家推荐几款CentOS Linux下的分区工具及如何查看分区环境,也会给大家来带一些硬盘的基本知识 一、硬盘的接口类型 分区肯定是对硬盘进行分…

    2017-03-19