Linux云计算运维基础(2)

网友投稿 258 2022-11-08

Linux云计算运维基础(2)

目录

@[TOC]

一.查看命令补充

1.head

head /etc/passwd 显示/etc/passwd文件的前十行 head -3 /etc/passwd 显示/etc/passwd前三行

2.tail

tail /etc/passwd 显示/etc/passwd后十行 tail -3 /etc/passwd 显示/etc/passwd后三行

选项 作用
-f 动态追踪尾部变化 (日志)
-n 指定多少行

head和tail可通过管道组合使用

二.管道

“ | ” 通过管道将前面的命令执行结果传给后面 例子:查看/etc/passwd文件中第一行的内容 cat /etc/passwd | head -1

三.下载

将互联网的文件下载到linux服务器 选项-O 指定下载路径 wget -O ./centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo 将linux上已有的文件下载到windows上 sz /路径 回车 将windows文件下载到linux rz:直接输入命令,选择windwos的文件,即可完成上传 (不支持断点续传) (仅支持上传文件,文件夹不行 可以将文件打成.zip压缩包即可) (不支持上传单个文件超过4G) 四.查找 查找命令的绝对路径 为什么获取一个命令的绝对路径,因为有些命令带有别名,当我们通过相对路径执行时优先执行别名 which which ls 查找失败 1.根本没有此命令 2.没有下载此命令 whereis whereis mkdir 环境变量$PATH echo $PATH 修改path是临时的 直接将文件复制到path变量中已有的路径中 则永久生效 五.过滤 文件;数据;不规则 只想查看某个特定的内容 5.1排序: sort 默认以空格为分隔符 -k 指定按照第几列排序 -n 以阿拉布数字排列 -r 按照降序排列 -t ‘’指定分割标准 5.2行过滤:取行 grep “过滤的关键字” 文件路径 -v: 取反 -E: 扩展 = egrep -i: 忽略大小写 -o: 只提取出关键字-w 按照关键词提取行^:开头 $:结尾 5.3去重 uniq 直接去重 -c 去重并显示出出现的次数 例子:sort -k 2 -n -r 1.txt | uniq -c 5.4统计 wc -l 统计文件内容中有多少行 5.6列过滤:取列 awk -F ‘’ ‘{print $x}’ 指定分隔的标准 例如:输出ip地址所在行 [root@localhost ~]# ifconfig ens33 | grep "inet " | awk '{print $2}' 5.7替换 sedsed 's/旧/新/g' 路径 扩展:sed分组匹配-n 取消原输出内容-i 改变原文件p 打印sed -r ‘s#()()()#\1\2\3#g’ 打印分组后的(1)(2)(3)到屏幕 \1\2\3 前可以任意添加命令 随后通过 | bash 执行 在/tmp目录下有多个以A开头的文件,要求将其全部删除;ls /tmp/ | grep "^A" | sed -r 's#(.)#rm -f /tmp/\1 #g' | bash1.尝试获取ip地址 方法一:[root@localhost ~]# ifconfig ens33 | grep "inet " | sed -r 's#(.inet)(.)(net.)#\2#g'方法二:[root@localhost ~]# ifconfig ens33 | sed -n '/inet /p' | awk '{print $2}'2.查看/etc/passwd文件里的第二行,要求输出结果为“/bin:x:bin:1:/sbin/nologin:bin:1”[root@CentOS 7 ~]# sed -n '2p' /etc/passwd | sed -r 's#(.):(.):(.):(.):(.):(.):(.*)#\6:\2:\5:\3:\7:\5:\3#g' 六 vim的使用 普通模式 移动 G:跳转到行尾gg:跳转到行首$:跳转光标所在行尾部^: 跳转到光标所在行首 复制 yy 复制所在行内容nyy 复制多行 黏贴 p:粘贴到光标所在行的下一行P:粘贴到光标所在行的上一行 删除 dd:删除光标所在的行D: 删除光标所在的后面内容3dd:删除多行d+G: 删除从光标到尾部的全部 替换 r:替换某个字符R:连续替换 撤销 u:撤销上一次的操作;可连续撤销 编辑模式 i:进入编辑模式,光标不会发生位置变化a:进入编辑模式,光标移动到当前位置的后一位o:进入编辑模式,光标移动到当前行的下一行I:A:O: 命令模式 从普通模式进入命令模式 :进入w:保存q: 退出wq:保存退出:q! 退出不保存:wq 强制保存并退出shift+z+z 直接保存退出;过快不推荐 :set number替换 类似于sed:1,5s/d/b/g 明确指定替换1-5行中所有出现的d替换成b:%s/d/b/g 将整个文件中所有的d替换成b搜索在普通模式下直接按 / /搜索的内容n:下翻N:上翻 视图模式 可视行(按行操作)shift+v 选中需要的行;然后y复制shift+v 选中需要的行;然后d删除可视块(块状字符操作)添加注释:在最前面添加#注释ctrl+v;shift+i;ESC;ESC删除注释:ctrl+v;shift+i;d 编辑器异常退出 1.在编辑的过程中,会话突然关闭 2.将vim进程ctrl+z挂起进入文件后按Q退出;删除.swp交换文件后进入文件即可

