1、 清空文件内容
01、通过重定向到 Null 来清空文件内容
通过重定向到 Null 来清空文件内容,在 Linux 下使用 Null 重定向来清空大文件
> a.txt
root@U20:/www/sen/jdk# du -sh a.txt
4.0K a.txt
root@U20:/www/sen/jdk# > a.txt
root@U20:/www/sen/jdk# du -sh a.txt
0 a.txt
root@U20:/www/sen/jdk# cat a.txt
root@U20:/www/sen/jdk#
02、使用 ‘true’ 命令重定向来清空文件
#shell 的一个内置命令,等同于 true 命令,被用来作为一个 no-op(即不进行任何操作)
: > a.txt
#或者
true > access.log
03、使用 cat/cp/dd 实用工具及 /dev/null 设备来清空文件
在 Linux 中, null 设备基本上被用来丢弃某个进程不再需要的输出流,或者作为某个输入流的空白文件,这些通常可以利用重定向机制来达到。
所以 /dev/null 设备文件是一个特殊的文件,它将清空送到它这里来的所有输入,而它的输出则可被视为一个空文件。
另外,你可以通过使用 cat 命令 显示 /dev/null 的内容然后重定向输出到某个文件,以此来达到清空该文件的目的。
cat /dev/null > a.txt
同样的,也可以用cp命令
cp /dev/null a.txt
而下面的命令中, if 代表输入文件,of 代表输出文件。
dd if=/dev/null of=a.txt
04、使用 echo 命令清空文件
你可以使用 echo 命令 将空字符串的内容重定向到文件中
echo -n "" > a.txt
注意:你应该记住空字符串并不等同于 null 。-n 选项,这个选项将告诉 echo 不再像上面的那个命令那样输出结尾的那个新行。
05、使用 truncate 命令来清空文件内容
truncate 可被用来将一个文件缩小或者扩展到某个给定的大小。
truncate -s 0 a.txt
2、向文件添加内容的几种方法
#准备一个test.txt做实验
root@U20:/www/sen/jdk# cat test.txt
Hello,tail!
01、echo命令法
echo ‘I am a boy’ >> ./test.txt
注:追加单行文本法
02、cat命令法
root@U20:/www/sen/jdk# cat >> ./test.txt << EOF
> I am 12 years old
> EOF
root@U20:/www/sen/jdk# cat ./test.txt
Hello,tail!
I am a boy
I am 12 years old
root@U20:/www/sen/jdk#
注:结尾的EOF要顶格,成对出现,可以其它字符代替。
03、cat编辑法
root@U20:/www/sen/jdk# cat >> ./test.txt
I like Kongfu
I like noddles
注:按cntl+d组合键结束编辑。
04、sed编辑法
sed -i '$a this is a test' ./test.txt
由於 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增 # This is a test!
sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!