Linux 案例命令使用操作总结

在信息技术日新月异的今天,Linux以其开源、稳定、高效的特性,逐渐成为了众多专业人士的首选操作系统。然而,关于Linux知识的学习,却常常陷入一个误区------许多人认为,掌握Linux就是死记硬背各种命令和参数。这种观念,不仅忽略了Linux学习的本质,也阻碍了Linux知识的有效应用。事实上,**Linux知识不是靠背,而是要在某应用场景下懂得去用。**不信大家可以一起探讨下吧!

在实际应用中,Linux知识的运用远比单纯的记忆更为重要。

1、比如大家背得ls命令是用来列出文件或者目录,但是平时却很少有人结合-h和-S参数来,更便于人类识别,并且将所列出文件从大到小排序呈现。

[root@haodaolinux01 ~]# ls -lhS总用量 228M-rw-r--r--. 1 root root 228M 3月   9 03:17 haodaolinux.tar-rw-r--r--. 1 root root  73K 4月   1 2002 cmatrix-1.2a.tar.gz-rwxr-xr-x. 1 root root 4.1K 4月  19 04:05 show_basy.shdrwxrwxrwx. 2  500  500 4.0K 9月   5 2022 cmatrix-1.2a-rw-------. 1 root root 1.6K 11月  5 2021 anaconda-ks.cfg-rwxr-xr-x. 1 root root   81 9月   8 2022 test.sh-rw-r--r--. 1 root root    7 3月   8 23:20 haodao.txt-rw-r--r--. 1 root root    0 9月   8 2022 =-rwxr-xr-x. 1 root root    0 2月  24 2022 test[root@haodaolinux01 ~]#

2、比如大家背得通过ps命令来查看进程,但是却很少有人知道以下这些更适用运维场景的命令。

(1)ps命令结合相关参数及管道符,使得进程按照内存从大到小排列。

ps -e -o "%C : %p : %z : %a"|sort -k5 -nr

(2)ps命令查看的按 CPU 利用率从大到小排列的 进程

ps -e -o "%C : %p : %z : %a"|sort -nr

(3)ps 查找当前系统内存使用量较高的进程(前20个);

ps -aux | sort -rnk 4 | head -20

(4)ps查**** 找当前系统CPU使用量较高的进程(前20个);

ps -aux | sort -rnk 3 | head -20

3、大家都说Linux下一切皆文件,查找某个文件时犹如大海捞针,显得十分困难。但是却忽略了find命令的这些高效用法,利用好这些命令,你查找文件时,会显得一切都是手到擒来!

(1)查找当前目录下名字为haodao.py的文件;

find . -name haodao.py

(2)查找当前目录下名字以.py结尾的文件;

find . -name "*.py"

(3)查找当前目录下名字以.py结尾的文件,并且指定为文件类型搜索;

find . -type f -name "*.py"

(4)查找当前目录下名字包含haodao的目录;

find . -type d -name "haodao*"

(5)查找当前目录下文件权限为755的对应文件;

find . -type f -perm 755

(6)查找当前目录下不具有755权限的所有文件;

find . -type f ! -perm 755

(7)查找当前目录下具有777权限的所有文件,并且将这些权限全部改为755;

find . -type f -perm 777  -exec chmod 755 {} \;

(8)查找当前目录下文件大小为100MB~1GB的所有文件;

find . -type f -size +100M -size -1G

(9)查找当前目录下以.py结尾的文件,并且删除;

find . -name "*.py" -exec rm -rf {} \;

find . -name "*.py" | xargs rm -rf {};

rm -rf $(find . -name "*.py")

以上3种快速删除指定类别文件方法,哪一种更香更好用呢?

(10)查找当前目录下30天前修改过的所有文件;

find . -mtime 30

(11)查找当前目录下30天前访问过的所有文件;

find . -atime 30

(12)查找当前目录下过去1个小时内修改过的所有文件;

find . -mmin -60

(13)查找当前目录下过去1个小时内修改过的所有文件;

find . -amin -60

(14)查找当前目录下修改超过10天,但修改不到30天的所有文件;

find . -mtime +10 -mtime -30

(15)查找当前目录下7天前创建的,并且后缀名是以.py结尾的文件,并且进行删除;

find . -mtime +7  -name "*.py" | xargs rm -rf {};

(16)查找当前目录大于1000M的文件,并将该文件移动到/root/home目录下;

