Linux文件管理介绍

一、Linux目录结构简介

windows:以多根的方式组织文件C:\D:\E:
linux:以单根的方式组织文件/

1、linux的目录结构

根目录(/)是Linux系统中所有目录的父目录,包含了所有其他目录和文件。

bin目录:存放二进制可执行文件。
boot目录:存放的是与启动系统相关的一些文件。
dev目录:是一个虚拟的目录,它提供了一种将设备文件和设备驱动程序文件结合在一起的方法。
etc目录:存放系统管理所需要的配置文件。
home目录:是普通用户的宿主目录,每个用户在该目录下都有一个自己的子目录。
lib目录:存放在/sbin和/usr/sbin中的二进制可执行文件在执行时所需的函数库文件。
media目录:是一个自动挂载目录,当插入可移动介质时,系统会自动挂载到/media目录下。
mnt目录:手动挂载文件系统的目录。
opt目录:是给主机额外安装软件所设计的目录。
proc目录:是一个虚拟的目录,它是系统内存的映射,可以通过它访问到系统硬件信息。
root目录:是超级用户的宿主目录。
run目录:是用于存放运行时需要创建的文件的目录,例如:mysql的pid文件、nginx的pid文件。
sbin目录:存放二进制可执行文件,只有root用户才能访问该目录下的文件。
tmp目录:是一个用于存放临时文件的目录,所有用户都可以访问该目录。
usr目录:包含了大量的应用程序和文件。

2、文件类型

Linux中一共有7种文件类型,分别是普通文件(-)、目录文件(d)、链接文件(l)、块设备文件(b)、字符设备文件(c)、命名管道文件(p)、套接字文件(s)。

Linux中的文件常见类型有四种:普通文件、目录文件、设备文件和链接文件。
普通文件:包括文本文件和二进制文件,是存储数据的一种常见形式。
目录文件:存储其他文件的容器,它们包含一个或多个子文件或子目录。
设备文件:是Linux中与设备通信的方式之一。设备文件分为字符设备和块设备两种类型。
链接文件:包括硬链接和软链接(符号链接),是一个指向另一个文件或目录的指针。

3、文件管理命令

改变目录

Linux中改变目录的命令是cd,它是Change Directory(更改目录)的缩写。具体用法是:在终端输入cd命令,后面跟上想要进入的目录的路径即可。例如,要进入home目录,应该输入cd /home。
1.切换到上一级目录:cd …
2.切换到当前用户的home目录:cd ~
3.切换到root用户的home目录:cd ~root
4.切换到根目录:cd /
5.切换到指定目录:cd /path/to/directory

Linux相对路径与绝对路径

Linux的相对路径是相对于当前工作目录的路径,而绝对路径则是从根目录开始的完整路径。例如,当前目录为/home/user,如果想访问该目录下的file.txt文件,相对路径为./file.txt,绝对路径则为/home/user/file.txt。
又例如,如果想访问根目录下的/usr/bin目录,相对路径则为…/…/usr/bin,绝对路径为/urs/bin。

ls

ls命令是Linux系统中的一个常见命令,用于查看当前目录下的文件和文件夹,并以列表的形式展示它们的属性,包括文件名、创建时间、大小等信息。该命令的基本语法为:“ls [选项] [文件或目录名]”。例如,如果想查看当前目录下所有文件和文件夹的详细信息,可以输入“ls -l”。如果只想查看当前目录下的文件名列表,则可以输入“ls”。

pwd

pwd 是 Linux 操作系统中的一个命令,用于显示当前工作目录的完整路径。如果你在一个终端窗口中键入 “pwd” 命令,它将显示你当前所在目录的完整路径。

创建文件

创建文件最常用的命令是 touch,其基本格式如下:
touch [选项] 文件名
例如,要创建一个名为 test.txt 的新文件,可以执行以下命令:
touch test.txt
如果该文件不存在,则 touch 命令会创建一个新文件,如果该文件已经存在,则 touch 命令会更新该文件的时间戳。
此外,还有一些其他常用的创建文件命令,例如:
echo 命令:用于向文件中写入内容。例如,要向 test.txt 文件中写入 Hello World,可以执行以下命令:
echo “Hello World” > test.txt
cat 命令:用于将多个文件连接起来,并输出到标准输出或指定文件中。例如,要将 a.txt 和 b.txt 两个文件合并成一个新文件 c.txt,可以执行以下命令:
cat a.txt b.txt > c.txt
总之,Linux 中有很多不同的创建文件命令,可以根据具体需求选择合适的命令使用。
参数包括:
-a:更改访问时间
-c:仅在文件不存在时创建新文件
-d:使用指定时间戳,而不是当前时间
-m:更改修改时间
-r:使用指定文件的时间戳
-t:使用指定时间戳,以[YYYYMMDDhhmm]格式表示

创建目录

Linux创建目录的命令是"mkdir",使用该命令可以创建一个或多个目录。例如,如果要创建一个名为“test”的目录,可以使用以下命令:mkdir test。如果要创建多个目录,可以在命令行中同时指定它们,例如:mkdir dir1 dir2 dir3。这将同时创建目录dir1、dir2和dir3
参数包括:
-p:递归创建目录,如果目录已经存在则不会报错
-m:指定文件权限
-v:显示创建过程中的详细信息
例如,mkdir -p /home/test/test2将会递归创建/home/test/test2目录,如果不存在的话。

