原始文件:

find /etc -name passwd 2>&1 | tee ee.log

1. cat -n 把 e.log 的文档内容加上行号后输入 e2.log 这个文档里:

xiluhua@localhost ~/t2scripts $ cat -n e.log | tee e2.log
/etc/passwd find: `/etc/ntp/crypto': Permission denied
find: `/etc/audisp': Permission denied
find: `/etc/audit': Permission denied find: `/etc/polkit-/localauthority': Permission denied
find: `/etc/dhcp': Permission denied
/etc/pam.d/passwd
find: `/etc/lvm/backup': Permission denied
find: `/etc/lvm/cache': Permission denied
find: `/etc/lvm/archive': Permission denied
find: `/etc/cups/ssl': Permission denied
find: `/etc/pki/rsyslog': Permission denied find: `/etc/pki/CA/private': Permission denied
find: `/etc/vmware-tools/GuestProxyData/trusted': Permission denied
find: `/etc/sudoers.d': Permission denied
find: `/etc/selinux/targeted/modules/active': Permission denied

2. cat -b 把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

xiluhua@localhost ~/t2scripts $ cat -b e.log | tee e3.log
/etc/passwd find: `/etc/ntp/crypto': Permission denied
find: `/etc/audisp': Permission denied
find: `/etc/audit': Permission denied find: `/etc/polkit-/localauthority': Permission denied
find: `/etc/dhcp': Permission denied
/etc/pam.d/passwd
find: `/etc/lvm/backup': Permission denied
find: `/etc/lvm/cache': Permission denied
find: `/etc/lvm/archive': Permission denied
find: `/etc/cups/ssl': Permission denied
find: `/etc/pki/rsyslog': Permission denied find: `/etc/pki/CA/private': Permission denied
find: `/etc/vmware-tools/GuestProxyData/trusted': Permission denied
find: `/etc/sudoers.d': Permission denied
find: `/etc/selinux/targeted/modules/active': Permission denied

3. cat /dev/null 清空 ee.log 文档内容:

cat /dev/null > e3.log 

4. chattr  +i:不得任意更动文件或目录。

root@localhost /home/xiluhua/t2scripts $ chattr +i ttt.sh $ 加了 +i 之后,root权限也删不了了
root@localhost /home/xiluhua/t2scripts $ rm -rf ttt.sh
rm: cannot remove `ttt.sh': Operation not permitted

5. chgrp

root@localhost /home/xiluhua/t2scripts # touch ttt.sh
root@localhost /home/xiluhua/t2scripts # ll ttt.sh
-rw-r--r--. root root Jan : ttt.sh
root@localhost /home/xiluhua/t2scripts # chgrp xiluhua ttt.sh
root@localhost /home/xiluhua/t2scripts # ll ttt.sh
-rw-r--r--. root xiluhua Jan : ttt.sh

6. chmod

xiluhua@localhost ~/t2 $ chmod --reference=t.sh tt.sh # 以 t.sh 为原型更改 tt.sh 的权限
xiluhua@localhost ~/t2 $ ll tt.sh
-rwxrwxr-x. xiluhua xiluhua Jan : tt.sh
xiluhua@localhost ~/t2 $

7. file (1) 用于辨识文件类型。

xiluhua@localhost ~/t2scripts $ file t.sh -i  # 显示 mime 类别
t.sh: text/x-shellscript; charset=us-ascii

8. file (2) 显示符号链接的文件类型

xiluhua@localhost ~ $ ln -s t2scripts/ t2

xiluhua@localhost ~ $ file -L  t2
t2: directory

9. cut

xiluhua@localhost ~/t2 $  cat /etc/passwd|head -n |cut -d : -f ,-,
root:::root:/bin/bash
bin:::bin:/sbin/nologin
daemon:::daemon:/sbin/nologin
adm:::adm:/sbin/nologin
lp:::lp:/sbin/nologin

10. lsattr 用于显示文件属性,配合 chattr 命令使用

xiluhua@localhost ~/t2 $ lsattr tt.sh
----i--------e- tt.sh

11. tee

xiluhua@localhost ~/t2 $ cat f3.log | tee f4.log f5.log # 同时输出到 f4和f5 两个文件
abc
efg

12. umask (1)指定在建立文件时预设的权限掩码。

root@localhost ~ # umask

root@localhost ~ # umask -S
u=rwx,g=rx,o=rx

13. umask (2)

xiluhua@localhost ~ $ umask

xiluhua@localhost ~ $ umask -S
u=rwx,g=rwx,o=rx

14. which命令用于查找文件。

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

15. whereis

root@localhost ~ # whereis bash
bash: /bin/bash /usr/share/man/man1/bash..gz

16. scp (1) 本地到远程

scp install.log xiluhua@192.168.178.132:~

17. scp (2) 远程到本地

scp xiluhua@192.168.178.132:~/rmq_bk_gc.log .

