linux习题

下面为linux部分习题。这可能对大神来说,非常简单的,还望不要吐槽嘞大笑

下面的习题,可能有错, 还希望大家能多多指教哈~~



一、选择题

1、下列那个Linux的发行版本是由Red Hat Linux的源代码编译而来(C

A、ubuntu  B、红旗Linux  C、CentOS  D、Fedora

2、下列命令行操作从普通用户切换至超级用户,正确的是(C

A、cd /root  B、su -root  C、su -  D、cd root

3、超级用户在命令行中的标识为(C

A、“$” B、“&” C、“#” D、“%”

4、Linux命令行中,grep是处理_____的,基本语法为(A

A、正则表达式,grep [option] pattern[file]

B、文件查找,grep [option] pattern[file]

C、正则表达式,grep [file] pattern [option]

D、文件查找,grep [file] pattern [option]

5、下列vim编辑操作正确的是(B

A、输入open /home/example.txt,修改内容,输入 :wq;

B、输入vim /home/example.txt,修改内容,输入 :wq;

C、输入vim /home/example.txt,修改内容,输入 :wp;

D、输入vim /home/example.txt,修改内容,输入 :q;

6、如果执行命令#chmod  746  file.txt,那么该文件的权限是(A)。

A. rwxr--rw- B. rw-r--r-- C. --xr—rwx D. rwxr--r— 

7、命令可实现重新启动Linux操作系统(C)。

    A.init 0    B.halt    C.shutdown -r    D.shutdown -h  

8、Linux的第二块硬盘的第一个分区应该表示为:(B

A.  /hda1              B.  /hdb1            

C.   /hdba             D.  /hda2

9、利用命令find查找当前目录下的名称尾为.c的文件,并将结果输出到标准输出的命令是(  D   )

A. find . -name "?.c" –print         B. find . -name "#.c" –print

C. find . -name "!*.c" –print        D. find . -name "*.c" –print

10、怎样新建一个新文件:(C

A. mk hello.c B. rm hello.c 

C. touch hello.c D. new hello.c

11、下面哪些命令可以分页显示大文本文件:( A  )

A.  more B.  cat

C.  type D.  less

12、当一个目录作为一个挂载点被使用后,该目录上的原文件(B

A、被永久删除 B、被隐藏,待挂载设备卸载后恢复

C、被放入回收站 D、被隐藏,待计算机重新启动后恢复

13、使用vi编辑文本只读时,保存并退出的命令是?(C

A :w!        B :q!       C   :wq!       D   :wq

14、Linux文件权限一共10位长度,分成四段,第四段表示的内容是(D

A. 文件所有者所在组的权限              B. 文件所有者的权限

C. 文件类型                                       D. 其他用户的权限

15、存放设备文件的相关文件目录: ( A)

A. /dev           B. /etc

C. /lib             D. /bin

16、将光盘/dev/hdc卸载的命令是(A

A. umount /dev/hdc     B. unmount /dev/hdc

C. umount /mnt/cdrom /dev/hdc D. unmount /mnt/cdrom /dev/hdc

17、drwxr-xr-- 对应的数字是:( B)

A.  766          B. 754

C.  755         D. 645

18、为了将当前目录下所有.TXT 文件打包并压缩归档到文件 this.tar.gz,我们可以使用?(A)

A、tar czvf this .tar.gz ./*.txt B、tar ./*.txt czvf this .tar.gz

C、tar cxvf this .tar.gz ./*.txt D、tar c xvf this .tar.gz ./*.txt

19、在Linux操作系统中,为一块设备名为eth0的网卡分配IP地址和子网掩码的命令是(B)。

A. serserial eth0 202.112.58.200   netmask 255.255.255.0

B. ifconfig  eth0 202.112.58.200   netmask 255.255.255.0

C. minicom  eth0 202.112.58.200   netmask 255.255.255.0

D. mount  eth0 202.112.58.200   netmask 255.255.255.0

20、在vi编辑器的命令模式中,在光标所在位置的前面插入字符的命令是:(C

A.   a B.  A C.  i D.  I

21、哪个符号加在命令后面可以在后台执行程序:(B

A.  @ B.  & C.   # D.  *

22、如果想加载一个/dev/hdb1的Windows95分区到/mnt/win95目录,需要运行哪个命令:(C

A.  mount -t hpfs /mnt/win95 /mnt/hdb1

B.  mount -t hpfs /dev/hdb1 /mnt/win95

C.  mount -t vfat /dev/hdb1 /mnt/win95

D.  mount -t vfat /mnt/win95 /dev/hdb1

23、下面哪一个选项不是Linux系统的进程类型(D

A、交互进程 B、批处理进程 C、守护进程 D、就绪进程

24、以下说法哪种是正确的?(B

A. VMnet1是NAT网卡,用于NAT方式连接网络

B. VMnet8是NAT网卡,用于NAT方式连接网络

C. VMnet1是host-only网卡,用于host-only方式连接网络

D. VMnet8是host-only网卡,用于host-only方式连接网络

25、在Redhat Linux系统中,下列哪个命令可以用来将格式化好的磁盘或分区挂载到一个目录上(D

A.fdisk B.mkfs C.tune2fs D.mount

26、如何删除一个非空子目录/tmp(B

A.del /tmp/* B rm –rf /tmp C rm –Ra /tmp/* D rm –rf /tmp/*

27、改变文件所有者的命令为(C)

A.chmod B.touch C.chown D.cat

28、以长格式列目录时,若文件test的权限描述为drwxrw-r—,则文件test的类型及文件主的权限是(A)

A、目录文件、读写执行

B、目录文件、读写

C、普通文件、读写

D、普通文件、读

29、Linux第一个版本的版本号是C)版。

A1 B0.1 C0.01 D0.001

30、用标准的输出重定向(>),像“> file01”能使文件file01的数据(C

A被复制 B被移动 C被覆盖 D被打印

31、档字符串用单引号括起来时,SHELL将(C

A.解释引号内的特殊字符 B.执行引号中的命令

C.不解释引号累的特殊字符 D.结束进程

32、在Red Hat Linux9中系统默认的(A)用户对整个系统拥有完全控制权。

A. root B. guest C. administartor D. supervistor

33、哪个目录存放用户密码信息(B

A. /boot B. /etc C. /var D. /dev

34、用vi打开一个文件,如何用字母"new"来代替字母"old" (A

A. :s/old/new/g B. :s/old/new

C. :1,$s/old/new/g D. :r/old/new

35、如果执行命令chmod  124  file.txt,那么该文件的权限是(B)。

Arwxr--rw- B--x-w-r-- C--xr--rwx Drwxr--r--

36、哪一个命令能用来查找文件TESTFILE中只包含四个字符的行?( C )

A. grep '^????$' TESTFILE B. grep '????' TESTFILE

C. grep '^....$' TESTFILE D. grep '....' TESTFILE

37、如果要列出一个目录下的所有文件需要使用命令行( )。

A. ls  -l B. ls C. ls  -a D. ls -d

38Linux中删除文件的命令是(  C  )。

Acp Bmv Crm Dtouch

39、以下哪条命令在创建一个xp用户的时候将用户加入到root组中( )

A. useradd -g xp root  B. useradd -r root xp 

C. useradd -g root xp  D. useradd root xp

40、以下哪个命令可以终止一个用户的所有进程( D )。

A. skill all B. skill C. kill D. kill all

41、哪一个命令能用来删除当前目录及其子目录下名为'core'的文件( A )

A. find . -name core -exec rm {} \ ;

B. find . -name core -exec rm ;

C. find . -name core -exec rm {} ;

D. find . -name core -exec rm {} -;

42、/dev/hda5在Linux中表示什么?(B

A. IDE0接口上从盘 B. IDE0接口上主盘的逻辑分区

C. IDE0接口上主盘的第五个分区 D. IDE0接口上从盘的扩展分区

43vim编辑器有(C)种操作模式。

A1 B2   C3         D4

44、pwd命令的功能是什么? (C

A.设置用户的口令 B.显示用户的口令

C.显示当前目录的绝对路径 D.查看当前目录的文件

45、输入“cd”命令并按Enter键后,将有什么结果?(C

A.从当前目录切换到根目录 B.屏幕显示当前目录             

C.从当前目录切换到用户主目录 D.从当前目录切换为上一级目录

46、在下列分区中,Linux默认的分区是(B

A. FAT32 B. EXT3 C.FAT .DNTFS

47、以下哪个命令可以终止一个用户的所有进程( D )

  A、skillall B. skill C. kill D. killall

48、用"rm  -i",系统会提示什么来让你确认。(B

A. 命令行的每个选项 B. 是否真的删除

C. 是否有写的权限 D. 文件的位置

49、假定有个文件test.txt包含以下几行内容:

he is a rat
he is in a rut
the food is Rotten
I like root beer

则grep  r.t  test.txt的输出是(A)。

A.he is a rat
he is in a rut

B.he is a rat
C.he is in a rut

D.I like root beer 

50、Linux shell编程中$1表示(B)。

A.第一列文本                   B.第一个位置参量

C.第一个函数名          D.数字1 

51、在Redhat Linux系统中,下列哪个命令可以用来查看进程信息(A)。

A.ps B.mkfs C.tune2fs D.mount

52、Linux中查找文件的命令是(A)。

Afind Bcd Cls Dsu

53、下列哪个选项存放的是Linux中的进程信息(C)。

A/bin B/home C/proc D/boot

 

 

二、填空题

1、在Linux系统中,以     方式访问设备。文件

2、Linux分为图形界面     和命令行模式      。GNOME/GUICLI/BASH

3、在vim末行模式下,退出命令为     ,保存并退出命令为     。:q:wq

4、将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式     。tar -zcvf /home/wang.tar.gz /home/stud1/wang

5、创建一个新用户,uid是666,附属组是nash_su,用户名是testuser2,创建方式是:           。useradd -u 666 -G nash_su testuser2

6、groupadd命令创建组“linuxcast”:           。groupadd linuxcast

7、groupmod命令修改“linuxcast”为“linuxnew”:         。groupmod -n linuxnew linuxcast

8、查看以太网连接的所有接口信息的命令是:      。ifconfig -a

9、在shell编程中,有两种类型的变量:           。局部变量和环境变量

10、前台起动的进程使用       终止。Ctrl+C

11、在Linux的两种链接文件中,只能实现对文件链接的一种方式是:     。软链接(符号链接)

12、在vi编辑环境下,使用           键进行模式间的转换ESC

13、进程的运行有两种方式,即           。独立运行和使用父进程运行

14、如果要修改/home/user12/asd.c文件的访问权限为所有用户拥有所有权限,则对应的Linux命令是:           。chmod 777 /home/user12/asd.c

15、第一个硬盘的第一个分区所对应的设备文件是           。/dev/hda1

16、所谓许可权,就是规定谁可以使用哪个文件或目录以及使用的权限。通常将它分为以下3种:           。r读、w写、x执行

17、任何一个计算机系统都是由两部分组成:           。计算机硬件、计算机软件。

18、Linux中能匹配从100~999的所有三位数的正则表达式是          。[1~9][0~9][0~9]

19、一般来说,处理机调度可以分为4级:_______。作业调度、交换调度、进程调度、线程调度

20、对于一个进程的内存空间而言,可以在逻辑上分成3个部份:           。代码区,静态数据区和动态数据区

21、某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限_____,该文件属性是_____。644,目录

22、Shell自动将最后所执行命令的退出状态设置到shell变量___中,可以用_____命令在终端上显示它的值$?, echo

23、_______目录用来存放系统管理员使用的管理程序。sbin

以下为 u盘插入usb接口后执行fdisk –l的结果。则要将该u盘挂装到/mnt/usb下的命令是_________。Mount  /dev/sdb1  /mnt/usb

24、Linux中杀死一个进程的命令是             。kill 

25、Linux awk 编程中“域”指的是             ,awk中用             来记录每条记录的域数量,awk中用             来记录每条记录的行数。

记录中的一个词条,NFNR

26、Linux中创建一个进程的c语言函数是             。fork

27Linux文件系统是一个倒转的             状结构。

三、判断题

1、正确 在linux中,要查看文件内容可以使用“more”命令。 

2、错误 将用户身份临时改变为root的是login。 

3、正确 将file.tar.gz解压的命令是tar -zvxf file.tar.gz。 

4、正确 ls -l /home可以显示home目录下的文件具体信息。 

5、正确 grep命令可以实现字符串查找功能。

6、正确 Linux中文件系统要挂装后才能使用。

7、错误 mv命令可以移动文件和目录,还可以复制文件。

8、错误 有两个文件test1和test2,test2有内容,现在执行cat test1>>test2,则test2文件内容全部删除。

9、正确 linux是一个真正的多任务和分时操作系统,允许多个用户在相同的机器上一次运行很多程序。

10、正确 我们可以使用fg命令将僵化的进程调入前台工作。

11、错误 为了能让其他用户使用cd命令进入该目录,目录需要设置其他用户的读权限。

12、错误 用vi打开一个文件,使用命令:s/old/new来用“new”来代替字母“old

13、正确 export命令式用来定义shell的全局变量。

14、正确 Linux的文件系统是一个目录树。

15、错误 进行网络配置时,service netwok restart命令用于测试网络中主机之间是否连通。

16、错误 在shell编程中,所有的变量名都由字符串组成,但需要对变量进行声明。

17、正确 在Linux中红色文件一般是压缩文件。

18、错误 有两个文件test1和test2,test2有内容,现在执行cat test1>>test2,则test2文件内容全部删除。

19、错误 防火墙主要是用来防病毒。

20、正确 shell不仅是 用户命令的解释器,它同时也是一种功能强大的编程语言。

21、错误VMWare中采用Host-only方式进行网络配置,则Linux可以访问外网。

22、正确VMWare中采用NAT方式进行网络配置,则Windows中需要选择虚拟网卡VMNet 8

23、正确 Linux中的用户信息主要保存在/etc/passwd文件中。

24、正确 使用rm命令删除文件夹需要加上参数-r

25、错误 Linux shell编程中用${#数组名[*]}可以得到数组的全部内容。

26、错误 Linux中一个用户不能同时属于多个用户组。

27、正确 grep命令是文本搜索工具,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

28、错误 Linux中程序和进程是同一回事

29、错误 Linux编程中,文件的创建者必定是文件的拥有者。

30、错误 有两个文件test1test2test2有内容,现在执行cat test1>>test2,则test2文件内容全部删除。

四、简答题

1、简述Linux系统有什么显著特点或特性。 

(1)与UNIX兼容(2)自由软件,源码公开(3)性能高,安全性强(4)便于定制和再开发(5)互操作性高。

(1)开放性(2)多用户(3)多任务(4)良好的用户界面(5)设备独立性(6)提供了丰富的网络功能(7)可靠的系统安全(8)良好的可移植性 

2、在/etc/passwd文件中,每一行用户记录包括哪些信息?彼此如何分开? 

  每一行用户记录包括信息:注册名,密码,用户标识号,组标识号,用户名,用户主目录,命令解释程序。每个信息之间用“:”来分开。

3、在Linux系统中,根目录下含有哪些内容?各自的功能是什么?至少列举8个。

(1)bin:包含二进制文件的可执行程序。

(2)sbin:存放用于管理系统的命令。

(3)boot:用于存放引导系统时使用的各种文件。

(4)etc:非常重要,它包含许多Linux系统配置文件。

(5)dev:包含标示设备的特别文件,这些文件用于访问系统中所有不同类型的硬件。

6home:是用户起始目录的基础目录。

7mnt:存放安装文件系统的安装点。

8usr:包含了多个子目录,这些子目录中保存系统上一些重要的程序,可供所有用户共享。 

9var:包括系统正常运行时要改变的数据。

10lib:保存程序运行时使用的共享库。 

11root:是超级用户的目录。 

12tmp:用于存放程序运行时生成的临时文件。

4、请简述Linux shellfor i in `ls`的含义。

`ls`表示列出当前目录下所有的文件名,for i in `ls`表示让变量i依次取得当前目录下所有的文件名。

5、系统管理员的职责包括那些?管理的对象是什么?

系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测。管理的对象是服务器、用户、服务器的进程及系统的各种资源等。

6、简述Linux的几个运行级别及其相应的含义。 

0-关机模式, 

1-单用户模式,单用户只有系统管理员可以登录。 

2-多用户模式,但是不支持文件共享,例如不支持NFS服务.这种模式不常用。 

3-完全的多用户模式,支持NFS服务.最常用的用户模式,默认登录到系统的字符界面。 

4-保留模式。 

5-完全多用户模式,默认登录到X-window系统,也就是登录到Linux图形界面。 

6-重启模式,也就是执行关闭所有运行的进程,然后重新启动系统。

7、试解释下列信息各部分的内容 -rwxr-xr-- 1 root root 599 cec 10 17:12 ff 

参考答案:普通文件,拥有者可读、写、执行,同组的用户可读、执行,其他的人只能读。拥有者为root,组名root,文件长度599字节,最后修改时间cec 10 17:12,文件名叫ff

8、什么是符号链接(软链接),什么是硬链接?符号链接与硬链接的区别是什么?

参考答案:链接分硬链接和符号链接(软链接)。符号链接(软链接)可以建立对于文件和目录的链接。符号链接(软链接)可以跨文件系统,即可以跨磁盘分区。符号链接(软链接)的文件类型位是l,链接文件具有新的i节点。硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。

9、说出以下命令的含义 

参考答案: ① chmod  o+rx  a1.txt  让其它用户可读和执行文件a1.txt

  ② chmod  a-rx  a1.txt  取消所有用户可读和执行文件a1.txt 

③ chmod  g+x,o-x  a1.txt 将文件a1.txt设为同组可执行,取消其 它用户可执行权限

④ chmod  u=rwx,g=rx,o=r  a1.txt    将文件a1.txt设为用户本人可 读写执行,同组可读可执行,其它用户可读 

10、当前Shell的命令提示符为“[work@localhost Desktop]”,其有何含义?

参考答案:.work用户登录在主机名为localhost的主机上 当前的目录(文件夹)为Desktop。

11、文件1.txt有一个硬链接文件1.txt.ln和一个软链接文件1.txt.lns,当1.txt被删除后,请简述1.txt.ln1.txt.lns的区别。

参考答案:通过1.txt.ln可以查看原始1.txt的内容,而通过1.txt.lns则无法查看原始1.txt的内容。

12、请简述你所知道的Linux中的文件类型。

参考答案:目录文件;普通文件;设备文件;符号链接文件;管道文件。

13vi文本编辑器有哪三大工作模式?其相互之间如何转换?

vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式。

指令模式下输入  a、i、o进入文本输入模式。

文本输入模式下按ESC进入指令模式。

指令模式下输入:进入末行模式。

末行模式下指令错误则返回指令模式。

14、从超级用户转换为普通用户时是否需要输入口令?为什么?

答:否:因为普通用户是由超级用户创建的。

15、利用useradd命令新建用户账号时,将改变哪几个文件的内容?

答:etc/passwd和etc/shadow,若同时新建组群:etc/group和etc/gshadow。

16、若有一文件属性为-rwxr-xrw-,指出其代表什么意思?

答:-rwxr-xrw- 可以分为3段,r是读的权限,w是写的权限,x是执行权限,前3个rwx为usr所属,中间为group所属,最后为other所属。这段意思为,用户有rwx权限,用户所属组有rx权限,其他用户有读写权限。

17、根据功能要求写shell命令 

参考答案::

(1)显示当前目录的内容:ls 

(2)以详细格式显示test用户的家目录内容,包括隐藏文件:ls -al 

(3)进入根目录:cd/ 

(4)显示/etc/passwd文本文件的内容:cat  /etc/passwd

(5)显示/etc/passwd文件的后十行内容:tail  -10  /etc/passwd或tail /etc/passwd

18、什么是位置变量?shell的变量类型有哪些种?

位置变量是指命令行上传递给程序的参数。

Shell变量可以分为:用户自定义变量、环境变量、位置变量、特殊变量。

19、说出以下命令的含义 

参考答案:

(1)chmod  o+rx  a1.txt   让其它用户可读和执行文件a1.txt 

(2)chmod  a-rx  a1.txt   取消所有用户可读和执行文件a1.txt 

(3)chmod  g+x,o-x  a1.txt 将文件a1.txt设为同组可执行,取消其它用户可执行权限 

(4)chmod  u=rwx,g=rx,o=r  a1.txt 将文件a1.txt设为用户本人可读写执行,同组可

20more和less命令有什么区别? 

参考答案:more一页一页的显示,而Less能返回上一级查看,遇上大型文件的开启时,会比一般文本编缉器速度快。

21Linux至少需要哪二个分区?各有什么功能。

参考答案:/ 和swap 。

swap交换分区:是Linux暂时存储数据的交换分区。

/根分区:该分区下存放各种文件。

五、设计题

1、采用shell编程完成下面的任务:找出过去1天以内/home目录下被修改过的所有文件,把这些压缩打包成files.tar.gz,存放到/home目录下,然后以ftp方式将打包文件上传到192.168.10.5服务器的/home目录中,ftp用户名和密码分别为ftpuser, ftpuser

ftpuser

#!/bin/bash
m=0

for i in `find /home -mtime 0 -print`

do

files[$m]=$i 

m=$[ $m + 1 ] 

done 

tar -czvf files.tar.gz $files 

ftp -n<<! 

open 192.168.10.5 

user ftpuser  ftpuser

cd /home

lcd /home

put files.tar.gz 

close

bye

2、设计一个shell程序计算n的阶乘。要求: 

(1)从命令行接收参数n;

2)在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示;

(3)最后出计算的结果。

参考代码: 

#!/bin/sh 

if [$# -eq 0]; 

then echo -e "$0 no Params.\a\n";

exit 0;

 fi 

x=`echo $1 | awk '/[^[:digit:]]/ { print $0 } ' ` 

if["x$x" != "x"]  

then 

echo -e "Input: $* error!\a"; 

exit 1;

 fi 

fact=1;tmp=1 

while[$tmp -le $1] 

do 

 fact=$((fact*tmp));tmp=$((++tmp)); 

done 

echo "fact=$fact"

3、某软件开发公司即将开始在Linux系统上进行两个项目的开发。开发人员David和Peter组成一个小组,负责A项目的开发;开发人员Jack和Mike组成另一个小组,负责B项目的开发。系统管理员Ray需要为这四名开发人员分别建立用户帐号,并满足以下要求:

(1)建立目录“/project_a”,该目录里面的文件只能由David和Peter两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;

(2)建立目录“/project_b”,该目录里面的文件只能由Jack和Mike两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;

(3)建立目录“/project”,该目录里面的文件只能由David、Peter、Jack和Mike四人读取、增加、删除、修改以及执行,其他用户只可以对该目录进行只读的访问操作。

groupadd -g 2000 prj↙

groupadd -g 2001 prj_a↙

groupadd -g 2002 prj_b↙

useradd -m -u 3001 -g 2001 -G 2000 david↙

useradd -m -u 3002 -g 2001 -G 2000 peter↙

useradd -m -u 3003 -g 2002 -G 2000 jack↙

useradd -m -u 3004 -g 2002 -G 2000 mike↙

passwd david↙

passwd peter↙

asswd jack↙

passwd mike↙

mkdir /project↙

mkdir /project_a↙

mkdir /project_b↙

chgrp prj /project↙

chgrp prj_a /project_a↙

chgrp prj_b /project_b↙

chmod 574 /project↙

chmod 570 /project_a↙

chmod 570 /project_b↙

4、假如公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,renshi;

三个部门里各有2个用户,我们建立用户分别为caiwu01,caiwu02,network01,network02,renshi01,renshi02;

caiwu该目录里面的文件只能由caiwu组读取、增加、删除。修改以及执行,其他用户不能对该目录进行任何的访问操作;

network该目录里面的文件只能由network组读取、增加、删除、修改以及执行,其他用户能对该目录和文件进行的访问操作;

renshi该目录里面的文件只能由renshi组读取、增加、删除、修改以及执行,其他用户只能对该目录进行访问操作。

参考答案:

①先添加用户组:

groupadd -g 2000 caiwu

groupadd -g 2001 network

groupadd -g 2002 lingdao

②再增加用户:

useradd -m -u 3001 -g 2000 caiwu1

useradd -m -u 3002 -g 2000 caiwu2

useradd -m -u 3003 -g 2001 network1

useradd -m -u 3004 -g 2001 network2

useradd -m -u 3005 -g 2002 lingdao1

useradd -m -u 3006 -g 2002 lingdao2

③修改用户的密码

passwd caiwu1

passwd caiwu2

passwd network1

passwd network2

passwd lingdao1

passwd lingdao2

④建立目录

mkdir /caiwu

mkdir /network

mkdir /lingdao

⑤修改组拥有者

chgrp  caiwu  /caiwu

chgrp  network  /network

chgrp  lingdao  /lingdao

⑥修改目录的权限

chmod 570 /caiwu

chmod 573 /network

chmod 571 /lingdao

5、编写一个shell脚本,能够显示下面序列的前25个数字。0,1,1,2,3,5,8,13…,前二个数字之和为第三个数字,即著名的Fibonacci序列。

#gedit shell.sh

#!/bin/bash

n=0 

echo "$n    "

m=1

echo "$m    "

t=1

a=2

while [ $a -lt 25 ]

do

    t=$(expr $n + $m)

    echo "$t    "

    a=$(expr $a + 1)

    n=$m

    m=$t

done

# bash shell.sh

6、在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。 

参考答案: mkdir back   

cd back 

touch  test1 test2 

mv  test2   ../file2

7、采用vi和正则表达式完成下面的转换

假设有一个CSV(comma separated value)文件,里面有一些我们需要的信息,但是格式却有问题,目前数据的列顺序是:

姓名,公司名,州名缩写,邮政编码,现在我们希望讲这些数据重新组织,以便在我们的某个软件中使用。

Bill Jones,? ? ?HI-TEK Corporation ,? CA, 95011

Sharon Lee Smith,? Design Works Incorporated,? CA, 95012

B. Amos? ?,? Hill Street Cafe,? CA, 95013

Alexander Weatherworth,? The Crafts Store,? CA, 95014

需要的格式为:姓名,州名缩写 邮政编码,公司名。

Bill Jones,CA 95011,HI-TEK Corporation 
Sharon Lee Smith,CA 95012,Design Works Incorporated 
B. Amos,CA 95013,Hill Street Cafe 
Alexander Weatherworth,CA 95014,The Crafts Store

也就是说,要调整列顺序,还要合并两个列来构成一个新列。另外,该软件不能接受逗号前后面有任何空格(包括空格和制表符),所以还必须要去掉逗号前后的所有空格。

答: vi CSV

:%s/?//g

:%s/[\t]*,[\t]*/,/g

:%s/\([^.]*\),\([^.]*\),\([^.]*\),\([^.]*\)/\1,\3 \4,\2/g

8、在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。

答: $ mkdir back   

$ cd back 

$ touch  test1 test2 

$ mv  test2   ../file2

9、假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,锁定用户账号uly,并删除用户账号chang。

 答: #useradd zheng   

#passwd  zheng   

#passwd –l uly   

#userdel chang

10、试编写一个SHELL程序,该程序能接收用户从键盘输入的100个整数,然后求出其总和、最大值及最小值。

#!/bin/sh

read max 

min=$max 

sum=$max 

i=1 

while[$i –lt 100] 

do 

   read x  

      sum=`expr$sum + $x`    

if[$max –lt $x]      

  then 

   max=$x   

      fi 

 if[$x –lt $min ]      

       then 

    min=$x    

          fi     

i=`expr $i + 1` 

done 

  echo "sum = $sum   max = $max   min = $min "

11、叙述Linux如何挂载、卸载U盘。写出详细的命令步骤解释。

(1)插好U盘,用fdisr  -l  /dev/sda/  命令查看U盘分区情况 

(2)建立挂载目录:mkdir  /mnt/usb

(3)挂载U盘:mount  -t  vfat  /dev/sda1  /mnt/usb 

(4)用文件管理器或命令行方式浏览文件 

(5)卸载U盘:umount  /mnt/usb

(6)卸去U盘。 

12、编写shell程序,实现自动删除50个用户账号的功能。账号名为stud1至stud50。

#!/bin/sh 

i=1 

while[$i -le 50]

do 

Userdel -r stud${i} 

i=$(($i+1)) 

done

   echo "remove sucessful!"   

else

    echo "remove fail"  

 fi;; 

13、文件file.txt的内容格式如下: 

Mike Harrington:[510] 548-1278:250:100:175
Christian Dobbins:[408] 538-2358:155:90:201
Susan Dalsass:[206] 654-6279:250:60:50
Archie McNichol:[206] 548-1348:250:100:175
Jody Savage:[206] 548-1278:15:188:150
Guy Quigley:[916] 343-6410:250:100:175
Dan Savage:[406] 298-7744:450:300:275
Nancy McNeil:[206] 548-1278:250:80:75
John Goldenrod:[916] 348-4278:250:100:175
Chet Main:[510] 548-5258:50:95:135
Tom Savage:[408] 926-3456:250:168:200
Elizabeth Stachelin:[916] 440-1763:175:75:300

文件中包含名字,电话号码和过去三个月里的捐款。使用awk完成下列要求。

1)显示所有电话号码。

2)显示Mike的捐款,显示每个值时都有以$开头。如$250  $100  $175。

3)写一个awk脚本找出捐款总额超过500的所有人的名字。

答: (1)awk  -F  ':'  '{print $2}'  file.txt

2awk  -F  ':'  '$1~/Mike/ {print "$"$3"  ""$"$4"  ""$"$5}' file.txt

3awk 'BEGIN{FS=":" }{if($3+$4+$5>500){print $1} }' file.txt

或 awk  -F  ':'  '{if($3+$4+$5>500){print $1} }' file.txt

14、假设你的用户账号是zheng,现在你登录进入Linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。 

答:  login:zheng       

Password:密码      

$who       

$ps       

$Ctrl+D

 

你可能感兴趣的:(linux习题)