3 Linux文件和目录管理

网友投稿 846 2022-11-18

3 Linux文件和目录管理

3 Linux文件和目录管理

3 Linux文件和目录管理

​​1 pwd命令​​​​2 cd 命令​​​​3 ls 命令​​​​4 du 命令​​​​5 mkdir命令​​​​6 touch命令​​​​7 rm命令​​​​8 mv命令​​​​9 cp命令​​​​10 find命令​​​​11 文件属性​​​​12 文件类型​​

​​12.1 普通文件​​​​12.2 目录文件​​​​12.3 链接文件​​​​12.4 特殊文件​​

​​13 链接文件​​

​​13.1 链接文件简介​​​​13.2 ln命令:创建链接文件​​

​​14 归档及压缩​​

​​14.1 tar 集成备份工具​​​​14.2 zip​​

1 pwd命令

(Print Working Directory)显示出完整的当前工作目录的名称

[root@localhost ~]# pwd

选项:-P 显示链接的真实路径

[root@localhost ~]# cd /bin/[root@localhost bin]# pwd/bin[root@localhost bin]# pwd -P

2 cd 命令

(Change Directory)切换目录命令格式:cd [目标文件夹位置]

[root@localhost ~]# cd /opt/[root@localhost opt]# pwd

cd 命令常用的几种方式

直接使用 cd 会切换到当前登录用户的家目录、

[root@localhost opt]# cd [root@localhost ~]# pwd

cd … 切换到当前目录的父目录

[root@localhost ~]# cd ..[root@localhost /]# pwd

cd ~用户名 切换到目标用户的家目录

[root@localhost ~]# useradd lisi[root@localhost ~]# cd ~lisi[root@localhost lisi]# pwd

cd - 切换到上一个工作目录

[root@localhost ~]# cd /opt [root@localhost opt]# cd /etc[root@localhost etc]# cd -

绝对路径和相对路径

绝对路径:以根目录开始的完整路径相对路径:以当前所在的目录为参照物的路径

3 ls 命令

(list)显示指定目录下的内容(列出当前工作目录所含文件及子目录)命令格式:ls [选项] [目录或文件名]…

[root@localhost ~]# ls

常用的选项

-l 长格式显示文件的详细属性

[root@localhost ~]# ls -l /etc/passwd-rw-r--r--. 1 root root 2727 6月 8 10:24 /etc/passwd

-A 显示目标目录下所有的文件和目录,包括隐藏文件

[root@localhost ~]# ls -A /root/

-d 显示目录本身的属性

[root@localhost ~]# ls -ld /etc

-h 提供一个易读的单位

[root@localhost ~]# ls -lh /etc/passwd

-R 递归显示内容

[root@localhost ~]# ls -R /etc/

4 du 命令

统计文件或者目录使用硬盘空间的大小命令格式 : du [选项] 文件或目录常用选项

-s 显示文件或目录的大小-h 加一个易读的单位

-a 查看所有目录以及文件的大小

[root@localhost ~]# du -sh /etc/passwd

5 mkdir命令

创建目录命令格式:mkdir [选项]… 目录…

[root@localhost ~]# mkdir /opt/nsd2005[root@localhost ~]# cd /opt/nsd2005[root@localhost nsd2005]# pwd

常用的选项

-p 创建一个目录并将它的父目录也创建出来(创建一个连续的目录)

[root@localhost nsd2005]# mkdir -p /opt/nsd2005/aa/bb/cc/dd/ee[root@localhost nsd2005]# cd /opt/nsd2005/aa/bb/cc/dd/ee[root@localhost ee]# pwd

-m 创建目录时指定权限

[root@localhost ~]# mkdir -m 444 /opt/nsd05[root@localhost ~]# ls -ld /opt/nsd05dr--r--r--. 2 root root 6 6月 8 10:50 /opt/nsd05

6 touch命令

创建文件或修改文件时间

不存在则创建,存在则跟新文件所有的时间为系统时间

命令格式: touch 文件名

[root@localhost ~]# touch 1.txt //在当前目录下创建文件1.txt[root@localhost ~]# touch /opt/1.txt //在指定目录下创建文件1.txt

7 rm命令

删除目录或文件命令格式:rm [选项]… 文件…常用的选项

-r :递归删除(删除目录必须要有)-f : 强制删除

[root@localhost ~]# rm -rf /opt/1.txt [root@localhost ~]# rm -rf /opt/nsd05/[root@localhost ~]# ls /opt/

