本文主要是介绍Linux运维学习第四天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
昨日内容(time):
sed(熟练)
替换: sed 's#old#new#g' 文件名称;
分组匹配:
[root@node ~]# ll -d *.pdf | awk '{print $9}' | grep -Ev "5.pdf|6.pdf" | sed -r 's#(.*)# mv \1 /opt/ #g' | bash
awk:
指定分隔符
行: daemon:x:2:2:daemon:/sbin:/sbin/nologin
指定字段分隔符 :
列:
daemon x 2 2 daemon /sbin /sbin/nologin
grep
过滤:
-E:指定多个匹配条件
-v: 取反;
-i:忽略大小写(搜搜文件中的内容时;)
-o:提取匹配到的关键字;
sort:排序(文本内容)
uniq:(去重 --> 次数)
wc:统计行数
今日内容:
1.文件编辑(vi、vim)
普通模式:
基本操作:
1.移动光标:
跳转至行尾:G(shift+g)
跳转到行首:gg
跳转光标本行的尾部:$
跳转光标本行的首部:^
20gg: 跳转至20行;
2.复制
yy: 复制光标所在的行;
nyy: 复制多行;
3.粘贴
p(小写): 粘贴到光标所在行的下一行;
P(大写):粘贴到光标所在行的上一行;
4.删除
dd: 删除光标所在的行;
3dd:删除多行;
D:删除光标所在行后的所有内容;
x: 删除一个字符
d+G:从头删到尾;
5.移动|剪贴:
删除+粘贴=移动
5.替换
r:替换某个字符; 光标选中对应的内容 --> r --> 新的内容;
R: 连续替换;
6.撤销:
u:撤销上一次的操作,可以连续使用(连续撤销);
7.进入编辑模式:
i: 进入编辑模式,光标不会发生变化;
a: 进入编辑模式,光标会向后移动一位;
o: 进入编辑模式,会在当前光标下一行插入一行空白的行;
I:进入编辑模式,移动到光标所在的行首;
A:进入编辑模式,光标会移动到行尾;
O:进入编辑模式,会在当前光标上一行插入一行空白的行;
编辑数据:
正常操作;
退回至普通模式 ---> ECS
命令模式:
从普通进入命令模式 : 就可以进入
保存退出:
w: 保存
q: 退出
wq: 保存并退出
:q! 退出,不保存任何修改;
:wq! 强制保存,并退出 ( 操作的文件无权限时;)
替换(和sed一致):
:1,5s#d#b#g # 明确指定替换1-5行中出现的所有的d,替换成b
:%s#d#b#g # 搜索整个文件中,将d全部替换成b
搜索:
/string:
n:下翻
N:上翻
跳转:
:20 快速跳转至20行;
视图模式:
可视行(按行操作):
shift+v: 选中需要的行;然后y;
shift+v: 选中需要的行;然后d;
可视块(字符操作):
添加注释: 在最前面添加# 算注释;
ctrl+v --> shift+i --> # -->ECS --->ECS
删除注释:
ctrl+v --> shift+i --> x|d
异常退出:
1.在编辑过程中,会话突然关闭了;
2.将这个vim进程给挂起;ctrl+z
用户
权限
重定向
管道
文件查找
文件打包与压缩
vi vim
#server {
#listen 80;
server_name vim.example.com;
root /code;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_intercept_errors on;
proxy_next_upstream error timeout;
proxy_next_upstream_timeout 3s;
proxy_next_upstream_tries 2;
error_page 500 502 403 404 = /proxy_error.html;
}
# location / {
# proxy_pass http://127.0.0.1:8080;
# proxy_intercept_errors on;
# proxy_next_upstream error timeout;
# proxy_next_upstream_timeout 3s;
# proxy_next_upstream_tries 2;
# error_page 500 502 403 404 = /proxy_error.html;
# }
}
2.文件属性()
drwxr-xr-x. 2 root root 6 7月 6 16:51 5.pdf
九列:
第一列: 有10个字符, 第一个字符是文件的类型 后面的九个字符是文件的权限
第二列: 链接数 pass
第三列: 文件的拥有人
第四列: 文件的拥有组
第五列: 文件的大小
第六-第八: 文件的最后修改时间;---》 atime ctime mtime
第九列: 文件的名称;
今天仅了解:
第一列:第一个字符:
第二列:
第五-第九:了解过
剩下:第一列 第三列 第四列
3.文件类型(file)
类型: 每个文件都有表示,类型 mp4 txt pdf exe .....
-: 文件
d: 目录;
b: 块设备;
c: 字符设备;
s: socket,本地进程间通讯 程序1 (插座) 程序2
l: 链接文件;
文件:
- 表示文件:
mp4:
png:
txt:
文件名称的后缀与文件类型是无关,所以需要借助 file命令,精准的判断一个文件究竟是什么类型
问题:
文件到底要不要给后缀格式:
是需要的;
.conf
.log
.sh
.py
........
4.链接文件:
文件分为两部分存储:
元数据: Inode 书索引
真实数据: Block 书内容
Inode: 编号--->存储--> < 文件名称
文件大小
文件时间
文件权限
文件属主和属组
block的位置
.....
Block: 真实存储数据(格式化后划分出来的;100k空间--> 25个Block) 4k
软链接和硬链接(ln)
[root@node ~]# ll -d /data/rainbow -i
100692338 lrwxrwxrwx. 1 root root 19 7月 9 15:35 /data/rainbow -> /data/rainbow-v1.1/
[root@node ~]# ll -d /data/rainbow-v1.1/ -i
496411 drwxr-xr-x. 2 root root 24 7月 9 15:32 /data/rainbow-v1.1/
[root@node ~]#
硬链接:
唯一系统使用的地方:
. 表示当前目录,是因为他与当前目录的Inode一致;
.. 表示当前目录的上一级目录,与上级目录 的Inode一致;
注意:创建一个目录,它的上级目录链接次数会+1;
::: hljs-left
居左
:::
这篇关于Linux运维学习第四天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!