共计 2976 个字符,预计需要花费 8 分钟才能阅读完成。
导读 | Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 |
Linux 管理磁盘
查看当前磁盘使用情况:df -h fdisk -l (查看所有的硬盘)
服务器添加硬盘:在系统设置添加
分区: fdisk /dev/sdb (sdb, sdc, sde)
指令:m(帮助信息),n (新加分区)
第二步:指令 p (主分区)
第三步:写入磁盘 w
使用:挂载:mount /dev/sdb1 /data/ 挂载到 /data 目录下, 挂载成功如下
可以挂载到多个设备
mount /dev/cdrom /mnt
Vi 命令
所有的指令都是在指令行下输入的,不是在编辑模式下进行的!
复制多行 / 单行:输入 yy, 然后按 k
删除某一行:按 dd; 删除某个字符:光标选中某个字符,按 x
删错某个字符 / 某一行想返回:u
替换某个文件所有内容:%s/failymao/momo/g (ESC 后:替换文件中所有【g 表示所有】falilymao 的内容为 momo
替换某一行某个内容:%s/momo/failymao/1 (替换最后一行)
在首行添加某个字符或者空白字符:%s/my/ my/g
第二种方法 (my 后面添加空格):%s/my/& /
首行添加:%s/^/& /(^ 正则首行,& 表示追加)
末尾行添加:%s/$/& hello($ 表示末尾)
匹配行前插入空白行:某个字符下按 O(大写),行后插入空白行按 o(小写)
跳转:
跳转最后一个字符:GG
跳转第一个字符:gg
查找:/my
删除匹配的项目之后的所有内容:dG
sed 命令
替换某个文件所有的内容:
sed 's/momo/failymao/g' test.txt(查看替换,s 表示查找)
sed -i 's/momo/failymao/g' test.txt 替换(加参数 -i 表示写入)匹配行前插入:sed -i '/IS/i 123456' test.txt
匹配行后插入:sed -i '/IS/a 123456' test.txt (a 表示 after)
修改某个配置文件信息:sed '/SELINUX/s/disabled/123456/g' /etc/selinux/config (修改 /etc/selinux/config 配置文件中 SELTINUX 后面的 disabled 为 123456)
find 命令
查找当前目录某个文件:*find . -name "test.txt"
查找根目录某个文件:find / -name "test.txt"
查找以固定格式结尾的所有文件:find . name "*.py"
查找以固定格式结尾的目录或者文件:find . name "*.py" -typt d(d 表示类型目录)查找以固定格式结尾的目录或者文件:find . name "*.py" -typt d -mtime +1 -size +10M(d 表示类型为目录,-mtime +1 表示一天以上,- 1 表示 1 天之内,-size 表示大小为 10M 的文件目录)查找文件包含有某些内容的文件:find /tmp/ -name "*" -type f -name "momo"
查找的文件进行拷贝:find /root/ -name "*" -type f -name "*server*" -exec cp {}/samba \;(查找 /root 目录下,查找以文件中包含有 server 的文件,并(-exec)复制(cp)到 ({} 接目录 )/samba 目录下,(;) 固定格式)打包:find /root/ -name "*.py" -exec tar czf zip_python.tar.gz {} \; ( 将查找 /root 目录下以 py 结尾的文件并在当前目录下打包)
删除文件:find /samba -name "*" -type f -name "*server*" -exec rm -rf {} \;(删除 /samba 下,包含文件名中含有“server”的所有的文件!)删除文件 == 等同于 exec:find /root/ -name "*.py" | xargs rm -rf {} \; ( 管道符 | xargs 等同于 -exec)
管道符 grep
过滤文件:前面的结果作为后面的输入:cat test.txt |grep "hou"(查看 text.txt 文件中有“hou”的内容) == grep "hou" test.txt
排除文件:cat /etc/passwd |grep -v "mysql"(过滤掉 /etc/passwd 中含有“mysql”的内容,打印出结果!)打印过滤的固定的某一行:ifconfig |grep "net" |awk '{print $1}'(打印 ifconfig 命令中含有 net 的字符的,第一列内容)
grep 正则
grep '^10' text.txt 匹配以 10` 开头
grep '10$' text.txt 匹配以 10 结尾
grep "[0-9][0-9][0-9]" test.txt 匹配三位数的任意组成的数
grep "[a-z]" test.txt 匹配 包含有 a - z 字母的字段(小写)grep "^112$" text.txt 匹配以 112 开头结尾的
(grep -E "[0-9]{1,3}\."){3} 匹配 0 - 9 的任意数字 1 - 3 次,. 表示匹配.,{3} 出现三次
查看内存,ip 信息
查看内存信息:free -m
查看 cup: top
查看 httpd:ps -ef |grep httpd
查看 tcp 端口:netstat -tnl
查看 udp: netstat -nul
查看当前目录文件大小:du -sh
特殊指令合计
其他应用实例:输出文本数据中最大最小的数
112
1223
444 334
444 11 22 444 578 23123
1234 3443 234553 122 908 123445
12 14 567 456 23478
执行 :cat number.txt |sed 's/ /\n/g' |grep -v "^$"|sort -nr |sed -n '1p;$p'
指令详解:1) sed 's/ /\n/g' 将所有空格转化成换行
2) |grep -v "^$" 把开头结尾都是空格的组 排除掉,-v 表示排除
3) |sort -nr 从大到小排序
4) |sed -n '1p;$p' - n 表示多行打印,1p 表示第一个,$p 表示最后一个
awk
指定打印匹配的某一行
cat test.txt |awk '{print $4}' ---> 打印匹配的第四列($NF 表示最后一列)cat /etc/passwd |awk -F: '{print $1}'---> - F 表示 format,自定义格式,打印第一列
示例 ifconfig 匹配出 IP 地址
方法 1: ifconfig eth1|grep "broadcast" |awk '{print $2}'|sed 's/addr://g' 打印 ip 地址
方法 2:ifconfig eth1|grep "broadcase"|awk '{print $2}'|awk -F: '{print $2}'
df -h |grep "/$" |awk '{print $5}'|sed 's/%//g' 打印硬盘使用率,去掉百分号
linux 指令的熟练度决定了你是否能成为一个运维届的老司机,能否开五菱宏光顺利上秋名山!切记多练!多练!多练!
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)