Librarian Terminal Pack
The Librarian Terminal Pack is a small set of practical notes and guides that help you feel comfortable using the terminal just enough to run tiny, useful scripts (like the Library Pop-Up Tools). No deep technical background required.
library_pop_up_tools % python catalog_cleaner.py my_catalog.csv cleaned_catalog.csv
Cleaned file written to: cleaned_catalog.csv
library_pop_up_tools % python suspicious_books_screener.py sample_books.csv sample_books_with_flags.csv
Screened 4 books.
Score 0: 2 titles
Score 3: 2 titles
Flagged file written to: sample_books_with_flags.csv
How to Use These Tools
- Start with the overview: open
00_README_FIRST.txtin any text editor. It explains what the pack is for and how to move through it. - Learn a handful of commands: skim
01_SixCommands.txtand02_OneLiners.txtto see a few commands you can copy and paste. - Keep
06_CommonErrors.txtnearby so error messages feel less scary and you have quick "what does this mean?" answers. - When you're ready to "do a thing": switch over to the
library_pop_up_toolsfolder on your Desktop and run one script using what you learned.
The idea: read a little, try a tiny command, then use that confidence to run a pop-up tool (for example cleaning a catalog CSV or screening a vendor cart).
What's Inside
Core files (read in order if you like)
Click any heading below to expand the full text in place (no extra tabs or windows).
00_README_FIRST.txt: overview and how this pack works
Librarian Terminal Starter Pack — 2-Minute Checklist
1. Open your terminal program (Terminal on Mac/Linux, PowerShell on Windows).
2. Type: date and press Enter. If you see today\'s date, you're in.
3. Read 01_SixCommands.txt next, only six commands unlock 90% of daily power.
4. Keep 05_CheatSheet_5x8.txt open on your desk while you practice.
5. Try the Micro-Project (04_MicroProject_DueBot.txt) when you're ready.
That's it. No install, no sign-up, no bullshit.
01_SixCommands.txt: six commands you can use almost every day
The Only Six You Need Today
1. pwd — "Where am I in the folder tree?"
2. ls — "List everything in this drawer."
3. cd FOLDER — "Walk into that aisle."
4. grep WORD file — "Find every card that mentions WORD."
5. cp old new — "Photocopy and date-stamp."
6. history — "Flip through yesterday's circ log."
Pro-tip: press TAB to auto-complete names so you never mistype.
02_OneLiners.txt: small "copy and paste" examples
Copy-Paste Library One-Liners
Count today's loans:
grep "$(date +%F)" loans.csv | wc -l
Backup loans with today's date:
cp loans.csv loans-$(date +%F).csv
Find any barcode containing 3928:
grep -i 3928 barcodes.txt
Bulk-rename cover scans .jpeg → .jpg:
for f in *.jpeg; do mv "$f" "${f%.jpeg}.jpg"; done
List biggest MARC files first:
ls -lhS *.mrc | head
Live-watch the check-in log:
tail -f /var/log/checkins.log
Quick disk-space check:
df -h .
Random emoji password (three emoji):
curl -s https://unicode.org/Public/emoji/15.0/emoji-test.txt | grep -E "^[0-9A-F].*; fully-qualified" | shuf | head -3 | cut -d" " -f1
03_ThermalPrinterFix.txt: a concrete, real-world fix
Thermal Printer Reconnect — Checklist
SYMPTOM 1: "Printer not detected"
1 Unplug power 30 s → replug
2 Swap USB/Ethernet cable
3 Different USB port (no hub)
4 Power printer first, then PC
5 Re-install driver from maker site
SYMPTOM 2: "Wi-Fi won't join"
1 Print network page (hold FEED 3-5 s) — IP ≠ 0.0.0.0
2 Move printer within 3 m of router, force 2.4 GHz
3 Re-enter Wi-Fi password via printer menu
4 Assign static IP so it doesn't vanish
SYMPTOM 3: "Prints garbage / blank"
1 Thermal paper upside-down? Scratch gray mark = correct side
2 Clean print-head with 70 % isopropyl swab
3 Calibrate labels: hold FEED 3 s until 2-3 labels feed
4 Check driver paper size (80 mm vs 58 mm)
Nuclear option (Windows PowerShell Admin):
Get-Service -Name Spooler | Restart-Service
Remove-Item "C:\Windows\System32\spool\PRINTERS\*" -Force
04_MicroProject_DueBot.txt: a tiny project idea to try
Micro-Project: Due-Date Reminder Bot (20 min)
1. Make folder and data:
mkdir due-bot && cd due-bot
cat > loans.csv
paste:
patron,book,due
alice,NeuroTribes,2025-07-20
bob,The Hobbit,2025-07-22
carol,The Reason I Jump,2025-07-24
Ctrl-D to save.
2. Write the bot:
nano overdue.py
(copy code from earlier reply or GitHub gist)
3. Run it:
python3 overdue.py
Output: alice owes NeuroTribes (3 days overdue) etc.
4. Make it executable:
chmod +x overdue.py
./overdue.py
5. Optional color:
print(f"\033[31m{patron}\033[0m owes {book} ({days_overdue} days overdue)")
Next: pipe to less, redirect to file, or schedule with cron.
05_CheatSheet_5x8.txt: a mini reference you can print or keep nearby
Librarian Terminal Cheat Sheet — 5×8 print-and-tape
pwd where am I?
ls list files
cd FOLDER open folder
grep WORD search inside file
cp old new copy file
history see last commands
Tab auto-complete
Ctrl-C cancel
Ctrl-A start of line
Ctrl-E end of line
↑ / ↓ scroll history
06_CommonErrors.txt: "what went wrong?" explanations for common messages
Common Errors & Instant Fixes
ERROR: "command not found"
→ Did you mistype? Use Tab to autocomplete.
→ Is the program installed? sudo apt install <name>
ERROR: "Permission denied"
→ Do you own the file? ls -l
→ Need admin? sudo !! (re-runs last command with sudo)
ERROR: "No such file or directory"
→ Check spelling and case (Linux is case-sensitive).
→ Are you in the right folder? pwd
ERROR: "Connection refused" (web stuff)
→ Is the server running? node app.js
→ Firewall or wrong port? Try localhost:8080 first.
ERROR: "Port already in use"
→ Find who's using it: lsof -i :8080
→ Kill it: kill -9 <PID>
ERROR: Terminal frozen
→ Press Ctrl-C to cancel current command.
→ If that fails, type reset and press Enter.
07_FunTricks.txt: a few playful commands to try when you're curious
Fun One-Liners
Talking cow:
fortune | cowsay
Weather forecast ASCII:
curl wttr.in/Detroit?0
Matrix rain:
cmatrix (q to quit)
Terminal fireplace:
aafire (q to quit)
Random inspiring quote:
curl -s https://api.quotable.io/random | jq -r .content | cowsay
Make terminal speak (Mac):
say "Welcome to the library, $(whoami)"
Bubble-wrap pop:
for i in {1..50}; do echo -n "🎈 "; done; echo
08_HistoryTLDR.txt: a short "how did we get here?" history note
TL;DR Terminal History
1950s — Punch-cards → print-out (batch)
1961 — CTSS first interactive prompt
1965 — Multics coins "shell"
1971 — Unix + pipes (Lego for text)
1975 — VT100 CRT screen
1981 — MS-DOS prompt on PCs
2000s — SSH into cloud
2020s — Browser terminals + AI prompts
Moral: every AI code-generator ends with curl | bash: same flow since 1961.
09_LinksAndNextSteps.txt: where to go if you want a bit more
Links & Next Steps
GitHub repo (updated monthly):
https://github.com/yourhandle/librarian-terminal-pack
Monthly "Terminal Tea Break" Zoom:
https://bit.ly/terminal-tea-break
Discord server (noob-friendly):
https://discord.gg/library-tech
Keep going:
1. Read "The Linux Command Line" (free PDF)
2. Try the next micro-project: barcode-counter.py
3. Schedule your first cron job: daily backup at 3 a.m.
Stamp today's date here when you finish your first script: ___________
Templates (for your own workshops)
Use these as starting points if you want to teach a short "terminal for librarians" session, build your own handouts, or adapt this pack for your staff and local workflows.
Connecting to the Library Pop-Up Tools
Once you're comfortable with the basics here, you can move on to the pop-up tools that live in
~/Desktop/library_pop_up_tools:
- Open Terminal and run
cd ~/Desktop/library_pop_up_tools. - Pick one script from the tools page (for example
catalog_cleaner.pyorweeding_screener.py). - Follow the "How to run it" instructions in that tool's HTML page.
The Terminal Pack teaches you just enough to feel steady; the pop-up tools give you small, concrete wins in your day-to-day work.