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/*"

浙公网安备 33010602011771号