I did not find the rendered image relative to my blend file, instead I see the following output. It appears to be that the render output option is not used by blender, it still write the image to the /tmp directory instead of next to my blend file.
Try putting the output specification before the frame spec, it works like an interpreter reading attributes in sequence, so the way you have written it, when it renders it does not yet know where you want the output.
blender -b new.blend -E CYCLES -o //frame_ -f 1
Because it reads a “chain” you can actually stack several commands into one command phrase
Per the documentation, arguments are exectuted in the order they’re given so your -f 1 argument needs to be last (excepting passing arguments to the python interpreter)
Also, this: -- --cycles-device CPU
To my knowledge won’t do anything at all and I’m curious where you got the idea to do it. -- means the end of argument parsing and anything beyond it is used to communicate with python scripts. --cycles-device isn’t an a valid argument regardless.
Writing the full path of the Blender executional is in case you have several Blender version installations or you have a “movable” installation.
The hashtags allow you to name the renders based on the frame numbers, in case you are rendering several. I usually bind my cameras to frame and get a batch of renders in one command like this.
The piping is “> 1.txt” will send all the interesting messages to a file you can read
Also when rendering several frames you may be interested in the following syntax forms:
start to end consecutive frames : … -s 01 -e 09 -a (-a is for “animate” and works for ranges)
the above can also be written directly as a range of frames (not animation) -f 01…09
individual non sequential frames : … -f 08 -f 09 (can also be written as “-f 01,09,02” no spaces after commas)
You can freely combine several sets of frames in any syntax, or even different scenes, remember though the order matters, write as you would actually be executing sequentially (eg in your original question no point of specifying an output directory after you have rendered and saved)