目录
文章目录
1.文件管理概述
创建 复制 移动 删除 查看 编辑 压缩
2.系统的目录结构
在Linux中,所有的文件或者目录的起点或者顶点都是以/开始的
linux的目录结构就像是一个倒挂的树形结构
必知必会的目录及文件
-
/usr/bin:
存放系统命令的目录 ,bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令 -
**/usr/sbin:**存放系统命令的目录 需要管理员权限才可以执行的命令
-
/boot:
系统引导目录,这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 -
/dev :
dev 是 系统设备目录,Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。-
```bash
/dev/cdrom #光盘镜像
/dev/null #黑洞设备 将一些不用的数据导入到黑洞设备
/dev/zero #字符设备 会源源不断的产生数据,字符
/dev/random #产生随机数的设备/dev/stderr -> /proc/self/fd/2 #错误输出 2>
/dev/stdin -> /proc/self/fd/0 #标准输入 <
/dev/stdout -> /proc/self/fd/1 #标准输出 >/dev/pts/ #存放的是虚拟终端信息
#磁盘设备及分区
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3
-
-
/etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的主配置文件和程序配置文件目录 -
/etc/sysconfig/network-scripts/ifcfg-* #查看网卡配置文件 /etc/hosts# 本地域名解析文件 #记录ip地址与主机名的对应映射关系 /etc/resolv.conf #本地DNS配置文件 /etc/fstab #挂载设备目录配置文件 开机自启动挂载列表 /etc/hostname #主机名字配置文件
-
/home:
普通用户的家目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。 -
/usr/lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。- /lib #库文件目录 32位库文件
/usr/lib64 #库文件目录 64位库文件
- /lib #库文件目录 32位库文件
-
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 -
/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。 -
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。 -
/opt:
opt 是早期第三方软件安装目录, optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 -
/proc:
虚拟可变的目录 记录了系统的实时状态–>类似于汽车的仪表盘
-
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。root的家目录 -
/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。 -
/selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 -
/srv:(了解)
物理设备所产生的一些文件 -
/sys:(了解)
物理设备的驱动信息文件
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
-
/tmp:
公共临时目录 公共场所 只能针对自己的文件进行操作 系统会定时的删除这个目录下长时间没有访问的文件 -
/usr:
/usr #系统目录 系统文件目录 跟windows目录一样
/userlocal #系统软件安装目录 跟windows的一样 -
/usr/bin:
系统用户使用的应用程序。 -
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。 -
/usr/src:
内核源代码默认的放置目录。 -
/var:
这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
/var/log #系统日志存放目录
/var/log/messages #系统级别日志
/var/log/secure #用户登录日志
/var/tmp #程序运行时所产生的一些进程文件
- /run:
进程运行时产生的一些pid文件,是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
- stderr -> /proc/self/fd/2 #错误输出2>
stdin -> /proc/self/fd/0 #标准输入<
stdout -> /proc/self/fd/1 #标准输出>
3.路径的定位
#包含整个文件名称及文件的位置 这样的定位称之为路径
#路径就是对于文件的定位的一种方式
#每个目录下都有一个.和..
. #表示的是当前所在的目录
.. #当前目录的上一级目录 /根
./ #用于表示当前目录
../ #从当前目录的上一级目录开始
#什么是决定路径 什么是相对路径
#绝对路径: 凡是以/开始的路径就是绝对路径 或者以~为开头的路径也是绝对路径
#相对路径: 不是以/开头的路径就是相对路径 针对当前路径而言的
4.文件管理基础命令
4.1 pwd
显示当前工作目录的绝对路径,通俗点就是:告诉我,你在哪里
4.2 cd
切换路经,没有什么选项可用
[root@localhost ~]# cd #直接切换到当前用户的家目录,等价于cd ~
[root@localhost ~]#
[root@localhost ~]# cd .
[root@localhost ~]# cd ./ #保持当前目录不变
[root@localhost usr]# cd ./local/
[root@localhost local]# pwd
/usr/local
[root@localhost local]# cd ../etc/ #进入当前目录的上一级目录/user/etc
[root@localhost etc]# pwd
/usr/etc
cd - 切换到上一步所在的目录,快速的到达上一次的命令
4.3 ls
显示文件或者目录的列表信息 相当于windows双击一次打开目录
#常用选项
-l #以长格式显示文件的属性信息
-i #显示文件或者目录的inode信息 索引节点信息
-h #以字节大小的形式显示文件的大小
-a #显示所有的文件,隐藏文件,所有以点开头的文件就是隐藏文件
-S #以文件大小进行排序
-t #根据时间进行排序,最新的时间在最上面
-r #倒序
-F #给不同的文件加上不同的标识符
/ #目录
* #可执行文件
= #表示的是套接字文件 socket文件
| #管道文件
-1 #以行的形式显示文件的名称
4.4 tree
以树状形式显示目录列表,默认不显示隐藏文件
#常用选项
-a #显示所有文件或者目录 隐藏文件
-d #只显示目录和目录的数量
-h #显示所有文件的大小
-F #给不同类型的文件加上标识符
/ #目录
* #可执行文件
= #表示的是套接字文件 socket文件
| #管道文件
-L+数字 #显示级别
4.5 mkdir(目录)
root@localhost ~]# mkdir /data #使用绝对路径进行创建
[root@localhost ~]# mkdir data #使用相对路径进行创建
File exists ======= #文件已经存在
{} #生成序列,有规律的用..分割 无规律的使用逗号分割
-v #显示创建的过程
[root@string ~]# mkdir -pv one/two/treee/four
mkdir: created directory ‘one/two’
mkdir: created directory ‘one/two/treee’
mkdir: created directory ‘one/two/treee/four’
-m #创建的时候,给目录设置一个权限
-p #创建多级目录 递归创建 当目录已经存在时,再次创建不会报错
#注: (在相同的路径下,不能存在相同的文件名称
# 在不同的路径下,可以创建相同的文件名称)
[root@string ~]# mkdir -p abc/bcd/cde/def
[root@string ~]# tree abc/
abc/
└── bcd
└── cde
└── def
4.6 touch
创建文件 创建空文件 当文件已经存在时,会改变文件的时间戳
在linux系统中,创建文件是会区分大小写的,可以区分a,A;在windows中不会区分大小写,不可能存在A,a一样的文件夹
#文件
# 创建单个文件
[root@string test]# touch 1.txt
[root@string test]# ls
1.txt
# 创建多个文件
[root@string test]# touch 3.txt 2.txt
[root@string test]# ls
1.txt 2.txt 3.txt
# 匹配创建多个文件
[root@string test]# touch {a..z}.txt
[root@string test]# ls
1.txt 3.txt b.txt d.txt f.txt h.txt j.txt l.txt n.txt p.txt r.txt t.txt v.txt x.txt z.txt
2.txt a.txt c.txt e.txt g.txt i.txt k.txt m.txt o.txt q.txt s.txt u.txt w.txt y.txt
[root@string ~]# touch {abc,bcd,fgh}.txt
[root@string ~]# ls
abc.txt bcd.txt fgh.txt