七.文件属性

7.1文件类型

-: 文件d: 目录b: 块设备c: 字符设备s: socket 本地进程间通讯;程序1 (插座)程序2l: 链接文件文件名称的后缀与文件类型是无关,所以需要借助 file命令,精准的判断一个文件究竟是什么类型[root@localhost ~]# file 1.txt 1.txt: ASCII text

7.2链接文件

7.2.1 inode和block

用户通过文件名打开文件,实际系统内部这个过程分为三步: 首先,系统找到这个文件对应的inode编号; 其次,通过inode编号,获取inode信息; 最后,根据inode信息,找到文件数据所在的block,读出数据; 文件分为两部分存储 元数据: inode 包含了文件大小;文件时间;文件权限;文件属主和属组以及block的位置;类似于书索引 真实数据: block 真实存储数据(格式化后划分出来的)一个block大约存储4KB内容;一个100KB的文件,大约需要25个block;类似于书的内容

7.2.2 软连接

类似快捷方式;inode值不同 ln -s 作用:软件升级;代码发布 范例:在/data目录下有一个runbow-1.1站点目录;在目录下有index.html的网页文件;如果直接让用户通过/data/runbow-1.1/index.html访问; 站点目录升级后路径变化;需要通知所有用户变更路径,非常麻烦不专业;故可以通过软连接的方式给runbow-1.1目录创建一个软连接/data/runbow; 让用户通过/data/runbow/index.html访问网页;一旦站点目录升级,删除软链接并且创建新的软连接将/data/runbow映射到新的目录上;用户访问的 路径仍然为/data/runbow/index.html。 [root@localhost ~]# mkdir -p /data/runbow-1.1 创建站点目录 [root@localhost ~]# echo 123 > /data/runbow-1.1/index.html 将网站内容“123” 重定向到index.html中 [root@localhost ~]# ln -s /data/runbow-1.1/ /data/runbow 创建软连接 [root@localhost ~]# cat /data/runbow/index.html 用户通过软连接访问网站 123 此时;网站目录升级为/data/runbow-1.2版本; [root@localhost ~]# mkdir /data/runbow-1.2 创建新的站点目录 [root@localhost ~]# echo 456 > /data/runbow-1.2/index.html 将新网站内容“456” 重定向到index.html中 [root@localhost ~]# rm -f /data/runbow && ln -s /data/runbow-1.2 /data/runbow 删除之前的软连接并且同时执行创建新的软连接 [root@localhost ~]# cat /data/runbow/index.html 用户通过新的软列接访问新的站点;对于用户而言;操作没有发生变化 456

7.2.3 硬链接

inode值相同 ln 作用:提供多个命令的执行渠道 范例:系统中的.和.. [root@localhost ~]# ll -id . 33574977 dr-xr-x---. 17 root root 4096 7月 10 10:17 . [root@localhost ~]# ll -id /root/ 33574977 dr-xr-x---. 17 root root 4096 7月 10 10:17 /root/ 可以看出.和/root目录的inode值相同;指向同一个block数据; [root@localhost ~]# ll -di .. 64 dr-xr-xr-x. 20 root root 265 7月 10 10:32 .. [root@localhost ~]# ll -di / 64 dr-xr-xr-x. 20 root root 265 7月 10 10:32 / ..和/目录的inode值相同;也指向同一个block数据;

7.2.4 文件时间

atime: 访问时间 文件中的数据左后被访问的时间 mtime: 修改时间 文件内容修改的最后时间 ctime: 变化时间 文件的元数据发生变化;比如权限,所有者等等

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:设计一个登录接口我们要考虑哪些地方?
下一篇:Java中守护线程介绍及使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~