实训项目2 Linux基本命令(带参考答案)

  • 格式:doc
  • 大小:116.50 KB
  • 文档页数:7

实 验 报 告

题 目: 项目二、Linux基本命令

院 系: 计算机系 专 业: 软件工程 班 级: 2010级1班 姓 名: 郭彬 学 号: 2010.3.14 指导教师: 何东彬

2012 年 3 月 14 日 实训项目2 Linux基本命令 一、实训目的 ● 掌握Linux各类命令的使用方法; ● 熟悉Linux操作环境。

二、实训内容 练习使用Linux常用命令,达到熟练应用的目的。 三、实训步骤

子项目1.文件和目录类命令的使用 (1)启动计算机,利用root用户登录到系统,进入字符提示界面。练习使用cd命令

(2)用pwd命令查看当前所在的目录。 pwd命令用于显示用户当前所在的目录。如果用户不知道自己当前所处的目录,就可以使用这个命令获得当前所在目录

(3)用ls命令列出此目录下的文件和目录。 然后,使用ls命令,并用-a选项列出此目录下包括隐藏文件在内的所有文件和目录。 最后,用man命令查看ls命令的使用手册。

补充说明浏览信息内容:(以下面图片为例)

最后一行内容列表说明 - rw- r-- r-- 1 root root 8 Feb 21 18:42 mybook

1 2 3 4 5 6 7 8 9 10 11 1属性: - 代表文件,l代表链接文件,d代表目录 2 所有者权限(文件权限):具有 r 读 w 写 没有 x 执行 3 同组用户权限(文件权限): 只读 r 4 其他人权限(文件权限) : 只读 r 5 链接数: 1 6 文件拥有者:root 7 文件所属组:root 8 文件大小: 8字节 9 创建或修改日期:2月21日 10 创建或修改时间:18:42 11 文件或目录名称

(4)在当前目录下,创建测试目录test。利用ls或ll命令列出文件和目录,确认test目录创建成功。然后进入test目录,利用pwd查看当前工作目录。

 mkdir命令用于创建一个目录。  该命令的语法为:mkdir [参数] 目录名  常用参数 –p:如果父目录不存在,则同时创建该目录及该目录的父目录。

(5)利用cp命令复制系统文件/etc/profile到当前目录下。 # cp /etc/profile . (6)复制文件profile到一个新文件profile.bak,作为备份。 # cp profile profile.bak (7)用ll命令以长格形式列出当前目录下的所有文件,注意比较每个文件的长度和创建时间的不同。 (8)用less命令分屏查看文件profile的内容,注意练习less命令的各个子命令,如b、p、q等,并对then关键字查找。

注意:可以通过less - -help 命令查看帮助  less命令是more命令的改进版,比more命令的功能强大。more命令只能向下翻页,而less命令可以向下、向上翻页,甚至可以前后左右的移动。  执行less命令后,进入了less状态,按【Enter】键可以向下移动一行,按【space】键可以向下移动一页;按【b】键可以向上移动一页;也可以用光标键向前、后、左、右移动;按【q】键可以退出less命令。  less命令还支持在一个文本文件中进行快速查找。先按下斜杠键【/】,再输入要查找的单词或字符。less命令会在文本文件中进行快速查找,并把找到的第一个搜素目标高亮度显示。如果希望继续查找,就再次按下斜杠键【/】,再按【Enter】键即可。 (9)用grep命令在profile文件中对关键字then进行查询,并与上面的结果比较。 注意:不知道profile文件在哪儿怎么办? ]# find / -name "profile" /etc/profile

