预习笔记

1,grep:文本过滤工具

基础用法:grep "4" zhang.txt

-v 显示不匹配的行(取反)


-n显示匹配行及行号

-i 不区分大小写(只适合用于单字符),默认是区分大小写的

grep 搜索内容 搜索目标a    不要忽略二进制的数据。

 -A  除了显示符合范本样式的那一列之外,并显示该行之后的内容。

 -b  在显示符合样式的那一行之前,标示出该行第一个字符的编号。

 -B>  除了显示符合样式的那一行之外,并显示该行之前的内容。

 -c  计算符合样式的列数。

 -C  除了显示符合样式的那一行之外,并显示该行之前后的内容。

 -d  当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 

-e  指定字符串做为查找文件内容的样式。

 -E  将样式为延伸的普通表示法来使用。

 -f  指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式-F  将样式视为固定字符串的列表。

 -G  将样式视为普通的表示法来使用。

 -h  在显示符合样式的那一行之前,不标示该行所属的文件名称。

 -H  在显示符合样式的那一行之前,表示该行所属的文件名称。

 -i  忽略字符大小写的差别。

 -l  列出文件内容符合指定的样式的文件名称。

 -L  列出文件内容不符合指定的样式的文件名称。

 -n  在显示符合样式的那一行之前,标示出该行的列数编号

 -q  不显示任何信息。

 -r  此参数的效果和指定“-d recurse”参数相同。

 -s  不显示错误信息。

 -v  显示不包含匹配文本的所有行。

 -V  显示版本信息。

 -w  只显示全字符合的列。

 -x  只显示全列符合的列。

 -y  此参数的效果和指定“-i”参数相同。


重定向 将数据传到尖的方向> 输出重定向     

 直接覆盖内容>>追加输出重定向 

 追加在文件结尾<输入重定向

<<追加输入重定向2>错误输入  只输入错的  1>=> 只输入对的

- 普通文件d 

目录文件b 

设备文件(块)设备存储设备硬盘 /dev/sda1  /dev/sda2c 设备文件(字符设备)打印机 终端    /dev/tty1 

 dev/zeros 套接字文件 

进程之间通信p 管道文件l 链接文件tar打包压缩命令z通过gzip进行压缩

c创建压缩包

v创建压缩包和解压的过程f指定的压缩包 

f一定在最后解压 

xfdata显示系统时间

find 根据下列规则判断 path 和 expression,

在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。

如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过-anewer

 file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件

-gid n or -group name : gid 是 n 或是 group 名称是 name-ipath p,

 -path p : 路径名称符合 p 的文件,ipath 会忽略大小写-name name,

 -iname name : 文件名称符合 name 的文件。

iname 会忽略大小写-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

-type c : 文件类型是 c 的文件。

d: 目录

c: 字型装置文件

b: 区块装置文件

p: 具名贮列

f: 一般文件

l: 符号连结

s: socket-pid 

n : process id 是 n 的文件

Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。

具体情况如下:命令: ls -lih输出:


预习笔记_第1张图片

 说明:第一列:inode

第二列:文件种类和权限;

第三列: 硬链接个数;

第四列: 属主;

第五列:所归属的组;

第六列:文件或目录的大小;

第七列和第八列:最后访问或修改时间;

第九列:文件名或目录名inode 译成中文就是索引节点。

每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘等等)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的

而inode呢,就是用来存储这些数 据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。

inode为每个文件进行信息索引,所以就有了inode的数值。

操作系统根据指令, 能通过inode值最快的找到相对应的文件。

做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。


Day12 预习笔记

在 bash 操作环境中有一个非常有用的功能,那就是通配符 (wildcard) !

有了wildcard利用 bash 处理数据就方便了!

一些常用的通配符:        

符号                                  意义        

  *                        代表『 0 个或无穷多个』任意字符      

    ?                        代表『一定有一个』任意字符      

    [ ]                        同样代表『一定有一个在括号内』的字符(非任意字符)。

        除了通配符之外,bash 环境中的特殊符号有哪些呢?

底下我们先汇整一下:  

  符号                    内容   

   #                    批注符号:这个最常被使用在 script 当中,规为说明!    

  \                      跳脱符号:将『特殊字符或通配符』还原成一般字符     

 |                      管道 (pipe):分个两个管道命令的界定;   

   ;                      连续指令下达分隔符: (注意!与管道命令不相同)   

 ~                      用户家目录    

$                      取用变量前导符:亦即是取用变量前需要加的变量取代值  

  &                      工作控制 (job control):将指令变成成背景下工作 

   !                        逻辑运算意义上的『非』 not 癿意思!   

 /                        目录符号:路径分隔的符号    

>, >>                数据流重导向:输出导向,分删是『叏代』不『累加』   

 <, <<                数据流重导向:输入导向 (这两个留待下节介绍)    

 ' '                      单引号不具有变量置换的功能  

  " "                      具有发量置换的功能!  

  ` `                      两个『 ` 』中间为可以先执行的指令,亦可使用 $( )    ( )   

  ( ) 在中间为子 shell 的起始不结束

 { }                      在中间为命令区块的组合!

你可能感兴趣的:(预习笔记)