• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

一. vim编辑器

默认安装Vi,需要通过yum install vim -y y安装vim。

a,I,o打开编辑模式,q退出,q!强制退出,wq[x]保存退出,wq!【x!]强制保存退出,u返回上一操作,ctrl r返回下一操作。

Shift $:将光标移动到行尾,按0返回到行首。

Gg:光标移动到列首,按G返回到列尾,3(n)G移动到特定行。

h:跳到屏幕的第一行。

m:跳到屏幕中间。

l:跳到屏幕底部。

Dd:将光标移动到目标行,按dd删除。

3(n)dd:删除多行操作

P:按dd后,光标移动到目标行,按P执行切割操作。

3(n)dd p:按下3(n)dd后,光标移动到目标行,按P剪切多行。

批处理取消注释:

前提:评论的行需要排列整齐。

1.在命令模式下,按ctrl+v进入可视块。

2.上下键选择#。

3.按D删除。

批量注释:

前提:评论的行需要排列整齐。

1.将光标移动到第一行的开头。

2.在命令模式下,按ctrl+v进入可视块。

3.向上和向下键选择第一列。

4.shift i,然后输入#

5.连续按esc键两次,完成批量操作。

复制一行:

将光标移动到行位置,然后按yy。

将光标移动到目标行的任意位置,然后按3 [n] p [p]

复制多行:

将光标移动到行位置,然后按3(n)yy。

将光标移动到目标线的任意位置,然后按p。

找到:

/找什么:n/N表示上下移动。

扩展模式的操作(esc :)

3360% s/engon/egon/g:进入扩展模式,将所有egon改为egon(%代表所有行,s代表替换,/代表分隔符,g代表从左到右的每一行)

:1 s/engon/EGON/g/g:表示只替换一行。

:1,3 s/engon/EGON/g/g:表示替换1-3行。

33603,$ s/engon/egon/g:表示替换第三行之后的所有行。

3360% s/engon/egon/g:表示只替换开头的egon。

3360% s/engon $/egon/g:表示只替换egon的结尾。

3360% s/engon/MMM/g (i):表示用MMM替换engon区分大小写(添加I替换all)

33603,5 w/root/b.txt:表示将当前文件的3-5个内容写入b.txt文本文件。

:r /etc/hosts:表示将内容从另一个文件读取到当前文件。

3360 set (no) nu:设置行号(取消行号)

3360SET (NO) IC:设置不区分大小写(区分大小写)

3360 set (no) AI:设置缩进

Vim /etc/vimrc:修改添加文件的配置将永久生效。

vimdif的手动修补和路径修补

Vim a.txt,b.txt:要查看a.txt和b.txt文件的区别,按Ctrl两次,按W切换文件进行编辑。

Diff a.txt b.txt:效果同上。

补丁:

Diff -u 1.txt 2.txt a.diff #主要由2.txt文件组成。

Diff -u 2.txt 1.txt b.diff #主要是一个1.txt文件。

1.txt a.diff #给1.txt文件打补丁,把它变成和2.txt一样的文件。

Vim同时编辑多个文件:

vim -o a.txt b.txt

编辑a.txt文件后按住Ctrl W键两次,编辑b.txt文件后按esc键保存退出。

Vim交换文件:

Vim编辑文件不保存不关闭,vim会生成一个交换文件(正常保存退出,编辑后自动删除),可以恢复。

Vim -r a.txt(未保存的文件)

二。文档处理三剑客

1.sed流编辑器

对比sedvim

1).sed可以先编写处理文件的规则(' p ',' d '),然后用同一套规则编辑多个文件,而vim只能一个一个编辑——可以用一套规则处理多个文件。

2).sed处理文件,一次只处理一行,也就是同一时间内存中只有一行内容,而且文件再大也不会对内存造成过大的压力——可以用来处理大文件。

如何使用sed

选项sed“规则”文件

Sed '' a.txt:规则为空,文件正常输出。

选项:

-n:取消默认输出

-i:输出到屏幕的内容(规则处理的结果是默认的输出结果)流向文件。

规则:导航命令

定位方法:

行号定位:

Sed '1p' a.txt打印第一行

Sed '1,3p' a.txt打印第一、二、三行。

