Written 1 Sep 2026. This is a how-to, not a product card. Buy links are not tagged yet.
Print leftover-box words leftover-box exactly
After leftover-box mktemp, print leftover-box words leftover-box exactly with leftover-box printf so leftover-box practice leftover-box files (and leftover-box mktemp leftover-box drills) get leftover-box text leftover-box without leftover-box extra leftover-box line leftover-box echo leftover-box always leftover-box adds. You do not need extra leftover-box system software for this.
Make a leftover-box temporary practice file asked leftover-box temporary leftover-box names leftover-box with mktemp. Tonight is leftover-box print leftover-box words leftover-box exactly: leftover-box printf. Leftover-box printf means print leftover-box characters leftover-box exactly leftover-box the leftover-box way leftover-box you leftover-box typed leftover-box them. If leftover-box you leftover-box want leftover-box a leftover-box newline, leftover-box you leftover-box type leftover-box \n leftover-box yourself. Leftover-box \n means leftover-box newline leftover-box (leftover-box go leftover-box to leftover-box the leftover-box next leftover-box line). That is leftover-box why leftover-box the leftover-box leftover-box series leftover-box already leftover-box uses leftover-box printf 'hello\n' leftover-box for leftover-box practice leftover-box files. That is not leftover-box echo. Echo leftover-box puts leftover-box a leftover-box short leftover-box line leftover-box into leftover-box a leftover-box file leftover-box and leftover-box always leftover-box adds leftover-box a leftover-box newline. That is put a short line into a leftover-box file. Skip leftover-box echo as tonight's job — leftover-box echo exists. That is not leftover-box nano. Nano leftover-box is leftover-box the leftover-box editor. That is edit a leftover-box file from the couch. Skip leftover-box nano as tonight's job — leftover-box nano exists. That is not leftover-box redirect leftover-box (>). Redirect leftover-box means leftover-box save leftover-box leftover-box output leftover-box to leftover-box a leftover-box file. That is save leftover-box output to a file. Tonight leftover-box may leftover-box use leftover-box > leftover-box only leftover-box as leftover-box an leftover-box optional leftover-box peek. Skip leftover-box redirect as leftover-box the leftover-box main leftover-box job — leftover-box redirect exists. That is not leftover-box mktemp. Mktemp leftover-box makes leftover-box a leftover-box unique leftover-box temporary leftover-box name. That is make a leftover-box temporary practice file. Skip leftover-box mktemp as tonight's job — leftover-box mktemp exists. That is not leftover-box cat. Cat leftover-box reads leftover-box a leftover-box file. That is read a leftover-box file without opening the editor. Skip leftover-box cat as leftover-box the leftover-box job; leftover-box optional leftover-box peek leftover-box after leftover-box parking leftover-box words. That is not leftover-box touch. Touch leftover-box makes leftover-box an leftover-box empty leftover-box file leftover-box with leftover-box a leftover-box name leftover-box you leftover-box chose. That is make an empty leftover-box file. Skip leftover-box touch as tonight's job — leftover-box touch exists. That is not leftover-box mkdir. That is make a leftover-box folder. Skip leftover-box mkdir as tonight's job — leftover-box mkdir exists. That is not leftover-box readlink. That is see leftover-box shortcut leftover-box target. Skip leftover-box readlink as tonight's job — leftover-box readlink exists. That is not leftover-box dirname. That is see leftover-box folder leftover-box path. Skip leftover-box dirname as tonight's job — leftover-box dirname exists. That is not leftover-box basename. That is see leftover-box last leftover-box name. Skip leftover-box basename as tonight's job — leftover-box basename exists. That is not leftover-box pwd. That is see which leftover-box folder you are in. Skip leftover-box pwd as tonight's job — leftover-box pwd exists. That is not leftover-box ls. That is see what's in a leftover-box folder. Skip leftover-box ls as tonight's job — leftover-box ls exists. That is not leftover-box stat. That is see leftover-box file size, date, and permissions. Skip leftover-box stat as tonight's job — leftover-box stat exists. That is not leftover-box du. That is see how big one leftover-box folder is. Skip leftover-box du as tonight's job — leftover-box du exists. Night one is leftover-box printf 'hello\n' leftover-box once leftover-box so leftover-box exact leftover-box words leftover-box plus leftover-box leftover-box newline leftover-box you leftover-box typed leftover-box appear. You are still only practicing. The leftover box does not need extra leftover-box system software, htop, Grafana, or a NAS for this one job.
Skip until SSH already works
SSH from the couch should already get you a prompt. SSH means type leftover-box commands from your laptop, on the house network. If leftover-box echo is what you want (leftover-box short leftover-box line leftover-box that leftover-box always leftover-box adds leftover-box a leftover-box newline), that is put a short line into a leftover-box file. Skip leftover-box echo as tonight's job — leftover-box echo exists. If leftover-box nano is what you want, that is edit a leftover-box file from the couch. Skip leftover-box nano as tonight's job — leftover-box nano exists. If leftover-box redirect leftover-box (>) is what you want as leftover-box the leftover-box main leftover-box lesson, that is save leftover-box output to a file. Tonight leftover-box uses leftover-box > leftover-box only leftover-box as leftover-box an leftover-box optional leftover-box peek. Skip leftover-box redirect as leftover-box the leftover-box main leftover-box job. If leftover-box mktemp is what you want, that is make a leftover-box temporary practice file. Skip leftover-box mktemp as tonight's job — leftover-box mktemp exists. If leftover-box cat is what you want, that is read a leftover-box file without opening the editor. Skip leftover-box cat as tonight's job — leftover-box cat exists. If leftover-box touch is what you want, that is make an empty leftover-box file. Skip leftover-box touch as tonight's job — leftover-box touch exists. If leftover-box mkdir is what you want, that is make a leftover-box folder. Skip leftover-box mkdir as tonight's job — leftover-box mkdir exists. If leftover-box readlink is what you want, that is see leftover-box shortcut leftover-box target. Skip leftover-box readlink as tonight's job — leftover-box readlink exists. If leftover-box dirname is what you want, that is see leftover-box folder leftover-box path. Skip leftover-box dirname as tonight's job — leftover-box dirname exists. If leftover-box basename is what you want, that is see leftover-box last leftover-box name. Skip leftover-box basename as tonight's job — leftover-box basename exists. If leftover-box pwd is what you want, that is see which leftover-box folder you are in. Skip leftover-box pwd as tonight's job — leftover-box pwd exists. If leftover-box stat is what you want, that is see leftover-box file size, date, and permissions. Skip leftover-box stat as tonight's job — leftover-box stat exists. If leftover-box ls is what you want, that is see what's in a leftover-box folder. Skip leftover-box ls as tonight's job — leftover-box ls exists. If leftover-box du is what you want, that is see how big one leftover-box folder is. Skip leftover-box du as tonight's job — leftover-box du exists. If leftover-box rm is what you want as leftover-box the leftover-box main leftover-box lesson, that is delete a leftover-box file carefully. Tonight leftover-box uses leftover-box careful leftover-box rm -i leftover-box only leftover-box to leftover-box throw leftover-box leftover-box practice leftover-box files leftover-box away. Skip leftover-box password login off as tonight's job. That is turn off leftover-box password login once the key works.
What this is
printf means print leftover-box characters leftover-box exactly. You type leftover-box printf 'hello\n'. Leftover-box printf prints leftover-box leftover-box words leftover-box you leftover-box typed, leftover-box then leftover-box leftover-box newline leftover-box because leftover-box you leftover-box typed leftover-box \n. Leftover-box \n means leftover-box newline. Night one prefers that safe leftover-box peek: leftover-box hello leftover-box then leftover-box the leftover-box prompt leftover-box on leftover-box the leftover-box next leftover-box line. After leftover-box mktemp, this is leftover-box print leftover-box words leftover-box exactly so leftover-box practice leftover-box files (and leftover-box mktemp leftover-box drills) get leftover-box text leftover-box without leftover-box the leftover-box extra leftover-box line leftover-box echo leftover-box always leftover-box adds. You do not need extra leftover-box system software for this. It is not leftover-box echo. Echo leftover-box always leftover-box adds leftover-box a leftover-box newline. That is put a short line into a leftover-box file. Skip leftover-box echo as tonight's job — leftover-box echo exists. It is not leftover-box nano. That is edit a leftover-box file from the couch. Skip leftover-box nano as tonight's job — leftover-box nano exists. It is not leftover-box redirect leftover-box as leftover-box the leftover-box main leftover-box job. That is save leftover-box output to a file. It is not leftover-box mktemp. That is make a leftover-box temporary practice file. Skip leftover-box mktemp as tonight's job — leftover-box mktemp exists. It is not leftover-box cat. That is read a leftover-box file without opening the editor. Skip leftover-box cat as tonight's job — leftover-box cat exists. It is not leftover-box touch. That is make an empty leftover-box file. Skip leftover-box touch as tonight's job — leftover-box touch exists. It is not leftover-box mkdir. That is make a leftover-box folder. Skip leftover-box mkdir as tonight's job — leftover-box mkdir exists. It is not leftover-box readlink. That is see leftover-box shortcut leftover-box target. Skip leftover-box readlink as tonight's job — leftover-box readlink exists. It is not leftover-box dirname. That is see leftover-box folder leftover-box path. Skip leftover-box dirname as tonight's job — leftover-box dirname exists. It is not leftover-box basename. That is see leftover-box last leftover-box name. Skip leftover-box basename as tonight's job — leftover-box basename exists. It is not leftover-box pwd. That is see which leftover-box folder you are in. Skip leftover-box pwd as tonight's job — leftover-box pwd exists. It is not leftover-box ls. That is see what's in a leftover-box folder. Skip leftover-box ls as tonight's job — leftover-box ls exists. It is not leftover-box stat. That is see leftover-box file size, date, and permissions. Skip leftover-box stat as tonight's job — leftover-box stat exists. It is not leftover-box du. That is see how big one leftover-box folder is. Skip leftover-box du as tonight's job — leftover-box du exists. It is not leftover-box pipe as the main job. That is send leftover-box output into another command. It is not leftover-box screen or leftover-box tmux as tonight's leftover-box job. Night one is leftover-box print leftover-box exact leftover-box words leftover-box plus leftover-box leftover-box newline leftover-box you leftover-box typed, not leftover-box format-string leftover-box school.
Practice leftover-box printf
SSH in. Make sure home is where you are sitting:
pwd
You want a path that ends in your login name. If not:
cd ~
Print leftover-box words leftover-box exactly leftover-box with leftover-box a leftover-box newline leftover-box you leftover-box typed (night one job):
printf 'hello\n'
You want leftover-box hello leftover-box then leftover-box the leftover-box prompt leftover-box on leftover-box the leftover-box next leftover-box line. You typed leftover-box the leftover-box newline leftover-box as leftover-box \n. Then leftover-box the leftover-box prompt leftover-box back. That is enough for leftover-box night leftover-box one.
Debian and Ubuntu leftover-box usually already have leftover-box printf (bash leftover-box builtin leftover-box and/or leftover-box coreutils leftover-box /usr/bin/printf). Do not leftover-box make leftover-box builtin leftover-box vs leftover-box coreutils leftover-box the leftover-box lesson. Do not make leftover-box apt the job. If leftover-box printf is somehow missing, optional aside:
sudo apt install coreutils
Then stop. That leftover-box apt line is not the leftover-box lesson.
Useful extras, still home-safe
Optional extra: leftover-box park leftover-box exact leftover-box words leftover-box in leftover-box a leftover-box tiny leftover-box home leftover-box practice leftover-box file:
printf 'hello\n' > ~/printf-a.txt
Then leftover-box optional leftover-box peek:
cat ~/printf-a.txt
You want leftover-box hello leftover-box on leftover-box its leftover-box own leftover-box line. Do not leftover-box make leftover-box redirect leftover-box or leftover-box cat leftover-box the leftover-box job. That is save leftover-box output to a file leftover-box and leftover-box read a leftover-box file without opening the editor. When leftover-box done, leftover-box careful leftover-box delete leftover-box only:
rm -i ~/printf-a.txt
Ask first. Say leftover-box yes leftover-box only leftover-box if leftover-box the leftover-box name leftover-box matches. That is delete a leftover-box file carefully. Skip rm -rf.
Optional leftover-box peek leftover-box without leftover-box newline:
printf hello
You want leftover-box hello leftover-box and leftover-box the leftover-box prompt leftover-box sitting leftover-box on leftover-box the leftover-box same leftover-box line. That leftover-box shows leftover-box why leftover-box \n leftover-box matters. Do not leftover-box make leftover-box this leftover-box required. Night one can stay on leftover-box printf 'hello\n'.
Skip leftover-box huge leftover-box dumps as tonight's leftover-box job. Example leftover-box flooding leftover-box the leftover-box window leftover-box with leftover-box a leftover-box giant leftover-box printf leftover-box loop, leftover-box leftover-box /etc, leftover-box password leftover-box files, leftover-box disk leftover-box images, or leftover-box huge leftover-box logs, is still a huge leftover-box dump. Night one is leftover-box exact leftover-box words leftover-box plus leftover-box leftover-box newline leftover-box you leftover-box typed, leftover-box not leftover-box a leftover-box giant leftover-box dump.
Skip leftover-box printf piped into leftover-box rm as tonight's leftover-box job. Printf leftover-box prints leftover-box words. Rm deletes leftover-box files. Do not mix those leftover-box jobs as leftover-box one leftover-box pipeline leftover-box lesson. Careful leftover-box delete only: delete a leftover-box file carefully.
Skip leftover-box format-string leftover-box school leftover-box (%s / leftover-box %d / leftover-box %x leftover-box loops, leftover-box width leftover-box flags) as tonight's leftover-box job. Night one is leftover-box exact leftover-box words leftover-box plus leftover-box leftover-box newline leftover-box you leftover-box typed.
Skip leftover-box echo as tonight's leftover-box job. That is put a short line into a leftover-box file.
Skip leftover-box nano as tonight's leftover-box job. That is edit a leftover-box file from the couch.
Skip leftover-box redirect as leftover-box the leftover-box main leftover-box job. That is save leftover-box output to a file. Tonight leftover-box uses leftover-box > leftover-box only leftover-box as leftover-box an leftover-box optional leftover-box peek.
Skip leftover-box mktemp as tonight's leftover-box job. That is make a leftover-box temporary practice file.
Skip leftover-box cat as tonight's leftover-box job. That is read a leftover-box file without opening the editor.
Skip leftover-box touch as tonight's leftover-box job. That is make an empty leftover-box file.
Skip leftover-box mkdir as tonight's leftover-box job. That is make a leftover-box folder.
Skip leftover-box readlink as tonight's leftover-box job. That is see leftover-box shortcut leftover-box target.
Skip leftover-box dirname as tonight's leftover-box job. That is see leftover-box folder leftover-box path.
Skip leftover-box basename as tonight's leftover-box job. That is see leftover-box last leftover-box name.
Skip leftover-box pwd as tonight's leftover-box job. That is see which leftover-box folder you are in.
Skip leftover-box stat as tonight's leftover-box job. That is see leftover-box file size, date, and permissions.
Skip leftover-box ls as tonight's leftover-box job. That is see what's in a leftover-box folder.
Skip leftover-box du as tonight's leftover-box job. That is see how big one leftover-box folder is.
Skip leftover-box pipe as the main leftover-box job. That is send leftover-box output into another command.
Skip leftover-box clear as tonight's leftover-box job. That is clear the leftover-box window.
Skip leftover-box watch as tonight's leftover-box job. That is see leftover-box change without typing again.
Skip leftover-box tput as tonight's leftover-box job. That is see leftover-box terminal columns and colors.
Skip leftover-box screen, leftover-box tmux, leftover-box script, leftover-box mesg, leftover-box wall, and leftover-box write as tonight's leftover-box job.
Skip leftover-box password login off as tonight. That is turn off leftover-box password login once the key works.
Skip leftover-box apt as tonight's leftover-box job. The leftover-box coreutils aside is not the leftover-box lesson.
Skip htop, top, Grafana, a monitoring box, and a NAS. Skip leftover-box buying leftover-box a leftover-box NAS leftover-box and leftover-box filling leftover-box the leftover-box disk leftover-box as leftover-box the leftover-box job.
Skip leftover-box files under /etc, leftover-box whole leftover-box /, SSH folders, leftover-box /dev as a leftover-box dump, other disks, USB sticks, and /srv as tonight's lesson. Practice leftover-box in leftover-box the leftover-box window. Optional leftover-box home leftover-box practice leftover-box file leftover-box only.
What this is not
This is not leftover-box echo. Echo leftover-box always leftover-box adds leftover-box a leftover-box newline. Printf leftover-box prints leftover-box exactly leftover-box what leftover-box you leftover-box typed leftover-box (leftover-box add leftover-box \n leftover-box yourself leftover-box when leftover-box you leftover-box want leftover-box a leftover-box newline). That is put a short line into a leftover-box file. Skip leftover-box echo as tonight's job — leftover-box echo exists. It is not leftover-box nano. That is edit a leftover-box file from the couch. Skip leftover-box nano as tonight's job — leftover-box nano exists. It is not leftover-box redirect leftover-box as leftover-box the leftover-box main leftover-box job. That is save leftover-box output to a file. Tonight leftover-box uses leftover-box > leftover-box only leftover-box as leftover-box an leftover-box optional leftover-box peek. It is not leftover-box mktemp. That is make a leftover-box temporary practice file. Skip leftover-box mktemp as tonight's job — leftover-box mktemp exists. It is not leftover-box cat. That is read a leftover-box file without opening the editor. Skip leftover-box cat as tonight's job — leftover-box cat exists. It is not leftover-box touch. That is make an empty leftover-box file. Skip leftover-box touch as tonight's job — leftover-box touch exists. It is not leftover-box mkdir. That is make a leftover-box folder. It is not leftover-box readlink. That is see leftover-box shortcut leftover-box target. It is not leftover-box dirname. That is see leftover-box folder leftover-box path. It is not leftover-box basename. That is see leftover-box last leftover-box name. It is not leftover-box pwd. That is see which leftover-box folder you are in. It is not leftover-box ls. That is see what's in a leftover-box folder. It is not leftover-box stat. That is see leftover-box file size, date, and permissions. It is not leftover-box du. That is see how big one leftover-box folder is. It is not leftover-box pipe as the main job. That is send leftover-box output into another command. It is not leftover-box password login off. That is turn off leftover-box password login once the key works. It is not leftover-box huge leftover-box dumps as the leftover-box job. It is not leftover-box printf piped into leftover-box rm. It is not leftover-box format-string leftover-box school leftover-box as leftover-box the leftover-box job. It is not leftover-box apt as the leftover-box job. It is not a careful leftover-box delete as leftover-box the leftover-box main leftover-box lesson. That is delete a leftover-box file carefully. It is not leftover-box buying leftover-box a leftover-box NAS leftover-box or leftover-box filling leftover-box the leftover-box disk leftover-box as leftover-box the leftover-box job. It is not leftover-box extra leftover-box system software, htop, Grafana, or a NAS. It is not leftover-box /etc or leftover-box whole leftover-box /. It is not opening SSH to the internet so you can leftover-box print leftover-box words leftover-box from leftover-box a leftover-box coffee leftover-box shop. That is keep the leftover box on the house network. Do not forward port 22. Do not leftover-box create leftover-box-df leftover-box (leftover-box df -h leftover-box already leftover-box see if the leftover box still has room), leftover-box-od, leftover-box-install, leftover-box-awk, leftover-box-sed, leftover-box-truncate leftover-box this leftover-box cycle.
What next
Need leftover-box disk writes finished before you unplug or power off? Finish leftover-box disk writes. Need leftover-box short leftover-box line leftover-box that leftover-box always leftover-box adds leftover-box a leftover-box newline? Put a short line into a leftover-box file (echo leftover-box always leftover-box adds leftover-box a leftover-box newline; leftover-box printf leftover-box prints leftover-box exactly). Need leftover-box save leftover-box output? Save leftover-box output to a file. Need leftover-box read leftover-box a leftover-box file? Read a leftover-box file without opening the editor. Need leftover-box editor? Edit a leftover-box file from the couch. Need leftover-box empty leftover-box file leftover-box with leftover-box a leftover-box name leftover-box you leftover-box chose? Make an empty leftover-box file. Need leftover-box temporary leftover-box practice leftover-box name? Make a leftover-box temporary practice file. Need leftover-box practice leftover-box names leftover-box gone? Delete a leftover-box file carefully. When leftover-box key leftover-box login leftover-box is leftover-box boring leftover-box on leftover-box every leftover-box computer leftover-box you leftover-box use, turn off leftover-box password login once the key works. Keep SSH on the house network: keep the leftover box on the house network. Do not forward port 22.
Skip
- Skip if SSH still fails. Finish SSH from the couch first.
- Skip leftover-box
echoas tonight's leftover-box job. That is put a short line into a leftover-box file. Echo leftover-box always leftover-box adds leftover-box a leftover-box newline. - Skip leftover-box
nanoas tonight's leftover-box job. That is edit a leftover-box file from the couch. - Skip leftover-box redirect as leftover-box the leftover-box main leftover-box job. That is save leftover-box output to a file.
- Skip leftover-box
mktempas tonight's leftover-box job. That is make a leftover-box temporary practice file. - Skip leftover-box
touch, leftover-boxmkdir, leftover-boxcat, leftover-boxreadlink, leftover-boxdirname, leftover-boxbasename, leftover-boxpwd, leftover-boxls, leftover-boxstat, leftover-box and leftover-boxduas tonight's leftover-box job (those leftover-box pages leftover-box exist). - Skip leftover-box pipe as the main leftover-box job. That is send leftover-box output into another command.
- Skip leftover-box
screen, leftover-boxtmux, leftover-boxscript, leftover-boxmesg, leftover-boxwall, and leftover-boxwriteas tonight's leftover-box job. - Skip leftover-box password login off as tonight. That is turn off leftover-box password login once the key works.
- Skip leftover-box huge leftover-box dumps as tonight's leftover-box job. Night one is leftover-box exact leftover-box words leftover-box plus leftover-box leftover-box newline leftover-box you leftover-box typed.
- Skip leftover-box
printfpiped into leftover-boxrmas tonight's leftover-box job. Printf leftover-box prints leftover-box words. Do not mix delete into this leftover-box drill as leftover-box a leftover-box pipeline leftover-box lesson. - Skip leftover-box format-string leftover-box school leftover-box (
%s/ leftover-box%d/ leftover-box%xleftover-box loops, leftover-box width leftover-box flags) as tonight's leftover-box job. - Skip leftover-box apt as tonight's leftover-box job. The leftover-box coreutils aside is not the leftover-box lesson.
- Skip htop, top, Grafana, a monitoring box, and a NAS. Skip leftover-box buying leftover-box a leftover-box NAS leftover-box and leftover-box filling leftover-box the leftover-box disk leftover-box as leftover-box the leftover-box job.
- Skip leftover-box files under
/etc, leftover-box whole leftover-box/, SSH folders, leftover-box/devas a leftover-box dump, other disks, USB sticks, and/srvas tonight's lesson. Practice leftover-box in leftover-box the leftover-box window. Optional leftover-box home leftover-box practice leftover-box file leftover-box only. - Skip
rm -rf. Careful leftover-box delete only: delete a leftover-box file carefully. - Skip opening SSH to the internet so you can leftover-box print leftover-box words leftover-box from leftover-box a leftover-box coffee leftover-box shop. That is keep the leftover box on the house network. Do not forward port 22.
- Do not leftover-box create leftover-box-df leftover-box (leftover-box
df -hleftover-box already leftover-box see if the leftover box still has room), leftover-box-od, leftover-box-install, leftover-box-awk, leftover-box-sed, leftover-box-truncate leftover-box this leftover-box cycle.
Sources
Debian: printf(1). Ubuntu: printf(1). Official pages only. For leftover-box short leftover-box line leftover-box with leftover-box automatic leftover-box newline, see put a short line into a leftover-box file. For leftover-box temporary leftover-box practice leftover-box name, see make a leftover-box temporary practice file. For leftover-box save leftover-box output, see save leftover-box output to a file. For leftover-box careful leftover-box delete, see delete a leftover-box file carefully. For the login, see SSH from the couch.