# grep then /etc/profile if [ "$2" = "after" ] ; then if [ -x /usr/bin/id ]; then if [ -z "$EUID" ]; then if [ "$EUID" = "0" ]; then if [ "$HISTCONTROL" = "ignorespace" ] ; then if [ -r "$i" ]; then if [ "$PS1" ]; then (10)给文件profile创建一个软链接lnsprofile和一个硬链接lnhprofile。 # ln profile lnhprofile # ln -s profile lnsprofile (11)长格形式显示文件profile、lnsprofile和lnhprofile的详细信息。注意比较3个文件链接数的不同。 (17)删除文件profile,用长格形式显示文件lnsprofile和lnhprofile的详细信息,比较文件lnhprofile的链接数的变化。 (18)用less命令查看文件lnsprofile的内容,看看有什么结果。 (19)用less命令查看文件lnhprofile的内容,看看有什么结果。 (20)删除文件lnsprofile,显示当前目录下的文件列表,回到上层目录。 # rm lnsprofile # ll # cd .. (21)用tar命令把目录test打包。 tar –zcvf file.tar.gz /home tar –cvf file.tar /home (22)用gzip命令把打好的包进行压缩。 gzip file.tar gzip –c /tmp/file.tar.gz file.tar 注意第一、二种方式的不同 解压缩为 gzip –d /tmp/file.tar.gz (23)把文件test.tar.gz改名为backup.tar.gz。 mv (24)显示当前目录下的文件和目录列表,确认重命名成功。 (25)把文件backup.tar.gz移动到test目录下。 (26)显示当前目录下的文件和目录列表,确认移动成功。 (27)进入test目录,显示目录中的文件列表。 (28)把文件backup.tar.gz解包。 tar –zxvf backup.tar.gz (29)显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份。 (30)查找root用户自己主目录下的所有名为newfile的文件。 find ~ -name "newfile" (31)删除test子目录下的所有文件。 rm -f test/* (32)利用rmdir命令删除空子目录test。 回到上层目录,利用rm命令删除目录test和其下所有文件。 rm –rf test

子项目2.系统信息类命令的使用 (1)利用date命令显示系统当前时间,并修改系统的当前时间。 #date -s //设置当前时间,只有root权限才能设置,其他只能查看。 #date -s 20061010 //设置成20061010,这样会把具体时间设置成空00:00:00 #date -s 12:23:23 //设置具体时间,不会对日期做更改 #date -s ″12:12:23 2006-10-10″ //这样可以设置全部时间 (2)显示当前登录到系统的用户状态。 w who出来结果的格式是: name [state] line time [idle] [pid] [comment] [exit] (3)利用free命令显示内存的使用情况。 (4)利用df命令显示系统的硬盘分区及使用状况。 (5)显示当前目录下各级子目录的硬盘占用情况。 # du /home --max-depth=1 -h 36K /home/zyh 32K /home/hjl 36K /home/natasha 32K /home/jack 696K /home/hdb 836K /home

子项目3.进程管理类命令的使用 (1)使用ps命令查看和控制进程。 ① 显示本用户的进程:#ps。 ② 显示所有用户的进程:#ps -au。 ③ 在后台运行cat命令:#cat &。 ④ 查看进程cat :# ps aux |grep cat。 ⑤ 杀死进程cat:#kill –9 cat。 ⑥ 再次查看进程cat,看看是否被杀死。 (2)使用top命令查看和控制进程。 ① 用top命令动态显示当前的进程。 ② 只显示用户user01的进程(利用U键)。 ③ 利用K键,杀死指定进程号的进程。 (3)挂起和恢复进程。 ① 执行命令cat。 ② 按[Ctrl+Z]键,挂起进程cat。 ③ 输入jobs命令,查看作业。 ④ 输入bg,把cat切换到后台执行。 ⑤ 输入fg,把cat切换到前台执行。 ⑥ 按[Ctrl+C]键,结束进程cat。 (4)find命令的使用。 ① 在/var/lib目录下查找所有文件其所有者是games用户的文件。 #find /var/lib –user games ② 在/var目录下查找所有文件其所有者是root用户的文件。 #find /var –user root ③ 查找所有文件其所有者不是root、bin和student用户,并用长格式显示(如ls –l 的显示结果)。 #find / ! –user root -and ! –user bin –and ! –user student –exec ls –l {} \; 2> /dev/null 注意:{} 与\;之间存在一个空格;2> /dev/null意味着所有错误将不显示

④ 查找/usr/bin目录下所有大小超过一百万byte的文件,并用长格式显示(如ls –l 的显示结果)。 #find /usr/bin -size +1000000c -exec ls -l {} \; ⑤ 对/etc/mail目录下的所有文件使用file命令。 #find /etc/mail –exec file {} \; 2 > /dev/null ⑥ 查找/tmp目录下属于student的所有普通文件,这些文件的修改时间为5天以

前,查询结果用长格式显示(如ls –l 的显示结果)。 # find /tmp –user student –and –mtime +5 –and –type f –exec ls {} \; 2> /dev/null

补充: -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -mmin n File’s data was last modified n minutes ago. -mtime n File’s data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.