马哥linux课堂笔记

0805课堂笔记

基本权限

读,写,执行

 

对于文件的读权限,能否查看文件内容.(文件内容需不需要看,如果是文本就需要看,如果是二进制就不需要看)

对于文件的写权限,能否修改文件内容,不能修改文件名,不能删除文件.(如果需要修改文件内容和文件名,必须在其父目录增加写权限和执行权限)

对于文件的执行权限,能否运行他.

 

对于目录的读权限,能否查看目录中的文件列表,如果只有读权限,也只能看到文件列表的名称,如果没有执行权限,将只能查看文件列表,而不能查看其内容,所以必须要配合执行权限

大写X权限如果作用在目录上,加上-R选项,将会递归在该目录下的所有文件,这时候X就会判断父目录下的所有文件或目录,如果是目录就会带x权限,如果是文件将会判断其是否有X权限,如果有则会加,没有则无X权限.(大X权限只能使用模式法,不能使用数字法)

 

数字法读写执行权限对应数字

读read 4

写write 2

执行executo 1

 

指定文件的所属组所有者

更改所有者

chown

(chown同样可以修改所属组.如:chown :g1 file 偶然

dir 这种写法就可以修改所属组为g1)

更改所属组

chgrp

 

修改权限命令

chmod

 

新建文件的权限由umask决定

root的umask 022

user:002

越大的umask值权限越小.

 

文件的默认权限

file default = 666-umask

奇数+1

如果是奇数将会屏蔽不掉x权限,而umask的作用就是为了屏蔽掉x权限.

目录的默认权限

dir default = 777-umask

 

umask的定义可以在家目录下的.bash_profile或.bashrc中

全局定义在/etc/bashrc或/etc/profile

 

chattr

+i 不能更改或删除

+a 只能增加

+A Access访问时间锁定

 

lsattr

查看文件附加权限

 

特殊权限

suid 工作在二进制文件,必须是文件,不能是目录(因为如果工作在目录将没有意义),普通用户运行这个文件将会继承文件所有者的身份,所以所有者身份必须带有x权限.

sgid 可以作用与文件或者目录,作用在文件上跟suid差不多,但是继承的是文件所属组的权限,作用在目录上的话,

sticky可以作用与目录上,其作用就是只有root和普通用户才能删除目录中所有者是自己的文件.

(文件拥有Suid,Sgid,Skicky位时,必须拥有X权限,如果没有,将会显示大写的SST,因为如果没有那么suid和sgid,skicy将没有意义)

 

文件权限的应用顺序

所有者,自定义的ACL记录(自定义用户,自定义组),group(定义了ACL之后组就是mask),other

 

访问控制列表(ACL)

getfacl file|directory  查看文件或目录的ACL权限

setfacl –m u:wang:rwx file | directory 增加文件用户wangACL权限

setfacl –Rm g:sales:rwX directory 递归ACL权限给sales组到这个目录

setacl –M file.acl file|directory 通过文本模式增加ACL权限给文件或目录

setfacl –m g:salegroup:rw file:directory 增加文件或目录salegroup组的ACL权限

setfacl –m d:u:wang:rx directory 增加某个目录下新建文件默认的ACL权限是rx

setfacl –x u:wang file |directory 根据指定ACL权限来删除

setfacl –X file.acl directory 通过文本模式删除acl权限

setfacl –b file|directory 清空所有acl权限和记录

 

 

文本处理工具

 

抽取文本内容:less和cat

more:分页查看文件

more [OPTIONS…]FILE…

-d 显示翻页及退出提示

 

less:一页一页地查看文件或STDIN输出

查看时有用的命令包括

/文本 搜索 文本

n/N 跳到下一个 or 上一个匹配

less 命令是man命令使用的分页器

 

文件查看命令:cat,tac,rev

-E 显示行结束符$

-n 对显示的每一行进行编号

-A 显示所有控制符 是-vET的组合

-b 非空行编号

-s 压缩的连续的空行成一行

-T 查看Tap符号^I

-v 查看windows下的回车^M

tac 按行来倒置显示

rev 按行来反向显示每一个字符

如: cat f1

1234

abcd

tac f1

abcd

1234

rev f1

4321

dcba

 

hexdump  查看文件十六进制编码

 

文件截取:head和tail

head 查看文件内容前几行

head –n 3 查看内容前3行

tail –n 3 查看内容后3行

不带选项的默认查看前10行或后10行

tail –f 跟踪显示文件新追加的内容,常用日志监控(缺点无法在进行其他的工作)

在后面增加&可以在后台执行

tail –n 0 var/message &

fg将后台执行的命令放到前台来关闭他

-c 显示最后几个字节

 

按列抽取:cut

cut [OPTION…] [FILE…]

-d DELIMITER:指明分隔符,默认tab

-f FILEDS:

#:第#个字段

#,#[,#]:离散的多个字段,例如1,3,6

#-#: 连续的多个字段,例如1-6

-c 按字符切割

–output-delimiter=STRING知道你跟输出分隔符

 

显示文件或STDIN数据的指定列

cut –d: -f1 /etc/passwd

取passwd文件中以:分隔符取第一列内容

cat /etc/passwd | cut –d: -f7

取passwd文件中以:分隔符第七列内容

cut –c2-5 /usr/share/dict/words

取words 文件中 字符2-5列的内容

 

paste 合并两个文件同行号的列到一行

paste [OPTION]… [FILE]…

-d 分隔符:指定分隔符,默认用TAB

paste f1 f2

-s: 所有行合成一行显示

paste –s f1 f2

马哥linux课堂笔记

 

文本数据的统计工具

wc(word count)

-m 统计字符

 

整理文本:sort

把整理过的文本显示在STDOUT,不改变原始文件

sort [options] files

