Linux部分命令的总结(二)

1.Linux touch命令:创建文件及修改文件时间戳

touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令会在当前位置建立一个空文件),此命令更重要的功能是修改文件的时间参数(但当文件存在时,会修改此文件的时间参数)

Linux 系统中,每个文件主要拥有 3 个时间参数(通过 stat 命令进行查看),分别是文件的访问时间数据修改时间以及状态修改时间

访问时间(Access Time,简称 atime):只要文件的内容被读取,访问时间就会更新。例如,使用 cat 命令可以查看文件的内容,此时文件的访问时间就会发生改变。

数据修改时间(Modify Time,简称 mtime):当文件的内容数据发生改变,此文件的数据修改时间就会跟着相应改变。

状态修改时间(Change Time,简称 ctime):当文件的状态发生变化,就会相应改变这个时间。比如说,如果文件的权限或者属性发生改变,此时间就会相应改变。

touch 命令的基本格式如下:

[root@localhost ~]# touch [选项] 文件名

选项:

-a:只修改文件的访问时间;

-c:仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。

-d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。

-m:只修改文件的数据修改时间。

-t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm。

可以看到,touch 命令可以只修改文件的访问时间,也可以只修改文件的数据修改时间,但是不能只修改文件的状态修改时间

因为,不论是修改访问时间,还是修改文件的数据时间,对文件来讲,状态都会发生改变,即状态修改时间会随之改变(更新为操作当前文件的真正时间)。

2.ln命令:在文件之间建立链接(硬链接和软链接)

inode (i 节点)信息,用来记录文件的权限(r、w、x)、文件的所有者和属组、文件的大小、文件的状态改变时间(ctime)、文件的最近一次读取时间(atime)、文件的最近一次修改时间(mtime)、文件的数据真正保存的 block 编号。

block 用于实际的数据存储,如果一个 block 放不下数据,则可以占用多个 block。

软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。

硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。

ln 命令的基本格式如下:

[root@localhost ~]# ln [选项] 源文件 目标文件

选项:

-s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;

-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;

1)硬链接的特点

1.不论是修改源文件(test 文件),还是修改硬链接文件(test-hard 文件),另一个文件中的数据都会发生改变。

2.不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在,这个文件都可以被访问

3.硬链接不会建立新的 inode 信息,也不会更改 inode 的总数。

4.硬链接不能跨文件系统(分区)建立,因为在不同的文件系统中,inode 号是重新计算的。

5.硬链接不能链接目录,因为如果给目录建立硬链接,那么不仅目录本身需要重新建立,目录下所有的子文件,包括子目录中的所有子文件都需要建立硬链接,这对当前的 Linux 来讲过于复杂。

2)软链接的特点

1.不论是修改源文件(check),还是修改硬链接文件(check-soft),另一个文件中的数据都会发生改变

2.删除软链接文件,源文件不受影响。而删除原文件,软链接文件将找不到实际的数据,从而显示文件不存在

3.软链接会新建自己的 inode 信息和 block,只是在 block 中不存储实际文件数据,而存储的是源文件的文件名及 inode 号。

4.软链接可以链接目录。

5.软链接可以跨分区。

3.Linux cp命令:复制文件和目录

cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。

cp 命令的基本格式如下:

[root@localhost ~]# cp [选项] 源文件 目标文件

选项:

-a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;

-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;

-i:询问,如果目标文件已经存在,则会询问是否覆盖;

-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;

-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;

-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);

-r:递归复制,用于复制目录;

-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

需要注意的是,源文件可以有多个,但这种情况下,目标文件必须是目录才可以。

举个实例:

复制软链接文件

[root@localhost ~]# ln -s /root/cangls /tmp/cangls_slink
#建立一个测试软链接文件/tmp/cangls_slink
[root@localhost ~]# ll /tmp/cangls_slink
lrwxrwxrwx 1 root root 12 6 月 14 05:53 /tmp/cangls_slink -> /root/cangls
#源文件本身就是一个软链接文件
[root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1
#复制软链接文件,但是不加"-d"选项
[root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2
#复制软链接文件,加入"-d"选项
[root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2
-rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1
#会发现不加"-d"选项,实际复制的是软链接的源文件,而不是软链接文件
lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls
#而如果加入了"-d"选项,则会复制软链接文件

4.Linux rm命令:删除文件或目录

rm 是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。

此命令的基本格式为:

[root@localhost ~]# rm[选项] 文件或目录 

选项:

-f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。

-i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。

-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

rm 命令如果任何选项都不加,则默认执行的是"rm -i 文件名"。  

5.Linux mv命令:移动文件或改名

mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。该命令的基本格式如下:  

[root@localhost ~]# mv 【选项】 源文件 目标文件

选项:

-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;

-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);

-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;

-v:显示文件或目录的移动过程;

-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

6.tar命令

1)tar命令做打包操作

tar 命令用于打包操作时,该命令的基本格式为:

[root@localhost ~]#tar [选项] 源文件或目录

此命令常用的选项及各自的含义如表 1 所示。

需要注意的是,在使用 tar 命令指定选项时可以不在选项前面输入“-”。例如,使用“cvf”选项和 “-cvf”起到的作用一样。

记住打包时需要指定打包之后的文件名,而且要用 ".tar" 作为扩展名。打包目录也是如此。

2)tar命令做解打包操作

当 tar 命令用于对 tar 包做解打包操作时,该命令的基本格式如下:

[root@localhost ~]#tar [选项] 压缩包

当用于解打包时,常用的选项与含义如表 2 所示。

3)tar命令做打包压缩(解压缩解打包)操作

当 tar 命令同时做打包压缩的操作时,其基本格式如下:

[root@localhost ~]#tar [选项] 压缩包 源文件或目录

此处常用的选项有以下 2 个,分别是:

-z:压缩和解压缩 ".tar.gz" 格式;

-j:压缩和解压缩 ".tar.bz2"格式。

7.Linux cat命令:连接文件并打印输出到标准输出设备

cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件,适合查看不太大的文件

cat 命令的基本格式如下:

[root@localhost ~]# cat [选项] 文件名 
# 或者 
[root@localhost ~]# cat 文件1 文件2 > 文件3 

这两种格式中,前者用于显示文件的内容,而后者用于连接合并文件,常用选项及各自的含义如表 1 所示。

8.Linux more命令:分屏显示文件内容

more 命令可以分页显示文本文件的内容,使用者可以逐页阅读文件中内容,此命令的基本格式如下:

[root@localhost ~]# more [选项] 文件名 

more 命令的执行会打开一个交互界面,常用的交互命令如表 2 所示。

 

9.Linux head命令:显示文件开头的内容

head 命令可以显示指定文件前若干行的文件内容,其基本格式如下:

[root@localhost ~]# head [选项] 文件名

该命令常用选项以及各自的含义,如表 1 所示。

10.Linux less命令:查看文件内容

less 命令的作用和 more 十分类似,都用来浏览文本文件中的内容,不同之处在于,使用 more 命令浏览文件内容时,只能不断向后翻看,而使用 less 命令浏览,既可以向后翻看,也可以向前翻看。

less 命令的基本格式如下:

[root@localhost ~]# less [选项] 文件名

此命令可用的选项以及各自的含义如表 1 所示。

在使用 less 命令查看文件内容的过程中,和 more 命令一样,也会进入交互界面,一些常用的交互指令,如表 2 所示。

猜你喜欢

转载自www.cnblogs.com/xiaojiang0414/p/12582210.html