linux基础1

linux基础

linux的各种文件管理命令 例如: mkdir rmdir rm 等等

mkdir

作用:创建目录

-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

rmdir

作用:删除目录

-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;

–ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;

-v或-verboes:显示命令的详细执行过程;

 

rm

作用:删除文件和文件夹

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。


文件元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
1、元数据定义:
数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的
元数据就是数据的数据。
任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode…)等等。在集群文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在集群中的位置。用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。
文件系统元数据(metadata)的更改都被保存在一份单独的日志里,当发生系统崩溃时可以根据日志正确地恢复数据。除此之外,日志使系统重新启动时不必进行文件系统的检查,从而缩短了恢复时间。
2、元数据管理方式:
元数据管理有两种方式:集中式管理和分布式管理
集中式管理:是指在系统中有一个节点专门司职元数据管理,所有元数据都存储在该节点的存储设备上。所有客户端对文件的请求前,都要先对该元数据管理器请求元数据。
分布式管理:是指将元数据存放在系统的任意节点并且能动态的迁移。对元数据管理的职责也分布到各个不同的节点上。
大多数集群文件系统都采用集中式的元数据管理。因为集中式管理实现简单,一致性维护容易,在一定的操作频繁度内可以提供较满意的性能。缺点是单一失效点问题,若该服务器失效,整个系统将无法正常工作。而且,当对元数据的操作过于频繁时,集中的元数据管理成为整个系统的性能瓶颈。
分布式元数据管理的好处是解决了集中式管理的单一失效点问题,而且性能不会随着操作频繁而出现瓶颈。其缺点是,实现复杂,一致性维护复杂,对性能有一定影响。
文件的数据分为两类:一类为元数据,既属性数据;一种就是数据本身。
可用命令stat查看文件的元数据
stat:
功能说明:显示inode内容。
语  法:stat [文件或目录]
补充说明:stat以文字的格式来显示inode的内容。
ls 命令及其许多参数提供了一些非常有用的文件信息。另一个不太为人所熟知的命令 stat 提供了一些更为有用的信息。
例:
查看可执行文件“oracle”
# stat oracle
File: ‘oracle’
Size: 93300148 Blocks:182424 IO Block:4096 Regular File
Device: 343h/835d Inode: 12009652 Links: 1
Access: (6751/-rwsr-s–x) Uid:( 500/ oracle) Gid:( 500/ dba)
Access: 2006-08-04 04:30:52.000000000 -0400
Modify: 2005-11-02 11:49:47.000000000 -0500
Change: 2005-11-02 11:55:24.000000000 -0500
使用该命令获得的信息:除了通常的文件大小(也可以使用 ls -l 命令获得)以外,您还获得了该文件占用的块数。通常的 Linux 块大小为 512 字节,因此一个大小为 93,300,148 字节的文件将占用 (93300148/512=) 182226.85 个块。由于块都是完整占用,因此该文件使用了一些整数个数的块。无需猜测就可以获得确切的块数

stat 命令的修改符 -f 显示了有关文件系统(而非文件)的信息:
# stat -f oracle
File: “oracle”
ID: 0 Namelen:255 Type:ext2/ext3
Blocks: Total: 24033242 Free: 15419301 Available: 14198462 Size: 4096
Inodes: Total: 12222464 Free: 12093976

另一个选项 -t 显示了完全相同的信息,只不过是在一行中显示的:
# stat -t oracle
oracle 93300148 182424 8de9 500 500 343 12009652 1 0 0 1154682061
1130950187 1130950524 4096

修改文件时间戳信息
命令:touch
touch命令一般用来修改文件的时间,或者新建一个不存在的文件.
语法如下: touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名)
例子:
touch file1.txt 更新file1.txt的存取和修改时间
touch -c file1.txt 如果file1.txt不存在,不创建文件
touch -r ref_file file1.txt 更新file1.txt的时间戳和ref+file相同
touch -t 0911252234.40 file1.txt 设定文件的时间为09年11月25日22点34分40秒
参数说明:
-a 修改文件 file 的存取时间.
-c 不创建文件 file.
-m 修改文件 file 的修改时间
-r ref_file 将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.
-t time 使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.
此处的 time 规定为如下形式的十进制数∶ [[CC]YY]MMDDhhmm[.SS] 这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969–2068之内.MM为月数,DD为天将把年数CCYY限定在1969–2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0–61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的.
使用touch可以一次创建多个文件:
# touch myfile01 myfile02 myfile03
#touch myfile0{1,2,3} 创建myfile01 myfile02 myfile03 三个文件

linux定义别名

用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。

还有,如果你想给每一位用户都生效的别名,请把alias la=’ls -al’ 一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件 /etc/bashrc和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用 有,如果你想给每一位用户都生效的别名,请把alias la=’ls -al’ 一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件 /etc/bashrc和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用 

参数:若不加任何参数,则列出目前所有的别名设置。

例如:

alias md=mkdir

 

glob​:bash中用于实现文件名“通配”

通配符:*,?,[]

(1)*

任意长度的任意字符

(2)?

任意单个字符,,可以连续使用多个问号,几个问号就代表几个字符

(3)[]

匹配指定范围内的任意单个字符

[abc],[0-9]从所有[]内的字符挑一个

[a-z]不区分大小写

[A-Z]仅匹配大写

​​(4)[^]匹配指定范围之外的任意单个字符

 专用字符集合​

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

[:lower:]:任意小写字母

[:upper:]: 任意大写字母

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

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

[:space:]:

[:punct:]:标点符号

 

例如:

显示var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字的目录和文件.

~]# ls -d /var/l*[0-9]*[[:lower:]]​

显示/etc/目录下,以任意数字开头,且以非数字结尾的文件和目录

~]# ls -d /etc/[[:digit:]]*[^[:digit:]]

在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件

~]# touch tfile-‘date +”%Y-%m-%d-%H-%M-%S”‘

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92024

(0)
JimmyJimmy
上一篇 2018-03-08 17:01
下一篇 2018-03-10

相关推荐

  • 马哥教育网络21期+第三周练习博客

    马哥教育网络21期+第三周练习博客 一.回顾第二周的学习内容 1,Linux上的文件管理类的命令: mkdir:创建目录: [root@localhost ~]# mkdir /tmp/fstab2222 [root@localhost ~]# ls -l /tmp/ total&nbsp…

    Linux干货 2016-07-16
  • GDB中应该知道的几个调试方法

    七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。 一、多线程调试 多线程调试可能是问得最多的。…

    Linux干货 2016-07-11
  • M22 使用光盘修复Centos实验初探

    实验目的: 服务器由于文件丢失等原因造成无法启动,可以使用光盘引导启动服务器,然后对服务器进行修复。 实验环境: VMware12安装Centos6.8虚拟机 Centos6.8的光盘镜像 实验原理: 手动删除虚拟机上的rpm程序文件,使用光盘镜像恢复安装rpm程序。 实验过程: 1、     执行命令删除rpm程序,…

    2017-03-06
  • 关于大型网站技术演进的思考(四):存储的瓶颈(4)

    原文出处: 夏天的森林    如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体…

    2015-03-11
  • N25_第一周_yecho

    ???

    Linux干货 2016-12-01
  • 第一周课程练习

    马哥教育网络班22期+第一周课程练习 1、描述计算机的组成及其功能   CPU(运算器和控制器),存储器(内存和外存),输入/输出设备。     (1)运算器:对数据进行加工处理(包括算术运算与逻辑运算);     (2)控制器:负责从存储器取出一条指令,并指出下一条指…

    Linux干货 2016-08-15