• Liunx文件操作命令(touch、cat、vim、more、less、cp、mv、rm、head、tail、file、find)


    请添加图片描述

    Liunx常用命令

    文件操作

    1. touch 命令(在当前目录下创建空文件)

    1.1 语法

    touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
    
    • 1

    1.2 例子

    命令效果
    touch a.txt创建一个名为 a.txt 的新的空白文件

    1.3 参数说明

    参数功能
    a改变档案的读取时间记录
    m改变档案的修改时间记录
    c假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样
    f不使用,是为了与其他 unix 系统的相容性而保留
    r使用参考档的时间记录,与 --file 的效果一样
    d设定时间与日期,可以使用各种不同的格式
    t设定档案的时间记录,格式与 date 指令相同
    –no-create不会建立新档案
    –help列出指令格式
    –version列出版本讯息

    2. cat 命令(以打印方式(print)查看文件内容)

    2.1 语法

    cat [-AbeEnstTuv] fileName
    
    • 1

    2.2 例子

    命令效果
    cat a.py查看a.py文件内容

    2.3 参数说明

    参数功能
    -n由 1 开始对所有输出的行数编号
    -b和 -n 相似,只不过对于空白行不编号
    -s当遇到有连续两行以上的空白行,就代换为一行的空白行
    -v使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外
    -E在每行结束处显示 $
    -T将 TAB 字符显示为 ^I
    -A等价于 -vET
    -e等价于"-vE"选项
    -t等价于"-vT"选项

    cat 指令只能查看不能修改。


    3. cp 命令(复制文件或文件夹)

    3.1 语法

    cp [options] path dest/directory
    
    • 1

    3.2 例子

    命令效果
    cp -r a/a.py b将a目录下的a.py复制到 b目录
    cp -r a/ b将a目录下的所有文件复制到新目录 b
    cp -r a b将a文件夹复制到b文件夹下

    3.3 参数说明

    参数功能
    -a此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作
    -d复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
    -f覆盖已经存在的目标文件而不给出提示。
    -i与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
    -p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
    -r若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
    -l不复制文件,只是生成链接文件。

    4. vim命令(编辑、查看文件)

    4.1 语法

    vim filename.xx
    
    • 1

    4.2 例子

    命令效果
    vim a.py查看或编辑 a.py 内容

    没有a.py的话会帮忙新建,之后输入 i 开启编辑模式,编辑结束后按Esc进入一般模式,输入 :wq 后按Enter键保存结果。


    5. rm命令(删除文件或者目录)

    5.1 语法

    rm [options] name...
    
    • 1

    删除文件可以直接使用rm命令,若删除目录(文件夹)则必须配合选项"-r"
    文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

    5.2 例子

    命令效果
    rm a.txt删除当前目录下的a.txt
    rm -r a删除当前目录下的a文件夹
    rm -r *删除当前目录下的所有文件及目录

    5.3 参数

    参数功能
    -i删除前逐一询问确认
    -f即使原档案属性设为唯读,亦直接删除,无需逐一确认
    -r将目录及以下之档案亦逐一删除

    请添加图片描述


    6. mv命令(移动或重命名文件或文件夹)

    6.1 语法

    mv [options] path dest
    mv [options] path directory
    
    • 1
    • 2

    6.2 例子

    命令效果
    mv a b将文件夹a改名为b
    mv a/* .将a下的所有文件和目录移动到当前目录
    mv a/a.py b将a目录下的a.py移动到b目录

    6.3 参数说明

    参数功能
    -b当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
    -i如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
    -f如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件
    -n不要覆盖任何已存在的文件或目录
    -u当源文件比目标文件新或者目标文件不存在时,才执行移动操作

    7. more 命令(按行查看文件)

    类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)。

    7.1 语法

    more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
    
    • 1

    7.2 例子

    命令效果
    more -s a.txt逐页显示 a.txt 文档内容,连续两行以上空白行则以一行空白行显示
    more +2 a.txt从第 20 行开始显示 a.txt 文档的内容

    7.3 参数

    参数功能
    -num一次显示的行数
    -d提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
    -l取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
    -f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
    -p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
    -c跟 -p 相似,不同的是先显示内容再清除其他旧资料
    -s当遇到有连续两行以上的空白行,就代换为一行的空白行
    -u不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
    +/pattern在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
    +num从第 num 行开始显示
    fileNames欲显示内容的文档,可为复数个数

    7.4 常用操作命令

    操作功能
    Enter向下n行,需要定义。默认为1行
    Ctrl+F向下滚动一屏
    空格键向下滚动一屏
    Ctrl+B返回上一屏
    =输出当前行的行号
    :f输出文件名和当前行的行号
    V调用vi编辑器
    !调用Shell,并执行命令
    q退出more

    8. less 命令(分屏查看文件)

    与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

    8.1 语法:

    less [参数] 文件
    
    • 1

    8.2 例子

    命令功能
    less a.log查看文件
    ps -ef less查看进程信息并通过less分页显示
    history less查看命令历史使用记录并通过less分页显示
    less a.txt b.py输入 :n后,切换到 b.py ; 输入 :p 后,切换到 a.txt

    8.3 参数说明

    参数功能
    -b<缓冲区大小> 设置缓冲区的大小
    -e当文件显示结束后,自动离开
    -f强迫打开特殊文件,例如外围设备代号、目录和二进制文件
    -g只标志最后搜索的关键词
    -i忽略搜索时的大小写
    -m显示类似more命令的百分比
    -N显示每行的行号
    -o<文件名> 将less 输出的内容在指定文件中保存起来
    -Q不使用警告音
    -s显示连续空行为一行
    -S行过长时间将超出部分舍弃
    -x <数字>将"tab"键显示为规定的数字空格
    /字符串向下搜索"字符串"的功能
    ?字符串向上搜索"字符串"的功能
    n重复前一个搜索(与 / 或 ? 有关)
    N反向重复前一个搜索(与 / 或 ? 有关)
    b向上翻一页
    d向后翻半页
    h显示帮助界面
    Q退出less 命令
    u向前滚动半页
    y向前滚动一行
    空格键滚动一页
    回车键滚动一行
    [pagedown]:向下翻动一页
    [pageup]:向上翻动一页

    9. head 命令(显示文件开头多少行)

    默认情况下 head 显示文件的前十行。

    9.1 语法

    head filename
    
    • 1

    9.2 例子

    命令功能
    head a.txt查看 a.txt 文件的前 10 行内容
    head -n 7 a.txt查看 a.txt 文件的前 7 行内容

    10. tail 命令(显示文件尾部多少行)

    默认情况下tail显示文件的后十行。

    10.1 语法

    tail a.txt
    
    • 1

    10.2 例子

    命令功能
    tail a.txt查看 a.txt 文件的后 10 行内容
    tail -n 7 a.txt查看 a.txt 文件的后 57行内容
    tail -f a.txt查看 a.txt 文件的后 10 行内容,并实时追踪文件更新

    11. file 命令(查看文件类型)

    11.1 语法

    file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
    
    • 1

    11.2 例子

    命令功能
    file a.py查看a.py文件的参数类型

    11.3 参数

    参数功能
    -b列出辨识结果时,不显示文件名称
    -c详细显示指令执行过程,便于排错或分析程序执行的情形
    -f <名称文件>指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称
    -L直接显示符号连接所指向的文件的类别
    -m <魔法数字文件>指定魔法数字文件
    -v显示版本信息
    -z尝试去解读压缩文件的内容
    [文件或目录…]要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件

    12. find 命令(在指定目录下查找文件)

    12.1 语法

    find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
    
    • 1

    12.2 实例

    find . -name “*.py” 查询当前目录及其子目录下所有文件后缀为 .py的文件
    find . -type f 查询当前目录及其子目录中的所有文件
    find . -ctime 20 查询当前目录及其子目录下所有最近 20 天内更新过的文件

    12.3 参数

    find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
    -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

    参数功能
    -amin n在过去 n 分钟内被读取过
    -anewer file比文件 file 更晚被读取过的文件
    -atime n在过去 n 天内被读取过的文件
    -cmin n在过去 n 分钟内被修改过
    -cnewer file比文件 file 更新的文件
    -ctime n在过去 n 天内创建的文件
    -mtime n在过去 n 天内修改过的文件
    -empty空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
    -ipath p, -path p路径名称符合 p 的文件,ipath 会忽略大小写
    -name name, -iname name文件名称符合 name 的文件。iname 会忽略大小写
    -size n文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组
    -type c文件类型是 c 的文件

    END

    请添加图片描述

  • 相关阅读:
    0-1背包-动态规划
    爱上开源之boot4go-dockerui-剧透篇
    求组合数(递推法)
    canvas绘制渐变色三角形金字塔
    计算机系统(16)----- 调度算法(2)
    搭环境太麻烦?试试一键跑个redis -- 环境准备
    【深度学习】从LeNet-5识别手写数字入门深度学习
    人工智能培训系列1-机构汇总整理
    websocket协议原理
    一文读懂云渲染“串流”全链路时延及优化策略
  • 原文地址:https://blog.csdn.net/cjw12581/article/details/126015714