linux有垃圾产生吗

我记得去年夏天,我的笔记本电脑突然变得很卡,我得等半天才能启动。
我检查了一下硬盘,发现硬盘快满了。
它充满了无用的缓存和旧文件。
当时我就想,Linux系统不是很干净吗?垃圾太多了。

Linux本身不会像Windows那样产生一堆垃圾,但是当它安装软件、更新、卸载时,总会留下一堆无用的东西。
比如我上次安装了虚拟机软件,但使用后没有清理。
结果就占用了将近1 0G的空间。
还有浏览器缓存。
我用Firefox有一两年了,缓存已经达到5 G了。

清洁这些并不难。
我通常每月洗一次。
首先清除软件缓存,打开终端输入 sudo apt-get autoclean ,等待一段时间就可以了。
该命令只会清除过期的包缓存,不会影响已安装的程序。
然后清理孤立的软件包并输入 sudo apt-get autoremove。
这可能会删除无用的依赖包。
上次清理时,我发现了 3 个孤立包,节省了近 2 G 的空间。

清除浏览器缓存更容易。
只需进入用户目录中的隐藏文件夹并将其删除即可。
例如,Firefox 的缓存位于 ~/.mozilla/firefox/ 下。
找到.default文件夹,进入里面并删除Cache目录。
但我通常懒得手动删除它们,所以我只是使用 Firefox 内置的清理工具,这需要几分钟的时间。

清洁旧核心也很重要。
首先使用 uname -a 查看当前正在使用哪个内核,然后使用 dpkg --get-selections | grep linux 列出所有内核。
例如,如果您看到 linux-image-5 .4 是旧的,请输入 sudo apt-get remove linux-image-5 .4 将其删除。
注意不要删除正在使用的内核,否则系统可能无法进入。

最重要的是要注意的是卸载软件。
不要只使用 sudo apt-get remove,有时配置文件会被留下。
上次卸载开发工具时,忘记清理剩余配置。
结果在安装其他软件时出现了问题。
后来我使用命令 dpkg -l |抓住 ^rc | awk '{print $2 }' | sudo xargs dpkg -P 清理并修复问题。

等等,还有一件事。
我清理了一次系统,但忘记了哪个服务保持打开状态,导致系统出现另一个问题。
因此,在清理之前,最好使用 sudo service --status-all 查看哪些服务正在运行,并在清理之前停止不必要的服务。
我突然意识到,实际上最好定期进行备份,以避免清理错误。

硬盘现在更便宜,但节省空间从来不是坏事。
只是不知道现在的这些清洁方法几年后会不会过时?

如何用Linux命令清理缓存文件

清理Linux缓存分类任务。

APT 缓存(Debian/Ubuntu): sudo apt-get clean 清理 /var/cache/apt/archives/cache。

YUM 缓存(RHEL/CentOS/Fedora): sudoyum cleanall 清理 /var/cache/yum/ 缓存。

DNF 缓存(Fedora2 2 +): sudodnf cleanall 清理 /var/cache/dnf/ 缓存。

Pacman 缓存 (ArchLinux): sudopacman -Rns $(pacman -Qdtq | grep -vE '^(core|extra|community)$') 清理无用的缓存。

快照缓存: sudosnap refresh --rev=latest --list 更新缓存。
建议使用 sudosnap list --all | awk '/disabled/{print$1 ,$3 }' | xargs -r sudo snap remove 删除旧应用程序。

扁平封装缓存: flatpak uninstall --unused 删除未使用的应用程序并清理 /var/lib/platpak/app/ 和 ~/.local/share/platpak/ 缓存。

浏览器缓存(Chrome): rm -rf ~/.config/google-chrome/Default/Cache 清除 Chrome 缓存。

临时文件: sudorm -rf /tmp/ 删除 /tmp 目录。
我们建议您重新启动系统或使用 tmpreaper 工具。

系统日志: sudo Journalctl --vacuum-time=3 d 将删除 3 天前的日志。
支持自定义时间(例如 7 天或 1 周)。

内存缓存(谨慎使用): sudosync && 回声 3 | sudotee /proc/sys/vm/drop_caches 删除内存缓存。
在生产环境中禁用。

自己掂量一下。

LINUX怎么删除文件的最后一行_Linux删除文件最后一行方法

啊,是的,是的,Linux 删除了文件的最后一行。
让我告诉你,有很多方法可以做到这一点。

