zoukankan      html  css  js  c++  java
  • Linux命令系列之

    1. 文件及目录属性查看

    linux系统文件类型

    • '-' 普通文件
    • d 目录文件directory
    • b 块设备文件
    • c 字符设备character
    • l 符号链接文件link
    • p 管道文件pipe
    • s 套接字文件socket

    1.1 查看文件状态 - stat

    stat命令:查看文件相关信息:metadata,data

    • 文件时间戳
      • atime, access time 访问时间,读取文件内容
      • mtime, modify time 修改时间,改变文件内容(数据)
      • ctime, change time 改变时间,元数据发生改变

    1.2 确定文件内容 - file

    file命令:检查文件包含类型,确定适当的打开命令或应用程序使用

    用法和常用选项:

    file [options] <filename>...
    常用选项:
      -b     #列出文件辨识结果时,不显示文件名称
      -f filelist #列出文件filelist中文件名的文件类型
      -F     #使用指定分隔符号替换输出文件名后默认的“:”分隔符
      -L     #查看对应软连接对应文件的文件类型
      --help #显示命令在线帮助
    

    1.3 查看文件类型 - type

    1.4 查看文件详细信息 - ls -l

    ls命令:可以列出当前目录的内容或指定目录内容
    用法:

    ls [option] [files or dires]
    常见选项:
    -a  显示包含隐藏文件
    -l  显示详细信息
    -R  递归显示子目录信息
    -ld 显示目录和字符连接信息
    -1  文件分行显示
    -S  文件按从大到小排序显示
    -t  按mtime排序显示
    -u  配合-t,显示并按atime从新到旧排序
    -U  按目录存放顺序显示
    -X  按文件后缀排序
    -F  对不同类型文件显示附加不同的符号:*/+>@|
    -C  文件多时,以多列方式显示文件
    

    ls查看不同后缀文件时的颜色定义: /etc/DIR_COLORS @LS_COLORS变量定义

    1.5 查看文件或目录大小 - du

    1.6 显示目录树 - tree

    用法和选项:

    tree [options]... dir
    选项:
      -d          #只显示目录
      -L level    #指定显示的层级数目
      -P pattern  #只显示由指定wild-card pattern匹配到的路径
    

    1.7 显示当前工作目录 - pwd

    pwd命令:显示当前shell的绝对路径,printing working directory

    pwd [option]
    选项:
    -P 显示真实物理路径
    -L 显示连接路径
    

    1.8 更改工作目录 - cd

    cd命令:切换改变工作目录,change directory

    cd [option] dir
    #选项:
    -P 切换至物理路径,而非软链接目录
    #用法:
    cd ..  切换至当前目录的父目录
    cd ~   切换至当前用户家目录
    cd -   切换至上一次的工作目录
    

    环境变量:

    • PWD 当前目录路径
    • OLDPWD 上一次目录路径

    2. 文件或目录操作

    2.1 创建空文件和刷新访问时间 - touch

    touch - 命令可以用来创建空文件或刷新文件的时间
    用法和选项:

    touch [options]... file...
    选项:
      -a  # 仅改变atime和ctime
      -m  # 仅改变mtime和ctime
      -t  # [[CC]YYMMDDhhmm[.ss]]指定atime和mtime的时间戳
      -c  # 如果文件不存在,则不予创建
    

    2.2 复制文件和目录 - cp

    cp命令-copy,可以实现文件或目录的复制
    用法和选项:

    cp [options]... [-T] source dest
    cp [options]... source... derectory
    cp [options]... -t directory source...
    选项:
      -i  #如果目标已存在,覆盖前提示是否覆盖
      -n  #不覆盖,注意两者顺序
      -r,-R #递归复制目录及内部的所有内容
      -a  #归档,相当于-dR --preserv=all,常用于备份功能
      -d --no-dereference --preserv=links  #不复制原文件,只复制链接名
      -p  #等同--preserv=mode,ownership,timestamp
      -v --verbose  #输出处理过程
      -f --force   #强制复制
      -u --update  #只复制源比目标新文件或目标不存在的文件
      -b  #目标存在,覆盖前先备份,只保留最近的一个备份
      --backup=numbered #目标存在,覆盖前先备份加数字后缀,可以保留多个版本
      --preserv[=ATTR_LIST]
      		mode:权限
    		ownership:属主属组
    		timestamp
    		links
    		xattr
    		context
    		all
    

    2.3 移动和重命名文件 - mv

    mv命令-move,可以实现文件或目录的移动和改名

    • 同一分区移动数据,速度很快,数据位置没有变化
    • 不同分区移动数据,速度相对慢,数据位置发生变化

    用法和选项:

    mv [options]... [-T] source dest
    mv [options]... source... directory
    mv [options].. -t directory source...
    选项:
      -i  #交互式
      -f  #强制
      -b  #目标存在,覆盖前先备份
    

    利用rename命令可以批量修改文件名
    格式:rename [options] <expression> <replacement> <file>...

    2.4 删除文件和目录 - rm

    rm命令-remove,可以删除文件(危险的命令,慎用)
    用法和选项:

    rm [options]... file...
    选项:
      -i  #交互式
      -f  #强制删除
      -r  #递归删除目录和文件
      --no-preserve-root  #删除/
    

    rm删除了文件,仍然可能被恢复,在安全要求较高的场合下,可以使用shred安全删除文件

    shred [option]... file...
    选项:
      -z  # 最后一次覆盖添加0,以隐藏覆盖操作
      -v  # 能够显示操作进度
      -u  # 覆盖后截断并删除文件
      -n  # 指定覆盖文件内容的次数(默认为3)
    

    2.5 创建和删除目录 - mkdir rmdir

    mkdir创建目录

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

    rmdir删除目录

    rmdir [options]... dir
    选项:
      -p  #递归删除父空目录
      -v  #显示详细信息
    

    备注:rmdir只能删除空目录,如果想删除非空目录,可以使用rm -r命令,递归删除目录树。

    2.6 创建连接文件 - ln

    格式:

    ln filename [linkname]
    选项:
      -s  #创建软连接
    

    实例:创建文件和目录软连接文件

    [root@centos7 data]# ln -sv /etc/hostname myfile
    [root@centos7 data]# ll
    lrwxrwxrwx.  1 root root    13 8月  27 18:40 myfile -> /etc/hostname
    [root@centos7 data]# ln -sv /home/WinS mydir
    [root@centos7 data]# ll
    lrwxrwxrwx. 1 root root   13 8月  27 18:37 mydir -> /home/WinS
    
  • 相关阅读:
    垃圾收集器
    垃圾收集算法
    动态绑定
    数据库连接池原理
    分布式事务:两段式提交(最终一致性)
    C# 推箱子游戏&对战游戏
    C# 结构体和类的区别
    C# 类&结构体&枚举
    C# 哈希表&列队&栈
    C# 数组&集合&泛型集合
  • 原文地址:https://www.cnblogs.com/hony625/p/15042378.html
Copyright © 2011-2022 走看看