Linux基础第一部分(3)

Linux基础命令及含义

1  显示命令

1.1  cat  看

cat 只能看普通文本文件。缺点是:内容过多,显示不全

hexdump:查看硬件设备非文本文档

cat —A 显示隐藏字符
—n 显示行号

重定向,重新定义标准

>   一个是覆盖所有内容         >>  两个是追加

如何合并两个文件?

cat  A    B  > C  竖向,上下合并

paste   A    B  > C 横向,左右合并

标准输入:你输入的指令                             }

标准输出:电脑反馈给你的信息                  }       都默认在屏幕上显示       

错误输出:电脑的一些报错信息                  }

1.2  |  管道符  

管道符:将第一个命令执行的结果当作参数传给后一个命令去执行

     命令1 |   命令2 |   命令3 |   命令4 |

左边的命令一定有标准输出

右边的命令一定要接受标准输出

2 分页显示

2.1  more   less

more基本操作

空格下一行    到文末后自动退出
b                     上一行
enter               一行一行滚动
q                     退出

less基本操作

Page Up 向上翻页,Page Down 向下翻页

3  显示文件前后内容

3.1 head

head —n  数字  文件名 看文件的前多少数字行
—n  3  test 看test文件的前3行
—c  数字 看数字的这一行
—n  -数字 去掉最后数字几行
seq=10  | head -n -3 10行去掉最后3行

3.2 tail 

tail 和head 相反,查看文件或标准输入的倒数行

-f 跟踪显示文件fd新追加的内容,常用日志监控

tail      -n      具体数字  文件名     (不加具体的数字,默认结尾十行)

tail      -f       具体数字  文件名        实时跟踪最后十行

tail —n  3  文件名 看test文件的后3行
—f=tailf  文件名 实时追踪查看文件
—n    +数字 从数字行开始显示

3.3 wc  统计列数  行,单词,字符数

wc —l 只统计行
—w 只统计单词
—c   只统计字符
[root@localhost ~]# wc a.txt 
 1  1 11 a.txt
[root@localhost ~]# cat a.txt 
das dasdads
[root@localhost ~]# wc a.txt 
 1  2 12 a.txt  
  
########注意空行和换行符
tab  空格  算单词的分隔符

3.4 grep   筛选

grep  后面跟正则表达式

grep [选项]… 查找条件 目标文件

grep —i   查找时忽略大小写
—v   反向查找,输出与查找条件不相符的行
—o  只显示匹配项
—f   对比两个文件的相同行
—r  递归,不找软连接
—c   只显示的行数
. 任意字符
^ 一行的开头
$ 一行的结尾
grep -e root -e bash /etc/passwd #包含root或者包含bash 的行
grep -E root|bash  /etc/passwd
-w 匹配整个单词
grep -w root /etc/passwd
useradd rooter

gerp "^root" passed     以root开头
gerp "root$" passed     以root结尾
gerp "^$" passed        空行
gerp ——v "^$" passed        空行

重点提问: 在某一文件中,快速找到所有含有root 字符的文件?

  grep —r  表达式 (root)文件夹

如何快速找到所有含有特殊字符的文件

我有10g的文件,怎么分割小的文件存稿

split  分割文件

split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ]

最常用的选项,都在这里了:
-b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。
-<行数>或-l<行数>:指定每多少行要拆分成一个文件。
输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。
-a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。

[root@localhost data]#dd if=/dev/zero bs=1024 count=700000 of=k
记录了700000+0 的读入
记录了700000+0 的写出
716800000字节(717 MB)已复制,2.98155 秒,240 MB/秒

[root@localhost data]#split -b 400M k
[root@localhost data]#ls
k  xaa  xab

[root@localhost data]#split -b 400M k  a
#指定分隔名
root@localhost data]#split -b 400M k  a
[root@localhost data]#ll
总用量 1400000
-rw-r--r--. 1 root root 419430400 8月  12 15:50 aaa
-rw-r--r--. 1 root root 297369600 8月  12 15:50 aab
-rw-r--r--. 1 root root 716800000 8月  12 15:46 k

4  解压缩,归档

4.1 tar 归档

tar [选项] ... 归档文件名 源文件或目录

tar —f 表示使用归档文件必须带f
—c 建立归档文件     tar-cf
—x 解开归档       tar-xf
—j 代表使用bzip2 压缩
—C 指定解压的目录
—t 不解开压缩包,查看压缩包中的内容

tar的语法 

建立归档

      tar  fzcv  压缩包的名字(*tar.gz)需要压缩的文件

-p保留权限
 

5 vi 编辑器

vi是vim的升级版本

vim     [OPTION]... ...
命令  选项       文件

vim    文件名不存在   是新建
vim    文件名存在       就是修改

+#			打开文件后,让光标处于第#行的行首,+默认行尾
!			打开上一次的文件
+/PATTERN	让光标处于第一个被PATTERN匹配到的行行首用不多

6  三种模式

6.1 命令模式

命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

三种模式:命令模式 100G 跳到100行
gg 首行
G 末行
数字g 跳到数字行
o、^ 行首
end、$ 行尾
w 一个一个单词跳
x 删除
u 撤销一次操作
U 撤销全部
y 复制
yy 复制一行
10yy 复制10行
p 贴在光标下面
P 贴在光标上面
d 删除
dd 删除一行
10dd 删除10行
dw 删除一个单词
r 替换

6.2  输入模式

输入模式:使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式

在命令模式下输入i、o进入输入模式

输入模式按exc 退出命令模式

在命令模式下输入 :进入末行模式

末行模式按exc 退出命令模式

i  当前 光标处输入

o  在光标下插入新一行

6.3 末行模式

末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

# 			#具体第#行,例如2表示第2行
#,# 		#从左侧#表示起始行,到右侧#表示结尾行 
#,+# 		#从左侧#表示的起始行,加上右侧#表示的行数,范例:2,+3 表示2到5行
.   		#当前行
$ 			#最后一行
.,$-1 		#当前行到倒数第二行
% 			#全文, 相当于1,$

/pattern/   	#从当前行向下查找,直到匹配pattern的第一行,即:正则表达式
/pat1/,/pat2/ 	#从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束
#,/pat/     	#从指定行开始,一直找到第一个匹配pattern的行结束
/pat/,$     	#向下找到第一个匹配patttern的行到整个文件的结尾的所有行

修饰符:
i #忽略大小写
g #全局替换,默认情况下,每一行只替换第一次出现
c #全局替换,每次替换前询问

你可能感兴趣的:(linux,运维,服务器)