在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、用户主目录和用户登录所用的shell。
请设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。
你们可以通过创建一些UNIX/LINUXshell脚本文件来满足以上需求。
  可以用任意一个文本编辑器打开passwd文件,该文件里包含用冒号分隔开的字段组成的记录,如下所示:  root:x:0:0:root:/root:/bin/bash  zxj:x:500:500:zxj303:/home/zxj:/bin/bash  .  .  .  在主Shell脚本文件里(必须以menu命名)要有一个多操作选项的菜单以便用户从中选择。
在不同任务的中,这些操作能自动实现以下功能:在屏幕上显示当前所有用户的记录在屏幕上显示当前所有用户(经过格式化和排序的)的记录只在屏幕上显示用户名和用户ID只在屏幕上显示(经过格式化和排序的)用户名和用户ID查询并显示特定用户的记录往passwd文件里增加新的用户记录从passwd文件里删除某个用户记录  你可以使用UNIX/LINUX中一些比较简单的命令或命令组合来执行1、2、3、4、5的任务。
对于任务6和7,你需要编写单独的Shell脚本文件(必须分别命名为add和delete)并且在你的主脚本menu文件中调用这些脚本文件。
  可能你还需要查询一些Unix/Linux命令,比如awk,、sort、tr、cut、paste、sed、grep;
你也可能还需要查询其他的Unix/Linux命令。
  建议你在主目录下建立一个以xxxxxx(xxxxxx为学号)命名的目录,并且在本次作业中使用它作为工作目录。
主脚本文件中的菜单  在menu脚本文件里将创建如下菜单,菜单里包含供用户选择的一些操作。
用户信息主菜单打印当前所有记录打印当前所有记录(格式化后的)打印用户名和用户ID打印(格式化了的)用户名和用户ID查询特定记录增加新记录删除记录Q——退出你的选择是:(等待用户输入)  当用户做了选择且所选的操作完成之后,应再次显示主菜单以供用户做下一步选择。
你必须用while循环和case条件语句配合来完成此操作。
另外在显示主菜单前必须先清除用户屏幕。
在以下所有步骤中,当显示主菜单前都需要先清屏。
  在menu脚本文件的前面部分你首先要定义三个变量,这三个变量分别存放passwd、add、delete文件的文件名,并且能在所有涉及到passwd、add、delete文件的语句中使用他们。
比如,可以定义成:          record_file=passwd  在所有访问passwd文件的语句中,只要使用$record_file即可。
这样做的一个优点就是,如果以后你需要重新命名记录或者需要在不同的记录文件中使用你的脚本的话,你只需要修改以上一个语句而不须在所有有关的记录文件里逐一修改语句。
如下定义另外两个变量:  add_file=add  delete_file=delete  定义以上变量之后,你必须核对menu脚本文件,看看所需的文件(passwd、add、delete)是否准确存放在当前目录下。
如果其中任何一个不存在,你的脚本menu文件就必须显示以下信息,然后退出:  RequiredfiletheMissingFiledoesnotexist.(所需文件不存在)  比如,如果passwd文件不存在,就显示“Requiredfilepasswddoesnotexist.(所需文件记录不存在)”然后退出。
  在以上等待用户做出选择的菜单中,如果用户偶尔输入了一个代码而不是1、2、3、4、5、6、7或Q,就有信息提示“无效的代码,请按回车键继续``````”(务必保证光标停留在此信息行末尾而不是在下一行的开始处)。
等用户按了回车键之后,再次显示主菜单供用户做其他选择。
可以允许用户使用Q或q退出。
  在以上等待用户做出选择的菜单中,如果用户简单地按了回车键(而不是输代码)的话,就会出现信息“Selectionnotentered.PressEntertocontinue…"(务必保证光标停留在此信息行末尾而不是在下一行的开始处)。
等用户按了回车键之后,再次显示主菜单供用户做其他选择。
  当用户选择了第一项——打印当前所有用户记录  以下是当用户在主菜单中选择第一个选项后,menu脚本文件
