这是在网上到的Linux习题集,包含了常见命令,挺齐全的,这里给大家分享下。有答案哦!!!(部分命令有解释)
一、命令部分
1.新建一个用户user,密码设为123456,并将其加到root组。写出所用命令。
useradd -g root user
passwd user
2.将当前计算机的IP地址设为192.168.1.123,子网掩码为255.255.255.0。写出所用命令。
Ifconfig eth0 192.168.1.123 netmask 255.255.255.0
3.你是公司的Linux服务的管理员。你使用vi编缉/etc/inittab文件时,在命令模式下查询shutdown字符串,使用的命令。
/shutdown
4.显示当前系统的日期和时间命令。
date
5.查看命令sort的帮助文件,写出所用命令。
man sort
或者sort --help
6.统计/etc/passwd文件的字节数和行数,写出所用命令。
wc -lc /etc/passwd
7.分屏显示/etc/httpd/conf/httpd.conf文件的命令。
more /etc/httpd/conf/httpd.conf
8.将hello!写入 /home/wang/test.txt的命令(vi及vim编辑器除外)。
mkdir /home/wang
echo ‘hello!’>> home/wang/test.txt
9.让named守护进程运行在级别3,5的命令。
init 3
init 5
10.更改用户zhang的登录shell为/sbin/nologin的命令。
usermod -s /sbin/nologin zhang
或者 vim /etc/passwd 找到zhang的那一行,将最后一个字段改为/sbin/nologin
11.查看当前linux服务器的主机名的命令。
hostname
12.查看当前主机的路由的命令。
route
13.配置当前主机的默认网关为192.168.2.254的命令。
route add gw 192.168.2.254
14.连续ping目的IP为192.168.248.2为10次的的命令。
ping -c 10 192.168.248.2
15.查看当前主机TCP协议连接情况的命令。
netstat -at
16.打包并压缩/etc目录的命令。
tar -jcvf /home/seed/etc.tar.bz2 /etc
(-j 用bz2压缩,最后的后缀名为bz2
-c 创建文件
-v 显示打包过程
-f 文档名)
17.测试httpd是否安装的命令。
dpkg -s httpd
(ubuntu 12.04)
18.卸载named软件包的命令。
rpt-get remove named
(ubuntu 12.04,未删除配置文件)
19.查看月历并将内容追加到文件/dd中的命令。
cal 2016 >>/dd
20.查看当前目录的命令。
pwd
21.显示历史命令表的所有内容的命令。
history
22.将/etc/passwd的内容追加到文件aaa中的命令。
cat /etc/passwd >>/aaa
23.查看/etc/passwd文件的前10行的命令。
head -n 10 /etc/passwd
24.查看/etc/vsftpd/vsftpd.conf的后10行的命令。
tail -10 /etc/vsftpd/vsftpd.conf
25.重启samba服务的命令。
service sam restart
26.查看进程状态的命令。
ps -aux
27.列出后台作业的命令。
jobs -l
#28.将作业ID为5的后台作业放到前台的命令。
29.停止ssh服务的命令。
service sshd stop
30.将name=wxstc配置为全局变量的命令。
export name=wxstc
31.重启linux服务器的命令。
shutdown -r now
32.要给文件file1加上其他人可执行属性的命令。
chmod o+x file1
33.为了达到使文件sudent.txt的所有者有读(r)和写(w)的许可,而其他用户只能进行只读访问的命令。
chmod 644 sudent.txt
34.把大写字母转换为小写字母的命令。
tr ‘A-Z’ ‘a-z’ <原来的文件> 新的文件
<>这个符号不能省略
35.显示操作系统核心版本详细信息的命令。
cname -a
36.将新建文件权限设置为600的命令。
chmod 600 文件名
37.从IP地址查找域名或从域名来查找IP地址应使用什么命令。
host ip;
host 域名
38.如何查看用户zhang属于哪个组。
groups zhang
39.假如当前系统是在 level 3 运行,不重启系统就可转换到 level 5 运行的命令。
telinit 5
40.查看Linux的启动信息的命令。
chkconfig --list;
41.创建一个以自己姓的拼音缩写为名的用户。
useradd ozc
42.进入用户主目录,显示当前的路径。
cd ~
pwd
43.复制文件/etc/group到用户主目录,文件名不变。
cp /etc/group ~
44.统计文件/etc/fstab的行数、单词数、字符数。
wc -l -w -m /etc/fstab
(用man wc可以查看使用详情)
45.查看/etc/passwd文件的后5行。
tail -5 /etc/passwd
46.创建普通文件/home/abc。
touch /home/abc
47.修改/home/abc的属性为:属主具有一切权限,同组用户和其他用户具有可读可写的权限。
chmod 766 /home/abc
48. 显示当前的时间。
date
49. 写出系统1分钟后关机的命令。
shutdown 1
50. 启动ssh服务器。
service sshd start
51.新建一个以你的学号为账号的用户。
Useradd 0906130225
52.复制文件/etc/passwd到用户主目录,文件名不变
cp /etc/passwd $HOME
53.进入用户主目录,显示当前的路径。
cd $HOME
pwd
54.统计文件/etc/passwd的行数。
wc -l /etc/passwd
55.查看/etc/passwd的前8行。
head -8 /etc/passwd
56.显示2011年1月的日历。
cal 1 2011
月份放在前面
57.建立文件/etc/group的符号链接文件/root/abc。
ln -s etc/group /root/abc
如果要强制删除已经存在的文件的话,要加参数-f
58.后台启动程序gedit。
gedit &
59.配置网卡eth0的IP地址为192.168.0.1,子网掩码为255.255.255.0
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
60.查看dns服务器的状态。
pstree |grep named
或者是
ps -A |grep named
61.创建一个以自己的姓的拼音命名的用户。
useradd ozc
62.添加一个用户组,名称为wuxi。
groupadd wuxi
63.修改新建的用户属于wuxi组。
usermod -g wuxi ozc
64.复制文件/etc/passwd到用户主目录,文件名称不变。
cp /etc/passwd $HOME
65.修改该文件的属性为:属主具有一切权限,同组用户和其他用户具有可读权限。
chmod 744 文件名
66.显示当前系统时间。
date
67.写出30分钟后系统重启的命令。
shutdown -r 30
68.显示历史命令表的所有内容。
history
69.显示Linux系统运行所有进程。
ps -A
70.重新启动ssh服务器。
service sshd restart
71.创建一个以自己的名的拼音命名的用户。
useradd ozc
72.添加一个用户组,名称为js。
groupadd js
73.修改新建的用户属于js组。
usermod -g js ozc
74.进入该用户主目录,显示当前的路径。
cd $HOME
pwd
75.复制文件/etc/fstab到此文件夹,文件名称不变。
cp /etc/fstab ~
76.统计文件/etc/fstab的字符数。
wc -c /etc/fstab
77.设置当前时间设为15:00,显示当前系统时间。
date -s 15:00
date -s “2016-5-17 21:17” (修改系统时间)
(最后要用clock -w 写入时间)
date
78.写出系统5分钟后重启的命令。
shutdown -r 5
79.配置网卡eth0的IP地址为192.168.10.1,子网掩码为255.255.255.0
ifconfig eth0 192.168.10.1 netmask 255.255.255.0
80.查看DHCP服务器的状态。
sercive dhcpd status
二、操作题
1. 某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:
(1)在下午4 :50删除/abc目录下的全部子目录和全部文件;
at 16:50
rm -rf /abc/*
(rm -rf /abc 的话会连abc目录页删除)
(2)从早8:00~下午6:00每小时读取/xyz目录下x1文件中每行第一个域的全部数据加入到/backup目录下的bak01.txt文件内。
crontab -e (进入文本编辑模式)
0 8-18 * * * cat /xyz/x1 | cut -d ‘:’-f 1 >/backup/bak01.txt (如果是:号为分割符的话)
:wq
5.编写一个名为mul的脚本程序,参数为一个大于20的正整数。先检查参数是否符合要求。如果不符合要求,请给出提示;如果符合要求,分别输出其与1到10的乘积。
#!/bin/bash
if [ $1 -gt 20 ] ;
Then
s=0
for ((i=1;i<=10;i=i+1))
do
s=$(($1*$1))
echo -e “$s\n”
done
else
echo “Error input!”
fi
(注意:if [ $1 -gt 20 ] 不能写成 if [ $1< 20 ] ,因为<是字符串的比较,而-gt是数字大小的比较,如果用<的话,输如比20小的数还是会计算结果的)
在终端输入 sh mul.sh 34 和 sh mul.sh 19就可以看到两种结果
6.编写一个名为move的脚本程序,格式move file1 file2 。如果file1不存在,给出提示;否则移动file1至file2。
#!/bin/bash
test ! -e $1 && echo -e “file1 not exist!” || mv $1 $2
7.编写一个shell脚本,能够显示下面序列的前25个数字。0,1,1,2,3,5,8,13…,前二个数字之和为第三个数字,即著名的Fibonacci序列。
#!/bin/bash
num1=0
num2=1
echo -e “$num1\n$num2”
for ((i=3;i<=25;i=i+1)
do
num=$(($num1+num2))
num2=$(($num))
num1=$(($num2)
echo “$num”
done