• 第三天 目录和文件


    7.1 linux 文件系统
    linux文件不靠后缀名 内置标识
    1、普通文件 - 开头代表 普通文件 文本文件 二进制程序 音频 视频
    2、目录文件 d 开头代表 目录文件
    3、设备文件 特殊类型文件 /dev (device)
    ll /dev/rc.d
    ll /dev/sd*
    [root@server ~]# ll /dev|grep s
    brw-rw----. 1 root disk 8, 0 Jul 17 20:33 sda
    brw-rw----. 1 root disk 8, 1 Jul 17 20:33 sda1
    brw-rw----. 1 root disk 8, 2 Jul 17 20:33 sda2
    crw-rw----. 1 root cdrom 21, 0 Jul 17 20:33 sg0
    crw-rw----. 1 root disk 21, 1 Jul 17 20:33 sg1
    主设备号 次设备号
    b 代表块类型设备 block 以块为基本单位 硬盘
    c 代表字符类型设备 单字符为基本单位 终端

    简化设备调用

    # cat install.log > /dev/lpr0 // 重定向 打印文件

    [root@server ~]# who
    shan tty1 (直连) 2017-07-17 20:34 (:0)
    root pts/0 (虚拟终端) 2017-07-18 03:45 (192.168.0.100)
    # echo hello > /dev/pts/1
    # echo hi > /dev/pts/0
    裸设备 没有文件系统
    4、管道文件 先进先出 fifo 队列
    标志 p
    创建管道文件 mkfifo mypipe
    5、链接文件
    软链接 符号链接 快捷方式
    标志 l


    7.2 linux系统目录结构
    分层的树形结构,都挂载在根文件系统 / 下
    子目录遵守FHS规范
    /root root用户目录
    /home 用户主目录
    /bin 包含常用可执行文件 不能包含子目录
    /sbin 系统管理员和root用户所使用命令文件
    /dev 设备文件
    /tmp 临时文件目录
    [root@server /]# ls /bin

    [root@server /]# ls /sbin s系统管理 防火墙 存储 磁盘分区
    /boot 系统内核文件 引导装载程序
    /etc 文本配置文件
    /proc 进程信息映射
    [root@server 2448]# cd /proc/2071
    [root@server 2071]# cat cmdline
    /usr/libexec/gvfs-afc-volume-monitor

    7.3.1 inode和目录项

    磁盘分区 super block 超级块 像书的封面
    |
    inod (index node) 索引节点 书目录/文件/
    |
    数据区域

    目录 目录项 包含 文件名 索引节点 /dirl/file1

    根目录包含子目录 目录项 检索 索引节点

    索引节点 不包含文件名 文件名上行节点对应

    目录项2个 指向1个文件 叫做硬链接

    3.1 df //disk free 分区大小

    [root@server ~]# df -h //查看磁盘空间大小 分区容量
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/vg_server-lv_root
    18G 2.8G 15G 17% /
    tmpfs 499M 112K 499M 1% /dev/shm
    /dev/sda1 485M 55M 405M 12% /boot

    [root@server ~]# df -i // 查看分区 索引节点
    Filesystem Inodes IUsed IFree IUse% Mounted on

    /dev/mapper/vg_server-lv_root 1191360 94464 1096896 8% /
    tmpfs 127601 5 127596 1% /dev/shm
    /dev/sda1 128016 43 127973 1% /boot

    3.2 du (usage) 查看文件及目录空间占用情况

    du -s /root //只显示目录本身
    du -a /root //文件及目录占用空间
    du -a /boot|sort -n // -n 按数字排序
    du -ah /boot|sort -rn|head -5 // -r 反向排序

    3.3 ll -i 索引节点信息
    [root@server ~]# ll -i //索引节点编号
    total 180
    916544 -rw-r--r--. 1 root root 69 Jul 18 06:55 1
    917255 -rw-r--r--. 1 root root 14611 Jul 18 06:41 200
    916535 -rw-r--r--. 1 root root 0 Jul 17 22:07 aasb
    1052297 drwxr-xr-x. 2 root root 4096 Jul 18 07:30 aasdf
    944124 -rw-------. 1 root root 1613 Jul 17 00:24 anaconda-ks.cfg

    ls -ih /boot
    alias //系统定义别名

    3.4 stat
    stat /root/ // 查看目录信息

    [root@server ~]# stat test.log // 查看文件信息 来自索引节点

    File: `test.log'//不在文件索引节点取出
    Size: 30 Blocks: 8 IO Block: 4096 regular file
    Device: fc00h/64512d Inode: 916546 Links: 1
    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2017-07-18 02:38:20.562000778 -0400
    Modify: 2017-07-18 08:25:43.598998088 -0400//索引节点 修改时间
    Change: 2017-07-18 08:25:43.598998088 -0400//数据区域 修改时间

    7.4文件和目录操作管理

    4.1 pwd:print working directory
    4.2 cd: change direction
    相对路径 没有'/' 直接cd 下级目录 ;.当前目录 ..上级目录 ./ 在当前路径下执行脚本 脚本文
    件执行 ./bash.sh
    绝对路径 由根目录开始

    [root@server dir04]# echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    //安全路径
    文件名 .开头为隐藏文件
    [root@server ~]# ll -d /root //看文件目录
    dr-xr-x---. 32 root root 4096 Jul 18 07:30 /root
    [root@server ~]# ls -R //递归查看
    rm -rf //强制删除目录 文件
    cp:复制文件和目录
    cp:源文件 源文件 .. 目标文件
    cp -a : 保留源文件基本属性
    mv:移动文件 目录 同一目录下文件移动 则更改文件名


    sort -rn //按数字排倒叙
    head -5 //取前5
    head // 默认查看最前十行
    tail // 默认查看最后十行
    wc -l //计数

    tree //以树状图逐级列出目录

    file //查看文件类型

    4.3 scp //远程主机传输文件 ssh
    [root@server ~]# scp /root/1 root@192.168.0.1:/root
    The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
    RSA key fingerprint is 59:35:46:00:c9:4b:88:c5:25:65:b8:48:42:00:89:7c.
    Are you sure you want to continue connecting (yes/no)? n
    Please type 'yes' or 'no': no
    Host key verification failed.
    lost connection
    [root@server ~]# scp /root/1 root@192.168.0.1:/root
    The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
    RSA key fingerprint is 59:35:46:00:c9:4b:88:c5:25:65:b8:48:42:00:89:7c.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.0.1' (RSA) to the list of known hosts.
    root@192.168.0.1's password:
    1
    100% 69 0.1KB/s 00:00
    [root@server ~]# scp root@192.168.0.1:/root/aasb /root
    root@192.168.0.1's password:
    aasb
    100% 0 0.0KB/s 00:00

    4.4 sftp //远程ftp service sftp status
    [root@server ~]# sftp root@192.168.0.1
    Connecting to 192.168.0.1...
    root@192.168.0.1's password:
    sftp> cd /root
    sftp> lcd /home
    sftp> put 1
    stat 1: No such file or directory
    sftp> get 1
    Fetching /root/1 to 1
    /root/1
    100% 69 0.1KB/s 00:00


    7.5 链接文件
    1、硬链接 两个目录项指向同一个文件节点 不能跨越磁盘分区
    2、软连接 记录路径信息
    操作
    ln file1 hardlink01 //创建硬链接
    ln -s /root/file1 symbolllink01 //创建符号链接

  • 相关阅读:
    LeetCode:Symmetric Tree
    LeetCode:Construct Binary Tree from Inorder and Postorder Traversal,Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode:Binary Tree Level Order Traversal I II
    LeetCode:Binary Tree Zigzag Level Order Traversal
    LeetCode:Convert Sorted Array to Binary Search Tree,Convert Sorted List to Binary Search Tree
    LeetCode:Balanced Binary Tree
    LeetCode:Minimum Depth of Binary Tree,Maximum Depth of Binary Tree
    LeetCode:Path Sum I II
    LeetCode:Flatten Binary Tree to Linked List
    LeetCode:Distinct Subsequences
  • 原文地址:https://www.cnblogs.com/shan2017/p/7207645.html
Copyright © 2020-2023  润新知