8 mv命令

(move)移动文件或目录路径不变的移动(重命名)命令格式:mv 原文件… 目标路径

[root@localhost ~]# touch 1.txt[root@localhost ~]# mv 1.txt /opt/1.txt

重命名

[root@localhost ~]# mv /opt/1.txt /opt/2.txt[root@localhost ~]# ls /opt/

9 cp命令

(copy)复制命令格式:cp [选项]… 原文件1、原文件2… 目标路径常用选项

-r 递归复制,复制目录时必须有的选项-p 保持权限不变的复制-a 复制时保留源文件的所有属性(包括权限、时间等)

[root@localhost ~]# cp /etc/passwd /opt/passwd[root@localhost ~]# ls /opt/ [root@localhost ~]# cp /etc/passwd /opt/pass[root@localhost ~]# ls /opt/

10 find命令

命令格式: find [目录] [条件1] [条件2]常用的条件

-type 类型 (f 文本文件、 d 目录、 l快捷方式)-name “文件名称”-iname 按文档名称查找,且不区分大小写-size + | - 文件大小(k、M、G、TB、PB、EB)-user 用户名-mtime 按修改时间查找-empty 查找空白文件或目录-group 按组查找

[root@localhost ~]# find /boot/ -type f #查找/boot目录下所有的文件[root@localhost ~]# find /boot/ -empty #查找/boot目录下所有的空文件或目录

高级使用:处理查找的内容命令格式:find [范围] [条件] -exec 处理命令 {} ;

-exec示例

[root@localhost ~]# find /boot/ -type f -exec cp {} /opt/ \;[root@localhost ~]# find /opt/ -type f -exec rm -rf {} \;[root@localhost ~]# ls /opt/

11 文件属性

文件属性由9个部分组成,以空格分隔。以/etc/passwd文件为例

[root@svr7 ~]# ls -l /etc/passwd-rw-r--r--. 1 root root 2236 6月 11 19:58 /etc/passwd12

第一部分:由10个字符组成,第一个字符用于标识文件的类型。后9个字符代表文件的访问权限

“-”表示普通文件,“d”表示目录,“l”表示链接文件,“s”表示套接字文件“p”表示命名管道文件,”c“表示字符设备文件,“b”表示块设备文件文件的访问权限分为:”可读、可写、可执行“,分别以r、w、x表示2~4,这三个字符代表该文件的所有者拥有的权限5~7,这三个字符代表该文件的所属组拥有的权限8~10,这三个字符代表其他人对该文件拥有的权限

第二部分:文件硬链接数。在本例中该值为1第三部分:表示文件的所有者第四部分:表示文件的所属组第五部分:表示文件的大小第六、七、八部分:表示文件最后更新的时间第九部分:文件名

12 文件类型

Linux有四种基本文件系统类型。

通过命令 ls -l 可以返回 文件的相关属性。

12.1 普通文件

普通文件包括文本文件、程序代码文件、Shell脚本、二进制的可执行文件等。

普通文件的标识为“ - ”

例如

[root@localhost ~]# ls -l /etc/passwd-rw-r--r--. 1 root root 2192 Apr 8 07:33 /etc/passwd12

12.2 目录文件

目录也就是常说的文件夹。

目录的标识为 “ d ”

例如

[root@localhost ~]# ls -lhd /etcdrwxr-xr-x. 134 root root 8.0K May 4 07:15 /etc12

不加-d 则显示这个目录下所有文件和目录的详细属性

[root@localhost ~]# ls -lh /etctotal 1.4Mdrwxr-xr-x. 3 root root 101 Apr 8 07:27 abrt-rw-r--r--. 1 root root 16 Apr 8 07:33 adjtime···················································12345

12.3 链接文件

链接文件其实是一个指向文件的指针。类似于Windows系统中的快捷方式。

文件名后会指向被链接的文件

例如

[root@localhost ~]# ls -l /dev/cdrom lrwxrwxrwx. 1 root root 3 May 4 06:06 /dev/cdrom -> sr012

12.4 特殊文件

Linux系统中有三种特殊文件

套接字(socket)文件:通过套接字文件,可以实现网络通信。套接字文件的标识值为s。

[root@localhost ~]# ls -l /dev/log srw-rw-rw-. 1 root root 0 May 4 06:06 /dev/log12

命名管道文件:通过管道文件可以实现进程间的通信。命名管道文件的标识值为p。

