- vi、vim命令的三种模式
模式 | |
---|---|
编辑 | 命令模式,按键具有编辑文本功能:默认打开进入编辑模式 |
输入 | 按键本身意义 |
末行 | 接受用户命令输入 |
- 编辑–>输入
i | 在当前光标所在字符的前面,转为输入模式 |
---|---|
a | 在当前光标所在字符的后面,转为输入模式 |
o | 在当前光标所在行的下方,新建一行,并转为输入模式 |
O | 在当前光标所在行的上方,新建一行,并转为输入模式 |
I | 在当前光标所在行的行首,转换为输入模式 |
A | 在当前光标所在行的行尾,转换为输入模式 |
-
输入–>编辑
ESC键
-
末行–>编辑
ESC键
-
编辑模式
移动光标 | 字符:h: 左;j: 下;k: 上;l: 右, w: 移至下一个单词的词首; e: 跳至当前或下一个单词的词尾; b: 跳至当前或前一个单词的词首; 0: 绝对行首; ^: 行首的第一个非空白字符; $: 绝对行尾; G:文章末尾; 3G:第3行; gg:文章开头; ctrl:f,b |
---|---|
删除&替换单个字符 | x:删除光标位置字符; 3x:删除光标开始3个字符; r:替换光标位置字符 |
删除命令 | dw,dd |
复制粘贴 | –yw,yy,p |
撤销&重做 | –u 撤销; ctrl+r重做撤销的操作; . 重复上一步的操作 |
- 末行模式 shift+:
关键字 | 用法 |
---|---|
set: 设置 | set nu number set nonu set readonly |
/: 查找 | /after ?向上查找r n,N向下查找 |
!:执行命令 | :!ls -l / |
s查找并替换 | s/str1/str2/gir /:临近s命令的第一个字符为边界字符:/,@,#; g:一行内全部替换; i:忽略大小写 n:行号 .:当前光标行 +n:偏移n行 : 末 尾 行 , :末尾行, :末尾行,-3 %:全文 |
熟练使用vi,vim命令
-
了解正则表达式在linux命令中的使用:grep 命令
- grep:显示匹配行
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件以 text 文件的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! --color=auto :可以将找到的关键词部分加上颜色的显示喔!
-
基础正则表达式
正则表达式字符 含义 ^word 查找以word开头的文本 word$ 查找以word结尾的文本 . 代表任意字符 \ 转义字符 * 0–多个字符 [abc] 代表一个字符,这个字符是a或b或c [a-z];[0-9] 代表a到z中的一个字符;0到9中的一个数字 [^abc] 代表以abc开头的字符 {m,n} m到n个字符 -
扩展正则表达式
正则表达式字符 含义 + 一个或多个字符 ? 零个或一个字符 | 或 ,连接符 () 分组 -
了解文本分析命令(只要了解)
- cut命令 和wc命令 : 熟练
- sort命令 :熟练
- sed : 了解
- awk :了解
文本分析命令 释义 cut 显示切割的行数据,取出某些指定的列
f:选择显示的列
s:不显示没有分隔符的行
d:自定义分隔符
eg: cut -d ’ ’ -s -f3 cutsort 排序文件的行
n:按数值排序
r:倒序
t:自定义分隔符
k:选择排序列
u:合并相同行
f:忽略大小写
eg: sort -t’ ’ -k2 sort;sort -t’ ’ -n -r -k2 sortwc word count 统计
行数 单词数 字节数
-c:字节数
-m:字符数
-l:行数
-w:单词的个数sed行编辑器 –sed [options] ‘AddressCommand’ file … awk文本分析工具 格式:awk [options] ‘script’ var=value file(s) #######sed的匹配模式支持正则表达式##################### sed'5 q'/etc/passwd#打印前5行 sed-n '/r*t/p'/etc/passwd#打印匹配r有0个或者多个,后接一个t字符的行 sed-n '/.r.*/p'/etc/passwd#打印匹配有r的行并且r后面跟任意字符 sed-n '/o*/p'/etc/passwd#打印o字符重复任意次 sed-n '/o\{1,\}/p'/etc/passwd#打印o字重复出现一次以上 sed-n '/o\{1,3\}/p'/etc/passwd#打印o字重复出现一次到三次之间以上 #修改ip sed "s/\(IPADDR=\(\([0-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-4][0-9]\|25[0-5]\\)\.\)\{3\}\).*/\199/" -i ifcfg-eth0
awk语法格式 awk [options] 'script' var=value file(s) awk [options] -f scriptfile var=value file(s) awk 'BEGIN{ commands } pattern{ commands } END{ commands }' file awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename awk "BEGIN{ i=0 } { i++ } END{ print i }" filename
-
掌握用户权限命令
- chmod,chgrp 修改属组
- rw-r–r-- 文件权限的规则
chmod用于改变文件或目录的访问权限,它控制文件或目录的访问权限。 $ ls -l sobsrc. tgz -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz 横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。 例如: – rw- r– r– 普通文件 文件主 组用户 其他用户 例如最高位表示文件所有者权限数值,当数字为7时,7用“rwx”表示 –{4(r)+2(w)+1(x)=7}–又如果数值为6,则用“rw-”表示–{4(r)+2(w)+0(x)=6}–,”-”表示不具备权限,这里表 示不具备“执行”权限。 假如我们设定其他用户的访问权限为 “r–”,则数值为4+0+0=4 权限 数值 rwx rw- r– 764 rw- r– r– 644 rw- rw- r– 664 chmod [who] [+ | – | =] [mode] 文件名¼ u 表示“用户(user)”,即文件或目录的所有者。 g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。 o 表示“其他(others)用户”。 a 表示“所有(all)用户”。它是系统默认值。 操作符号可以是: + 添加某个权限。 – 取消某个权限。 = 赋予给定权限并取消其他所有权限(如果有的话)。 设置mode所表示的权限可用下述字母的任意组合: r 可读。 w 可写。 x 可执行。 X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。 s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。 t 保存程序的文本到交换设备上。 u 与文件属主拥有一样的权限。 g 与和文件属主同组的用户拥有一样的权限。 o 与其他用户拥有一样的权限。 -c : 若该档案权限确实已经更改,才显示其更改动作 -f : 若该档案权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) –help : 显示辅助说明 –version : 显示版本 chgrp命令 功能:改变文件或目录所属的组。 -c或–changes 效果类似”-v”参数,但仅回报更改的部分。 -f或–quiet或–silent 不显示错误信息。 -h或–no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。 -R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。 -v或–verbose 显示指令执行过程。 –help 在线帮助。 –reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。 –version 显示版本信息。 chown 命令 功能:更改某个文件或目录的属主和属组。 例如root用户把自己的一个文件拷贝给用户yusi,为了让用户yusi能够存取这个文件,root用户应该把这个文件的属主设为yusi,否则,用户yusi无法存取这个文件。 例1:把文件test的所有者改为gaoa。 $ chown gao test 例2:把目录/test及其下的所有文件和子目录的属主改成gao,属组改成root。 $ chown - R gao.root /test
-
掌握:ps 查看进程,netstat -ntpl 查看网络
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
套接口类型:
-t :TCP
-u :UDP
-raw :RAW类型
--unix :UNIX域类型
--ax25 :AX25类型
--ipx :ipx类型
--netrom :netrom类型
状态:
LISTEN:侦听来自远方的TCP端口的连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)
ESTABLISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态
常用命令:
1.显示网卡列表
netstat –i
2.显示组播组的关系
netstat -g
3.显示网络统计
netstat -lntup (说明: l:listening n:num t:tcp u:udp p:process)
4.显示关于以太网的统计数据
netstat –e
5.显示路由信息
netstat –r
6.统计机器中网络连接各个状态个数
netstat -an | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]} '