常用选项

-r 执行反方向(由上至下)整理

-n 执行按数字大小整理

-f 选项忽略(fold)字符串中的字符大小写

-u 选项(独特,unique)删除输出中的重复行

-t c 选项使用c作为字段界定符

-k X 选项按照使用c字符分隔的X列来整理能够使用多次

 

uniq命令:从输入中删除重复的前后相接的行

uniq [OPTIONS]… [FILE]…

-c 显示每行重复出现的次数

-d 仅显示重复过的行

-u 仅显示不曾重复的行

常和sort命令一起配合使用:

sort userlist.txt | uniq –c

 

 

比较文件:diff和patch

 

diff 命令的输出被保存在一种叫做”补丁”的文件中

使用-u 选项来输出”同意的(unifed)”diff格式文件,最适用于补丁文件

 

patch 命令复制在其他文件中进行的改变(要谨慎使用!)

适用-b 选项来自动备份改变了的文件

 

diff –u foo.conf-broken foo.conf-works > foo.patch

patch –b foo.conf-broken foo.patch

 

按关键字抽取:grep

linux上文本处理三剑客:grep,sed,awk

 

grep:文本过滤(pattern)工具;

gred,egrep,[fgrep(不支持正则表达式搜索)]

 

正则表达式

REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义.而表示控制或通配的功能

程序支持:grep,vim,less,nginx等

分两类:

基本正则表达式: BRE

扩展正则表达式:ERE

grep –E,egrep

正则表达式引擎:

采用不同算法,检查处理正则表达式的软件模块

PCRE(Perl Compatible Regular Expressions)

元字符分类:字符匹配,匹配字数,位置锚定,分组

man 7 regex

 

grep的工具名Global search Regular expression and Printout the line (全局搜索正则表达式并且打印出相印的行)

作用:文本搜索工具,根据用户指定的”模式”对目标文本逐行进行匹配检查:打印匹配到的行;

模式:由正则表达式字符及文本字符所编的过滤条件

grep [OPTIONS] PATTERN[FILE…]

grep rot /etc/passwd

grep “$USER”/etc/passwd

grep ‘$USER’/etc/passwd

grep `whoami` /etc/passwd

 

-v 显示不能够被patern匹配到的行

-I 忽略字符大小写

-n 显示匹配到的行号

-c 统计匹配的行数

-o 仅显示匹配到的字符串

-q 静默模式,不输出任何信息

grep –q root /etc/passwd

找到找不到都不显示,配合echo $? 使用,如果显示0说明找到,如果显示为1说明没找到

马哥linux课堂笔记

 

-A #:after,后#行

-B #:before,前#行

-C #:context,前后各#行

-e 实现多个选项间的逻辑or关系

grep –e `cat` -e `dog` file

-w整行匹配整个单词

-E 使用ERE

 

字符匹配:

. :匹配任意单个字符

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

[^]:匹配指定范围外额任意单个字符

[:digit:][:lower:][:upper:][:alpha:][:alnum:][:punct:][:space:]

 

匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数

*: 匹配前面的字符一次,包括0次

贪婪模式:尽可能长的匹配

.*:任意长度的任意字符

\?:匹配其前面的字符0或1次

\+:匹配其前面的字符至少1次

\{n\}:匹配前面的字符n次

\{m,n\}:匹配前面的字符至少m次,至多n次

\{,\n}:匹配前面的字符至多n次

\{n,\}:匹配前面的字符至少n次

 

sed:stream editor,文本编辑工具

awk: linux上的实现gawk,文本报告生成器

 

 

 

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

(0)
KartikKartik
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 06文本工具简单介绍

    在Linux系统中,一个核心理念就是:一切皆文件。正确的对系统中文本的编辑配置与管理是Linux系统得以稳定运行的一个重要大前提。 因此Linux系统中的文件与管理特别重要,下面简单说一下在对文件处理过程中经常用到的一些命令工具。 文本查看命令:cat,tac,rev,more,less cat [option]…[file]… -E…

    Linux干货 2016-10-31
  • 【26期】Linux第九周学习小总结

    本周带来的是慢慢的技术分享,有关于计划任务的分享,涉及的知识点主要是at和cron,crontab的详解,计划任务可以将任何脚本、程序或文档安排在某个最方便的时间运行,有利于我们的自动化运维,当某项任务多次重复,或者某个指定的时间点多次执行时,就可以使用计划任务方便我们的工作。

    2017-09-09
  • MySQL高可用架构之MHA

    MySQL高可用架构之MHA 1、关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover功能。MHA在监控到master节点故障时,会提升其中拥有的最新数据的slave节点成为新的master节点,在此期间,MHA会通过其它从节点获取额外信息来避免一致性…

    Linux干货 2017-03-30
  • LVM详解

    一、概述     LVM全称为Logical Volume Manager,即逻辑卷管理器。LVM可以弹性的调整文件系统的容量,可以将多个物理分区整合在一起,并且根据需要划分空间或动态的修改文件系统空间。     LVM有两个版本: lvm,lvm2 二、LVM的相关概念   &…

    Linux干货 2015-04-28
  • N21_第二周练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令:cp,mv.rm 复制命令:cp 格式:        cp [OPTION]… [-T] SOURCE DEST        cp [OPTION]… SOU…

    Linux干货 2016-07-16
  • Homework Week-8 网络及脚本编程

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 设备 功能 使用场景 网桥 用于连接不同网段,将相似的网络连接起来,隔离信息。 连接不同部门间的局域网;连接地理位置分散并且相距较远的局域网,可以增加工作的物理距离;采用由网桥连接的多个局域网调节负载;网桥可以设置在局域网的关键部位,防止单点失常而破坏整个系统等。 集线器 对接收…

    Linux干货 2016-10-09