[root@localhost ~]# ls -l /dev/initctl lrwxrwxrwx. 1 root root 25 May 4 06:06 /dev/initctl -> /run/systemd/initctl/fifo[root@localhost ~]# ls -l /run/systemd/initctl/fifoprw-------. 1 root root 0 May 4 06:06 /run/systemd/initctl/fifo1234

设备文件:Linux为每个设备分配了一个设备文件,存放于/dev目录下,分为字符设备文件和块设备文件。

其中,键盘、tty等属于字符设备,标识为c;内存、磁盘属于块设备文件,标识为b;

[root@localhost ~]# ls -l /dev/tty0crw--w----. 1 root tty 4, 0 May 4 06:06 /dev/tty0[root@localhost ~]# ls -l /dev/sda1brw-rw----. 1 root disk 8, 1 May 4 06:06 /dev/sda11234

13 链接文件

13.1 链接文件简介

链接文件其实是一个指向文件的指针。类似于Windows系统中的快捷方式。

但又分为两种

硬链接(Hard Link)硬链接是指通过索引节点进行的连接。保存在文件系统中的每一个文件,系统都会为它分配一个索引节点。在Linux系统中,多个文件指向同一个索引节点是允许的,像这样的连接就是硬链接。对硬链接文件进行读写删除操作的时候,与软连接相同,都是相当于对源文件进行操作。如果删除这个硬链接的源文件,则硬链接依然存在,而且保留了原有的内容。可以防止误操作导致文件丢失。但是硬链接只能在同一文件系统中的文件之间进行链接,而且不能是目录。符号链接(Symbolic Link)符号链接又称为软连接。类似于快捷方式,不包含实际的数据。对软连接进行操作,就相当于对源文件的操作,将这个软连接删除后,不影响源数据。符号链接主要用于将路径比较长的文件链接到一个路径比较简单的路径下,方便管理使用。

13.2 ln命令:创建链接文件

ln命令创建链接文件,默认创建的是硬链接。

例如:在root下创建一个名为passwd.bak的硬链接文件,源链接文件为/etc/passwd

[root@localhost ~]# ln /etc/passwd /root/passwd.bak[root@localhost ~]# cat /root/passwd.bak12

如果链接的是目录或者不同文件系统下的文件,硬链接都会失败

[root@localhost ~]# ln /etc/ /root/etc.bakln: ‘/etc/’: hard link not allowed for directory12

对于上述两种情况,只能使用符号链接(软链接)

-s 选项 创建软连接。

例如

[root@localhost ~]# ln -s /etc/ /root/etc.bak[root@localhost ~]# ls /root/etc.bak

14 归档及压缩

归档:将多个文件或目录整理为一个文件,文件总大小不会改变。压缩:按照某种算法减小文件占用空间的大小Linux系统中常见的压缩格式

.gz ==》 gzip.bz2 ==》 bzip2.xz ==》 xz

14.1 tar 集成备份工具

创建压缩包

命令格式1: tar 选项 /路径/压缩包的名字 /路径/被压缩归档的数据…

释放压缩包:

命令格式2: tar 选项 /路径/压缩包的名字 -C(大写) /路径/

常用选项

-c 创建归档-x 释放归档-f 指定归档文件名称,必须要有的选项,必须放在所有选项后面。-z 、 -j 、-J : 分别表示gz、bz2、xz-t : 显示归档文件中的清单。不执行解压缩的操作-C : 指定释放路径

[root@localhost ~]# tar -zcf /root/tarfile.tar.gz /boot /opt/tar: 从成员名中删除开头的“/”[root@localhost ~]# tar -tf /root/tarfile.tar.gz

[root@localhost ~]# mkdir /opt/tarfiles [root@localhost ~]# tar -xf /root/tarfile.tar.gz -C /opt/tarfiles/[root@localhost ~]# ls /opt/tarfiles/

14.2 zip

zip归档工具:可跨平台的

归档+压缩zip -r 备份文件.zip 被归档的文件或目录

[root@localhost ~]# zip -r /root/zipfiles.zip /home /boot

释放+解压unzip 备份文件.zip -d [目标文件夹]

[root@localhost ~]# mkdir /zipfiles [root@localhost ~]# unzip /root/zipfiles.zip -d /zipfiles [root@localhost ~]# ls /zipfiles

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Go语言版top-k算法
下一篇:基于mybatis注解动态sql中foreach工具的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~