Linux命令练习及参考答案
- 格式:doc
- 大小:52.50 KB
- 文档页数:4
命令练习:
1.用两种方法实现将aa.c文本文件的内容复制到bb.c。
cp aa.c bb.c/cat aa.c bb.c
2.将aa.c和bb.c文本文件的内容合并,并保存至cc.c。
cat aa.c bb.c > cc.c
3.用more命令显示aa.c 的文件内容,每屏显示18行。
more -18 aa.c
4.将文件edc.txt重命名为fork1.c。
mv edc .txt fork1.c
5.将文件fork.c拷贝到~/dir1这个目录下,并改名为y1.c,提示是否覆盖已存在的目标文件。(cp –i ~/dir1/y1.c)
6.显示目录/usr下的所有文件和子目录的名字。
ls -a /user
7. 查看当前工作目录为用户的主目录。
$HOME
8.。将cc.c设置成只有所有者可以读、写和执行,而设置群组只能读取
chmod 640 aa.c
9. 在自己的主目录下创建一个新目录mydir,其权限为:只有所有者可以读、写和执行,而
群组只能读写,其他用户只能读。
mkdir -m 764 /mydir
10. 将aa.c 文件拷贝到mydir目录下。
cp aa.c /mydir
11. 在/mydir/aa.c中查找“the”字符串。
grep the /mydir.aa.c
12.在mydir目录下查找.c文件,并将搜索到的文件删除。
find /mydir -name “*.c”-exec rm {}
13.创建aa.c的软链接aa.soft。使用软链接文件aa.soft显示aa.c文件的内容,然后取消你本人对
aa.c文件读(r)权限,再显示文件的内容。
ln -s aa.c aa.sof
chmod u-r aa.c&&cat aa.soft
14.查看aa.c,aa.soft两文件的类型。
file aa.c aa.soft
15. 写一条命令,查看当前进程信息的内容,在当前进程信息内容中搜索含有字符串“sql”
的行,并把这些行排序后输出到文件sql.log中。
`ps –ef|grep sql>>sql.log
问答题:
1.Linux的进程间通信机制有哪些?请分别简要说明。
1、管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服
了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
2、信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程
间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数);
3、报文(Message)队列(消息队列):消息队列是消息的链接表,包括Posix消息队列system V消
息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。
消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。
4、共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制
运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
5、信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。
6、套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由
Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。
2. 怎样将U盘挂载至Linux系统的根目录下,并查看文件系统挂载信息。
1.在X-Windows环境中打开“控制中心”,展开“信息→USB设备”控制台树,查看Linux是否已经正确识别您的USB存储器,如果没有看到USB设备信息,那么您就应该要检查USB端口是否已经在BIOS中打开,或USB存储器与电脑的物理连接有没有连接好了。
2.在控制台状态下输入如下命令fdisk -l /dev/sda
3.在/mnt目录下建立一个挂装USB存储器的目录:mkdir /mnt/usb
4.然后再运行装载设备命令,将USB设备挂装到/mnt/usb目录下:
mount -t msdos /dev/sda1 /mnt/usb
5.运行如下命令即可查看USB存储器中的文件信息:
ls /mnt/usb
2.Linux环境下编译、运行C程序的基本工具和过程。
Linux系统会自带有C的编译器(gcc),编辑器可以用vi,调试器gdb,函数库glibc等.
1,内核将程序读入内存,为程序镜像分配内存空间。
2,内核为该进程分配进程标志符(PID)。
3,内核为该进程保存PID及相应的进程状态信息。
3.什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
符号链接又叫软链接,是一类特殊的文件,这个文件包含了另一个文件的路径名(绝对路径或者相对路径)。路径可以是任意文件或目录,可以链接不同文件系统的文件。
硬链接就是在另外的目录活本目录中增加目标文件的一个目录项,让多个不在或者同在一个目录下的文件,同时能够修改同一个文件,其中一个修改后,所有与其有硬链接的文件都一起修改了
符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。
硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i 节点同被链接文件的i节点相同。
4.0号进程和1号进程的用途。
进程0:Linux引导中创建的第一个进程,完成加载系统后,演变为进程调度、交换及存储管理进程进程1:init 进程,由0进程创建,完成系统的初始化. 是系统中所有其它用户进程的祖先进程
6. shell程序中的case和if else编程。
7. 文件类型判断的shell程序。
8. 输入输出重定向;字符串搜索;管道。
9. 父进程子进程。
10. rwx的权限控制。
其他:
1.$ wc students teachers tmp。
2.在~/tmp目录下创建名为d1、d2和d3的目录。
3. od aa.c
4. 将文件etc的内容按照时间排序,输出信息存入文件ectsorted中。
5. ls –s | sort –n | tail -10
应用题:
用Shell编程,判断两个文件的类型。两个文件名均从用户输入参数中获得。判断第一个文件如果是字符设备文件,则提示该文件是字符设备文件,并将该文件拷贝到/dev目录下;
判断第二个文件如果是目录文件,则提示该文件为目录文件,并将该目录中的所有以“.c”
为后缀的文件以列表方式列出(提示:这里用for循环实现)。如果文件不存在,则提示“This file is not exit!”的信息。
#!/bin/bash
If test –c $1;then
echo "$1是字符设备文件"
cp $1 /div
else test -e $1 || echo "This file is not exist"
fi