• linux常用命令


    统计文件,文件夹大小个数相关

    统计文件个数

    ls -l | grep "^-" | wc -l 用于统计当前目录下的普通文件数量,不包括子目录中的文件。
    find ./ -type f | wc -l 用于统计当前目录及其子目录中的普通文件数量,包括子目录中的文件。
    ls -lR | grep "^-" | wc -l R会递归,包括子目录中的文件。
    
    • 1
    • 2
    • 3

    统计文件夹个数

    ls -l | grep "^d" | wc -l 用于统计当前目录数量,不包括子目录。
    find ./ -type d | wc -l  用于统计当前目录数量,包括子目录。
    ls -lR | grep "^d" | wc -l R会递归,包括子目录。
    
    • 1
    • 2
    • 3
    ls -l | grep "^-" | wc -l:
    
    这个命令的步骤如下:
    
    ls -l:列出当前目录下的所有文件和目录,并显示它们的详细信息,其中包括文件类型和权限等信息。
    grep "^-":使用 grep 命令筛选出 ls 命令输出中以短横线 "-"(表示普通文件)开头的行,即文件的详细信息。
    wc -l:使用 wc 命令统计符合条件的行的数量,即普通文件的数量。
    这个命令适用于统计当前目录下的普通文件数量,但它不会递归到子目录中。
    
    find ./ -type f | wc -l:
    
    这个命令的步骤如下:
    
    find ./:使用 find 命令从当前目录(包括子目录)开始递归查找文件和目录。
    -type f:find 命令的选项,表示只匹配普通文件(不包括目录和其他类型的文件)。
    wc -l:使用 wc 命令统计 find 命令输出的行数,即普通文件的数量。
    这个命令适用于统计当前目录及其子目录中的普通文件数量,它会递归地查找所有子目录。
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    显示文件和目录的磁盘使用情况

    du 命令用于显示文件和目录的磁盘使用情况

    -h 选项代表 "human-readable"(人类可读),它使 du 命令以人类友好的方式显示文件和目录的大小。
    当使用 -h 选项时,du 将以 K、M、G 等单位来表示文件和目录的大小,du -h会递归所有子目录。
    du -h
    
    -s 选项代表 "summarize"(汇总),它使 du 命令只显示指定目录的总大小,而不显示子目录的详细大小。
    当使用 -s 选项时,du 只显示指定目录的大小,不会递归显示子目录的大小。
    du -sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    ls用法

    ls 是最基本的列出文件和目录的命令。默认情况下,它列出当前目录的内容,以简洁的方式显示文件和目录的名称。
    
    常见用法:
    ls:列出当前目录的内容。
    ls /path/to/directory:列出指定目录的内容。
    ls -l:以长格式(详细信息)列出文件和目录的信息。
    ll 和 ls -l 一样。
    ls -a:包括以点号开头的隐藏文件和目录。
    ls -lh:以人类可读的方式显示文件大小。  等于 ll -h
    ls -r:以反序(逆序)方式列出文件和目录。默认情况下,ls 是按升序排列的
    ls -t:按文件和目录的最后修改时间进行排序,最新的文件/目录排在前面。
    ls -R:递归列出目录及其子目录中的文件和目录。这将显示完整的目录结构。
    ls -G:在终端中以彩色方式显示文件和目录,以区分它们的类型。
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    find

    根据文件名或目录搜索
    find -name "a.json"
    find "a"
    find -name "a"
    按文件类型搜索:使用 -type 选项可以按文件类型搜索。常见的文件类型包括 f(普通文件)和 d(目录)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    echo

    通常用于脚本编程、打印消息或在终端上显示文本

    使用 echo 命令可以输出指定的文本,例如:echo "Hello, World!"
    变量打印输出  var='Hello" echo $var 
    将内容hello写入.txt     echo "hello" > a.txt
    
    
    • 1
    • 2
    • 3
    • 4

    vim

    Vim(Vi IMproved)是一个强大的文本编辑器,广泛用于Unix和Linux系统,以及其他操作系统上。Vim具有丰富的功能和灵活的定制选项,但对于初学者来说,可能需要一些时间来适应它的使用方式。以下是一些常用的Vim指令和快捷键:
    
    打开和保存文件:
    
    打开文件:vim filename,其中 "filename" 是您要编辑的文件名。
    保存文件:按下 Esc 键,然后输入 :w 并按回车键。
    保存并退出:按下 Esc 键,然后输入 :wq 并按回车键。
    退出 Vim:
    
    不保存退出:按下 Esc 键,然后输入 :q! 并按回车键。
    保存后退出:按下 Esc 键,然后输入 :wq 或 :x 并按回车键。
    
    向上滚动:按下 k 键。
    向下滚动:按下 j 键。
    向左滚动:按下 h 键。
    向右滚动:按下 l 键。
    移动到行首:按下 0 键。
    移动到行尾:按下 $ 键。
    
    插入和编辑文本:
    进入插入模式:按下 i 键。
    进入追加模式(在光标之后插入):按下 a 键。
    进入行尾插入模式:按下 A 键。
    剪切一行:按下 dd。
    复制一行:按下 yy。
    粘贴剪切或复制的文本:按下 p 键。
    拷贝:按下 v 键,选择文本后按 y 键。
    剪切:按下 v 键,选择文本后按 d 键。
    粘贴:按下 p 键来粘贴到光标后,或按下 P 键来粘贴到光标前。
    
    复制多行文本,你可以使用以下步骤:
    打开Vim并进入正常模式(按下Esc键)。
    移动光标到要复制的第一行的行首。
    按下 v 键,这将进入可视模式。
    使用方向键或 j(向下移动一行)和 k(向上移动一行)等移动光标,以选择要复制的文本块。文本将会被高亮选择。
    一旦选择了要复制的文本,按下 y 键来将其复制到剪贴板。这会将所选文本复制到Vim的剪贴板(也称为寄存器)中。
    移动光标到你想要粘贴的位置,然后按下 p 键将复制的文本粘贴到光标位置之后。
    这样,你就可以在Vim中复制多行文本并将其粘贴到其他位置了。如果你想剪切文本而不是复制,可以在第5步中使用 d 键代替 y 键来删除所选文本
    
    撤销和重做:
    撤销:按下 u 键。
    重做:按下 Ctrl + r 键。
    
    分屏和窗口:
    分屏:按下 Ctrl + w,然后按下 s(水平分屏)或 v(垂直分屏)。
    切换窗口:按下 Ctrl + w,然后按下 h、j、k 或 l。
    这只是 Vim 中的一些基本操作。Vim 有更多强大的功能和快捷键,您可以通过阅读其文档或在线教程来深入学习和掌握它。要了解更多关于 Vim 的信息,您可以在终端中键入 vimtutor 命令来启动 Vim 的教程。
    
    查找和替换:
    替换当前行的文本:
    :s/old_text/new_text/:将当前行中的第一个匹配的 "old_text" 替换为 "new_text"。
    :s/old_text/new_text/g:将当前行中的所有匹配项 "old_text" 替换为 "new_text"。
    替换整个文件中的文本:
    :%s/old_text/new_text/:将整个文件中的第一个匹配的 "old_text" 替换为 "new_text"。
    :%s/old_text/new_text/:将整个文件中的所有匹配项 "old_text" 替换为 "new_text"。
    :%s/old_text/new_text/g:将整个文件中的所有匹配项 "old_text" 替换为 "new_text"。
    仅替换某行范围内的文本:
    :n1,n2s/old_text/new_text/:在第 n1 行到第 n2 行之间仅替换第一个匹配的 "old_text"。
    :n1,n2s/old_text/new_text/g:在第 n1 行到第 n2 行之间替换所有匹配项 "old_text"。
    
    查看当前行是第几行 :echo line('.')
    删除第二行到最后的数据 :2,$d
    删除当前行到最后的数据 :.,$d
    重命名文件 mv old_filename new_filename
    重命名交互模式: mv -i old_filename new_filename  添加-i选项以启用交互式模式,系统将提示你在覆盖文件时进行确认。
    移动并重命名文件: mv old_path/filename new_path/new_filename
    批量重命名: mv file1.txt file2.txt file3.txt new_directory/
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
  • 相关阅读:
    hadoop报错:HADOOP_HOME and hadoop.home.dir are unset. 解决方法
    Linux下线程池(ThreadPool)
    web前端面试题附答案008-你项目中的TDK是怎么赋值的?(这道题很容易暴露项目经验)
    Excel函数公式大全—LOOKUP函数
    C语言每日一题(34)链表的回文结构
    C# 连接SQL Sever 数据库与数据查询实例 数据仓库
    Ruoyi-vue 多文件上传, 多文件选择打包(zip)下载
    后端进阶知识 Buffer pool 图文详解 之 free链表
    【JavaSE】基础笔记 - 类和对象(下)
    大都会人寿线下培训第四天回顾
  • 原文地址:https://blog.csdn.net/brytlevson/article/details/132852253