美文网首页
day03-Linux基础学习 文件管理

day03-Linux基础学习 文件管理

作者: 云运维之道 | 来源:发表于2019-07-26 16:03 被阅读0次

一、linux系统目录结构

几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件, 而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支, 所以该结构又被称为“目录树”。

​ Windows: 以多根的方式组织文件 C:\ D:\ E:\ F:
​ Linux:以单根的方式组织文件 /

1.存放命令相关的目录

/bin, 普通用户使用的命令 /bin/ls, /bin/date
/sbin,管理员使用的命令 /sbin/service

[root@oldboy ~]# which ls
alias ls='ls --color=auto'
    /usr/bin/ls
[root@oldboy ~]# which useradd
/usr/sbin/useradd

2.存放用户相关数据的家目录

比如:windows不同的用户登陆系统显示的桌面背景不一样

/home,普通用户的家目录, 默认为/home/username /home/test 环境变量的设定
/root,超级管理员root的家目录, 普通用户无权操作

[root@oldboy ~]# pwd
/root
[jack@oldboy ~]$ pwd
/home/jack

3.系统文件目录

/usr,相当于C:\Windows
/usr/local,软件安装的目录,相当于C:\Program File
/usr/bin/,普通用户使用的应用程序(重要)
/usr/sbin,管理员使用的应用程序(重要)
/usr/lib, 库文件Glibc 32bit
/usr/lib64,库文件Glibc 64bit

[root@oldboy ~]# ls /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

查看命令数量

[root@oldboy ~]# ls /usr/bin/ | wc -l
1011
[root@oldboy ~]# ls /usr/sbin/ | wc -l
365

4.启动目录

/boot 存放的系统启动相关的文件,例如:kernel,grub(引导装载程序)

[root@oldboy ~]# ls /boot/
config-3.10.0-957.el7.x86_64
efi
grub
grub2
initramfs-0-rescue-4350ba0abd10467c8a378051de9331dd.img
initramfs-3.10.0-957.el7.x86_64.img
symvers-3.10.0-957.el7.x86_64.gz
System.map-3.10.0-957.el7.x86_64
vmlinuz-0-rescue-4350ba0abd10467c8a378051de9331dd
vmlinuz-3.10.0-957.el7.x86_64

5.配置文件目录

/etc,极其重要,后续所有服务的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg-,网络配置文件
/etc/hostname,系统主机名配置文件
/etc/resolv.conf,dns客户端配置文件
/etc/hosts,本地域名解析配置文件 C:\Windows\System32\drivers\etc

6.可变的目录与临时目录

/var,存放一些变化文件,比如/var/log/下的日志文件
/var/tmp,进程产生的临时文件
/tmp,系统临时目录(类似于公共厕所)

7.设备目录文件

/dev,存放设备文件,比如硬盘,硬盘分区,光驱,等等
/dev/sd sda sdb sdc4
/dev/null,黑洞设备,只进不出。类似于垃圾回收站
/dev/random,生成随机数的设备.
/dev/zero,能源源不断的产生数据,类似于取款机,随时随地取钱

8.虚拟的文件系统

如对应的进程停止则/proc下对应目录则会被删除

/proc,反映当前系统正在运行进程的实时状态
PS:类似于汽车在运行过程中的仪表板,能够看到汽车的油耗、时速、转向灯、故障等等

9.软链接

PS: 在Linux7系统中, /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下

/bin --> /usr/bin
/sbin --> /usr/sbin
lib -> usr/lib
lib64 -> usr/lib64

10.补充

media #提供设备的挂载点
mnt #提供设备的挂载点
opt #第三方工具默认安装的目录
run #进程运行的pid,(放在一个文件中) lock相关文件

二、文件定义

比如: /etc/hostname,整个文件中包含文件名称以及文件所在的位置,
我们将这个叫做路径,也就是说我们是通过路径对文件进行定位。

提问FQ: /home/oldboy/file 和/home/oldgirl/file是否是同一个文件? 不是
提问FQ: /abc/test 和 abc/test 是一样的吗? 不是

1、. 和 .. 是什么什么?

​ . 代表当前目录
​ .. 代表当前目录的上一级目录
假设当前目录在/usr/下, 那么它的上层(/)目录用../表示, 而/usr/的下层(local)目录则用./local表示。

[root@oldboyedu network-scripts]# cd /usr/      #进入/usr
[root@oldboyedu usr]# pwd       #打印当前所在的位置
/usr

2、绝对路径和相对路径

绝对路径: 只要以 / 开始的都算绝对路径 ls /a.txt
相对路径: 相对于当前目录来说 ls a.txt ls ./a.txt ls ../a.txt [/home/oldboy]

相对路径方式

[root@oldboyedu usr]# #cd local/
[root@oldboyedu usr]# cd ./local/
[root@oldboyedu local]# pwd
/usr/local

绝对路径的方式

[root@oldboyedu local]# cd /usr/local
#绝对路径 ~ 当前用户的家目录 root = /root    oldboy = /home/oldboy
[root@bgx /]# ls /home/alice/file1
[root@bgx /]# ls ~/file2            #/root/file2
[root@bgx /]# ls ~/alice/file3      #/root/alice/file3

