(本次实验目的在于掌握一些Linux的常用命令,真心不会排版,将就看吧各位。)
一、实验目的
1.掌握Linux一般命令格式。
2.掌握有关文件和目录操作的常用命令。
3.掌握有关进程操作的常用命令.
4.熟练使用man命令。
二、课堂内容回顾
三、实验内容:
(1)linux常用操作命令回顾
(2)教材P299实验二内容
1、pwd,ls -l,ls -ai,cd,madir,subdir命令
1) pwd显示当前工作目录
2) ls -l将当前目录下所有文件列出来,举例如-rwxr-x--x是指文件访问权限:分为 读(r)/ 写(w)/ 可执行(x)三种。上述的-/rwx/r-x/--x分别表示:"-"代表文件类型,rwx表示文件主权限,r-x表示的是组用户的权限,--x表示的是其他用户的权限,由此可见主权限最大,其他用户一般权限最小
3)ls -ai(ls为list同上述的ls ,a=all)i的意思如下
索引节点inode:
Linux为每个文件分配一个称为索引节点的号码inode,可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。系统是通过索引节点(而不是文件名)来定位每一个文件。
例如:假设我们在硬盘当前目录下建立了一个名为mytext文本文件,其内容只有一行: This is my file.
1、当然这行文字一定是存储在磁盘数据区某个具体位置里(物理上要通过磁头号、柱面号和扇区号来描述,在本例中假设分别是1、20、30)。
2、假设其inode是262457,那么系统通过一段标准程序,就能将这个inode转换成存放此文件的具体物理地址(1磁头、20柱面、30扇区),最终读出文件的内容:“This is my file.”
3、所以inode是指向一个文件数据区的指针号码,一个inode对应着系统中唯一的一片物理数据区,而位于两个不同物理数据区的文件必定分别对应着两个不同的inode号码。
4)cd就是改变目录的意思没什么好说的。
5) mkdir一个subdir(在当前目录创建一个子目录)
我创建了kyo1这个子目录(也可以换成subdir这个名字无所谓的),此条命令需要root权限,前面需要加上sudo。
进入kyo1这个子目录后,我touch了一个新文件file1,(由于总是普通用户权限太小每次总是permission denied,我直接使用了sudo su切换为超级用户进行操作)date 文件名这条命令很简单顾名思义就是显示创建文件的时间日期。
6)链接计数
原来
执行完ln file1 ../fa之后,链接计数由1变成2
ln命令用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。
7)显示file1的头10行和后10行
head -n 10 file1
head用来显示档案的开头至标准输出当中,默认head命令打印其相应文件的开头10行。
命令参数-q 隐藏文件名 -v 显示文件名 -c 显示字节数 -n 显示的行数
同理tail表示尾部
8)cp 命令 -----cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。
mv命令=move(rename)
执行cp file1 file2之后,自动出现了一个和file1一样的file2文件,mv file2 file3之后,file2消失,自动创建了file3
(3)教材练习
2.2命令过于简单就不演示了
2.4有几个常用比较重要的命令
1)cat 命令 ----cat命令的用途是连接文件或标准入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
cat file1,file1是上述创建的文件,
2)touch常用来创建一个文件,刚刚那个file1就是touch file1创建的。除此之外,它还可以修改文件的时间标签,个人感觉这没啥用,谁会去改那玩意?
3)grep指令
这个命令是用来查找一大堆文件中的特定词或者短语
后面的一些cp,rm,mv指令在上面均有涉及,就不演示了。
2.5
在看了这一章的几页纸之后,解决了之前的疑惑,就是为什么执行了ln file1 ../fa之后,file1文件的链接数由1变成2.
以下摘自课本
Linux具有为一个文件起多个名字的功能,称为链接。被链接的文件可以存放在相同的目录下,但是必须有不同的文件名,而不用在硬盘上为同样的数据重复备份。另外,被链接的文件也可以有相同的文件名,但是存放在不同的目录下,这样只要对一个目录下的该文件进行修改,就可以完成对所有目录下同名链接文件的修改。对于某个文件的各链接文件,我们可以给它们指定不同的存取权限,以控制对信息的共享和增强安全性。
文件链接有两种形式,即硬链接和符号链接。
硬链接
建立硬链接时,在另外的目录或本目录中增加目标文件的一个目录项,这样,一个文件就登记在多个目录中。如图所示的m2.c文件就在目录mub1和liu中都建立了目录项。
创建硬链接后,己经存在的文件的I节点号(Inode)会被多个目录文件项使用。一个文件的硬链接数可以在目录的长列表格式的第二列中看到,无额外链接的文件的链接数为l。
在默认情况下,ln命令创建硬链接。ln命令会增加链接数,rm命令会减少链接数。一个文件除非链接数为0,否则不会从文件系统中被物理地删除。
对硬链接有如下限制:
- 不能对目录文件做硬链接。
- 不能在不同的文件系统之间做硬链接。就是说,链接文件和被链接文件必须位于同一个文件系统中。
符号链接
符号链接也称为软链接,是将一个路径名链接到一个文件。这些文件是一种特别类型的文件。事实上,它只是一个文本文件(如图中的abc文件),其中包含它提供链接的另一个文件的路径名,如图中虚线箭头所示。另一个文件是实际包含所有数据的文件。所有读、写文件内容的命令被用于符号链接时,将沿着链接方向前进来访问实际的文件。
总结就是二者有区别有相同点,软链接的确创建了新文件,但是硬链接有限制,具体限制也说的很明白了,而软链接没有诸如此类的限制。按我的理解,链接的作用就是方便数据的备份和修改。
2.7有关进程管理的命令
ps查看当前系统运行的进程信息
PID:进程标志号
TTY:该进程对应的终端。“?”表示不占用终端
TIME:进程累计使用的cpu时间
CMD:执行经常的命令名
kill用来终止一个进程
2.8 文件压缩解压缩的命令
gzip
将home/kyo下所有可以压缩的文件压缩成.gz
还原kyo下的文件格式
a1.gz相比原来a1只占用了原来44.4%的存储空间,a43由于是空文件所以显示为0
unzip指令对于.zip文件来进行解压缩,不赘述。
四、实验心得
这次实验敲了很多指令,个人感觉主要作用就是熟悉一下知道它们的存在,一次性记住这么多条指令的作用也不现实,更何况每条指令后面跟不同参数作用还不一样。着重记一下常用的指令常用参数的意义,我认为这些东西只要经常用就会很熟悉,难倒是不难的。