Linux文件管理

Linux是以单根的形式组织文件的“/”区别于Windows的多根组织文件“C:”“D:”……
在Linux中一切皆文件!!!
一、linux目录结构
	/目录结构:

FSH (Filesystem Hierarchy Standard):标准的目录结构

[root@xifeng ~]# ls /

bin boot dev etc home lib lib64 media mnt opt proc prov root run sbin srv sys tmp usr var

以树的形式打开根目录

centos的文件名显示为问号 centos7文件类型_绝对路径


目录功能介绍:

bin目录:存放普通用户使用的指令

sbin目录:存放管理员使用的指令

/dev 	#存放设备文件
/root	#root用户的家目录
/home 	#存储普通用户的家目录
/usr	#系统文件,相当于c:\window
/usr/local	#软件安装的目录,相当于C:\program
/usr/bin 	#普通用户使用的应用程序
/urr/sbin	#管理员用户使用的应用程序
/etc	#配置文件(系统相关如网络/etc/sysconfig/network)
/var #存放的是一些变化文件,比如数据库,日志,邮件……
/mnt	#系统提供这个目录是让用户临时挂载其他的文件系统
/run	存放进程的PID文件
/usr/lib	#库文件Glibc 32bit
/usr/lib64	#库文件Glibc 64bit
/boot	#存放的系统启动相关的文件,例如kernel

路径详解
*所谓路径即目录组成结构
一个linux路径由"/“和目录(文件)名称两部分组成
比如:/etc/passwd
如果”/“出现在路径开头,则其表示根目录,在路径中间出现”/",其含义是某一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的passwd文件"
如果路径最后出现"/",则表示这是一个目录

绝对路径:从根开始的路径是绝对路径。案例:/home/alice/file1 /etc/grub.conf
相对路径:凡是非根开始的路径 比如:etc var/ftp/pub ./test.sh

使用pwd命令查看当前所在的绝对路径:
比如:
[root@xifeng ~]# pwd
/root

文件管理的一些命令

1.切换目录–cd

.     表示当前目录
 cd .. 回到上一级目录等同于相对路径
 cd 或者 cd ~	直接回到家目录
 cd /home/alice  切换目录=绝对路径
 cd -  回到原来目录

2.创建文件–touch

[root@xifeng ~]# touch file1.txt //无则创建,如果存在则修改文件创建时间
[root@xifeng ~]# touch /home/file10.txt
[root@xifeng ~]# touch /home/{zhuzhu,gougou} //{}集合
[root@xifeng ~]# touch /home/file{1..20}  //批量创建
[root@xifeng ~]# cd /home
[root@xifeng ~]# touch file{1..10}.txt

###重定向
echo 加内容 > 加文件名 #覆盖:把之前的内容替换掉
echo 123 > a.txt
echo 加内容 >> 加文件名 #追加:保留之前的内容,在后面添加新内容
echo 345345 >> a.txt

当使用echo 123 >> a.txt 这个命令的时候在文件不存在的时候会创建该文件并将内容追加到改文件中

3.创建目录–mkdir

mkdir -v详细 -p 递归 目录

# mkdir dir1
创建两个目录:
 mkdir /home/dir2 /home/dir3
 mkdir /home/{dir4,dir5} 
 mkdir -v /home/{dir6,dir7}   #-v :verbose 冗长的。显示创建时的详细信息
 mkdir -p /home/dir8/111/222  #-p 创建连级目录,一级一级的创建

4.查看文件内容–cat、head、tail、grep

cat ---查看一个*文件*的全部内容
[root@xifeng ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...

参数:
-n 显示行号
-A 包括控制字符(换行符/制表符)

head头部

[root@xifeng ~]# head /etc/passwd  //	默查看前十行
[root@xifeng ~]# head -2 /etc/passwd  //	默认查看前两行

tail尾部

[root@xifeng ~]# tail /etc/passwd //默认查看文件的后十行
[root@xifeng ~]# tail -1 /etc/passwd  //查看文件最后一行
[root@xifeng ~]# tail /var/log/messages
[root@xifeng ~]# tail -f /var/log/secure  //-f 动态查看文件的尾部
[root@xifeng ~]# tailf /var/log/secure  //功能同上

grep过滤关键字 grep 针对文件内容进行过滤

过滤文件中带有root的内容:
[root@xifeng ~]#grep 'root' /etc/passwd
过滤以root开头的行:^ --以什么开头
[root@xifeng ~]# grep '^root' /etc/passwd
过滤以bash结尾的行:$ --以什么结尾
[root@xifeng ~]# grep 'bash$' /etc/passwd

5.查看目录内容–ls

ls 显示当前目录的内容

[root@xifeng ~]# ls
anaconda-ks.cfg  cmatrix-1.2a  files.txt  mysql-boost-5.7.27.tar.gz  tx.sh
at.txt           error.txt     list.txt   nginx-1.18.0               xxx.sh