实验一 linux常用命令

实验一 Linux常用命令

基本信息

实验课程:Linux程序设计              设课形式:非独立

课程学分:2                           实验项目:Linux常用命令

项目类型:验证                        项目学时:2

实验预习

实验目的和要求:

1、熟悉Linux常用命令;

2、掌握Linux命令参数。

实验条件:

1、装有Linux操作系统的微型计算机;

实验过程及结果

  1. 指令名称:pwd 

pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。

 

  1. 指令名称:cd 

cd命令不仅显示当前状态,还改变当前状态,它的用法跟dos下的cd命令基本一致。

cd ..可进入上一层目录

cd -可进入上一个进入的目录

cd ~可进入用户的home目录

 

  1. 指令名称:cp 

  使用方式:

cp [options] source dest 

cp [options] source... directory 

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

范例:

将档案aaa 复制(已存在),并命名为bbb : 

cp aaa bbb 

创建一个cjf.c文件

将所有的C语言程序拷贝至Finished 子目录中: 

cp *.c Finished

 

  1. 名称:mv 

  使用方式:mv [options] source dest 

mv [options] source... directory 

说明:将一个档案移至另一档案,或将数个档案移至另一目录。

参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。

范例:

将档案aaa 更名为bbb : 

mv aaa bbb 

将所有的C语言程序移至Finished 子目录中: 

mv -i *.c /Finished

 

  1. 指令名称: chmod 

使用方式: chmod [-cfvR] [--help] [--version] mode file... 

说明: Linux/Unix 的档案存取权限分为三级: 档案拥有者、群组、其他。利用chmod 可以藉以控制档案如何被他人所存取。

mode : 权限设定字串,格式如下: [ugoa...][+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

范例:将档案file1.txt 设为所有人皆可读取: 

chmod  ugo+r file1.txt 

将档案file1.txt 设为所有人皆可读取: 

chmod  a+r file1.txt 

将档案file1.txt 与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入: 

chmod  ug+w,o-w file1.txt file2.txt 

将ex1.py 设定为只有该档案拥有者可以执行: 

chmod  u+x ex1.py 


将目前目录下的所有档案与子目录皆设为任何人可读取: 

chmod  -R a+r * 

此外chmod也可以用数字来表示权限如chmod 777 file 

语法为:chmod abc file 

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1 

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=7。

范例:

chmod  a=rwx file        和   chmod 777 file    效果相同

chmod  ug=rwx,o=x file   和   chmod 771 file    效果相同

若用chmod 4755 filename可使此程式具有root的权限

 

  1. 指令名称: ls 

使用方式: ls [-alrtAFR] [name...] 

说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。

范例:

列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面: 

ls -ltr c* 

将/bin 目录以下所有目录及档案详细资料列出: 

ls -lR /bin 

列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*" : 

ls -AF 

 

  1. 指令名称:rm 

  使用方式:rm [options] name... 

说明:删除档案及目录。

范例:

删除所有C语言程式档;删除前逐一询问确认: 

rm  -i *.c 

将Finished 子目录及子目录中所有档案删除: 

rm  -r Finished 

 

  1. 指令名称:rmdir 

使用方式:rmdir [-p] dirName 

说明:删除空的目录。

参数:-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为AAA 的子目录删除: 

rmdir  AAA 

在工作目录下的BBB 目录中,删除名为Test 的子目录。若Test 删除后,BBB 目录成为空目录,则BBB 亦予删除。

rmdir  -p BBB/Test 

 

  1. 指令名称:touch 

  使用方式:

touch [-acfm] 

[-r reference-file] [--file=reference-file]

[-t MMDDhhmm[CC]YY][.ss] 

[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]

[--no-create] [--help] [--version] 

file1 [file2 ...] 

说明:

touch 指令改变档案的时间记录。ls -l 可以显示档案的时间记录。

范例:

最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

touch file 

touch file1 file2 

将file 的时间记录改为5 月6 日18 点3 分,公元两千年。时间的格式可以参考date 指令,至少需输入MMDDHHmm ,就是月日时与分。

touch -c -t 05061803 file 

touch -c -t 050618032000 file 

将file 的时间记录改变成与referencefile 一样。

touch -r referencefile file 

将file 的时间记录改成5 月6 日18 点3 分,公元两千年。时间可以使用am, pm 或是24 小时的格式,日期可以使用其他格式如6 May 2000 。
touch -d "6:03pm" file 

touch -d "05/06/2000" file 

touch -d "6:03pm 05/06/2000" file

 

  1. 指令名称:gzip 

说明:gzip命令用于压缩文件。

参数:-d 将压缩文件解压

范例:

如果要将ye.txt文件压缩,可用如下命令:

gzip ye.txt 

这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。

解压缩文件可用gzip -d命令实现:

gzip -d ye.txt.gz 

这样就可以解压缩文件并删除gz扩展名。

 

  1. 指令名称:tar 

说明:tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

范例:

可用如下方法建立tar档案:

tar cvf 

例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令:

tar cvf ye.tar *.* 

要浏览档案内容,将c选项变成t。如果要浏览ye.tar档案中的内容,可用如下命令:

tar tvf ye.tar 

要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令:

tar xvf ye.tar

新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了。例如:

生成压缩档案ye.tar.gz:

tar czvf ye.tar *.txt 

显示压缩档案ye.tar.gz的内容:

tar tzvf ye.tar *.txt 

取出压缩档案ye.tar.gz的内容:

tar xzvf ye.tar *.txt 

 

  1. 指令名称:mail 

  使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...] 

