实验课程:Linux程序设计 设课形式:非独立
课程学分:2 实验项目:Linux常用命令
项目类型:验证 项目学时:2
实验目的和要求:
1、熟悉Linux常用命令;
2、掌握Linux命令参数。
实验条件:
1、装有Linux操作系统的微型计算机;
pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。
cd命令不仅显示当前状态,还改变当前状态,它的用法跟dos下的cd命令基本一致。
cd ..可进入上一层目录
cd -可进入上一个进入的目录
cd ~可进入用户的home目录
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
范例:
将档案aaa 复制(已存在),并命名为bbb :
cp aaa bbb
创建一个cjf.c文件
将所有的C语言程序拷贝至Finished 子目录中:
cp *.c Finished
使用方式:mv [options] source dest
mv [options] source... directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
范例:
将档案aaa 更名为bbb :
mv aaa bbb
将所有的C语言程序移至Finished 子目录中:
mv -i *.c /Finished
使用方式: 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的权限
使用方式: ls [-alrtAFR] [name...]
说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
范例:
列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面:
ls -ltr c*
将/bin 目录以下所有目录及档案详细资料列出:
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*" :
ls -AF
使用方式:rm [options] name...
说明:删除档案及目录。
范例:
删除所有C语言程式档;删除前逐一询问确认:
rm -i *.c
将Finished 子目录及子目录中所有档案删除:
rm -r Finished
使用方式:rmdir [-p] dirName
说明:删除空的目录。
参数:-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为AAA 的子目录删除:
rmdir AAA
在工作目录下的BBB 目录中,删除名为Test 的子目录。若Test 删除后,BBB 目录成为空目录,则BBB 亦予删除。
rmdir -p BBB/Test
使用方式:
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
说明:gzip命令用于压缩文件。
参数:-d 将压缩文件解压
范例:
如果要将ye.txt文件压缩,可用如下命令:
gzip ye.txt
这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。
解压缩文件可用gzip -d命令实现:
gzip -d ye.txt.gz
这样就可以解压缩文件并删除gz扩展名。
说明: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
使用方式: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/用户名
使用方式:
wall [ message ]
使用说明:
wall 会将讯息传给每一个mesg 设定为yes 的上线使用者。
例子:
传讯息"hi"给每一个使用者:
wall hi
思考题:
echo pwd>>pwd.sh
ls –l pwd.sh
umask
umask –S
umask
touch test1
mkdir test2
ls –l
chmod 544 pwd.sh
,/pwd.sh
useradd stu
passwd stu
chmod stu test1
chgrp stu test2
li –l
chmod u+x test1
ls –l
file /study/bashrc
which ifconfig
which cd
whereis –m passwd
locate passwd
find / -mtime 3
touch man.config
find / -newer man.config
find /etc –newer /etc/passwd
find / -user root
find / -nouser
find / -name man.config
find / -name man.config
locate man.config
不一样,locate更加详细与man.config相关联的也都列出来了。
find /etc –type f
find / -size +1000k
心得体会
这是第一次Linux操作实验,首先安装SecureCRT和FX就花了很多时间去了解如何安装。第一节课明显不够时间,所以回去自己在电脑上安装了。也出现了蛮多问题,但是后面都成功了,但当时又连不上远程主机,可能是关闭了,所以在此向老师请求一个建议,可能有些实验在课堂上做不完,能不能在我们都没课的时候把远程主机开一下,让我们能在宿舍做就不用特意跑来机房了。
前面的基本命令都是满熟悉的,毕竟之前学过操作系统。但是越往后越陌生,就算照抄打上去也是小心翼翼的,而且有些需要root权限无法处理。还有mail没有安装所以关于mail部分没有写。在百度上搜了怎么安装mail但是资料极少而且又不符合当前环境所以放弃了。后面的命令还有还不懂怎么操作,所以有几个是空着的,空着的都是我不懂的。
此外,还想向老师再提个意见,可不可以把后面所有的实验报告都提前上传,让我们提前熟悉或者提前做了,遇到难一些的就会有更多的时间准备。
Ps:因为学校的主机没有wall和mail以及root权限,所以那些部分都是在自己机子上完成的,连接的是自己开的阿里云服务器。