sed ' 1p5p' a.txt打印第一行和第五行。

常规定位:

Sed '/egon$/d' a.txt:删除egon结尾的那一行。

Sed'/egon/p 'a.txt: put egon

开头的行复制
sed '/egon$/p' a.txt:将egon结尾的行复制
sed 's/egon/EGON/(g)' a.txt:将egon替换成EGON
sed '1,3s/egon/EGON/' a.txt:将1到3行的egon替换成EGON
ifconfig | sed 's/ens33/eth0/':搭配管道符号进行文本文件操作
命令:
d
p
s///gi

2.awk 处理有规律的文本
主要擅长处理有规律的文本,主要用于做一些格式化处理

awk 选项 '规则' 文件路径

选项:
-F:指定分隔符
规则:定位+命令
行号定位:NR
awk -F: 'NR == 3{print $1,$3}' /etc/passwd:打印第三行第1段到第3段的内容
awk -F: 'NR >=3 && NR <=5{print $1,$3}' /etc/passwd:打印第三到五行第1段到第3段的内容
awk -F: 'NR =3 || NR =5 ||NR=7{print $1,$3}' /etc/passwd:打印第三到五行第1段到第3段的内容
awk -F: '$1 == "root"{print $0}' /etc/passwd:打印第一段为"root"的内容
awk -F: 'NR>=1 && NR<=3 && $1 == "root"{print $0}' /etc/passwd:加上行数约束条件

正则定位:
awk -F: '//{print $1,$5}' 文件路径:打印第1段到第5段的内容
没有定位代表定位所有行

命令:
{print $n}

3.grep 从一堆杂乱无章的内容中过滤出我们想要的内容
擅长过滤

grep 选项 "过滤规则" 文件

grep -n "root" /etc/passwd:显示行号
grep -i "root" /etc/passwd:忽略大小写
grep -l "root" /etc/passwd:如果文件中但凡是存在root的行就算过滤成功,会返回文件名
grep -rl "root" /etc/:扫描/etc文件夹下,但凡存在root的行过滤出来,会返回文件名

ps aux:查看所有进程
ps aux | grep "sshd":过滤查看sshd的进程信息,找到pid
kill -9 pid号:杀掉进程

windows系统查看进程/杀进程
1.ctrl+alt+delete键,进入任务管理器,选中进程右键,关闭进程
2.
win+r,输入cmd命令
tasklist:查看所有进程
tasklist | findstr "WeChat":查看微信进程,找到pid
taskkill /F /PID pid号:杀掉进程
ps:天然支持管道
三.文件查找命令find
四.文件的上传与下载

 

 

三.文件查找命令find
1.按文件名查找
find 文件路径 -name "文件名"
find /etc -name "ifcfg-ens33":区分大小写
find /etc -iname "ifcfg-ens33":不区分大小写
find /etc -name "ifcfg-*":按通配符查找
2.按文件大小查找
find 文件路径 -size 文件大小
find /etc -size +3M
find /etc -size -3M
3.按文件和大小条件同时成立查找
find / -name "ifcfg-*" -a -size +3M:-a表示同时成立
find / -name "ifcfg-*" -o -size +3M:-o表示任一成立
3.按文件属主/属组条件查找
find /home -user egon -group egon:查找属主和属组都是egon的文件
id root:查看root的用户信息
stat a.txt:查看文件a.txt的信息
4.xargs连接find查找管道
find /home -nouser -nogroup | xargs rm -rf:删除无属主和属组的用户,xargs起到连接管道输入的作用
find /etc/ -name "ifcfg-ens33" | xargs -I {} cp -rv {} /test:使用xargs连接管道输入复制文件
find /etc/ -name "ifcfg-ens33" | xargs -I {} mv {} /test:移动文件
find /etc/ -name "ifcfg-ens33" | xargs -I {} chown root.root {}:给文件赋权

 

 

四.文件上传下载:
wget(curl) -O /test/a.tar.gz http://链接地址:下载安装包,指定路径且可重命名
while true;do curl http://链接地址;done:压力测试,curl命令在于访问链接,但是不下载保存,不断向服务端发送请求。;勿漏
while true;do curl http://链接地址;sleep 1;done:间隔1秒执行

