linux基础第二周

1. 用chattr命令防止系统中某个关键文件被修改:
# chattr +i /etc/resolv.conf

然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉: chattr -i /etc/resolv.conf

# lsattr /etc/resolv.conf
会显示如下属性
—-i——– /etc/resolv.conf

2. 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
# chattr +a /var/log/messages

3. 权限的优先级
# owner > acluser > group及aclgroup (谁的优先级大,就用谁)> other

4. setfacl  getfacl
# setfacl -m u: username: rwx filename   设置用户的acl
#         -x u/g:username/groupname filename 设置组的acl
#         -m m:rwx filename  设置mask(最大优先级)
#         -b filename 删除文件上的所有acl,同时删除acl结构
———上面的权限都可以配合递归 -R 一起使用
#         -m d:u/g:username/groupname:rwx filename 设置默认权限(注意默认权限仅对未来文件有效,对当前无效)
#         -X acl.txt  filename 设置一个清除acl权限的清单  如  u:wang  g:test

5. umask  查询当前shell的umask
#  umask xxx  设置当前shell的umask
#  vim ~/.bashrc
#        将umask xxx写入文件,在下次使用该用户登录shell时生效
#       -S 以模式方式显示
#       -p 输出可被调用

5

6. 设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写,
设置/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:—,
备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原。

6

7. SUID SGID sticky
# chmod u+s filename 设置SUID位   # chmod u-s filename 去掉SUID设置
# chmod g+s filename 设置SGID位   # chmod g-s filename 去掉SGID设置
当对一个可执行的二进制文件作用了suid权限之后,任何可以执行该文件的用户在执行时将临时拥有该文件所属人的身份。
当对一个可执行的二进制文件作用了sgid权限之后,任何可以执行该文件的用户在执行时将临时更改主要组为该为文件的主要组从而获得组权限。
当对一个目录作用了suid权限之后,任何对目录有wx权限的用户在该目录下所创建的文件(或目录)的所属组不在是用户的主组,而是继承该目录的所属组。
当对一个目录作用了sticky权限之后,该目录下的文件仅其所属人、目录的所属人和root可以删除。

8. uniq 去重
#    uniq 去除连续的重复行,仅保留一行
#    -u 去除连续的重复行,不保留
#    -d 仅显示重复的行,去除不重复的行
#    -c 显示的结果前显示重复的次数

9.  找出ifconfig “网卡名” 命令结果中本机的IPv4地址

9

10. 查出分区空间使用率的最大百分比值

10

11. grep用法
#    -v 显示不被pattern匹配到的行
#    -i 忽略字符大小写
#     -n 显示匹配的行号
#    -c 统计匹配的行数
#    -o 仅显示匹配到的字符串
#    -q 不输出任何信息
#    -A 后几行 -B 前几行 -C 上下各几行
#    -e 实现多个选项间的逻辑or关系
grep -e ‘cat’ -e ‘dog’ file
#    -w 匹配整个单词

12. read用法
#      -a 将内容读入到数值中
#      -n 用于限定最多可以有多少字符可以作为有效读入
#     -p 用于给出提示符
#     -t 用于等待输入的时间
#      -s 用于隐藏输入密码的显示情况

13. shell添加用户小程序

13

14. tar用法
#     -c: 建立压缩档案
#     -x:解压
#     -t:查看内容
#     -r:向压缩归档文件末尾追加文件
#     -u:更新原压缩包中的文件
#     -z:有gzip属性的
#     -j:有bz2属性的
#     -Z:有compress属性的
#     -v:显示所有过程
#     -O:将文件解开到标准输出
打包: tar -cf all.tar *.jpg  这条命令是将所有.jpg的文件打成一个名为all.tar的包。
tar -rf all.tar *.gif  这条命令是将所有.gif的文件增加到all.tar的包里面去。
tar -tf all.tar        这条命令是列出all.tar包中所有文件
压缩: tar -czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包
tar -cjf jpg.tar.bz2 *.jpg 是用bzip2压缩的包
tar -cZf jpg.tar.Z *.jpg   是用compress压缩
解压: tar -xzvf file.tar.gz    解压tar.gz(gzip)
tar -xjvf file.tar.bz2   解压 tar.bz2(bzip2)
tar -xZvf file.tar.Z     解压tar.Z (compress)

141

142

15. sed用法
-n  不输出模式空间内容到屏幕,既不自动打印
-e  多点编辑
-f  从指定文件中读取编辑脚本
-r  支持使用扩展正则表达式
-i.bak 备份文件并原处编辑
编辑命令:
d: 删除模式空间匹配的行,并立即启用下一轮循环
p: 打印当前模式空间内容,追加到默认输出之后
a: 在指定行后面追加文本
i: 在行前面追加文本
w: 保存模式匹配的行至指定文件
r: 读取指定文件的文本至模式空间中匹配到的行后
=: 打印行号
!: 模式空间匹配行取反处理
g: 行内全局替换
p: 显示替换成功的行

例题:etc/passwd删除倒数第二个单词

15

第一个单词和最后一个单词调换顺序

16

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

(0)
miraclermiracler
上一篇 2017-09-09
下一篇 2017-09-09

相关推荐

  • Hadoop hdfs分布式文件系统

    一、MapReduce理论基础 每个MapReduce job都是Hadoop客户端想要执行的一个工作单元,它一般由输入数据、MapReduce程序和配置信息组成,而Hadoop会把每个job分隔成两类任务(task):map任务和reduce任务。在Hadoop集群中有两类节点来执行两类job进程的执行 1.1 大数据处理 任何基础业务包含了收集、分析、监…

    2017-12-08
  • 马哥教育网络19期+第五周练习博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;   grep "^[[:space:]]\+.*" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; &n…

    Linux干货 2016-06-19
  • 用户与权限管理

    用户与权限管理      昨天学完了用户与权限管理,讲解了用户的运行机制和权限的作用。 用户的产生来源于3A机制:    认证(Authentication):就是验证用户身份的。    授权(Authorization) :验证完身份后,…

    2017-07-27
  • 系统基础之shell脚本编程详解3(函数)

    shell脚本编程详解3:    在前两节我们分别介绍了shell脚本编程的基础和循环,判断的知识,今天我们分享脚本的另一种用法,函数. 概论:     函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。    它与shell…

    Linux干货 2016-08-22
  • 定时任务应用示例

    定时任务应用示例 1.每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202 mkdir /backup crontab -e * */4 * * * cp -ar /etc/ /backup/etc-$(date +%Y%m%d%H%M) 2.每周2,4,6备份/var/log/messages…

    Linux干货 2017-08-06