我们来谈谈 Sed。
这个东西是一个流编辑器,非常好用。
原理是找到最后一行,行号为$,然后删除。
你看,如果你想在不接触文件的情况下看到效果,只需输入以下命令: sed '$d' 文件名 你明白吗?就是这么简单。

如果想直接修改文件,需要加一个参数-i。
sed -i '$d' 文件名 添加后直接替换该文件。
请注意,如果添加 -i,则实际上会进行转换,而不是备份或预览。
我曾经因为这个不小心删除了一些东西,这很令人困惑。
所以,使用的时候最好先备份一下或者使用版​​本控制或者Git之类的东西。

还有一种head和WC的组合,这个方法也行。
原理是什么?只需计算文件有多少行并使用 wc -l 即可。
然后,使用 HEAD 删除除最后一行之外的所有内容。
例如,如果您想在屏幕上查看输出,请键入: head -n -1 文件名 您会看到,除第一行之外的所有行的 -n 均为 -1
如果你想将其保存在原始文件中,你将不得不经历更多的麻烦并使用临时文件。
就这样打吧: head -n -1 文件名 > temp && mv 临时文件名 你看,先保存到temp,然后mv把temp变成文件名。
这种方法比较安全,因为它不直接修改原始文件。
你只需要暂时的必须要用到文件,有点麻烦。
另外,如果您的文件特别大,速度可能会很慢。

还有awk,它也很强大。
我不会详细讨论理论,这只是为了确定行号。
一种方法是缓存前一行,然后输出除最后一行之外的所有行。
该命令如下所示: awk '{if(NR>1 ) 打印上一个;上一个=$0}' 文件名 你看,这个NR就是行号,prev就是上一行。
这种方法也相当灵活。

第二种方法是使用tac翻转文件,然后使用sed删除第一行,然后使用tac恢复。
就这样打吧: tac 文件名 | sed '1 d' | sed '1 d' | tach > temp && mv 临时文件名 你看,这个钉子可能必须安装,但并不是所有系统都有它。
这个方法也有效,但是还多了几个步骤。

最后,还有珍珠。
如果您的系统中有 Perl,您也可以使用它。
顺序是: perl -i -ne '打印直到 eof' 文件名 原理是eof判断文件结束,最后一行不打印。
这也有效。

我给大家总结一下。
如果您有一个简单的场景,请使用 sed -i '$d',这是最快的。
如果这样做是安全的,请使用临时文件或使用版本控制。
如果文件很大,head 或 awk 可能会占用更少的内存。

总之方法有很多,根据自己的情况选择。
操作前做好备份很重要!备份!备份!

服务器因为内存满了 陷入假死怎么办

哎哟,服务器内存满了,头疼啊。
我多年来一直面临这个问题,必须一步一步地解决。

首先,尝试远程连接以查看服务器是否完全关闭。
Linux服务器使用SSH连接,Windows服务器使用远程桌面。
如果连接失败或超时,则可能会完全终止。

然后你需要检查内存使用情况。
在 Linux 服务器上使用 free-m 命令。
在 Windows 服务器上,打开任务管理器并查看“性能”选项卡。
您需要知道总共有多少内存以及已使用多少内存。

然后你需要找出哪个进程占用了太多内存。
Linux中使用top命令,按M键排序,记下占用量最大的进程的PID。
Windows 按任务管理器中的“内存”列排序。

发现该进程被大量使用后,您需要结束它。
Linux使用kill-9 命令,例如kill-9 1 2 3 4 Windows 右键单击​​该进程并选择“结束任务”。

接下来,清理缓存和交换空间。
Linux 使用sync 命令和echo3 >/proc/sys/vm/drop_caches,Windows 必须禁用并重新启用swap。

还可以调整服务配置,例如IIS应用程序池和数据库服务配置。

系统维护也很重要,更新系统并释放磁盘空间。

扩展内存也是一种临时添加内存模块或长期升级配置的方法。

监控和警报也必不可少。
使用Zabbix或Prometheus设置内存使用阈值警报。

分析日志看看是否存在内存泄漏问题也很有用。

最后,如果尝试了所有的方法还是不行,就只能强制重启服务器了,但是这样风险很大,会损坏数据。

还应采取预防措施,定期检查内存使用情况、优化代码、隔离资源、备份数据和实施权限。
如果遇到复杂问题,应联系制造商或专业团队。

总之就是服务器内存满了,需要一步步检查,一步步解决。