学习 Linux,101: 文件和目录管理

学习 Linux,101: 文件和目录管理

列出目录

ls –laidtSrR

-R对子目录递归使用ls

-t按修改时间排序

-S按文件大小排序

复制文件

cp -R --preserve[=…] -f --backup

-R源文件夹是当前目录会有错误提示,不会复制自身,但是可以复制之前的

--backup=t always make numbered backups

移动、重命名文件

mv

删除文件

rm

创建目录

mkdir –p(parent)

删除目录

rmdir –p

通配符,也称为globbing(最初被实现为一个名为/etc/glob的程序)

? 匹配任何单个字符

* 匹配任何字符串,包括空字符串

[ 引入一个字符类(character class)。字符类是一个非空字符串,以"]"结尾。匹配意味着需要与方括号中的任何单个字符一致。*和?字符与自身匹配,!为正则的^

请注意,命令中的任何通配符都可以被 shell 扩展,这将导致意外的结果。并且,如果您指定一个不匹配任何文件系统对象的模式,那么 POSIX 要求原始模式字符串被传递给命令。

[ian@echidna lpi103-2]$ echo text*

text1 text10 text2 text3 text4 text5 text6

[ian@echidna lpi103-2]$ echo "text*"

text*

[ian@echidna lpi103-2]$ echo text[[\!?]z??

text[[!?]z??

在使用 cp、mv 或 rm 出现异常行为之前,使用 ls 检查您的通配符模式

对文件执行touch命令

创建文件,更改修改时间

-c --no-create不创建空文件

-t设定修改时间

-d随意格式时间    

-r引用另一个文件的时间戳

查找文件,find

-name

find . -name "*[1k]*"

-path匹配完整路径名

-ipath再忽略小写

find . -ipath "*ACK*1"

-type指定搜索类型

find . -type d -name "*"

-size按照大小查找

find . -size -26c -size +23c -print        #print是默认操作,-ls与ls -lids命令差不多

-exec为每个文件执行一个命令,-exec必须以分号终止,必须对分号进行转义(分号前加\)

如果希望在命令中使用返回的文件,必须指定{},由于花括号也是shell的元字符,因此需要转义或引用

find . -size -26c -size +23c -exec ls -l '{}' \;

学习 Linux,101: 文件和目录管理

按时间戳查找文件

find . -mtime -2 -type f -exec ls -l '{}' \;        #最近两天修改的所有常规文件

识别文件类型

file backup text1        #识别为人类可读格式

file -i backup text1        #识别为mime格式

压缩文件

-c --stdout --to-stdout    #重定向到屏幕

-d --decompress --uncompress    #解压

-t --test    #检查压缩文件的完整性

gzip     #解压时,-N选项保留时间戳,

bzip2    #自动保留时间戳

xz

归档文件

tar

cpio

cpio 命令在 copy-out 模式下创建归档,在 copy-in 模式下恢复归档,或在 copy-pass 模式下将一组文件从一个位置复制到另一个位置。您将对 copy-out 模式使用 -o 或 --create 选项,对 copy-in 模式使用 -i 或 --extract 选项,而对 copy-pass 模式使用 -p 或 --pass-through 选项。输入是在 stdin 中提供的一组文件。输出被指向 stdout,或者是由 -f 或 --file 选项指定的设备或文件。

dd

可以对文件执行转换,比如将小写转换为大写,或将 ASCII 转换为 EBCDIC。它还可以重新阻塞(reblock)一个文件,当将文件传输给磁带时可能需要这样做。它还可以跳过或只包括所选的文件块。最后,它可以读取和写入原始设备,比如 /dev/sda,这允许您创建和恢复作为完整分区映像的文件。

你可能感兴趣的:(linux)