说明:

mail 不仅只是一个指令,mail 还是一个电子邮件程序。

参数:

s 邮件标题

c 邮件地址(2个地址以上用,一个地址不用加此参数)

范例:

①将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。

mail [email protected]

系统会提示输入“subject”

②将mail.txt 的内容寄给[email protected] ,同时抄送给[email protected]

mail -s “标题” -c [email protected] [email protected] <  mail.txt

接收到的邮件都保存在目录/var/spool/mail/用户名

  1. 指令名称: wall 

使用方式:

wall [ message ] 

使用说明:

wall 会将讯息传给每一个mesg 设定为yes 的上线使用者。

例子:

传讯息"hi"给每一个使用者: 

wall hi

 

思考题:

  1. 文件权限
    1. 执行echo pwd >> pwd.sh,然后使用ls -al查询一下,发生了什么事?

echo pwd>>pwd.sh

ls –l pwd.sh

 

    1. 以两种方式查看系统中新建文件或目录的默认权限

umask

umask –S

 

    1. 新建文件test1和目录test2,查看它们的权限是否与(2)中的默认权限相符

umask

touch test1

mkdir test2

ls –l

 

    1. 修改pwd.sh文件权限为r-xr--r--。

chmod 544 pwd.sh

 

    1. 执行pwd.sh。(提示:执行本路径下文件的命令是./文件名)。

,/pwd.sh

 

    1. 添加用户stu,修改密码为12345678。

useradd stu

passwd stu

 

    1. 修改文件test1的属主为stu,test1所属的组为stu。

chmod stu test1

chgrp stu test2

li –l

    1. 增加test1的属主具有可执行的权限。

chmod u+x test1

ls –l

  1. 文件查找
  1. 查看文件/root/.bashrc的类型

file /study/bashrc

  1. 查询ifconfig和cd命令的完整文件名

which ifconfig

which cd

 

  1. 只找出跟passwd有关的“说明文件”文件名

whereis –m passwd

 

  1. 找出系统中所有与passwd相关的文件名

locate passwd

 

  1. 将过去系统上面3天前的24小时内有改动(mtime)的文件列出

find / -mtime 3

 

  1. 使用find查找当前目录下比man.config新的文件,并存储到man.config.new文件。

touch man.config

find / -newer man.config

 

  1. 列出/etc下比/etc/man.config新的文件

find /etc –newer /etc/passwd

 

  1. 查找系统中所有属于root的文件及不属于任何人的文件

find / -user root

find / -nouser

 

  1. 使用find查找/下面所有名称为man.config的文件。

find / -name man.config

 

  1. 找出文件名为man.config的文件

find / -name man.config

 

  1. 使用locate查找所有名称为man.config的文件。

locate man.config

 

  1. 11步和12步的结果一样么?为什么?

不一样,locate更加详细与man.config相关联的也都列出来了。

 

  1. 找出/etc下文件类型为f的文件

find /etc –type f

 

  1. 找出系统中大于1M的文件

  find / -size +1000k

 

心得体会

这是第一次Linux操作实验,首先安装SecureCRT和FX就花了很多时间去了解如何安装。第一节课明显不够时间,所以回去自己在电脑上安装了。也出现了蛮多问题,但是后面都成功了,但当时又连不上远程主机,可能是关闭了,所以在此向老师请求一个建议,可能有些实验在课堂上做不完,能不能在我们都没课的时候把远程主机开一下,让我们能在宿舍做就不用特意跑来机房了。

前面的基本命令都是满熟悉的,毕竟之前学过操作系统。但是越往后越陌生,就算照抄打上去也是小心翼翼的,而且有些需要root权限无法处理。还有mail没有安装所以关于mail部分没有写。在百度上搜了怎么安装mail但是资料极少而且又不符合当前环境所以放弃了。后面的命令还有还不懂怎么操作,所以有几个是空着的,空着的都是我不懂的。

此外,还想向老师再提个意见,可不可以把后面所有的实验报告都提前上传,让我们提前熟悉或者提前做了,遇到难一些的就会有更多的时间准备。

Ps:因为学校的主机没有wall和mail以及root权限,所以那些部分都是在自己机子上完成的,连接的是自己开的阿里云服务器。

 

猜你喜欢

转载自blog.csdn.net/fenger_c/article/details/89531847