18. awk 是一种处理文本文件的语言,是一个强大的文本分析工具。

19. awk (1)

xiluhua@localhost ~/t2 $ awk '{print $1,$3}' f1.log
is
you
This's test
are

20. awk (2)

xiluhua@localhost ~/t2 $ awk '{printf "%-8s %-10s\n",$1,$4}' f1.log  # 格式化输出
a
like
This's
orange,apple,mongo

21. awk (3)

提取yum list结果的第三列并除重

root@vm-xiluhua /mnt # yum -q list | awk '{print $3}'| sort -u

bash shell 编程练习的更多相关文章

  1. abc高级bash shell编程

    http://www.pythoner.com/122.html     abc高级bash shell编程

  2. linux 10 -Bash Shell编程

    二十三. Bash Shell编程:     1.  读取用户变量:     read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后 ...

  3. 【shell编程基础0】bash shell编程的基本配置

    前面一篇“shell编程之变量篇”主要讲述下shell编程的变量的基本知识:设置变量的方式,自定义变量和环境变量的差别,变量的替换.删除.测试等. 这一篇主要是讲述在bash shell下的一些基本配 ...

  4. Bash shell编程的语法知识点(1)

    Bash shell脚本编程知识点如下(初学,不全,欢迎讨论补充): shell简介 脚本的简单介绍 变量和引用 算术运算 交互式编程 选择判断 条件测试 循环 函数 shell简介 shell是一种 ...

  5. Bash Shell编程简记

    Shell编程简记 经常在linux环境下开发的同学,难免要使用shell的一些命令或者编写小的脚本,我这里也总结和整理下,自己对Shell的理解和常用的一些shell脚本. 按照目录分为如下3个节: ...

  6. Bash Shell编程要点小结

    一.case命令 case variable invalue1) command(s);; value2) command(s);; *) command(s);; esac 如果case变量没有被匹 ...

  7. GNU Bash Shell 编程图解笔记

    bash,Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写.1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括 ...

  8. bash/shell编程学习(3)

    接上节继续, 1. 从键盘读取输入内容 #!/bin/bash read -p 'please input something:' input echo 'your input:' $input 运行 ...

  9. bash/shell编程学习(1)

    1)定义变量 myvar=abc #注:等号前后不能加空格 #或 myvar="abc" #或 myvar='abc' #注:如果变量后面的值中间本身没有空格,加不加引号都无所谓, ...

  10. bash/shell编程学习(2)

    先来复习上节重定向的用法: 1.快速清空文件 cat demo.txt < /dev/null 注:linux中有一个经典名言[一切皆文件],/dev/null可以认为是一个特殊的空文件,更形象 ...

随机推荐

  1. redis分布式锁(转)

    add by zhj: 如果不考虑键的删除,而是让他过期后自动失效,那用set就可以实现锁了 原文:http://www.cnblogs.com/yjf512/archive/2017/03/22/6 ...

  2. 第二节:Linux下检出项目和提交项目

    1.在linux下获取项目: 2.在linux中提交项目: 这时候我们在光标处添加注释,然后保存退出. 再查看下状态: 接下来问题来了: 解决办法: vim .git/config 修改:[remot ...

  3. 002-linux命令-文件和目录、查看文件内容-文件和目录、查看文件内容

    一.文件和目录 cd /home :进入‘/home’目录 cd .. 返回上一级目录 cd ../..返回上两级目录 cd 进入个人的主目录 cd ~user1进入个人的主目录 cd - 返回上次所 ...

  4. pip升级时报错--- No module named 'pip._internal'

           一.问题:        之前python3.6是安装的pip版本为:pip=9.0.1,我按照提示升级报错,一直装不上pip18.0,于是直接在site-package目录下删掉了pi ...

  5. git add 所有文件

    git add 多个文件的格式介绍 git提交修改之前要add然后commit,假如我用git clone远程服务器文件到本地,然后我如果修改了其中几个文件要提交,我必须一个个的如: $git add ...

  6. Goland的使用

    一.安装Goland 一.Goland简介 Goland是由JetBrains公司旨在为go开发者提供的一个符合人体工程学的新的商业IDE.这个IDE整合了IntelliJ平台的有关go语言的编码辅助 ...

  7. 【LeetCode每天一题】Two Sum(两数之和)

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  8. vue作用域 this

    设计到异步 function 回调的.this指向 需要用内部代替this 如果是箭头符号写法 就不需要 this永远是当前vue实例

  9. Nginx参数调优

    (1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...

  10. 梯度下降法(BGD、SGD)、牛顿法、拟牛顿法(DFP、BFGS)、共轭梯度法

    一.梯度下降法 梯度:如果函数是一维的变量,则梯度就是导数的方向:      如果是大于一维的,梯度就是在这个点的法向量,并指向数值更高的等值线,这就是为什么求最小值的时候要用负梯度 梯度下降法(Gr ...