Linux基本命令篇的习题解答

1. 练习cmd --help, help cmd, man cmd, info cmd, 比较其不同, 找到命令的使用方法.

答: 经过我的测试, 以ls为例, ls --help有中文帮助, 一次性显示完成并推出.

help ls的结果bash: help: 没有匹配 "ls" 的帮助主题. 尝试"help help", 或者"man –k ls" 或"info ls"

man ls与info ls返回结果基本一致.

 

2. ls命令的-l, -a的含义是什么? 用ls命令以时间排序列出文件及目录.

答: –l的含义为使用较长格式列出信息.

-a的含义是不隐藏任何以 . 字符开始的项目.

以时间排序的命令是ls –l –s –t, 或者ls –lst

 

3. 练习cat, less, more命令, 并简述其区别.

答: less跟cat的区别是less是分屏显示. more跟less的区别是more不能用上箭头键回选, 翻到最后自动退出. cat不管文件多大, 全部显示, 自动退出.

 

4. 简述cat命令的工作原理

答: 这里需要先解释一下shell的概念, Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。

    用户输入了cat命令之后, Shell先检查命令是否是内部命令, 如果不是, 再检查是否是一个应用程序(比如Linux本身的实用程序ls, rm; 或商业程序, 如xv; 或自由软件, 如emacs). 然后Shell在环境变量的PATH里按顺序搜索这个应用程序. 如果成功找到命令, 该内部命令或应用程序将被系统调用并传给Linux内核.

 

5. cd-, cd, .. , . 命令各完成什么功能?

答: cd命令使用户当前目录回归到用户的家目录.

cd -命令使用户回到上一次他所在的目录. 这题我之前答错了,这里用红色标出. 比如一个用户进了一个很深的目录, 不小心敲了一个cd回到了家目录. 如何回去刚才的目录呢? 就要用cd - 命令了.

.代表当前目录

..代表当前目录的上一级目录.

 

6. 查看计算机cpu, memory, hard disk的基本信息.

答:  查看CPU信息使用命令cat /proc/cpuinfo

查看内存信息用命令cat /proc/meminfo

查看硬盘, 第一种sudo fdisk –l

第二种是df –lh

第三种点击应用程序->附件->磁盘使用分析器

 

7. 将/var/log目录下所有文件打包压缩, 拷贝到U盘.

答: 使用下面的指令序列:

tar cvf /var/log/* dest.tar .

gzip  dest.tar

ls –lh dest.tar.gz

cp dest.tar.gz /dev/sdc

#解压过程如下

gunzip dest.tar.gz #解压但不拆包

gzip dest.tar #再次压缩

tar xvfz dest.tar.gz #解压

 

8. 使用cp命令备份你的/boot/grub/menu.lst文件.

答: cp /boot/grub/menu.lst ./menu.bak.lst

 

9. 使用date命令更改你的系统时间; reboot计算机之后, 系统是否使用新的时间?

答: sudo date –s 07/23/2000

sudo date –s 12:00:00

注意,这里说的是系统时间,是linux由操作系统维护的。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
#clock -w
这个命令强制把系统时间写入CMOS。

该问题答案抄自http://blog.csdn.net/guoguo1980/archive/2008/03/11/2167523.aspx 

 

10. fdisk, cfdisk查看硬盘分区信息.

答: sudo fdisk –l

sudo cfdisk

查看各个分区的占用率还可以使用df命令.

 

11. 如何查看系统中那些占有cpu较多的进程?

答: 命令top

 

12. 如何强行杀死系统中不要的进程.

答: 先使用top或ps命令找出我们想要杀掉的进程的PID, 然后使用kill [PID]

第二种方法, 如果我们知道进程名, 我们使用pkill [进程名]杀掉该进程.

第三种方法, 输入xkill命令, 然后让鼠标的小x选中窗口来杀掉该进程.

 

13. 使用route del -net..命令删除default gw, 之后ping LAN中的一个IP, 是否可以ping通.

答: 该题目我不知道是不是弄错了, 经查看route没有del这个开关. 有delgroup, 有delpart, 有deluser, 没有del这个命令. 不过从ping的原理来看, 应该是可以ping通的. 主机先把目的ip地址跟自己的子网掩码进行比较, 经过比较之后会算出这个IP地址是属于局域网的, 于是直接将数据包发送出去, 不需要经过网关. 在ping外网的ip的时候, 才需要经过网关.

 

14. 简述firefox连接www.google.com的过程

答: 主机的firefox进程先向dns服务器发出请求, 请求解析www.google.com的ip地址, dns给出了谷歌的ip地址之后, 主机会拿该ip地址跟子网掩码比较, 得出是外网地址, 所以将目的地址设置为谷歌的ip地址, 把数据包的物理地址设定为网关的物理地址. 这样网关会接收到这个请求的数据包, 然后将数据发送出去. 网关接受到谷歌的回应之后, 会查看数据包的目的主机部分, 然后会把数据包转发给主机.

 

15. 如何查看Ubuntu版本的信息?

答: cat /etc/issue

查看内核版本, uname –a

 

16. user1执行sudo passwd命令, 更改的是哪个用户的密码?

答: 修改的是自己的密码. 用户执行passwd的时候不需要有sudo来提升权限, 因为用户有权限修改自己的口令. 如果要修改其他人的口令, 则必须拥有超级用户的权限, 并且要制定被重设密码的用户的用户名. 例如: sudo passwd sam

 

17. user1执行sudo mount命令, 需要输入哪个用户的密码才能执行?

答: 输入的是user1的密码. 详情请参考另一篇文章《Sudo 和 Root 帐号》.

 

18. ls –l /bin/ls, 查看并简单描述-rwxr-xr-x的含义.

答:  开头的第一个字母, 如果是-说明是一个文件,开头是d说明是一个文件夹. 在这里可以看出这是一个非目录.

r代表读, w代表写, x代表执行. 对于文件来讲x代表可执行, 对于目录来讲x代表目录可以进入.

头第二个到第五个字母代表主人的权限, 中间三个代表用户组的权限, 后三个代表其他用户的权限.

详解如下, 主人可以读, 可写, 可执行, 用户组可读, 不可写, 可执行, 其他用户可读, 不可写, 可执行.

 

海明老师的这十八道习题挺狠, 我花了一整个下午和晚上才做完. 谁让咱菜呢? 呵呵,还是蛮有收获的.

如果有做错的地方, 诚恳的欢迎您指正.

posted on 2009-07-23 21:46  中道学友  阅读(3967)  评论(0编辑  收藏  举报

导航

技术追求准确,态度积极向上