第02章文件管理

作者: fe8478c7ba2a | 来源:发表于2018-04-16 19:42 被阅读11次

.Linux目录结构

WINDOWS/LINUX目录对比
    Windows: 以多根的方式组织文件 C:\ D:\ E:\

Linux: 以单根的方式组织文件 /

简介

目录结构: FSH (Filesystem Hierarchy Standard)

     [root@tianyun ~]# ls  /
      bin dev lib media net root srv usr
      boot etc lib64 misc opt sbin sys var
      cgroup home lost+found mnt proc selinux tmp

目录功能(10个)

        bin 普通用户使用的命令 /bin/ls, /bin/date
           sbin 管理员使用的命令 /sbin/service 
           dev 设备文件 /dev/sda,/dev/sda1
           root root用户的HOME
           home 存储普通用户家目录 
           lost+found fsck修复时,存储没有链接的文件或目录
           proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态 
           usr 系统文件,相当于C:\Windows
           /usr/local 软件安装的目录,相当于C:\Program
           boot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序)
           etc 配置文件(系统相关如网络/etc/sysconfig/network
           lib 库文件Glibc
           lib64 库文件Glibc
           tmp 临时文件(全局可写:进程产生的临时文件) 
           var 存放的是一些变化文件,比如数据库,日志,邮件.... 

==设备(主要指存储设备)挂载目录==

           media 移动设备默认的挂载点
           mnt 手工挂载设备的挂载点

2.文件管理

1.文件类型(理解)

类型

      - 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
         d 目录文件(蓝色)
         b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
         c 设备文件(字符设备)打印机,终端 /dev/tty1
         l 链接文件(淡蓝色)
         s 套接字文件
         p 管道文件

示例

#示例1
查看各式各样的文件类型。你能找出几种呢?
    [root@tianyun ~]# ll -d /etc/hosts /bin/ls /home /dev/sda/dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client
    -rwxr-xr-x. 1 root root 117616 Nov 20 2015 /bin/ls
    srw-rw-rw- 1 root root 0 Mar 14 2017 /dev/log
    brw-rw---- 1 root disk 8, 0 Mar 14 09:03 /dev/sda
    crw--w---- 1 root tty 4, 1 Mar 14 09:03 /dev/tty1
    lrwxrwxrwx. 1 root root 22 Dec 21 01:40 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
    -rw-r--r-- 1 root root 392 Feb 22 15:51 /etc/hosts
    drwxr-xr-x. 10 root root 4096 Mar 14 11:00 /home

#示例2(验证示例1)
 [root@tianyun ~]$ file /etc/hosts
     /etc/hosts: ASCII text
     root@tianyun ~]$ file /bin/ls
     /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),dynamically linked (uses shared libs), for GNU/Linux 2.6.32,BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

     [root@tianyun ~]$ file /dev/sda
     /dev/sda: block special

     [root@tianyun ~]$ file /dev/tty1
      /dev/tty1: character special

     [root@tianyun ~]$ file /etc/grub2.cfg 
     /etc/grub2.cfg: broken symbolic link to `../boot/grub2/grub.cfg'

     [root@tianyun ~]$ file /home
     /home: directory

     [root@tianyun ~]$ file /run/dmeventd-client 
     /run/dmeventd-client: fifo (named pipe)

#注意
通过颜色判断文件的类型是不一定正确的!!!
    Linux系统中文件是没有扩展名!!!

2.文件管理命令

1.改变目录
    1. 文件管理之:
    cd 改变目录          绝对路径和相对路径
   --------------------------------------------
   cd 绝对路径 cd /home/alice
   cd 相对路径 cd .  ..

==========================
cd 专用:
cd - 返回上次目录
cd 直接回家
==========================
文件路径(有难度)
思考题
/home/alice/file1 和 /home/bob/file1 是不是同一个文件。
/abc/file5 和 abc/file5 是同一个文件吗?
原理
绝对路径: 从/开始的路径 /home/alice/file1
相对路径: 相对于当前目录开始 a.txt ./a.txt ../bob/b.txt

[假如:此时在目录/home/alice]
实验1
# useradd alice
# touch /home/alice/file1
# touch ~/file2
# touch ~alice/file3
实验2
# pwd
# mkdir abc
# touch ../file3
# touch file4
# touch abc/file5

2.创建文件

 ==创建文件 touch  
 -------------------------------------------
# touch file1.txt //无则创建,有则修改时间
# touch file3 file4
# touch /home/file10.txt
# touch /home/file5 file6
# touch /home/{zhuzhu,gougou}
# touch file{1..20}
# touch file{a..c}
# touch yang{a,b,c} //{}集合,等价touch yanga yangb yangc

3.创建目录

目录 mkdir    -v 详细 -p 递归
 ------------------------------
 # mkdir dir1
 # mkdir /home/dir2 /home/dir3
 # mkdir /home/{dir4,dir5}
 # mkdir -v /home/{dir6,dir7}       //显示详细信息,遍历
 # mkdir -v /home/dir8/111/22
 # mkdir -pv /home/dir8/111/222 //包括其父母的创建,不会有任何消息输出
 # mkdir -pv /home/{yang/{dir1,111},tianyun}

4.复制

 ==复制 cp -r 目录 -v 详细 -f 强制   -n  静默
 ----------------------------------
 Usage: cp [OPTION]... [-T] SOURCE DEST
 # cd
 # mkdir /home/dir{1,2}
 # cp -v install.log /home/dir1   //-v 显示详细信息
 # cp -v install.log /home/dir1/yang.txt
 # cp -rv /etc /home/dir1    //-r 拷贝文件夹
 # cp -v install.log /home/dir2

 #cp  -rv  源文件1 源文件2 源文件N  目标文件 //将多个文件拷贝到同一个目录
 # cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd/etc/grub.conf /etc/hosts .
 # cp -r /etc /tmp
 # cp -rf /etc /tmp    //-f, --force 强制
 # cp -r /etc /tmp

cp到底是何方神圣?
[root@tianyun ~]# type -a cp
cp is aliased to `cp -i'
cp is /bin/cp

