Linux命令入门教程(三):文件基础篇

3.1 文件基础介绍

Linux系统的一个重要思想:一切皆文件

在Linux中,一个普通文件如.txt文本是一个文件,一个压缩包是一个文件,一个设备也是一个文件。

Linux中文件的后缀名并不重要,你可以创建一个无后缀名的文件,或给它一个不相符的后缀名,但是并不影响其正常工作。

3.2 文件操作命令

3.2.1 创建空文件touch

touch - change file timestamps,修改文件的时间戳,当文件不存在时,系统为创建此文件,为了方便,通常也用来创建一个文件。

语法:

$ touch [OPTION] FILE

常用用法:

命令

说明

touch test_file.txt

创建test_file.txt文件

touch 1.txt 2.txt

创建2个文件

3.2.2 文件查看cat/less/more/tail

cat/less/more/head/tail等命令都是用来查看文件内容的。

命令

说明

cat aaa.txt

显示aaa.txt文件内容

less aaa.txt

动态浏览文件,可向前向后随意翻阅。

more aaa.txt

动态浏览文件,显示当前位置百分比,只能向后滚动

head aaa.txt

显示文件开头若干行,默认10行,可通过参数指定要显示的行数,例如显示20行:head -n 20 aaa.txt

tail aaa.txt

显示文件末尾若干行,默认10行,可通过参数指定要显示的行数,例如显示20行:tail -n 20 aaa.txt

3.3 复制/移动/删除

复制/移动/删除是几个较常用的命令,操作对象为目录或文件。

3.3.1 复制cp

cp - copy files and directories,复制文件或目录。

语法:

$ cp [OPTION] SOURCE DEST

SOURCE: 源文件或目录;

DEST: 目标文件或目录;

[OPTION]: 常用选项有-arf

-r: 在复制目录时,将复制该目录下所有的子目录和文件;

-f: 强行复制,直接覆盖已存在的同名文件,不给出提示;

-i: 与-f相反,覆盖同名文件时给出提示,回复y/n确认是否覆盖;

-a: 通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。

常用用法:

命令

说明

cp aaa.txt test_dir/

将文件aaa.txt复制到test_dir目录下

cp -r dir0/ test_dir/

将目录dir0复制到test_dir目录下,复制目录要用-r选项

