查看进程打开的文件

  1. yum -y install lsof
  2. # 找到 pid
  3. ps -aux|grep python
  4. lsof -p pid

找到一个进程打开的文件总数:

  1. lsof -p pid|wc -l

wc -l ,是计算有多少行的。

重写文本

  1. echo "this is a text" > a.txt

添加文本

  1. echo "this is a text 2" >> a.txt

重定向时区分错误和成功

成功和不成功的命令
当一个命令发生错误并退回时,它会返回一个非 0 的退出状态;而当命令完成之后,它会返回数字0。退出状态可以从特殊变量 $? 中获得(在命令执行完成之后立即运行 echo $?, 就可以打印退出状态了)

把错误输出到一个文件,成功输出到另外一个文件

  1. cmd 2>stderr.txt 1>stdout.txt

把正确输出和错误输出都重定向到一个文件

  1. cmd 2>&1 output.txt
  2. 或者是
  3. cmd &> output.txt

把错误信息丢弃掉
dev/null 被称为 黑洞,所有传输给它的数据都会被丢弃掉。

  1. cmd 2>/dev/null
  1. 利用 tee 一方面将数据重定向到文件,另一方面重定向数据的副本作为后续命令的 stdin.
    1. command | tee FILE1 FILE2
    查看当前文件,并把信息存储到 file1 file2 中, 然后加行号查看
    1. cat a*|tee file1 file2| cat -n
    tee 还提供了一些参数:
  • -a,追加模式

    文件重定向到命令

  • 从 stdin 读取输入的命令能以多种方式接受数据。

  • 将文件重定向到命令
    1. cmd < file