linux创建文件并写入内容

2 02 3 年,我的朋友教我如何在 Linux 中创建文件。
他说先触摸文件名,然后重复“内容”>文件名。
我还跟他学会了如何使用vi编辑器,vifilename,i编辑,写入内容,esc,wq保存。
很方便,但是你必须记住命令。
算了,你自己想办法吧。

LINUX如何将命令的输出重定向到文件_Linux输出结果保存到文件的技巧

嗯,我在某个城市,2 02 2 年,我刚刚开始学习 Linux 系统管理。
我记得当时我使用了命令 ls /home > home_list.txt。
当时我很困惑。
为什么文件内容为空?后来我意识到,哦,那是因为我之前使用该命令创建了一个空文件,然后它被覆盖了。
然后我再次尝试 date > current_date.txt ,这次文件中有一个日期。
我当时心里挺高兴的。

后来,我学会了如何追加内容,我经常使用 echo "Task Completed" >> log.txt 进行日志记录。
我记得有一次我使用 df -h >> system_info.txt 来记录项目中的磁盘使用情况。
当时项目相当大,需要多次重新录制,所以这个补充还是很有用的。

还有一种将标准输出和错误输出结合起来的技术。
第一次使用 > out.log 2 >&1 命令时,我有点困惑。
后来我发现了>> all_output.log命令,这个命令更简洁,我就开始使用它。
我记得有一次,我在脚本中使用find /non办法>> error_log.txt来查找不存在的目录,并将结果写入错误日志。

消除不必要的输出。
我也经常使用这种方法,例如 ping google.com >/dev/null 2 >&1 ,这样在脚本中测试网络连接时就不会出现无聊的输出。

现在回想起来,也许当时的我有点极端,认为这些技术很简单,但实际上,每种技术都有它自己的用途,需要根据具体情况来选择。
然而,掌握这些技术实际上可以提高效率并简化日志管理。

linux复制内容到另一个文件

需要明确的是,这些是在 Linux 中复制文件的唯一技巧,但在正确的场景中使用它们是最重要的。

我们先来说说最重要的CP命令。
去年我们跑3 000级的项目时,直接cp log_a.log log_b.log就立刻搞定了,比手动拖拽快了一倍。
还有一点,如果要同步目录,cp -r dir_a dir_b 不太舒服。
但是等等,还有一件事。
CP默认会覆盖目标文件。
如果忘记加上-i,你就会遭受很大的损失。

使用cat+redirect也很常见,比如cat config.txt > backup.config.txt,简单粗暴。
但有一个重要的细节:当源文件特别大时,比如1 0G的日志,cat会占用整个文件内存。
这样就省去了使用split分割成块然后cat的麻烦。
说实话,这很混乱,很多人都没有注意到。

思考马克:我一开始以为t是输出到终端的,后来发现可以用grep、cat log.log来过滤。
t-a 过滤.log | grep "ERROR",不仅可以查看完整日志,还可以记录错误。
我认为值得一试。

最后我想提一个建议。
对于小文件,只需使用 cp 或 cat 即可。
对于较大的文件,请考虑 dd。
尤其是备份系统盘时,dd if=source of=destination bs=4 M,高效稳定。