linux文件管理03 and 04--2week

1.linux系统中一切皆文件:
文件系统及目录结构:
linux文件管理03 and 04--2week
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
? /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
? /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
? /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
? /lib64:专用于x86_64系统上的辅助共享库文件存放位置
? /etc:配置文件目录
? /home/USERNAME:普通用户家目录
? /root:管理员的家目录
? /media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
? /dev:设备文件及特殊文件存储位置
? /tmp:临时文件存储位置
#

2.lsblk-列出系统的硬盘 du -sh 查看文件大小 pwd-显示当前目录
--echo ‘- - -‘ > /sys/class/scsi_host/host0(host2)/scan --虚拟机增加硬盘命令
--/proc /sys -进程目录
目录颜色:蓝色-目录,yellow-硬件目录,粉色-套接字,棕色-管道文件,l绿色-可执行文件,红色-打包或压缩文件
--定义颜色文件路径:/etc/DIR_COLORS
--除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
--标准Linux文件系统(如ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
-->linux文件类型:(-)rw- --- --- :括号中所代表的文件类型

  • 普通文件
    ?d 目录文件
    ?b 块设备
    ?c 字符设备
    ?l 符号链接文件
    ?p 管道文件pipe
    ?s 套接字文件socket
    绝对路径:也称为完整路径从根开始 相对路径:相对于当前目录工作路径
    ..:ll ../issue上一级目录 .:ll ./network当前目录
    --basename-取出相对的文件名忽略之前目录 dirname-取出之前的文件名而不取出最后相对文件名 (变量代表一个字符串)
    #

    3.
    查看文件状态:stat
    文件有两类数据:metadata,:元数据定义-数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的,元数据就是数据的数据。
    data:
    ? 三个时间戳:
    access time 访问时间,atime,读取文件内容
    modify time 修改时间, mtime,改变文件内容(数据)
    change time 改变时间, ctime,元数据发生改变
    linux文件管理03 and 04--2week
    file:文件名 size:文件大小(B)
    blocks:文件所占区个数为8的倍数(通常的 Linux 的扇区大小为 512 B,连续八个扇区组成一个block)
    IO Block:每个数据块的大小(单位:B)
    regular file:普通文件(此处显示文件的类型)
    Device:所在设备;
    Inode:文件的Inode号-储存文件元信息的区域就叫做inode
    Links:硬链接次数
    Access:访问权限
    id:(属主id/属主名)
    Gid:(属组id/属组名)
    Access:最近访问时间
    Modify:数据改动时间
    Change:元数据改动时间
    修改时间戳:
    更改access time:
    linux文件管理03 and 04--2week
    修改Modify time:
    linux文件管理03 and 04--2week
    修改change time(元数据改动时间):
    linux文件管理03 and 04--2week
    -->更改atime也可以通过touch -a /data/1.xt,同理mtime也可以通过touch -m /data/1.xt来更改,如果将文件内容进行修改,修改后文件的mtime会进行更新,文件的inode信息更新回导致ctime更新。
    -->atime:访问时间:读一次文件的内容,这个时间就会更新。比如more、cat等命令。ls、stat命令不会修改atime
    mtime:修改时间:修改时间是文件内容最后一次被修改的时间。比如:vim操作后保存文件。ls -l列出的就是这个时间
    ctime:状态改动时间。是该文件的inode节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。
    linux文件管理03 and 04--2week
    #

    4.
    chkconfig iptables off -centos6关闭防火墙
    systemctl disable fireewalld -centos7
    vi /etc/selinux/config -更改为:disable setenforce 0 -可以临时关闭selinux getenforce -查看selinux 状态
    文件通配符:

    • 匹配零个或多个字符 -ls .txt ls x*
      ? 匹配任何单个字符 ls a?.log
      ~- 前一个工作目录 ls ~-/af.log
      [0-9] 匹配数字范围
      ? [a-z]:字母(包含大写字母)
      ? [A-Z]:字母(包含小写字母)
      ? [wang] 匹配列表中的任何的一个字符
      ? [^wang] 匹配列表中的所有字符以外的字符
      预定义的字符类:man 7 glob
      [:digit:]:任意数字,相当于0-9
      [:lower:]:任意小写字母
      [:alnum:]:任意数字或字母
      -->列出当前目录命令:
      ls -a 包含隐藏文件
      ls -l 显示额外的信息
      ls -R 目录递归
      ls -ld 目录和符号链接信息
      ls -1 文件分行显示
      ls –S 按从大到小排序
      ls –t 按mtime排序
      ls –u 配合-t选项,显示并按atime从新到旧排序
      ls –U 按目录存放顺序显示
      ls –X 按文件后缀排序
      touch命令:
      touch [OPTION]... FILE...
      -a 仅改变 atime和ctime
      -m 仅改变 mtime和ctime -t [[CC]YY]MMDDhhmm[.ss]
      指定atime和mtime的时间戳
      -c 如果文件不存在,则不予创建
      linux文件管理03 and 04--2week
      用法描述:
      touch修改每个指定文件file的存取(access)和/或修改(modification)时间戳记.除非使用-r或-t选项,这些时间戳记都将修改为当前的时间.使用-r选项时,这些戳记将按照文件 ref_file 的时间戳记来修改(即变得和ref_file时间戳记值相同).使用-t选项,则这些戳记将按照给定的时间值 time进行修改.同时使用或同时不使用选项-a和-m,存取和修改两个戳记都将被更改.若只使用选项-a,则只修改存取戳记.同样,只使用选项-m,则只修改修改戳记.若要修改戳记的文件尚不存在,除非使用-c选项,touch 将创建它(作为空文件,并赋予0666的模式且受umask值的限制).
      -->POSIX标准定义的选项
      -a 修改文件 file 的存取时间.
      -c 不创建文件 file.
      -m 修改文件 file file
      -r ref_file 将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.
      -t time 使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.此处的 time 规定为如下形式的十进制数∶
      [[CC]YY]MMDDhhmm[.SS]
      #

      5.
      复制文件cp命令:
      cp:复制普通文件 -- 复制特殊文件需要增加选项
      多个文件夹复制到一个文件里(文件报错不支持) --多次操作一个命令会产生幂等性
      \cp:原始命令不用别名(多个文件复制时)
      linux文件管理03 and 04--2week

CP选项:
-i 覆盖前提示
linux文件管理03 and 04--2week
alias-采用的是别名:替代cp -i
?-r, -R 递归复制目录及内部的所有内容
linux文件管理03 and 04--2week
?-a 归档,相当于-dR --preserv=all
?-d --no-dereference --preserv=links 不复制原文件,只复制链接名
?--preserv[=ATTR_LIST] -p 等同--preserv=mode,ownership,timestamp
mode: 权限
ownership: 属主属组
timestamp:时间戳
links
xattr
context
all cp /etc/fstab ~wang
-v --verbose
?-f --force
?-u --update 只复制源比目标更新文件或目标不存在的文件
?-b 目标存在,覆盖前先备份,形式为 filename~
?--backup=numbered 目标存在,覆盖前先备份加数字后缀
例:每天将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd
linux文件管理03 and 04--2week
#

6.
mv命令:mv - 移动 (改名) 文件
改“源文件”名到“目标文件”名, 或移动“源文件”(可以不只一个)到一个“目录
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
#

7.
rm删除:
常用选项:
-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
rm -f :强制删除的时候不会有任何提示
linux文件管理03 and 04--2week
rm -r:在删除文件目录的字母时会递归提示
mkdir 创建目录:
-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
linux文件管理03 and 04--2week
-m MODE: 创建目录时直接指定权限
linux文件管理03 and 04--2week
#

8.
rmdir 删除空目录
-p: 递归删除父空目录
-v: 显示详细信息
rm -r 递归删除目录树
linux文件管理03 and 04--2week
-使用> 命令重新建立文件并且删除文件内的数据
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
-- 使用>> + 文件 -创建文件(不清空文件数据)
linux文件管理03 and 04--2week
rename批量更改文件名:
linux文件管理03 and 04--2week
索引节点:inode(index node)表中包含文件系统所有文件列表
一个节点 (索引节点)是在一个表项,包含有关文件的信息( 元数据 ),包括:
文件类型,权限,UID,GID
链接数(指向这个文件名路径名称个数)
该文件的大小和不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
保存文件是通过节点表来保存的
linux文件管理03 and 04--2week
命令参数个数是有限的
节点编号用光会导致磁盘未满,但是报错:no space left to device
linux文件管理03 and 04--2week
例:
拿/boot来说所用的索引节点总共524288个,没创建一个文件就会增加一个节点,当所有的节点数大于总的节点数时会导致节点数不够,但是磁盘利用率并未满;
#

9.
ln -硬链接:ln 硬链接等于cp -p 加 同步更新。
本质:同一文件多个名称,不能跨分区和设备
linux文件管理03 and 04--2week
更改文件名但属性和inode节点名完全不变
linux文件管理03 and 04--2week
--硬链接不支持文件夹
linux文件管理03 and 04--2week
-->软连接:也称为符号链接
ln -s :创建软连接 软连接依赖于原始文件
创建软连接原始文件要写相对路径是相对于软连接路径 而不是当前路径
针对文件夹也可以创建 跨分区也可以
软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。
linux文件管理03 and 04--2week
区别: 软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系
硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份
linux文件管理03 and 04--2week
跨分区也可以实现软连接:
linux文件管理03 and 04--2week

删除软硬链接:
--删除硬链接其中的一个并不影响数据,indoe是目录文件的唯一标识,而软连接相当于windows快捷方式,删除了快捷方式并不会影响原数据。
linux文件管理03 and 04--2week
硬链接和软连接区别总结;
--硬链接:同一个文件多个名字 软连接:不同文件
--硬:不支持跨分区 软:支持跨分区
--硬:不支持目录创建 软:支持
--相互关系:相互平等关系 软:相互依赖
--inode(索引节点):硬-相同 软:不同
--硬链接连接数会增长 软连接不会增长
--路径问题:硬-原始文件路径是相对当前工作路径 软:原始文件要写相对路径是相对于软连接路径而不是当前路径
--文件类型:硬;不变 软连接表现为:L
--具体命令实现方式也不同:硬-ln 软:ln -s
-->
file命令:检查文件的类型,然后确定适当的打开命令或应用程序使用
常用选项:
-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件filelist中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
-L 查看对应软链接对应文件的文件类型
--help 显示命令在线帮助
linux文件管理03 and 04--2week
#
10.
vim:文本编辑器
vi和vim区别:vi是系统自带的,VIM是vi的增强版
+# 打开文件后,让光标处于第#行的行首,+默认行尾
文本编辑种类:
行编辑器: sed
全屏编辑器:nano, vi
vim - Vi Improved
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
使用vi:
linux文件管理03 and 04--2week
使用vim命令:
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
使用vim命令来打开相对应的文件可以有行数和颜色等之间的增强。
三种主要模式:
?命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本
?插入(Insert)或编辑模式:修改文本
?扩展命令(extended command )模式:保存,退出等
命令模式 --> 插入模式
i insert, 在光标所在处输入
I 在当前光标所在行的行首输入
a append, 在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
扩展命令模式:
:q 退出
:q! 强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出
#

11.
复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符。
linux文件管理03 and 04--2week
linux文件管理03 and 04--2week
--grep名令:Grep 搜索以 FILE 命名的文件输入 (或者是标准输入,如果没有指定文件名,或者给出的文件名是 - 的话),寻找含有与给定的模式 PATTERN 相匹配的内容的行。默认情况下, grep 将把含有匹配内容的行打印出来,相对应的GREP选项命令可查看:man grep

相关推荐