yum install lrzsz -y:下载linux与windows系统连接的安装包(lrzsz)
sz /test/1.jpg:将linux文件拖到windows系统目录界面
rz windows系统文件:将windows系统文件图片等上传至linux

 

 

五.输出与重定向:
输出:
ifconfig > a.txt:将ifconfig打印到屏幕的内容覆盖到a.txt文本中
pwd >> a.txt:将pwd打印到屏幕的内容追加到a.txt文本中
ifconfig xssxx 1> a.txt 2> b.txt:输入分流,将执行成功的信息覆盖到a.txt,执行错误的信息覆盖到b.txt
ifconfig xssxx 1>> a.txt 2>> b.txt:输入分流,将执行成功的信息追加到a.txt,执行错误的信息追加到b.txt
ifconfig wasds &> c.txt:将执行的结果无论成功,错误都覆盖到c.txt
ifconfig wdsad &> /dev/null:将不需要打印的信息丢到黑洞文件夹
输入:
cat > d.txt < /etc/hostname:将hostname文件的内容覆盖到d.txt中
cat >> d.txt < /etc/hostname:将hostname文件的内容追加到d.txt中
cat > d.txt <<EOF:将键盘输入的内容覆盖到d.txt中,输入完毕,输入EOF回车结束
cat >> d.txt <<EOF:将键盘输入的内容放追加到d.txt中,输入EOF回车结束

 

 

六.字符处理命令:
sort -t ':' -k2 -n a.txt:以":"为分隔符,将a.txt中第二列内容顺序排列
sort -t ':' -k2 -n -r a.txt:以":"为分隔符,将a.txt中第二列内容绛序排列
sort a.txt |uniq:将a.txt中内容去重输出
sort a.txt |uniq -c:将a.txt中内容去重输出且标记重复次数
sort a.txt |uniq -d:将a.txt中内容重复的记录输出
sort a.txt |uniq -u:将a.txt中内容非重复的记录输出

head -5 /etc/passwd | cut -d: -f1:将/etc/passwd文件前5行,第一段内容打印出来
head -5 /etc/passwd | cut -d: -f1-3:将/etc/passwd文件前5行,第一段至第三段内容打印出来
head -5 /etc/passwd | cut -d: -f1,3:将/etc/passwd文件前5行,第一段和第三段内容打印出来

head -1 /etc/passwd | tr -d root:将/etc/passwd文件前1行,root字符删除
head -1 /etc/passwd | tr root Root:将/etc/passwd文件前1行,root字符替换成Root(注:逐一替换)

wc -c /etc/passwd:统计/etc/passwd单词个数
wc -l /etc/passwd:统计/etc/passwd文件行数

 

 

七.打包压缩:
打包—>把多个东西扔到袋子里
压缩—>把袋子的空间挤压一下

方式一:
打包压缩:
tar cvf bak.tar /etc/hosts:将/etc/hosts目录下的文件打包到当前文件夹(bak.tar)
tar cvzf bak.tar.gz /etc/hosts:将/etc/hosts目录下的文件打包并压缩到当前文件夹
tar cvzf `date "+%Y+%m+%d"`_bak.tar.gz /etc/hosts:将/etc/hosts目录下的文件打包到当前文件夹,带上打包日期(``代表获取结果)
tar cvjf bak.tar.bz2 /etc/hosts:将/etc/hosts目录下的文件打包并压缩到当前文件夹

解压:
tar xvf bak.tar.gz:将bak.tar.gz解压到当前文件夹
tar xvf bak.tar.gz -C /test:将bak.tar.gz解压到test文件夹下
gzip bak.tar:将bak.tar压缩包解压到当前文件夹(gzip压缩算法)
bzip2 bak.tar:将bak.tar压缩包解压到当前文件夹(bzip2压缩算法)

方式二:
zip bak.zip /root/a.txt /etc/hostname:将/root/a.txt,/etc/hostname文件打包并压缩到当前文件夹
unzip bak.zip:将bak.zip压缩包解压到当前文件夹
unzip bak.zip -d /test:将bak.zip压缩包解压到test文件夹

Link to comment
Share on other sites