实战案例
路径太长,怎么办?
[root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth0.bak}
在原来的名字后面增加文字?
[root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0{,-org}
更改名字。
[root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-eth0,xu-eth0}

5.移动

 ==移动 mv
 Usage: mv [OPTION]... [-T] SOURCE DEST
 # mv file1 /home/dir3 将file2移动到/home/dir3
 # mv file2 /home/dir3/file20 将file2移动到/home/dir3,并改名为file20
 # mv file4 file5 将file4重命名为file5,当前位置的移动就是重命名

6.删除

==删除 rm -r 递归 -f force强制 -v 详细过程     *通配符
--------------------------------------------
示例1:删除/home/dir1 
# cd /home
# rm -rf dir1 
                       -r 递归
                  -f force强制
                   -v 详细过程
#示例2:
[root@tianyun ~]# mkdir /home/dir10
[root@tianyun ~]# touch /home/dir10/{file2,file3,.file4}
[root@tianyun ~]# rm -rf /home/dir10/* //不包括隐藏文件
[root@tianyun ~]# ls /home/dir10/ -a
. .. .file4
#示例3:
[root@tianyun ~]# rm -rf file*
[root@tianyun ~]# rm -rf *.pdf

7.查看文件内容

推荐查看的文件
/bin/date
/etc/hosts
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/passwd
/etc/shadow 
/etc/group
/etc/grub2.cfg
/etc/resolv.conf 
/etc/profile //设置系统环境变量
/etc/bashrc //影响bash shell环境
/var/log/messages //系统主日志文件
/var/log/secure //跟安全相关的日志如ssh登录,本地登录...

##cat全部
 ##cat 
 -n 显示行号
 -A 包括控制字符(换行符/制表符)
linux $ 
Windows ^M$

##more翻页
#more
#head头部
[root@tianyun ~]# head /etc/passwd
[root@tianyun ~]# head -2 /etc/passwd

#tail尾部
[root@tianyun ~]# tail /etc/passwd
[root@tianyun ~]# tail -1 /etc/passwd
[root@tianyun ~]# tail /var/log/messages
[root@tianyun ~]# tail -20 /var/log/messages
[root@tianyun ~]# tail -f /var/log/secure //-f 动态查看文件的尾部
[root@tianyun ~]# tail -F /var/log/secure //-F 动态查看文件的尾部
注:vim, gedit编辑文件时,索引号会改变
  grep过滤关键字
  grep 针对文件内容进行过滤
  # grep 'root' /etc/passwd
  # grep '^root' /etc/passwd
  # grep 'bash$' /etc/passwd
  # grep 'failure' /var/log/secure

8.修改文件内容

1 重定向
[root@tianyun ~]# ll -a > list.txt
2.文件编辑器1
图形文件编辑器 gedit
3.文件编辑器2
 vi, vim, nano 

VI 的三个模式

可视模式,按V进入,小v光标自己选取,大V直接选取一行,YYp复制粘贴即可。
ctrl+V,上下选择,然后可以ctrl+>   进行整体缩进。
    命令模式
    光标定位
#光标定位 
hjkl               //上下左右
0 $               //行首行尾
gg G            //野兽页尾
3G 进入第三行  
/string (n N 可以循环的)     //查找字符,n下一个
#文本编辑
文本编辑(少量)
y 复制 yy 3yy ygg yG (以行为单位)
d 删除 dd 3dd dgg dG (以行为单位) 
p 粘贴
x 删除光标所在的字符
D 从光标处删除到行尾
u undo撤销
^r redo重做
r 可以用来修改一个字符
#进入其它模式
   进入其它模式
a 进入插入模式
i 进入插入模式
o 进入插入模式
A 进入插入模式

#  :   进入末行模式(扩展命令模式)
v 进入可视模式
^v 进入可视块模式
V 进入可视行模式
R 进入替换模式
#输入模式
insert:iaoIAO
#可视块模式
可视块模式:
块插入(在指定块前加入字符): 选择块,I 在块前插入字符, ESC
块替换: 选择块,r 输入替换的字符 
块删除: 选择块,d | x
块复制: 选择块,y
#扩展命令模式
  保存退出
 :10 进入第10行 
 :w 保存 
 :q 退出 
 :wq 保存并退出 
 :w! 强制保存 
 :q! 不保存并退出 
 :wq! 强制保存退出
 :x 保存并退出 ZZ

##查找替换
 :范围 s/old/new/选项 /g全范围替换  //s 代表替换
 :1,5 s/root/yang/          从1-5行的root 替换为yang 
#读入文件/写文件(另存为)
 :w 存储到当前文件
 :w /tmp/aaa.txt 另存为/tmp/aaa.txt 
 :1,3 w /tmp/2.txt
 :r /etc/hosts 读入文件到当前行后
 :5 r /etc/hosts 读入文件到第5行后

#设置环境 
  ###临时设置: 
:set nu 设置行号 
:set ic 不区分大小写
:set ai 自动缩进
:set list 显示控制字符
:set nonu 取消设置行号 
:set noic

9.文件基本信息:时间(了解)

时间类型
访问时间:atime,查看内容 //RHEL6会延后修改atime
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限
删除时间:dtime,文件被删除的时间
##查询示例
[root@tianyun ~]# ls -l install.log
    -rw-r--r-- 1 root root 34793 10-23 13:49 install.log

[root@tianyun ~]# stat install.log
    File: “install.log”
    Size: 34793 Blocks: 80 IO Block: 4096 一般文件
    Device: 802h/2050d Inode: 65282 Links: 1
    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2012-10-23 16:53:20.000000000 +0800
    Modify: 2012-10-23 13:49:46.000000000 +0800
    Change: 2012-10-23 13:49:52.000000000 +0800

###ls -l 文件名 仅看的是文件的修改时间

.总结

创建、复制、删除、移动、查看、编辑

相关文章

  • NSFileManager 文件管理

    文件管理 - 创建 文件管理 -- 添加 文件管理 --- 删除 文件管理 --- 复制

  • 第02章文件管理

    .Linux目录结构 Linux: 以单根的方式组织文件 / 简介 目录结构: FSH (Filesystem H...

  • 第02周_文件管理

    1. 描述Linux发行版的系统目录名称命名规则以及用途。 1.1. FHS目录结构 挂载点功能/boot引导文件...

  • 01-必备计算机知识

    一、文件管理 文件分类 良好的文件分类管理,方便于查找和管理文件。 文件命名 文件后缀文件按照不同的格式和用途分很...

  • 01-必备计算机知识

    一、文件管理 文件分类 良好的文件分类管理,方便于查找和管理文件。 文件命名 文件后缀文件按照不同的格式和用途分很...

  • 操作系统(4) -- 文件管理、IO管理

    内容大纲 1、文件管理; 2、文件系统管理 3、输入/输出管理 4、缓冲区 1 文件管理 文件 文件是指记录在外存...

  • 文件隐藏属性chattr,lsattr

    参考:《鸟哥的Linux私房菜》,第7章,Linux文件与目录管理 chattr命令只能在Ext2/Ext3的文件...

  • SPSS复习

    第1章 SPSS统计分析软件概述 第2章 SPSS数据文件的建立和管理 第3章 SPSS数据的预处理 第4章 ...

  • Linux-C-高级-第6章-IPTable防火墙基础

    目录(持续更新) 基础-第0章-安装基础-第1章-基本操作基础-第2章-磁盘及文件系统管理基础-第3章-获得帮助基...

  • Linux-C-高级-第5章-SELinux安全系统基础

    目录(持续更新) 基础-第0章-安装基础-第1章-基本操作基础-第2章-磁盘及文件系统管理基础-第3章-获得帮助基...

网友评论

    本文标题:第02章文件管理

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