Linux 系统将它们组织成一个以根目录 / 开始的倒置的树状结构。Linux 中的目录,和 Windows系统中的文件夹类似,不同之处在于,Linux 系统中的目录也被当做文件看待。
ps:本文虚拟机演示的是以最小化安装的centos版linux系统,并且一般是在root用户下演示
目录
一、linux的目录
1.linux目录的结构
linux以单根的方式组织文件
根目录下的目录叫一级目录,一级目录下的叫二级目录,以此类推还有三级目录等
2.文件类型
打开虚拟机,登入root后,我们先创建一个文件,以次输入以下的命令:
cd /
touch abc
ls
ls -l
我们可以看到以下内容(可能个别文件有些不同,这里仅以演示为目的):
图中标红的部分代表文件的类型:
- | 普通文件,文本、压缩文件等 |
d | 目录文件 |
b | 设备文件(块设备) |
l | 链接文件(蓝绿色) |
s | 套接字文件 |
p | 管道文件 |
二、文件管理基础命令
1、ls
ls(list directory contents)命令用于列出目录的所含内容
比如我们列出了根目录下的内容
该命令还可以添加以下参数
-a | 显示所有文件及目录,隐藏文件也会列出 |
-l | 显示详细的文件和目录信息 |
-R | 递归显示目录中所有的文件和子目录 |
-t | 按照时间排序显示,新文件在最前面 |
参数之间还可以混合使用,也可以特定显示某个目录
我们输入以下命令,来查看/etc/sysconfig目录下的所有文件目录以及它的详细信息
ls -al /etc/sysconfig
2、mkdir
mkdir (make directory)命令用于创建目录
例如,在当前目录下(/root)创建一个study目录,下面两条命令都可以完成这项任务,区别就是第一条命令采用的是相对路径,而第二条采用的是绝对路径,任选其一即可
mkdir study
mkdir /root/study
mkdir命令后面加上-p,进行连级创建,例如我们在/root/study下创建abc,在abc下继续创建a1,在a1下继续创建b1,在b1下继续创建c1,可以执行下面的命令,也就是说加上-p后创建的目录没有上一级时自动创建
mkdir -p study/abc/a1/b1/c1
可以使用ls -R检查一下是否创建成功
3、cd
cd(change directory)命令用于改变当前目录,切换到指定的路径。
在这里先说明一下,当我们里一开始输入用户名,密码进入虚拟机时,如果是root用户登入是在root目录,如果是普通用户是在home目录里,两者的区别是root用户是#,普通用户是$ ,如果是在其他的目录
基本语法:cd 绝对路径或相对路径
切换到上级目录使用以下命令,可以叠加使用,切换到上上级目录就是cd ../..以此类推
cd ..
切换到上次访问目录使用以下命令
cd -
4、touch
touch命令用于修改文件或者目录的时间属性。若文件不存在,系统会建立一个新的文件。
例如我们在/root/study目录下建立一个名为plan的文件
touch plan /root/study
5、cp
cp (copy )命令用于复制文件或目录,以下是cp命令常用的选项
-a | 选项通常在复制目录时使用 |
-d | 复制时保留链接 |
-i | 在复制前提示确认 |
-f | 强制复制 |
-l | 只生成链接文件 |
-r | 复制目录及其所有的子目录和文件 |
-p | 保留源文件的权限、所有者和时间信息 |
我们举一个简单的例子,我们将上文中在/root目录下所创建study目录复制到/home目录下
所使用的命令中-r用于复制目录及其所有的子目录和文件,要复制目录的话,需要使用该选项,
/root/study是源的路径(也就是想要复制的文件或目录的路径,也可以采用相对路径),/hone是目标目录
cp -p /root/study /home
输入完以上的命令后我们使用ls /home查看一下home目录下是否有study这个目录
6、rm
rm(remove)命令用于删除一个文件或者目录
我们要删除刚刚复制在/home目录下的study目录,可以使用以下命令
rm -rf /home/syudy
下面是参数的解释
-i | 删除前逐一询问确认 |
-f | 直接删除,无需确认 |
-r | 目录及里面的文件,目录全部删除 |
下面进行了一个实践,我们先进入相应的hone目录,ls查看我们复制的study目录,如果我们只输入rm study系统会报错“study”是一个文件夹,我们输入rm -r study系统会让我们逐一输入yes来确认删除,我们直接按下ctrl+z停止执行这条命令,然后输入rm -rf study这样不用逐一确认直接删除/home目录下的study目录以及子目录了
7、mv
mv(move)命令用于移动文件或重命名
mv +源文件 +目标,这样就可以将源文件移动到目标之中
mv +原名称 +目标名称
-b | 目标存在时,移动之前,先创建备份 |
-f | 强制移动 |
-n | 不覆盖任何已存在的文件或目录 |
以上就是linux文件管理的基础内容,欢迎同道者一起交流