Linux实验三: shell 编程(1)

  1. hell 命令应用练习

①    /etc/passwd  ‘

etc/passwd 为每个用户账户包含一行,包含使用冒号 (“:”)分隔的七个字段,分别是:登录名,选的加密后的密码,字用户ID ,字组 ID ,户名和注释字段,  用户主目录,可选的用户命令解释器

② /etc/shadow

shadow是一个文件,它包含系统账户的密码信息和可选的年龄信息。   如果没有维护好密码安全,此文件绝对不能让普通用户可读。

③ /etc/group

文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。

④ /etc/gshadow 、

/etc/gshadow 包含影子化了的组账户信息。如果没有维护好密码安全,此文件绝对不能让普通用户可读。

(2)依次输入如下命令,观察运行结果。结合 man id 查看到的帮助信息,指出每一条 命令功能

①     Id  显示真实有效的用户ID(UID)和组ID(GID)

②        id -u  显示用户id

③ id -u root  显示root用户id

④ id -u Jiang 显示jiang的id

(3)在 shell 命令终端依次输入以下命令,观察执行结果,理解每条命令实现的具体功能

① which python   which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

whereis python查看文件的位置

locate python  配合数据库查看文件位置

find/usr/bin -name python        实际搜寻硬盘查询文件名称

③     grep  -n  -E  ‘root|jiang|^user*‘  /etc/passwd

在/etc/passwd  中查找以root或者jiang开头的行

grep  -n  -E  ‘ [[:digit:]] ‘  /etc/passwd

在/etc/passwd  中查找含有的数字

grep  -n  -E  ‘ [[:alpha:]] ‘  /etc/passwd

在/etc/passwd  中查找含有的字母

grep  -n  ‘[0-9]\{4,\}‘  /etc/group (提示: 在用户组文件中查找 GID 是 4

sudo apt install gimp:安装gimp软件

which gimp查找gimp 的位置

sudo apt remove gimp 卸载gimp

which gimp 再查找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

将文件的时间按long-ios的形式进行列出

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]  搜索该目录下是否有man1-8

ls /usr/share/man/man1  查看man1目录

file /usr/share/man/man1/ls.1.gz 查看该文件信息

mkdir ~/temp; cp /usr/share/man/man1/ls.1.gz ~/temp  创建一个temp的目录,将ls.1.gz复制到该目录下

cd ~/temp; ls  转到temp目录下并查看

sudo gzip -d ls.1.gz; ls   解压并查看文件目录

⑦     ls –l /home  | grep  "^d"  |  wc –l

⑧      sudo adduser user7    创建user用户

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 号的数 值大小由小到大排序。(提示:综合使用 cut, 管道线及 sort 命令)

