zoukankan      html  css  js  c++  java
  • Linux学习(二)

    Linux发行版的系统目录名称命名规则及用途

    linux各种发行版都遵循LSB(Linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierarchy Standard)层次结构实现。

    Linux系统基础目录的命名法则:

    1、严格区分大小写
    2、目录也是文件,在同一路径下,两个文件不能同名
    3、支持使用除 / 以外的任意字符
    4、最长字符不能超过255个字符

    Linux目录结构及用途

    文件的元数据信息、含义及查看,修改文件的时间戳信息

    文件的元数据信息及含义
    File:文件名
    Size:文件大小(单位:B)
    Blocks:文件所占块个数
    IO Block:每个数据块的大小(单位:B)
    regular file:普通文件(此处显示文件的类型)
    Inode:文件的Inode号,文件的索引节点号
    Links:硬链接次数
    Access:权限
    Uid:(属主id/属主名)
    Gid:(属组id/属组名)
    Context:文件所在的环境
    Access:最近访问时间access time (atime)
    Modify:数据改动时间modification time (mtime)
    Change:元数据改动时间status time (ctime)
    Creat/Birth:文件创建时间
    
    查看命令
    1. ls命令能够查看文件的类型、时间、属主、属组、大小以及最近修改时间等信息。

    2. stat命令显示文件详细的属性。

    3. file辨识该文件的类型。

    修改文件的时间戳信息
    每一个文件的时间属性有三种:atime,ctime,mtime
    atime:access time,记录最后一次的访问时间 
    ctime:modify time,记录最后一次文件数据部分的修改时间
    mtime:记录最后一次文件元数据的修改时间
    
    touch命令  touch [OPTION]... File...
    -a  表示只更改访问时间atime
    -m  只更改mtime时间
    -t SMAMP 使用指定的时间,格式为[[CC]YY]MMDDhhmm[.ss]
    -time=WORD  指定特定的时间,WORD为acess或atime,相当-a选项,WORD为modif或time,相当于-m选项
    

    硬连接和软连接

    硬连接

    硬连接其本质是对同一个文件起多个文件名。所以变现为一个inode号可以对应对个文件名。就是同一个文件使用了多个别名,inode号相同。硬连接可以用ln或link创建。
    由于硬连接是有着相同inode号仅文件名不同的文件,因此存在以下特性

    1. 文件有相同的inode及data block
    2. 只能对已存在的文件进行创建
    3. 不能跨分区创建硬连接
    4. 不能对目录进行创建,只可对文件创建
    5. 删除一个硬连接文件并不影响其他有相同inode号的文件
    软连接

    软连接与硬连接不同,若文件用户数据快中存放的内容是另一个文件的路径名的指向,则该文件就是软连接。软连接就是一个普通文件,只是数据块内容有点特殊。软连接有着自己的inode号以及用户数据块,因此软连接的创建和使用没有类似硬连接的诸多限制,主要特点如下:

    1. 软连接有自己的文件属性及权限等
    2. 可对不存在的文件或目录创建软连接
    3. 软连接可跨区创建
    4. 软连接可对文件或目录创建
    5. 创建软连接时,连接计数不会增加
    6. 删除软连接并不影响被指向的文件,若被指向的源文件被删除,相关软连接被称为死链接,若被指向路径文件被重新创建,死链接可恢复为正常的软连接。

    Linux上的文件管理命令都有哪些,其常用的使用方法及其相关实例演示。

    pwd printing working directory显示当前工作目录
    语法:pwd [OPTION]…
    选项说明:
    -P 显示真实物理路径
    -L 显示链接路径(默认)

    cd change dir改变目录
    语法:cd [dirName]

    ls 列出当前目录的内容或指定目录
    语法:ls [options] [files_or_dirs]

    stat 查看文件状态
    语法:stat [options] filename

    touch 创建空文件和刷新时间
    语法:touch [OPTION]... FILE...
    选项:
    -a 仅改变 atime和ctime
    -m 仅改变 mtime和ctime
    -t [[CC]YY]MMDDhhmm[.ss]
    指定atime和mtime的时间戳
    -c 如果文件不存在,则不予创建

    cp 复制文件和目录
    语法:
    cp [OPTION]... [-T] SOURCE DEST
    cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...
    cp SRC DEST
    选项:
    -i 覆盖前提示
    -n 不覆盖,注意两者顺序
    -r, -R 递归复制目录及内部的所有内容
    -a 归档,相当于-dR --preserv=all
    cp -a 要备份的文件名{,.bak}
    -d --no-dereference --preserv=links 不复制原文件,只复制链接名
    --preserv[=ATTR_LIST]
    mode: 权限
    ownership: 属主属组
    timestamp: 文件时间戳
    links
    xattr
    context
    all
    -p 等同--preserv=mode,ownership,timestamp
    -v --verbose 显示过程
    -f --force 删除再创建
    -u --update 只复制源比目标更新文件或目标不存在的文件
    -b 目标存在,覆盖前先备份,形式为 filename~ --backup=numbered 目标存在,覆盖前先备份加数字后缀

    mv 移动和重命名文件
    语法:
    mv [OPTION]... [-T] SOURCE DEST
    mv [OPTION]... SOURCE... DIRECTORY
    mv [OPTION]... -t DIRECTORY SOURCE...
    选项:
    -i 交互式
    -f 强制
    -b 目标存在,覆盖前先备份

    rm 删除
    语法:rm [OPTION]... FILE...
    常用选项:
    -i 交互式
    -f 强制删除
    -r 递归
    --no-preserve-root 删除/

    tree 显示目录树
    选项:
    -d: 只显示目录
    -L level:指定显示的层级数目
    -P pattern: 只显示由指定pattern匹配到的路径

    mkdir 创建目录
    选项:
    -p: 存在于不报错,且可自动创建所需的各目录
    -v: 显示详细信息
    -m MODE: 创建目录时直接指定权限

    rmdir 删除空目录
    选项:
    -p: 递归删除父空目录
    -v: 显示详细信息
    rm -r 递归删除目录树
    使用rm删除文件时,如果文件被占用有时可能无法释放磁盘空间,可以使用> 文件名 来实现。

    复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符


    在vim中设置tab 缩进为4个字符

    设置vim环境设置文件 vim ~/.vimrc
    添加set tabstop=4
    效果如下:

  • 相关阅读:
    [设计模式]暂时不考虑多线程的单例模式
    [设计模式]策略模式
    [设计模式]工厂模式
    [设计模式]观察者模式1(用JDK提供的API)
    使用visual studio 2013 快速搭建phonegap开发环境
    js日期计算及快速获取周、月、季度起止日
    HTTP 错误 500.21
    C# 实现对网站数据的采集和抓取
    js设置控件的隐藏与显示的两种方法
    jQuery操作checkbox选择
  • 原文地址:https://www.cnblogs.com/shanghongbin/p/12775099.html
Copyright © 2011-2022 走看看