cp -rf dir0/* test_dir/

将dir0下的所有文件复制到test_dir目录下,强制覆盖

cp -ri dir0/ test_dir/

将目录dir0复制到test_dir目录下,覆盖前提示。

cp aaa.txt new.txt

将文件aaa.txt复制为一个新文件new.txt(不存在,新创建)

cp dir0/ new_dir -r

将目录dir0复制为一个新目录new_dir(不存在,新创建)

注:若目标目录不存在,相当于将源目录复制一份并命名为目标目录;若目标目录存在,相当于将源目录复制到目标目录下。

3.3.2 移动mv

mv - move (rename) files,将文件/目录移动到某位置,或将文件/目录重命名。

语法:

$ mv [OPTION] SOURCE DEST

SOURCE: 源文件或目录;

DEST: 目标文件或目录;

[OPTION]: 该命令选项不常用,多直接不带选项使用。

常用用法:

命令

说明

mv aaa.txt dir0/

将文件aaa.txt移动到dir0目录下

mv aaa.txt new_aaa.txt

将文件aaa.txt重命名为new_aaa.txt

mv dir0/ test_dir/

将目录dir0移动test_dir目录下

mv dir0/ new_dir

将目录dir0重命名为new_dir(目录不存在)

注:若目标目录不存在,相当于将源目录重命名为目标目录;若目标目录存在,相当于将源目录移到目标目录下。

3.3.3 删除rm

rm - remove files or directories,删除文件或目录。

语法:

$ rm [OPTION] [FILE]

FILE: 要删除的文件或目录

OPTION: 常用的选项有:-rf

-f: 强制删除,不询问;

-r: 用于删除目录,递归删除子目录及文件。

常用用法:

命令

说明

rm aaa.txt

删除文件aaa.txt

rm -r dir0/

删除目录dir0

rm -rf dir0/*

强制目录dir0下的所有文件,dir0将变为一个空目录

注:rm -rf 删除系统相关文件是个危险操作,请在确保安全的情况下使用

温馨提示:文件编辑请看vi/vim编辑器章节(鉴于命令的复杂度,故将此章节延后)。

3.4 文件压缩与归档

首先,要弄清两个概念:打包(归档)和压缩。

打包是指将一大堆文件或目录什么的变成一个总的文件,

压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

3.4.1 gzip压缩

gzip是压缩命令。

gzip - compress or expand files,压缩和解压文件,文件经压缩后会变成后缀为”.gz”的文件。

语法:

$ gzip [OPTION] FILE

FILE: 要压缩的文件;

OPTION: 常用的选项有:-dvl

-d: 解压;

-v: 显示指令执行过程

-l: 列出压缩文件的相关信息

常用用法:

命令

说明

gzip aaa.txt

压缩aaa.txt文件,压缩后为aaa.txt.gz

gzip -dv aaa.txt.gz

解压aaa.txt.gz,解压出来恢复为aaa.txt

gzip -l aaa.txt.gz

列出aaa.txt.gz压缩文件的压缩信息

注:gzip是linux中的一种压缩方式,主要压缩方式有以下:

gzip:压缩速度快,应用广泛的压缩方式;

bzip: 压缩形成的文件小,但是可用性不如gzip;

xz: 是新的压缩方式,可以自动提供较佳的压缩率;

3.4.2 tar归档压缩

tar - an archiving utility,一个归档/备份工具。

tar本身是打包/备份/归档的命令,但它可以调用压缩命令,可以实现将一堆文件打包后再进行压缩。tar可以调用gzip方法。

语法:

归档备份:

$ tar [OPTION] ARCHIVE FILE

还原:

$ tar [OPTION] ARCHIVE [OPTION] PATH

ARCHIVE: 归档文件

FILE: 要归档的文件

PATH: 指定还原的路径

OPTION: 常用的选项有:-cvfzxC

-c: 创建新的备份文件;

-x: 从备份文件中还原文件,解压;

-v: 显示命令执行过程;

-f: 指定备份文件;

-C: 指定目标文件;

-z: 通过gzip指令处理备份文件;

-j: 通过bzip2指令处理备份文件;

tar归档备份文件(.tar格式文件):

命令

说明

tar -cvf dir0.tar ./dir0

将dir0目录归档备份为新的文件dir0.tar

tar -xvf dir0.tar

将dir0.tar解包还原到当前目录

tar -xvf dir0.tar -C test_dir/

将dir0.tar解包还原到指定目录test_dir中

与gzip结合先打包归档再压缩(.tar.gz格式文件):

命令

说明

tar -zcvf dir0.tar.gz dir0/

将dir0目录归档并压缩为新的文件dir0.tar.gz

tar -zxvf dir0.tar.gz

将dir0.tar.gz解压解包还原到当前目录

tar -zxvf dir0.tar.gz -C /home/zengzr/

将dir0.tar.gz解压解包还原到/home/zengzr/

与bzip2先打包归档再压缩(.tar.bz2格式文件):

命令

说明

tar -jcvf dir0.tar.bz2 dir0/

将dir0目录归档并压缩为新的文件dir0.tar.bz2

tar -jxvf dir0.tar.bz2

将dir0.tar.gz解压解包还原到当前目录

tar -jxvf dir0.tar.bz2 -C test_dir/

将dir0.tar解压解包还原到目录test_dir中

注:

当tar命令不加选项-z或-j时,归档备份是不会压缩的,因此产生的备份文件较大;

当加上选项-z或-j时,会先归档再压缩成gzip或bzip格式,因此产生的备份文件较小。

你可能感兴趣的:(linux入门,linux)