2023/11/27 18:53:43 211KB Linux大作业
1
1、有5个学生,每个学生有三门课成绩,从键盘键入以上数据(包括学生号、姓名、3门课成绩),并存放在磁盘文件stud中。
2、将上题stud文件中的数据,读出stud文件中的内容并计算平均分后按平均分大小进行处理,将已排序的学生数据存入到一个新文件stu_sort中。
再向文件stu_sort写入数据后,应检查验证stu_sort文件中的内容是否正确。
(注:请先在D盘下建俩个文件夹stud.txt,stu_sort.txt,路径为D:\\stud.txt,D:\\stu_sort.txt)
2023/11/20 12:46:56 119KB 文件 结构体
1
ecshop存在一个盲注漏洞,问题存在于/api/client/api.php文件中,提交特制的恶意POST请求可进行SQL注入攻击,可获得敏感信息或操作数据库;
跨站攻击;
ECSHOP的配送地址页面网页没有验证地区参数的有效性,存在sql注入漏洞;
ecshop的后台编辑文件/admin/affiliate_ck.php中,对输入参数auid未进行正确类型转义,导致整型注入的发生;
ecshop的后台编辑文件/admin/shophelp.php中shopinfo.php,对输入参数$_POST['id']未进行正确类型转义,导致整型注入的发生;
ecshop的/admin/comment_manage.php中,对输入参数sort_by、sort_order未进行严格过滤,导致SQL注入;
ECShop存在一个盲注漏洞,问题存在于/api/client/api.php文件中,提交特制的恶意POST请求可进行SQL注入攻击,可获得敏感信息或操作数据库;
ECSHOP支付插件存在SQL注入漏洞,此漏洞存在于/includes/modules/payment/alipay.php文件中,该文件是ECshop的支付宝插件。
由于ECShop使用了str_replace函数做字符串替换,黑客可绕过单引号限制构造SQL注入语句。
只要开启支付宝支付插件就能利用该漏洞获取网站数据,且不需要注册登入;
ecshop的/includes/lib_insert.php文件中,对输入参数未进行正确类型转义,导致整型注入的发生。
2023/10/13 5:03:18 3KB 常见漏洞
1
1.发现错误并改错。
给出一个实现插入排序的程序,文件名为InsertionSort.java,该文件中有代码错误,请单步调试,发现错误, 并改正错误,提示:只有一行程序有错误,所以只能修改代码中的某一行程序。
要求演示在eclipse开发环境下单步调试程序,如果没有eclipse开发环境,也可以使用其它集成开发环境,但是必须演示调试能力。
2.请编写程序输出13/17小数点后第100位的数字是几?考察循环和除法运算以及模运算(求余数运算)。
请补齐FractionalDigit.java文件中的代码 3.请编写程序,分别使用循环和递归两种方法计算斐波那契数列第9项是几? 斐波那契数列的第1项为1,第2项为1,后续任意项的值为其前两项的和。
请补齐Fibo.java文件中的代码 4.实现Array类中的indexOf函数;
阅读Node.java和SingleLinkedList.java两个关于单链表的类, 实现SingleLinkedList类中的indexOf函数;
5.阅读Node.java和SingleLinkedList.java类,利用它们来实现栈和双向队列功能,请阅读Stack.java 和Deque.java(双向队列),请实现Stack类中的pop函数,请实现Deque.java中的removeLast函数。
6.利用前面的Stack.java和Deque.java类,实现下面问题的求解: 队列中有从1到7(由小到大排列)的7个整数,问经过一个整数栈后,出栈的所有排列数有多少? 如果整数栈的容量是4(栈最多能容纳4个整数),那么出栈的排列数又是多少?(百度查询卡特兰数) 请补齐Catalan.java文件中的代码 7.八皇后问题。
在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、 同一列或同一斜线上,问有多少种摆法。
该程序代码在EightQueens.java文件中,请将voidplace(intn)函数 中未完成的代码补齐,并写出运行结果。
禁止修改其他代码。
8.学生排序。
给出4名同学,请按照学生的年龄排序,然后输出学生的学号和姓名。
具体代码见Student.java文件, 请实现sort函数。
并运行该程序。
9.二叉排序树检索。
BstNode.java和BinarySortTree.java是关于二叉排序树的程序文件,请阅读这两个程序文件,请实现contains函数,并运行该程序。
10.BASE64编码转换问题。
请百度百科查询base64编码,实现将二进制字节数据编码转换为base64的字符串数据,以及将base64字符串转换回二进制字节数据。
禁止使用JDK自带的Base64转换程序以及Apache开源网站上的程序,必须自己编写代码来实现BASE64编码和解码函数。
可以为该类添加其他数据成员和函数成员。
2023/9/1 23:15:20 28KB Java
1
多GPU无合成绘制算法采用混合sort-first与sort-last的并行绘制模式,将绘制任务划分为多个子任务集合进行并行绘制并异步合成显示。
原方法中对屏幕的分割方式过于平凡,未明确提出一种高效的屏幕分割策略,从无合成算法本身特性出发,提出一种自适应屏幕划分策略,该算法根据GPU数目及绘制分辨率参数,启发式计算屏幕初始划分方式,再采用统计性能反馈的方式动态选择最佳屏幕划分方式,较原有方法更易于实现子屏幕任务的负载平衡,实验表明,算法在带来很少额外计算开销的同时,能够有效平衡并行绘制任务负载,进一步发挥多GPU无合成并行绘制系统的绘制效率。
1
CommandLineFundamentals:LearntousetheUnixcommand-linetoolsandBashshellscriptingBy作者:VivekNISBN-10书号:178980776XISBN-13书号:9781789807769出版日期:2018-12-24pages页数:(314)Themostbasicinterfacetoacomputer—thecommandline—remainsthemostflexibleandpowerfulwayofprocessingdataandperformingandautomatingvariousday-to-daytasks.CommandLineFundamentalsbeginsbyexploringthebasics,andthenfocusesonthemostcommontool,theBashshell(whichisstandardonallLinuxandiOSsystems).Asyoumakeyourwaythroughthebook,you’llexplorethetraditionalUnixcommand-lineprogramsasimplementedbytheGNUproject.You’llalsolearntouseredirectionandpipelinestoassembletheseprogramstosolvecomplexproblems.Bytheendofthisbook,you’llhaveexploredthebasicsofshellscripting,allowingyoutoeasilyandquicklyautomatetasks.ContentsWhatYouWillLearnUsetheBashshelltoruncommandsUtilizebasicUnixutilitiessuchascat,tr,sort,anduniqExploreshellwildcardstomanagegroupsoffilesApplyusefulkeyboardshortcutsinshellEmployredirectionandpipestoprocessdataWritebothbasicandadvancedshellscriptstoautomatetasksAuthorsVivekNVivekNisaself-taughtprogrammerwhohasbeenprogrammingforalmost30yearsnow,sincetheageof8,withexperienceinX86Assembler,C,Delphi,Python,JavaScript,andC++.HehasbeenworkingwiththecommandlinesincethedaysofDOS4.01andiskeentointroducethenewgenerationofcomputeruserstothepoweritholdstomaketheirlifeeasier.
2023/6/1 8:55:49 13.01MB iOS
1
Go-TTL排序Go语言编写的原生云排序算法用法sudo./ttlsort--target[host]--iters[num_iters]--chill[chill_time_in_sec][numbers_to_sort...]例子。
使用作为回显请求目标,对数字{10、5、3、6、3、6}进行排序,最多重新排序ta最多5次,冷却时间为1秒,以防止被防洪过滤器阻止。

