Linux 编程试题
Linux编程是计算机科学领域中的一项重要技能,它涉及对操作系统核心机制的理解和利用,以下是一些常见的Linux编程试题,包括选择题、填空题和操作题,供学习和复习使用。
一、选择题
1、在创建Linux分区时,一定要创建( D )两个分区
A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D. SWAP/根分区
2、在Red Hat Linux 9中,系统默认的(A)用户对整个系统拥有完全的控制权。
A. root B. guest C. administrator D. supervistor.
3、当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B )
A. NID B. PID C. UID D. CID
4、下面哪个命令是用来定义shell的全局变量( D )
A. exportfs B. alias C. exports D. export
5、哪个目录存放用户密码信息( B )
A. /boot B. /etc C. /var D. /dev
6、默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。
A. /usr B. /home C. /root D. /etc
7、. 当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于( D )目录。
A. /home B. /bin C. /etc D. /dev
8、如果要列出一个目录下的所有文件需要使用命令行( C )。
A. ls –l B. ls C. ls –a(所有) D. ls –d
9、哪个命令可以将普通用户转换成超级用户(D )
A. super B. passwd C. tar D. su
10、除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D )
A. 用户目录 B. home目录 C. root目录 D. 当前目录
11、在vi编辑器里,命令"dd"用来删除当前的( A )
A. 行 B. 变量 C. 字 D. 字符
12、当运行在多用户模式下时,用Ctrl+ALT+F可以切换多少虚拟用户终端( B )
A. 3 B. 6 C. 1 D. 12
13、Linux启动的第一个进程init启动的第一个脚本程序是( B )。
A./etc/rc.d/init.d B./etc/rc.d/rc.sysinit C./etc/rc.d/rc5.d D./etc/rc.d/rc3.d
14、按下(A )键能终止当前运行的命令
A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D
15、下面哪个命令用来启动X Window ( C )。
A. runx B. Startx C. startX D. xwin
16、用来分离目录名和文件名的字符是( B )
A. dash (-) B. slash (/) C. period (.) D. asterisk()
17、用 “rm -i”,系统会提示什么来让你确认( B )
A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置
18、以下哪个命令可以终止一个用户的所有进程( D )
A. skillall B. skill C. kill D. killall
19、在Red Hat Linux 9中,一般用( D )命令来查看网络接口的状态
A. ping B. ipconfig C. winipcfg D ifconfig
20、vi中哪条命令是不保存强制退出( C )(第五章)
A. :wq B. :wq! C. :q! D. :quit
二、填空题
21、在Linux系统中,以_文件的_方式访问设备 。
22、Linux内核引导时,从文件 _/etc/fstad___中读取要加载的文件系统。
23、Linux文件系统中每个文件用__i节点_____来标识。
24、某文件的权限为:d-rw-r–r–,用数值形式表示该权限644该文件属性是 目录。
25、静态路由设定后,若网络拓扑结构发生变化,需由__系统管理员___修改路由的设置。
26、网络管理的重要任务是:控制___和_监控___。
27、安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区___ 和 交换分区_____ 。
28、编写的Shell程序运行前必须赋予该脚本文件__执行___权限。
29、Samba服务器的配置文件是 (D )。
A httpd.conf B inetd.conf C rc.samba D smb.conf
30、在下列分区中,Linux默认的分区是( B )
A. FAT32 B. EXT3 C FAT .D NTFS
31、若要将鼠标从VM中释放出来,可按 ( A )键来实现
A. Ctrl + Alt B. Ctrl+Alt +Del C. Ctrl +Alt +Enter D Ctrl+Enter
32、如果用户想对某一命令详细的了解,可用(C)
A. ls B. help (内部) C. man(列举的信息多) D dir
33、Samba服务器的配置文件是 (D )。
A httpd.conf B inetd.conf C rc.samba D smb.conf
34、在下列分区中,Linux默认的分区是( B )
A. FAT32 B. EXT3 C FAT .D NTFS
35、若要将鼠标从VM中释放出来,可按 ( A )键来实现
A. Ctrl + Alt B. Ctrl+Alt +Del C. Ctrl +Alt +Enter D Ctrl+Enter
三、操作题
题目1:编写一个Shell脚本,实现以下功能:
备份指定目录下的所有文件到指定的备份目录,并删除原目录下的所有文件。
答案:
#!/bin/bash backup_and_delete.sh 检查参数个数 if [ $# -ne 2 ]; then echo "Usage: $0 <source_directory> <backup_directory>" exit 1 fi SOURCE_DIR=$1 BACKUP_DIR=$2 检查源目录是否存在 if [ ! -d "$SOURCE_DIR" ]; then echo "Source directory $SOURCE_DIR does not exist." exit 1 fi 检查备份目录是否存在,不存在则创建 if [ ! -d "$BACKUP_DIR" ]; then mkdir -p "$BACKUP_DIR" if [ $? -ne 0 ]; then echo "Failed to create backup directory $BACKUP_DIR." exit 1 fi fi 备份文件 cp -r "$SOURCE_DIR"/* "$BACKUP_DIR" if [ $? -ne 0 ]; then echo "Failed to backup files from $SOURCE_DIR to $BACKUP_DIR." exit 1 fi 删除原目录下的所有文件 rm -rf "$SOURCE_DIR"/* if [ $? -ne 0 ]; then echo "Failed to delete files in $SOURCE_DIR." exit 1 fi echo "Backup successful and original files deleted."
使用方法:chmod +x backup_and_delete.sh && ./backup_and_delete.sh /path/to/source /path/to/backup
题目2:编写一个Shell脚本,统计当前目录下所有文件的总行数、单词数和字节数。
答案:
#!/bin/bash count_files.sh 确保脚本接收到一个参数(目录) if [ $# -ne 1 ]; then echo "Usage: $0 <directory>" exit 1 fi DIR=$1 确保指定的路径是一个目录 if [ ! -d "$DIR" ]; then echo "$DIR is not a valid directory." exit 1 fi 初始化计数器 total_lines=0 total_words=0 total_bytes=0 遍历目录下的所有文件 for file in $(find "$DIR" -type f); do # 统计当前文件的行数、单词数和字节数 lines=$(wc -l < "$file") words=$(wc -w < "$file") bytes=$(wc -c < "$file") # 累加到总数中 total_lines=$((total_lines + lines)) total_words=$((total_words + words)) total_bytes=$((total_bytes + bytes)) done 输出结果 echo "Total lines: $total_lines" echo "Total words: $total_words" echo "Total bytes: $total_bytes"
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1263418.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复