1.如何在linux里面生成日志
hive -hiveconf month=202105 -f test.ql > test.log 2>&1 &
z
//
涉及到数据流重定向
数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他的地方。
数据流重定向可以将standard output 与 standard error output 分别传送到其他的文件或设备去,而分别传诵所用的特殊字符则如下所示:
1.标准输入(stdin):代码为0,使用< 或<<;
2.标准输出(stdout):代码为1,使用>或>>;
3.标准错误输出(stderr):代码为2,使用2>或2>>
重定向的时候,定向到的文件的创建方式是:
1.该文件若不存在,系统会自动将他创建起来;
2.当这个文件存在的时候,那么系统就会先将这个文件内容清空,然后再将数据写入;
3.也就是若以>输出到一个已存在的文件中,那个文件就会被覆盖掉。
如果不想原文件被覆盖而是累加,那就用>>
1>以覆盖的方法将正确的数据输出到指定的文件或设备上
1>>以累加的方法将正确的数据输出到指定的文件或设备上
2>以覆盖的方法将错误的数据输出到指定的文件或设备上
2>>以累加的方法将错误的数据输出到指定的文件或设备上
1.1将正确的数据和错误的数据导入不同文件去
find /home -name .bashrc > list_right 2> list_error
1.2将错误的数据丢弃,屏幕上显示正确的数据
find /home -name .bashrc 2> /dev/null
//dev/null 是垃圾桶黑洞设备
1.3将正确与错误数据通通写入同一个文件去
find /hom -name .bashrc > list 2>&1
或者
find /home -name .bashrc &> list
1.4发现一个解释得很好的例子:
https://catonmat.net/bash-one-liners-explained-part-three
1.5最后一个&的作用
让bash在后台执行
2当前使用到的一些文件操作
2.1 mv(移动文件与目录,或更名)
格式1:
mv [-fiu] source destination
-f force强制的意思,如果目标文件已经存在不会询问而直接覆盖
-i 若目标文件已经存在时,就会询问是否覆盖
-u 若目标文件已经存在,且source比较新,才会更新
2.2 创建文件夹
mkdir filename