find . -size +1000M -exec mv {} /root/home ;

(17)查找当前目录下创建于30天前,大小大于1000M,以.py结尾的文件,并且进行删除;

find  . -name "*.py" --mtime +30 --type f --size +1000M |xargs rm --rf {};

4、大家印象中只知道cat命令可以查看文件内容,但是却很少知道cat命令还能这么用的。

(1)查看有几个逻辑cpu, 包括cpu型号;

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

(2)查看有几颗cpu,每颗分别是几核;

cat /proc/cpuinfo | grep physical | uniq -c

5、当需要大文件进行某个场景测试时,好多首先想到的就是把windows上拷贝一个大文件到Linux系统,却不知道通过dd命令,只需简单命令即可实现本地创建大文件。

(1)借助dd命令生成大文件。

dd if=/dev/zero of=/root/haodaolinux/test.txt bs=1M count=1024

上述命令,在/root/haodaolinux目录下生成一个文件名为test.txt 大小为 1G 的文件。

如果大家还觉得dd命令玩得不过瘾,可以看看以下这篇针对dd命令的详解

Linux下的dd命令真心强大实用~

6、大家都知道通过vi等编辑工具,可以编辑文件中任何内容。但是却不懂利用sed命令可以快速编辑所需的特定内容。

(1)如何通过sed命令将文件test.py中的haodao全部替换成HAODAO;

sed -i "s/haodao/HAODAO/g" test.py

(2)替换haodao.py文件中的目录;

sed -i "s:/etc/dhcp:/home:g" haodao.py

即表示将haodao.py文件中的/etc/dhcp目录替换成/home目录。

如果大家还想了解sed相关高效命令,可以前往以下这篇针对sed命令详解的文章看看~

sed用得少?那是你没发现它这些实用技巧~

7、大家都知道tcpdump命令是用来抓包的,但是却很少有人这样高效抓包分析。

(1)针对网口ens33抓取不限制大小的报文,保存为文件haodao.cap;

tcpdump -i ens33 -s 0 -w haodao.cap

(2)针对网口ens33进行抓包,过滤出 icmp 报文并且源 IP 地址是 192.168.20.231的相关报文;

tcpdump icmp and src 192.168.20.231 -i ens33 -n

(3) 针对网口ens33进行抓包,过滤出源 IP 地址是 192.168.20.231的相关报文;

tcpdump src host 192.168.20.231 -i ens33 -n -c 5

(4)针对网口ens33进行抓包,过滤出目的 IP 地址是 192.168.20.231的相关报文;

tcpdump dst host 192.168.20.231 -i ens33 -n -c 5

(5)针对网口ens33进行抓包,过滤出端口号是 8080 的相关报文;

tcpdump port 8080 -i ens33 -n -c 5

(6)针对网口ens33进行抓包,过滤出 80端口到443端口 的相关报文;

tcpdump portrange 80-433 -i ens33 -n -c 8

如果真心想研究tcpdump相关高效抓包命令,可以看看这篇针对tcpdump工具使用的详解~

搞IT运维,不仅要懂Wireshark抓包,还要会Tcpdump抓包

8、好多小伙伴都知道Nginx服务器,但是却很少有人能够讲得明白关于它的具体使用场景,如果感兴趣,可以移步去看看这篇超过2万字的Ngnix文章,通过实验带你了解nginx7大使用场景,根本不用背就可以掌握。

【全网最全】2万字+7大实战应用场景配置,详解Nginx

9、好多小伙伴学习Linux时,实验环境下把防火墙相关服务一关就顺利进行,但是实际运维工作环境中,防火墙使用方面相关的知识还是很重要的,所以掌握Linux下iptables和firewalld相关操作技巧是十分必要的,如果你想快速掌握,可以挪步看看以下两篇关于防火墙知识的详解。

Linux系统iptables防火墙实战指南~

Linux系统firewalld防火墙实战指南~

10、好多运维或测试小伙伴,都了解Jenkins如何牛逼,却很少能够自己静下心来做一遍实验,跑通代码自动打包发布编译的整个流水线操作。如果你真想去学习,可以看看这篇称为全网最强且手把手教的教程了!

Centos7下搭建Jenkins+GitLab+Maven 实现代码自动打包编译发布