(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 用法。

① 命令工具 curl 功能,截图显示自己尝试的练习,并作必要陈述说明

② 命令工具 wget 功能,截图显示自己尝试的练习,并作必要陈述说明

(1)      练习 1

(2)      练习2

原文地址:https://www.cnblogs.com/nullno/p/8983012.html

时间: 2024-08-01 12:14:30

Linux实验三: shell 编程(1)的相关文章

Linux实验三 shell编程(1)

1. 练习 shell 中命令历史.别名.特殊字符用法(第 4 章 4.2 节~4.5 节) (1)定义别名 定义别名是,往往用单引号将它所代表的内容括起来,以防止shell对其中的内容产生歧义,如对空格和特殊字符另作解释. (2)特殊字符用法 1.一般通配符 *(星号):匹配任意字符的0次或多次(文件名中的圆点和路径名中的斜线必须显示匹配) ?(问号):匹配任意一个字符 [字符组]:匹配该字符组所限定的任何一个字符 !(惊叹号):如果它紧跟在一对方括号的左方括号[之后,表示不在此字符组的所列出

实验三 shell 编程(1)

一.shell命令应用练习 1.简述以下几个文件的用途 ① /etc/passwd passwd为密码文件,用来管理用户的密码.普通用户通常只能修改自己的密码信息. ② /etc/shadow shadow是一个影子化的密码文件,它包含系统账户的密码信息和可选的年龄信息.只有管理员能查看修改. ③ /etc/group group文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组:同一用户组的用户之间具有相似的

Linux下的shell编程入门

通常情况下,我们从命令行输入命令每输入一次就能够得到系统的一次响应.一旦需要我们一个接着一个的输入命令而最后才得到结果的时候,这样的做法显然就没有效率.要达到这样的目的,通常我们利用shell程序或者shell脚本来实现. 一.简介 Shell编程有很多类似C语言和其他程序语言的特征,但是又没有编程语言那样复杂.Shell程序就是放在一个文件中的一系列Linux命令和实用程序,在执行的时候,通过Linux一个接着一个地解释和执行每个命令. 下面我们来看一个简单的shell程序: 1.首先建立一个

linux 基础与shell编程[笔记]

linux 基础与shell编程 linux 系统知识 linux是一个OS ,也是一个完全免费 开源 自由软件 linux 1991   荷兰大学生课程设计   unix GPL协议 GPL:General Public License 是一份GNU(完全自由软件操作系统)是一个广泛使用的自由软件许可证条款 常见的linux发行版本: Debian:Debian为一款提供您安装在计算机上使用的操作系统 (OS).操作系统就是能让您的计算机工作 的一系列基本程序和实用工具.由于 Debian 采

实验四 shell 编程(2)

一.实验步骤 1.shell 变量基本用法及常用符号使用 (1)将 主提示符改为 用户的主目录名 export PS=$HOME (2)将字符串 DOS file c:>\$student\*赋值给变量 x,并显示出来 (3)在 shell 命令终端输入 likes=(cosmos galaxy moon); likes[6]=mars,然后使用 echo 分别显示以下表达式的值,并结合结果,写出表达式的作用. likes=(cosmos galaxy moon); likes[6]=mars:

Linux与Unix shell编程指南(完整高清版).pdf

找到一本很详细的Linux Shell脚本教程,其实里面不光讲了Shell脚本编程,还介绍了系统的各种命令 http://vdisk.weibo.com/s/yVBlEojGMQMpv 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题.本书内容全面.文字简洁流畅,适合Shell编程人员学习.参考. 目      录 译者序 前言 第一部分   shell 第1章   文件安全与权限 1 1.1   文件 1 1.2   文件

linux实验三:ShellShock 攻击实验

ShellShock 攻击实验 20125113 赵恺 一. 实验描述 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,学生需要亲手重现攻击来理解该漏洞,并回答一些问题. 二. 预备知识 1. 什么是ShellShock? Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开.许多互联网守护进程,如网页服务器,使用bash来

Linux学习之Shell编程基础

转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.  当编辑好脚本时,如果要执行该脚本,还必须使其可执行.  要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.2 注释  在进行shell编程时,以#开头的

[No000014A]Linux简介与shell编程

Linux 介绍 内核 库: .so 共享对象,windows:dll 动态链接库 应用程序 Linux的基本原则: 1.由目的单一的小程序组成:组合小程序完成复杂任务: 2.一切皆文件: 3.尽量避免捕获用户接口: 4.配置文件保存为纯文本格式: 用户接口 GUI接口: CLI接口: 命令提示符,prompt, bash(shell) #: root $: 普通用户 命令: 命令格式: 命令 选项 参数 选项: 短选项: - 多个选项可以组合:-a -b = -ab 长选项: -- 参数:命令

[芯片] 3、接口技术·实验三·可编程并行接口8255A

目录 一.实验目的和要求 二.实验原理与背景 2-1.8255A简介 2-2.8255A编程 三.实验具体的内容 3-1.8255方式0实验1 3-2.8255方式0实验2 3-3.8255方式1输出实验 3-4.8255方式1输入实验 四.实验的代码说明 4-1.8255方式0实验1代码及说明 4-2.8255方式0实验2代码及说明 4-3.8255方式1输出实验代码及说明 4-4.8255方式1输入实验代码及说明 五.实验结果的分析 5-1.8255方式0实验1实验分析 5-1.8255方式