复制

Linux的复制命令有cp和rsync两种,cp用于在文件之间复制数据,rsync用于在文件夹之间复制数据,并且可以增量复制,只复制变更的文件。
当使用cp命令时,可用的参数有:
-R:递归复制目录及其子目录
-f:如果目标文件已经存在,强制覆盖它
-p:保留源文件的元信息,如时间戳和权限等
-i:进行交互式复制,如果目标文件存在则要求用户确认是否覆盖
-v:输出详细的复制信息

rsync命令是一种可以在Linux系统中进行文件传输和同步的工具,它可以快速、安全地将本地或远程主机的文件进行同步。该命令支持不同的协议,如本地文件协议、SSH、RSH和原生TCP协议等。使用rsync命令可以实现远程备份、文件同步、镜像站点更新等功能。
rsync命令是一个强大而灵活的文件复制工具,其参数含义如下:
-r 递归复制整个目录及其子目录下的文件
-a 归档模式,相当于 -rlptgoD
-v 输出详细的复制过程
-z 压缩传输数据
-n 列出复制的文件,但不进行复制操作
–delete 删除目标目录中源目录没有的文件
–exclude=pattern 排除匹配成功的文件或目录
–progress 显示复制进度
-e ssh 指定传输协议为 SSH

移动

Linux移动命令主要有mv和cp。mv命令可以让你将文件或者目录移动到其他位置,同时也可以给文件或目录重命名;cp命令则是复制文件或目录到指定目录位置。需要注意的是,mv命令会将原文件或目录移动到新的位置,而不是复制一份,所以在使用mv命令时需要谨慎操作。
mv命令用于移动或重命名文件或目录,常用的参数有:
-i:若目标文件已存在,询问是否覆盖。
-f:强制覆盖已存在的文件或目录。
-v:显示详细的处理过程。
例如,将文件a.txt移动到目录b下并重命名为c.txt:
mv a.txt b/c.txt
如果b目录下已有文件c.txt,会询问是否覆盖。如果加上-f参数,则会直接覆盖。

CP命令是Linux系统中的一个拷贝命令,用于将一个文件或目录复制到指定位置。常用参数包括:
-c: 若目标文件存在,则先进行删除后再执行复制操作。
-f: 即使目标文件有保护的属性,也直接覆盖目标文件而已。
-i: 覆盖既有文件之前先询问用户。
-R: 拷贝时保留原有文件的属性。
-A: 拷贝时同时复制文件访问权限、时间等。
-b: 拷贝后创建目标文件的备份。

删除

rm 命令:用于删除文件或目录,格式为:rm [选项] 文件或目录名。
rmdir 命令:用于删除空目录,格式为:rmdir [选项] 目录名。
unlink 命令:用于删除文件,格式为:unlink [选项] 文件名。
rm命令是Linux下的一个常用命令,用于删除文件或目录。常用的参数包括:
-r:递归删除目录及其子目录。
-f:强制删除,不需要用户确认。
-i:交互式删除,让用户决定是否删除。
-v:显示删除过程中的详细信息。
参数实例:
删除一个文件: rm file.txt
删除一个目录: rm -r directory
删除一个目录及其子目录和文件: rm -rf directory
删除一个目录中的所有文件,但保留该目录本身: rm -r directory/*
删除一个目录中的所有文件和子目录,但保留该目录本身: rm -rf directory/*
rmdir命令用于删除空目录,具体使用可以参考以下实例:
删除目录:rmdir dirname
删除目录及其子目录:rmdir -r dirname
强制删除目录:rmdir -f dirname
静默删除目录,无提示信息:rmdir -q dirname
unlink命令是用来删除指定文件或符号链接的命令,实例:unlink file.txt 删除文件名为file.txt的文件。unlink 符号链接名 删除指定符号链接名对应的文件。unlink -f file.txt 强制删除文件名为file.txt的文件。unlink -i file.txt 删除文件名为file.txt的文件时询问是否确认。

查看文件内容

Cat命令是一种简单但非常有用的命令,可以读取一个或多个文件,连接它们并输出到标准输出。它通常用于查看文件的内容、合并文件以及创建新文件。Cat命令的一些常用参数包括-n(按行编号输出文件内容)、-A(显示非打印字符)和-E(在行尾显示$符)。
例如,输入"cat filename"可以显示文件的全部内容,输入"cat file1 file2 > file3"可以将file1和file2的内容合并到file3中。

修改文件内容

sed命令:用于对文件进行流式编辑,可以进行查找、替换、添加、删除等操作。例如:sed ‘s/旧字符串/新字符串/g’ 文件名
awk命令:用于对文本进行处理,可以按列为单位处理,还可以进行条件判断和循环处理。例如:awk ‘{if($1==“abc”) print $0}’ 文件名
grep命令:用于查找匹配的文本行。例如:grep “keyword” 文件名

sed是一种流编辑器,它可依照指令进行文本文件的编辑工作。sed常用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。其主要特点是直接编辑源文件,并不要求另存新文件,而是把处理结果直接发送到标准输出。它具有体积小、启动快、处理速度快等优点,被称为“流编辑器之王”。
当我看到sed命令的实例,我不禁想起了一个笑话:为什么程序员总是喜欢用vim编辑器?因为他们觉得自己很酷,但实际上他们只是在Vi之间穿插着调试命令而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值