• linux下常用命令


    内存磁盘

    free查看内存使用

    free -h
    
    • 1

    df查看磁盘使用

    df -h 
    
    • 1

    进程管理

    ps 显示当前进程状态类似于window的任务管理器

    # 查看本机运行的所有java进程
    ps -ef|grep java
    # 或者
    ps -aux|grep java
    
    • 1
    • 2
    • 3
    • 4

    jps jdk自带进程

    # 查看本机运行的java进程情况
    jps
    
    • 1
    • 2

    杀死进程

    kill -9 pid
    # 杀死所有进程
    killall -9 java
    
    • 1
    • 2
    • 3

    vi/vim 命令

    三种工作模式

    • 命令模式(Command mode)
      命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能
      此模型下,不能自由进行文本编辑
    • 输入模式(insert mode)
      也就是所谓的编辑模式,插入模式,需要输入i才能开始编辑
      此模式下,才可以对文本内容进行自由编辑
    • 底线命令模式(Last line mode)
      : 开始,通常用于文件的保存,退出。
      :q 退出
      :w 保存
      :wq 保存退出
      :wq! 强制保存退出
      在明亮模式下按下**shift+zz**可以实现快速的保存退出

    打开文件

    # 如果打开文件不存在则新建文件
    vim /path/file
    
    • 1
    • 2

    光标移动

    • 方向键控制移动
    • 翻页 pageup pagedown
    • 行首(home 0)行尾(end $)
    • 跳到文件的最后一行 G
    • 跳到文件的第一行 gg

    复制针贴

    • 复制
      yy 复制光标当前所在行的内容
      nyy 复制当前行往下n行
    • 粘贴
      p 当前行的下一行粘贴
      P 当前行的上一行粘贴

    删除命令

    dd 删除光标所在当前行内容
    ndd 删除当前行往下n行
    
    • 1
    • 2

    撤销、反撤销

    u 撤销上一步的操作(后悔药)
    ctrl+r 反撤销
    
    • 1
    • 2

    文件操作

    拷贝一个文件到多个文件夹

    同时把redis.conf拷贝到7001,7002,7003三个文件夹

    echo 7001 7002 7003 | xargs -t -n 1 cp redis-6.2.4/redis.conf
    
    • 1

    一键修改多个文件的同一个参数

    一键修改7001 7002 7003 8001 8002 8003中6379替换问与所在目录一致
    比如/tmp/7001/redis.conf中的6379改为7001

    printf '%s\n' 7001 7002 7003 8001 8002 8003 | xargs -I{} -t sed -i 's/6379/{}/g' {}/redis.conf
    
    • 1

    SED命令修改文件内容

    修改配置文件redis.conf,将端口6379改为7001,将rdb文件保存位置"dir ."修改为dir /tmp/7001/

    sed -i -e 's/6379/7001/g' -e 's/dir .\//dir \/tmp\/7001\//g' 7001/redis.conf
    
    • 1

    echo输出到文件

    echo 111 > 1.txt
    
    • 1

    多文件操作,一键启动多个程序

    主要用于redis分片集群

    printf '%s\n' 7001 7002 7003 8001 8002 8003 | xargs -I{} -t redis-server {}/redis.conf
    
    • 1

    查找30天前的文件

    find / -mtime +30   # 查找修改时间在30天前的文件
    # 显示20分钟前的文件
    find /home -type f -mmin +20  -exec ls -l {} \;
    显示20天前的文件
    find /home -type f -mtime +20  -exec ls -l {} \;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下面为find命令的参数说明:

    • -name
      按照文件名查找文件。
    • -perm
      按照文件权限来查找文件。
    • -prune
      使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
    • -user
      按照文件属主来查找文件。
    • -group
      按照文件所属的组来查找文件。
    • -mtime -n +n
      按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
    • -nogroup
      查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
    • -nouser
      查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
    • -newer file1 ! file2
      查找更改时间比文件file1新但比文件file2旧的文件。
    • -type
      查找某一类型的文件,诸如:
      b - 块设备文件。
      d - 目录。
      c - 字符设备文件。
      p - 管道文件。
      l - 符号链接文件。
      f - 普通文件。

    -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
    -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
    -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
    -mount:在查找文件时不跨越文件系统mount点。
    -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
    -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

    删除前一分钟文件

    # 删除一分钟前 /tmp/warn/目录下所有文件
    find /tmp/warn/ -type f -mmin +1 -name "*" -exec rm -rf {} \;
    # 删除一分钟前 /tmp/warn/目录下所有图片
    find /tmp/warn/ -type f -mmin +1 -name "*.jpg" -exec rm -rf {} \;
    
    • 1
    • 2
    • 3
    • 4

    删除前几天文件

    # 删除前7天的文件
    find logs/ -type f -mtime +7 -exec rm -f {} \;
    # 删除前7天的文件夹
    find logs/ -type d -mtime +7 -exec rm -f {} \;
    
    • 1
    • 2
    • 3
    • 4

    日期时间

    linux下文件有3个时间,分别是atime, mtime, ctime,具体含义如下:

    简名全名中文名含义
    atimeaccess time访问时间文件中的数据库最后被访问的时间
    mtimemodify time修改时间文件内容被修改的最后时间
    ctimechange time变化时间文件的元数据发生变化。比如权限,所有者等

    date命令查看时间

    date
    date -s
    
    • 1
    • 2

    cal命令显示当前日历

    cal
    
    • 1
  • 相关阅读:
    LoRA和QLoRA微调语言大模型:数百次实验后的见解
    C# WPF入门学习主线篇(三十三)—— 使用ICommand实现命令绑定
    appium+python自动化测试
    HCNP Routing&Switching之MAC地址防漂移
    获取在 Windows 10/11 上编辑 PDF 的 6 大方法(免费)
    2022-2023年度必备宇宙最全Windows系统软件清单
    【十分钟】manim安装 2022
    【Docker容器】Docker容器日志查询工具dozzle的安装与使用
    Elasticsearch:使用向量化和 FFI/madvise 加速 Lucene
    mysql优化之show profile的使用及分析
  • 原文地址:https://blog.csdn.net/Blueeyedboy521/article/details/124918304