shell 编程

Posted smww

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 编程相关的知识,希望对你有一定的参考价值。

  1. shell 命令应用练习
    (1)通过帮助信息查看,简述以下文件的用途
    ① /etc/passwd 用户的账户信息
    技术分享图片
    ② /etc/shadow 可选的加密后的密码档
    技术分享图片
    ③ /etc/group 一个定义系统中用户组的档配置
    技术分享图片
    ④ /etc/gshadow用户组etc/group的加密信息档
    技术分享图片
    (2)依次输入如下命令,观察运行结果。结合 man id 查看到的帮助信息,指出每一条命令功能
    ① id查看当前用户的用户id和组id
    ② id -u只显示用户id
    ③ id -u root显示root用户id
    ④ id -u smw显示smw用户id
    技术分享图片
    技术分享图片
    (3)在 shell 命令终端依次输入以下命令,观察执行结果,理解每条命令实现的具体功能
    ① which python
    whereis python
    locate python
    find /usr/bin -name python
    技术分享图片
    技术分享图片
    ② grep -n -E ‘root|jsj|^user‘ /etc/passwd
    grep -n -E ‘ [[:digit:]] ‘ /etc/passwd
    grep -n -E ‘ [[:alpha:]] ‘ /etc/passwd
    grep -n ‘[0-9]{4,}‘ /etc/group
    技术分享图片
    技术分享图片
    技术分享图片
    ③ sudo apt install gimp
    which gimp
    sudo apt remove gimp
    which gimp
    技术分享图片
    技术分享图片
    ④ ls -dl /root --time-style=long-iso
    ls -dl /root --time-style=long-iso | cut -d‘ ‘ -f1,8
    技术分享图片
    ⑤ ls -l --time-style=long-iso
    ls -l --time-style=long-iso -t
    ls -l --time-style=long-iso -t -r
    技术分享图片
    技术分享图片
    技术分享图片
    ⑥ ls /usr/share/man
    ls /usr/share/man | grep man[1-8]
    ls /usr/share/man/man1
    file /usr/share/man/man1/ls.1.gz
    mkdir ~/temp; cp /usr/share/man/man1/ls.1.gz ~/temp
    cd ~/temp; ls
    sudo gzip -d ls.1.gz; ls
    技术分享图片
    技术分享图片
    技术分享图片
    ⑦ ls –l /home | grep "^d" | wc –l
    ⑧ sudo adduser user7
    ls /home | tee users | wc -l
    技术分享图片
    (4)根据要求写出相应的 shell 命令
    ① 在目录/usr/include 下搜索文件 signal.h 是否存在
    技术分享图片
    ② 在/usr/include 目录下的所有文件中查找包含 BUFSIZ 的行,并显示所在行号
    技术分享图片
    ③ 在用户名密码文件/etc/passwd 中查找登录 shell 为 bash 的用户信息记录,并显示行号
    ④ 从/etc/group 文件中截取第 1 列(组名)和第 3 列(组 id),并按照组 id 号的数值大小由小到大排序。
    技术分享图片
    (5)体验 awk, sed 用法:依次执行命令,观察执行结果
    ① cp /etc/apt/sources.list t1; less t1
    技术分享图片
    ② sed -e "s/#.
    //g" t1
    技术分享图片
    ③ sed -e "s/#.*//g" t1 | awk ‘{if (length != 0) print $0}‘
    技术分享图片
    ④ tail -5 /etc/passwd | awk -F: ‘{print $1}‘
    ⑤ tail -5 /etc/group | tee t2
    技术分享图片
    awk ‘BEGIN{print "file t2"} {print "line" NR ":" $0} END {print "over"}‘ t2
    技术分享图片
    (6)查阅网络或帮助,体验命令 curl 和 wget 用法。
    技术分享图片
    技术分享图片
  2. 编写一个 shell 脚本
    技术分享图片
    技术分享图片
    3.实验感悟
    此次实验练习熟悉了 shell 中命令历史、别名、特殊字符用法, 练习了 shell 中正则表达式的用法,体验学习了更多常用 linux 命令工具,尤其是和管道线、正则表达式等配合的组合使用, 掌握了shell 中普通变量的基本用法, 掌握了shell 脚本程序建立和执行的方法,以后有机会会更加深入了解shell的用法。






















































































以上是关于shell 编程的主要内容,如果未能解决你的问题,请参考以下文章

初识shell编程

1shell编程(shell脚本)_理解编程和变量

shell编程中有关时间的判断

Shell脚本编程

Shell编程Shell中多分支case条件语句

Shell编程Shell中for循环while循环until循环语句