zoukankan      html  css  js  c++  java
  • 《linux就该这么学》课堂笔记04 常用命令cat、mor...tar、find

    本节命令汇总
    命令 说明 格式 常用参数 实例 备注
    cat 查看纯文本文件(内容较少) cat [选项] 文件名称 -n 显示行号 cat -n install-setup-ks.cfg

    查看install-setup-ks.cfg

    more

    查看纯文本文件(内容较多)

    【左下角显示已阅读的百分比】

    【使用空格或回车向下翻页】

    more [选项] 文件名称   more install-setup-ks.cfg

    查看install-setup-ks.cfg

    *不知道文件大小的情况下,建议使用more

    head 查看纯文本文档的前N行内容 head [选项] 文件名称 -n 需要查看行数

    head -n 20 install-setup-ks.cfg

    查看install-setup-ks.cfg前20行

    tail 查看纯文本文档的后N行内容 tail [选项] 文件名称

    -f 实时查看最新

    tail -f /var/log/messages

    实时查看messages文件最新内容

    tr 替换文本文件中的字符 tr [原始字符] [需替换字符] 常与管道符使用

    cat anaconda-ks.cfg | tr [a-z] [A-Z]

    将anaconda-ks.cfg文件内容中的小写字母(a-z)替换成大写字母(A-Z)

    *管道符(|):将前一个命令(cat anaconda-ks.cfg)输出的结果

             传到后一个命令(tr [a-z] [A-Z])作为一个输入项

    wc

    统计指定文本的行数、字数、字节数 wc [参数] 文件名称

    -l 只显示【行数】

    -w 只显示【字数】

    -c 只显示【字节数】

    wc -l /etc/passwd

    显示结果:38 /etc/passwd

    即代表 /etc/passwd 文件有38行

    stat 查看文件的具体存储信息和时间信息 stat  文件名称  

    stat anaconda-ks.cfg

    Atime:文件最后一次访问的时间

    Mtime:文件最后一次修改时间

    Ctime:文件最后一次属性修改时间

    cut 按"列"提取文本字符 cut [参数] 文件名称

    -f 设置需要查看的列

    -d 设置间隔符号

    cut -d : -f 1 /etc/passwd

    提取出/ect/passwd中以":"为间隔符号的第一列内容

    参数内容允许没有空格:cut -d: -f1 /etc/passwd

    diff

    比较多个文件的差异

    diff [参数] 文件名称 文件名称

    --brief 显示比较后的结果(是否不同)

    -c 描述文件内容具体不同之处("!"标示)

    diff --brief 文件A 文件B

    diff -c 文件A 文件B

    详见《linux就该这么学》2019年7月北京第17次印刷50、51页

    touch

    创建空白文件 或 设置文件的时间

    touch [选项] 文件名称

    -a 仅修改"读取时间"(访问时间) Atime

    -m 仅修改"修改时间" Mtime

    -d 同时修改 Atime 与 Mtime

    touch -d "19:30"  文件名称

    -d 修改时间 黑客做法

    所以不能通过时间判断文件是否被篡改过

    mkdir

    创建空白目录 mkdir [选项] 目录名称 -p 递归创建目录 mkdir -p a/b/c/d  
    cp 复制文件或目录 cp [选项] 源文件 目标文件

    -p 保留原始文件

    -d 若对象为"链接文件",保留"链接文件"属性

    -r 递归持续复制(用于目录)

    -i 若目标文件存在 询问 是否覆盖

    -a 相当于 -pdr 

    cp install.log install-copy.log

    cp install.log /install-copy.log

    复制install.log文件到当前目录名为install-copy.log文件(若install-copy.log存在 则询问是否覆盖)

    复制install.log文件到根目录名为install-copy.log文件(若install-copy.log存在 则询问是否覆盖)

    mv 剪切文件 或 文件重命名

    mv [选项] 源文件 [目标路径|目标文件名] 

       mv x.log linux.log

    当前路径:重命名

    其他路径:剪切

    默认删除源文件

    rm

    删除文件或目录

    rm [选项] 文件名称|目录名称

    -r 删除目录必须参数

    -f 强制删除(不询问是否删除)

    rm  -f install.log

    rm -rf /home/user1 

     
    dd

    按照指定大小和个数的数据款来

    复制 或 转换文件

    (能够在复制过程中转换其中数据)

    dd [参数]

    if 输入的文件名称 input file 分开读 i  f

    of 输出的文件名称 output file 分开读 o  f

    count  设置要复制"块"的个数

    bs 设置每个"块"大小

    dd if=fileA of=fileB count=1 bs=560M   复制文件fileA 一块为560M大小的内容至fileB中
     file

    查看文件类型 

    file 文件名称    file anaconda-ks.cfg   输入内容:anaconda-ks.cfg: ASCII text 

     tar

    对文件进行打包压缩 或 解压  tar [选项] [文件名称|目录名称] 

    -c 创建压缩文件

    -x 解压文件

    -z 使用Gzip压缩 或 解压

    -j 使用bzip2压缩 或 解压

    -v 显示压缩 或 解压过程

    -f 目标文件名

    tar -czvf home.tar.gz /home

    tar -xzvf home.tar.gz [/]

    打包文件 将home打包压缩为 home.tar.gz文件

    解压文件 将home.tar.gz 解压到当前目录 [根目录] 

    *参数可省略"-" 压缩目录可省略(当前目录) 或指定解压路径 [/]

    grep

    在文本执行关键词搜索

    并显示匹配结果 

     grep [选项] [文件]

    -b 将可执行文件当作文本文件来执行

    -c 仅显示找到的行数

    -i 忽略大小写

    -n 显示行号

    -v 反向选择 仅列出没有"关键词"的行

    grep /sbin/nologin /etc/passwd 

    grep 关键词 文件名称

    输出 /etc/passwd 中 包含 /sbin/nologin 的行

    提取:cut 按列提取、grep 按行提取

    find

    按照指定条件来查找文件 

    find [查找路径] 查找条件 操作

    -name 匹配名称

    -user 匹配所有者

    -group 匹配所有组

    -prune 忽略某个目录

    find /etc -name "host*" --print 

    find / -user user1

    find test -path "test/test3" -prune -o -print

    在 /etc 目录中查找文件名称包含 host 的文件 

    查找所有归属user1用户的文件(/proc目录报错 比较特殊)

    在 test 目录中查找 排除 test/test3(见图1)

     

     

     

     

     

     

     

     

    输出重定向&输入重定向

     

     

     

     

  • 相关阅读:
    实验四
    实验三
    实验二
    实验一
    6
    5
    4
    3
    shiyan2
    实验1
  • 原文地址:https://www.cnblogs.com/dustinsky/p/11895950.html
Copyright © 2011-2022 走看看