sudo./ttlsort--targetwww.baidu.com--iters5--chill11053636它是如何工作的它基本上是sleepsort算法的一种实现,但是使用具有调整后的TTL(生存时间)的ICMP回显请求代替了sleep功能。
局限性这基本上是比赛条件。
而且,网络不可靠,数据包可能以任意顺序到达。
为了减轻这种情况,将执行多种排序,每种排
2023/5/31 13:05:09 5KB Go
1
目标:为Windows操作系统建立一个兼容Unix命令的命令接口,实现命令包括ls,cat,cp,mv,md,rd,cd,sort,more命令。
环境:使用CodeBlock开发(g++编译)效果:尚未发现BUG优点:代码可读性高、比较精简、错误处理完善,经测试,略微改动几行代码可在mac-lion-10.8(苹果系统,其实也是unix)上运行展望:其实开发命令行接口,使用getopt()等函数是比较方便的,但这是作者开发到一半的时间才晓得的事情,所以未能及时更换开发方法,希望有缘人能弥补这一缺憾。
2023/3/14 8:24:18 363KB 操作系统接口 Unix命令 g++ 跨平台
1
欧拉计划(欧拉计划)算法练习部分,目录分类一塌糊涂,我也不打算好好整理了,就这么乱吧解的题有欧拉计划,ZOJ(这破网站最近登不上了)目录树.├──classical_clangc言语算法练习│  ├──array动态数组│  ├──avlavlu树│  ├──balance_check平衡检察│  ├──bigint大数实现│  ├──binary_heap二插堆│  ├──bloom_filter布隆过滤器│  ├──bst二叉查找树│  ├──bucket_sort.c筒排序│  ├──chinese_num│  ├──d_heapd堆│  ├──disjoinset并查集│  ├──double_queue双端链│  ├──factor因数分解│  ├──farey_series法力序列│  ├──fft.c傅里叶变换│  ├──gcd.c欧几里得算法│  ├──genetic_algorithm遗传算法│  ├──goog
2023/2/16 17:44:35 3.83MB algorithm elixir data-structure clang
1
c++与opencv结合编写sort函数,实现与matlab中sort函数相反的功能。
2015/2/16 3:12:28 1KB c++ opencv
1
共 24 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