Linux下vi常用操作、常用命令

Linux下vi常用操作

:set nu 显示行号        :set nonu 取消显示行号

gg光标到文档头    G到文档尾       ggVG 选中全文

dd 删除/剪切光标所在行:   5dd删除/剪切光标以下5行   (delete/cut)

yy 复制光标所在行 :  20yy  复制光标向下20行       (yank,“复制”,比喻将文本从文件中“提取”、“拉拽”出来)

p 复制的数据粘贴在光标下一行    P复制的数据粘贴在光标上一行    (paste)

/pattern向文件搜pattern,n继续搜索下一个      ? pattern向文件搜pattern,#继续搜索上一个

u  undo     [Ctrl]+r   redo

:s/URL/https/    替换光标所在行第一个URL为https

:%s/URL/https/igc    在整个文档中向下寻找URL并注意询问用户是否替换。参数:g直接全部替换,i忽略大小写搜索,c逐一给用户确认

 

ctrl+v 列模式

多行加注释: ctrl+v进入可视模式;方向键上下选择要加的行;I开始在首行的当前光标位置切换为insert模式;输入字符后按ESC即自动在多行行首加入同样字符;

多行去注释: ctrl+v进入可视模式;方向键上下择定去掉字符的方块区域;d或x直接删除;

 

https://github.com/chloneda/vim-cheatsheet?tab=readme-ov-file

 

Linux常用命令

1. grep

2. ps   (https://man7.org/linux/man-pages/man1/ps.1.html)

  分UNIX(参数以-起始)、BSD(不用任何-)、GNU(--)三种格式,

  ps -ef  =  ps aux     //To see every process on the system

  ps -eLf  =  ps axms     //To get info about threads:

  ps -ejH  =  ps axjf    //To print a process tree:

       To get security info:
          ps -eo euser,ruser,suser,fuser,f,comm,label
          ps axZ
          ps -eM

       To see every process running as root (real & effective ID) in user
       format:
          ps -U root -u root u

       To see every process with a user-defined format:
          ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
          ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
          ps -Ao pid,tt,user,fname,tmout,f,wchan

       Print only the process IDs of syslogd:
          ps -C syslogd -o pid=

       Print only the name of PID 42:
          ps -q 42 -o comm=

  

3. tar

只打包不压缩:
  tar -cvf xxx.tar xxx   #将xxx目录或文件 打包成xxx.tar,不带z/f表示只打包不压缩
#打压缩包:
  tar -czvf ***.tar.gz ***
  tar -cjvf ***.tar.bz2 ***
#解压缩:(GNU tar 1.16版本(2005年9月发布)开始可以自动根据要解压的文件的后缀名判别格式,所以最简略用法可以只用xf两个选项即可。)
  tar -xzvf ***.tar.gz
  tar -xjvf ***.tar.bz2
  tar -xJvf ***.tar.xz
只解包不解压:
  tar -xvf ***.tar         #若文件较多可以不带v,带v会滚刷屏
 
 
参数:
-c  :新建(create)打包文件,这个是只打包不压缩;预备压缩专用;
-x  :解开一个压缩档案;解压专用;
-t  :查看 tarfile 里面的档案,【tar -tf /tmp/test.tar】;
特别注意, c/x/t 仅能存在一个!不可同时存在。不可能同时压缩与解压缩。
 
-r :追加文件,只能追加到tar包,不能追加到压缩包;【tar -rvf /tmp/test.tar /etc/file1.txt file2.txt】
 
-z  :是否同时用 gzip 压缩?将以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
-j  :是否同时用 bzip2 压缩?将以 .tar.bz2 来代表bzip2压缩过的 tar file ~
-J  :是否同时用 xz 压缩?将以 .tar.xz来代表xz压缩过的 tar file ~
 
 
-v  :压缩的过程中显示详细信息(各个档案名称)。这个常用,但不建议用在背景执行过程!
-f  :指定了要操作的存档文件的名称。在参数 f 之后要立即接档名,f要作为最后一个选项参数,f后不要再加参数。
 
!!!【c还是x选一;      z还是j/J看后缀名选一或者都不选光打包;         vf可闭眼都用;】
gzip(-z)的速度快一些,而bzip2(-j)要压得狠一些. 建议j。但是z普遍些。
 -P :忽略根目录警告;
 
gz:使用 DEFLATE 算法。压缩比通常在 2:1 到 3:1 之间。解/压速度较快。不支持多文件压缩。通常用于压缩单个文件。适用于需要快速压缩和解压的场景,如 Web 服务器上的静态资源压缩、日志文件压缩等。
bz2:使用 Burrows-Wheeler 变换和 Huffman 编码。压缩比通常在 3:1 到 4:1 之间。压缩速度较慢,解压中等。不支持多文件压缩。通常用于压缩单个文件。适用于需要较高压缩比的场景,如备份和归档。
xz:使用 LZMA2 算法。最高,压缩比通常在 4:1 到 5:1 之间。压/解比 Gzip 和 Bzip2 都慢。支持多文件压缩。适用于需要最高压缩比的场景,如大型数据集的归档和传输。

 

4、find

简介:用于‍‍‍在指定目录下查找文件和目录。‍‍‍‍‍

作用:‍‍可以用文件名、文件类型、文件大小等条件查找文件和目录。

快速学习:

- 指令格式:find [查找路径] [参数] [具体参数表达式]

- 常用参数:-name、-type、-size,其中name最常用,其他参数可自行学习‍

①name后接名称或者不清楚的部分用*代替即可‍

②type的类型选项:

  d 表示目录

  f 表示普通文件

  l 表示符号链接

  c 表示字符设备文件

  b 表示块设备文件

  s 表示Socket文件

  p 表示named管道文件‍‍‍‍‍(FIFO)

另可:

    • 使用 -path "*parent/*" 可以匹配路径中包含 parent 文件夹及其子文件夹的文件:  find /home/user -path "*parent/child*"

  • 使用 -regex ".*/parent/.*" 可以通过正则表达式实现更灵活的路径匹配:find /home/user -regex ".*/parent/.*"

  • 结合 -type 和 -not 可以进一步过滤文件类型或排除特定路径:   find /home/user -path "*parent/*" -not -path "*parent/child2/*" 

 

posted @ 2025-03-16 23:02  云山漫卷  阅读(108)  评论(0)    收藏  举报