11、其实Linux下有好多工具可以供我们使用解决很多问题,浩道真心推荐以下这些工具,大家可以好好去学习使用,你会发现他们是真的香!

sar命令多少人没用过?又一个牛逼的Linux命令!

推荐一款运维&网络工程师应知必会的带宽测试工具!

Linux下的nc命令太强大了!

12、大家都知道Linux运维中shell脚本十分重要,通过shell脚本,可以减少很多人工不必要的且重复繁杂的工作量,然而想要提升shell编程能力,光靠背是不可能会的,靠的是平时多敲敲代码,积累编码代码能力,这个确实没有什么好说的。这里推荐大家学习以下全网最经典的几百条shell脚本,学习请移步下篇。

【建议收藏】249个开箱即用的Shell脚本,拿好了(附PDF)

13、随着各个业务量增大,集群环境下相关运维工作也是大家平时经常接触的,因此搞懂高可用相关知识点就显得十分重要了,这里推荐大家学习一波Keepalived+MySQL的高可用配置。

Keepalived+Mysql实现高可用配置总结

14、业务量大的平台,监控是绕不开的一个运维话题,做好监控,一切运维都会显得轻松,就看你有没有兴趣将监控体系搞好了,监控做得好,日常吃鸡真不是梦,这里强烈推荐的监控系统Prometheus,大家可以参考学习一番。

【全网最详细】40个步骤安装部署Prometheus监控系统

15、最后再说关于k8s相关的学习,当下也是一个非常热的知识体系,这个靠背的话只能永远停留在理论阶段,最直接最有效就是要在实验中去使用去排错去总结。

通过以上列举一些知识点,真的发现光靠死记硬背是学不来的,都是靠在实际工作中去摸索去积累得出的经验。当然,每个人学习方法不一样,但是经验应该都是通用的。

学习Linux,首先要理解其背后的设计理念与哲学。Linux不仅仅是一个操作系统,更是一种开放、协作的精神体现。它鼓励用户根据自己的需求去定制和优化系统,而非被固定的操作模式所束缚。因此,学习Linux,更应该是一种思维方式的转变,而非简单的记忆过程。

在实际应用中,Linux知识的运用远比单纯的记忆更为重要。例如,在系统维护中,我们需要根据具体的硬件配置和软件环境,灵活选择适当的命令和工具。在网络安全领域,Linux提供了丰富的防火墙和入侵检测工具,但如何配置和使用这些工具,则依赖于我们对Linux安全机制的深入理解。此外,在软件开发、云计算等领域,Linux都发挥着不可替代的作用。这些领域的应用,都需要我们结合具体场景,灵活运用Linux知识。

强调Linux知识的实践应用,并不意味着我们可以忽视基础知识的学习。相反,扎实的基础是有效应用的前提。我们需要掌握Linux的基本命令、文件系统结构、网络配置等基础知识,但这些知识的掌握,应该建立在理解其原理和应用场景的基础上。只有这样,我们才能在遇到实际问题时,迅速找到解决方案,而不是死记硬背一堆无用的命令。

此外,随着技术的不断发展,Linux也在不断更新和演进。新的功能、新的工具不断涌现,这就要求我们保持持续学习的态度,不断跟进Linux的最新发展。这种学习,不再是简单的记忆,而是一种对新技术、新应用的探索和实践。

相关推荐
Karoku0669 分钟前
【docker集群应用】Docker网络与资源控制
运维·数据库·docker·容器
梦游钓鱼15 分钟前
pyshark安装使用,ubuntu:20.04
linux·运维·ubuntu
火龙谷18 分钟前
CentOS7将yum源更换为国内源教程
linux·centos
战族狼魂42 分钟前
CentOS 上安装各种应用的命令行总结
linux·运维·centos
学Linux的语莫1 小时前
ansible变量
linux·运维·服务器·ansible
北京迅为1 小时前
【北京迅为】iTOP-4412全能版使用手册-第十二章 Linux系统编程简介
linux·嵌入式硬件·4412开发板
清源妙木真菌1 小时前
Linux:进程控制
linux
爱吃喵的鲤鱼1 小时前
Linux——文件系统清尾、动静态库
linux·运维·服务器
最数据2 小时前
Linux或者Docker中时区查询和修改(差8小时问题)
linux·运维·服务器·docker·.net
mahuifa2 小时前
ubuntu设置程序开机自启动
服务器·ubuntu·开机自启动