文章目录
创建目录
mkdir
$ mkdir dic1
$ mkdir dic2 dic3 dic4 // 创建多个目录
cp – 复制文件和目录
复制
mv – 移动和重命名
类似cp
比如:
rm
rm选项:
rm实例:
注意:rm没有复原命令,一旦rm之后,它就不可能回来了
ln – 创建链接
ln file link --硬链接
ln -s item link --软连接(item可以是一个文件,也可以是一个目录)
实战
$ cd
$ mkdir playgroud
$ cd playgroud/
$ mkdir dir1 dir2
$ ls
dir1 dir2
$ cp /etc/passwd .
$ ls -l
总用量 4
drwxrwxr-x. 2 oceanstar oceanstar 6 1月 31 13:27 dir1
drwxrwxr-x. 2 oceanstar oceanstar 6 1月 31 13:27 dir2
-rw-r--r--. 1 oceanstar oceanstar 2569 1月 31 13:28 passwd
$ cp -v /etc/passwd .
"/etc/passwd" -> "./passwd"
$ ls -l
总用量 4
drwxrwxr-x. 2 oceanstar oceanstar 6 1月 31 13:27 dir1
drwxrwxr-x. 2 oceanstar oceanstar 6 1月 31 13:27 dir2
-rw-r--r--. 1 oceanstar oceanstar 2569 1月 31 13:30 passwd
$ cp -i /etc/passwd .
cp:是否覆盖"./passwd"? n
创建硬链接:
$ ls -l
总用量 4
drwxrwxr-x. 2 oceanstar oceanstar 6 1月 31 13:35 dir1
drwxrwxr-x. 3 oceanstar oceanstar 18 1月 31 13:34 dir2
-rw-r--r--. 1 oceanstar oceanstar 2569 1月 31 13:35 passwd
$ ln passwd pass-hard
$ ln passwd dir1/pass-hard
$ ln passwd dir2/pass-hard
问:我们怎么知道实际上
pass-hard
和passwd
是一样的文件呢?
文件可以当作由两部分组成:
- 数组部分包含文件的内容
- 名字部分包含文件的名字
当我们创建了文件的硬链接,实际上是给这个文件添加了额外的名字。系统分配了一系列的盘块给所谓的索引节点,它和文件名字相关联。因此每个硬链接都关系到一个具体的索引节点。这个节点包含了文件的内容
ls命令的-i
选项,可以展示(文件索引节点)的信息:
查看文件内容
ls – 查看文件信息
file – 查看文件类型
$ file arguse.sql
arguse.sql: UTF-8 Unicode text
arguse.sql是一个文本(text)文件。该文本文件的字符编码是UTF-8 Unicode
$ file Desktop
Desktop: directory
目录文件
cat – 查看文件内容
cat 文件名
内容+行号
cat -n 文件名
cat -b 文件名
more&& less – 分页显示
more分页显示文件内容,less是more的升级版
more /etc/bash.bashrc
less /etc/bash.bashrc
上下键滚动文件,输入"q"退出
我最常用的是less。
less最常用的键盘命令
tail&&head – 查看文件前后
tail命令会显示文件最后几行的内容(文件的“尾部”)。默认情况下,它会显示文件的末
尾10行
tail -n 20 /etc/bash.bashrc
head命令,顾名思义,会显示文件开头那些行的内容。默认情况下,它会显示文件前10行
的文本:
head -n 20 /etc/bash.bashrc
压缩文件
gzip
gzip是Linux上最流行的压缩工具。包括:
gzip:用来压缩文件。
gzcat:用来查看压缩过的文本文件的内容。
gunzip:用来解压文件。
$ gzip myprog
$ ls -l my*
-rwxrwxr-x 1 rich rich 2197 2007-09-13 11:29 myprog.gz
$ gzip my* --批量压缩
$ ls -l my*
-rwxr--r-- 1 rich rich 103 Sep 6 13:43 myprog.c.gz
-rwxr-xr-x 1 rich rich 5178 Sep 6 13:43 myprog.gz
-rwxr--r-- 1 rich rich 59 Sep 6 13:46 myscript.gz
-rwxr--r-- 1 rich rich 60 Sep 6 13:44 myscript2.gz
tar
压缩当前文件夹下所有文件
tar -zcvf cutimge_20200827.tar.gz cutimage/
zip
1 正常压缩
zip a.zip a.dat
zip -r mydata.zip mydata
zip -r abc123.zip abc 123.txt
2 拆分zip
zip-s 100m a.zip --out ziptest (100M)
3 合并
cat ziptest.* > aa_bak.zip
4、验证压缩包是否完整
- 原理:在压缩的时候就在,zip命令会在zip文件中存储对所有被压缩文件计算的crc值,所以,当我们要验证某一个zip文件是否完整的时候,只要重新计算一下zip中所有文件的crc值,然后和存在zip文件中的crc值对比一下,就可以知道这个zip文件是否完整了。
- 计算也不需要自己手动做,unzip命令提供了一个选项-t,使用它可以对zip文件的完整性进行验证。
$unzip -t mydata.zip
Archive: mydata.zip
testing: abc.txt OK
testing: dir1/ OK
testing: dir1/abc2.txt OK
No errors detected in compressed data of mydata.zip.
当看到上面的No errors detected in compressed data的时候,表明mydata.zip没有问题。
创建临时文件
Linux使用/tmp目录来存放不需要永久保留的文件
创建本地临时文件
$ mktemp abc.XXX #默认情况下,mktemp会在本地目录中创建一个文
abc.Kgd
$ mktemp abc.XXX
abc.ffF
$ ls -al abc*
-rw------- 1 ocean ocean 0 Mar 11 17:13 abc.ffF
-rw------- 1 ocean ocean 0 Mar 11 17:11 abc.Kgd
mktemp命令会用6个字符码替换这6个X,从而保证文件名在目录中是唯一的。你