#相对路径
[root@bgx /]# mkdir abc             #创建一个abc目录    /abc目录
[root@bgx /]# ls ../file3           #查看上一级目录的file3文件    [检查当前所在的位置]
[root@bgx /]# ls file4              #查看当前目录file4文件
[root@bgx /]# ls abc/file5          #查看当前目录下的abc目录下的file5文件

使用相对路径和绝对路径,到底使用哪一个? 没有明确的说法

[root@oldboyedu ~]# cd /etc/sysconfig/network-scripts/
[root@oldboyedu network-scripts]# #cd /tmp/
[root@oldboyedu network-scripts]# cd ../../../tmp/
[root@oldboyedu tmp]# pwd
/tmp

3、cd改变目录,常见的使用方法

cd 绝对路径 cd /etc/hostname
cd 相对路径 cd test/abc cd . cd 
cd      #切换目录,例: cd /etc
cd -    #切换回上一次所在的目录
cd ~    #切换回当前用户的家目录,注意:root和普通用户是否有所不同吗?
cd .    #代表当前目录,一般在拷贝、移动等情况下使用 cp /etc/hostname ./
cd ..   #切换回当前目录的上级目录

三、基本 创建 复制 移动 删除 命令

1、mkdir: 创建目录

# 选项:-v 显示详细信息  -p 递归创建目录
[root@oldboyedu ~]# mkdir oldboy1           #在当前目录下创建oldboy1目录
[root@oldboyedu ~]# mkdir oldboy1/oldboy2/oldboy3/oldboy4/ -pv  #一次创建多个目录

1.创建从1-100个目录.

[root@oldboyedu ~]# mkdir {1..100}

2.创建dir-1到dir-50个目录怎么办

[root@oldboyedu ~]# mkdir dir-{1..50}

3.了解即可

[root@oldboyedu ~]# mkdir /opt/{bin,logs,conf}/test -pv

2、touch: 创建一个空的文件

[root@oldboyedu ~]# touch ribao.txt
[root@oldboy ~]# touch file{a,b,c}    #相当于touch a,b,c
[root@oldboy ~]# ls
anaconda-ks.cfg  a.sh  filea  fileb  filec
[root@oldboy aa]#  touch file{1..10}     # touch file{a..z}
[root@oldboy aa]# ls
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

3.以树状显示目录结构命令tree

yum search tree / yum install tree

选项: -L: 显示目录树的层级

[root@oldboy /]# tree aa    #显示当前目录下的结构
aa
└── bb
    └── cc
        └── dd
            └── ee
                └── ff

5 directories, 0 files

5、mv: 移动文件

格式: mv 源文件 目标位置

[root@oldboyedu ~]# mv ribao.txt dir-7/     #将ribao.txt移动到dir-7目录中
#移动并修改(前提是目标位置没有重名文件夹)
[root@oldboyedu ~]# mv file /tmp/tttt  #将当前目录下的file文件移动到/tmp/下并修改名称为tttt
[root@oldboyedu ~]# mv hostname test        #将hostname文件名称修改为test
[root@oldboyedu ~]# mv dir-1 dir-2 test dir-15/     #将多个文件或目录移到到指定的位置
[root@oldboyedu ~]# ls dir-15/
dir-1  dir-2  test

6、rm: 删除文件或者目录

-f 强制删除 -r 递归删除 -v: 详细过程

[root@oldboyedu ~]# rm -f file1         #删除一个文件
[root@oldboyedu ~]# rm -rf 99/
[root@oldboyedu ~]# rm -rf dir-*
[root@oldboy /]# /bin/rm -r a.txt       #利用绝对路径删除
PS: 在使用rm删除时, 文件用-f 目录才加-r   尽可能不要-rf一起使用

相关文章

  • day03-Linux基础学习 文件管理

    一、linux系统目录结构 几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和...

  • Linux目录及文件相关知识整理

    Linux 文件管理是学习 Linux 的基础,看了鸟叔的 Linux 书籍,把 Linux 目录及文件相关的知识...

  • 文件管理

    回顾:文件系统、bash 的基础特性,目录管理、文件查看、时间戳管理 文件管理:cp, mv, rm 复制命令: ...

  • Express 框架

    基础 路由 静态文件 GET 方法 POST 文件上传 Cookie 管理

  • 文件管理基础

    文件管理代码NSFileManager NSFileHandle

  • 配置文件之package.json

    基础配置文件package.json package.json文件是任何一个用npm管理的项目的基础配置文件,文件...

  • 2018-07-01

    Linux的文件管理和Bash的基础特性 一:Linux的文件管理类命令 (一)目录管理命令: 1、ls:用于显示...

  • 【操作系统笔记】操作系统的基本概念

    往期相关文章:【操作系统基础知识】进程管理 【操作系统基础知识】文件管理 【操作系统基础知识】内存管理 1.概念 ...

  • 文件管理基础操作

    文件管理的基础操作设计读取、复制、移动、删除

  • Linux入门知识

    基础: Linux是什么 Linux用户、文件、目录管理 VIM编辑器 Linux文件系统管理进阶: Linux网...

网友评论

      本文标题:day03-Linux基础学习 文件管理

      本文链接:https://www.haomeiwen.com/subject/zvrdrctx.html