资源描述
命令练习
1. 在主目录下创建目录one, 在里面用vi创建文件a, 内容为”hello, world!”。将a复制成b;为a创建一个硬链接c; 将a的权限设置成755. 将a、b和c三个文件用tar压缩成my.tar.gz。
2. 用vi在文件mydata中输入几行信息,每一行包括姓名,性别,成绩,不同域之间用“:”隔开,如:
John:male:77
Jack:female:86
1) 用cut命令将姓名和成绩提取出来在显示器输出。
2)用tr命令将冒号转换为tab键,保存在mydata2中。
3. 使用cut命令将/etc/passwd文件中第一列的内容输出到一个新文件file中。
4. 当前目录下有a、b和c三个文件,通过一个命令将三个文件的内容依次保存在新文件d中。
5. 文件name中保存下面内容:
zhao
qian
sun
li
zhao
sun
li
zhang
写一个命令统计该文本出现几个人名。
6.文件data中保存了很多单词,单词之间都是用空格隔开的,有些单词重复出现。请统计出现频率最高的前5个单词。
Shell程序设计
1. 写一个shell脚本,提示用户输入姓名:
Please enter your name:
接收输入后,例如输入“John”,输出:
Welcome to Linux, John!
要求输入时姓名紧跟在“name:”后面,保持同一行。
2. 1)编写一段shell程序,提示用户输入两个数,判断这两个数是否相等,相等则输出equal,否则输出not equal。并输出当前进程的进程号。
2) 同样是上面的程序,使用输入重定向的方式,从一个文件data中提供两个数,判断是否相等。请写出运行的命令。
3)修改上面的程序,用参数的方式提供两个数,判断是否相等。
3. 下面的shell程序先输出参数的个数,然后将每个参数依次输出。请模仿该程序的功能,写出对应的C程序。
#! /bin/bash
echo $#
for var in $*
do
echo $var
done
4. 编写一个shell脚本,判断/etc/passwd文件中有无某个用户名,例如John,要是有,输出“John is a user of the system.”,否则输出“John is not a user of the system.”。要求提供的用户名在该脚本运行时作为参数提供。
进程管理
1. 编写一段C程序完成:父进程创建两个子进程,每个子进程都在屏幕上输出自己的进程号,父进程输出自己的进程号和两个子进程的进程号。
2. 编写一段C程序完成:父进程创建一个子进程后等待,子进程将当前目录下的文件以长格式输出,父进程等子进程结束后输出“child task complete!”。
3. 请fork一个子进程,子进程循环输出5次“I am child process, my pid is”,后面跟着其进程号,每隔一秒打印一次。父进程循环输出5次”I am father process, my pid is ” ,后面跟着其进程号,也是每隔一秒输出一次。要求(1)异步的方法,即处理器随机给不同的进程;(2)同步的方法,父进程等待子进程5次全部打印输出后才执行自己的输出语句。
(1)
(2)
文件
1. 实现mv程序的部分功能,编写一个mymv程序,运行格式为mymv a b, 将当前目录下的文件a重命名为b。
2. 开发可执行程序mycopy,实现文件的复制功能,格式为mycopy a b。并打通路径,让当前用户在任何目录下都可以使用mycopy。
2. 编写一个C程序,创建一个新文件,并接受键盘上的输入,回车作为结束。将输入写入该文件。查看该文件的内容是否是键盘的输入
3. cat程序在没有参数时,将输入的内容输出。模拟cat程序,用系统调用read和write写一个mycat程序,将输入复制到输出,即从键盘上面接受输入,并将键入的内容输出到显示器上。
4. 实现输入重定向<。要求写一个C程序,在程序中将标准输入定向为同一目录下的infile文件,用scanf从该文件中读取一个整数,并将读取的输出。Infile中的内容为55。
5. 实现输出重定向>。要求写一个C程序,在程序中执行”ls –l”,并将执行结果输出到一个新文件outfile中。
6. 实现管道线|。要求写一个C程序,将”ls –l | wc –l”的执行结果输出。
信号
1. 写一个C程序并运行,其执行一个循环,每隔一秒输出”hello, world”
1) 要求这个程序用ctrl+C或ctrl+Z都没有反应,即杀不死也挂不起。
2)修改上面的程序,当用ctrl+C想把其终止时,它输出“I don’t want to die!”,并继续循环。当用ctrl+Z想把其挂起时,它输出“I don’t want to sleep!”,并继续循环。
展开阅读全文