Jak drukować i eksportować strony podręcznika do PDF w Linux i Unix
Potrzebujesz przekonwertować strony podręcznika Unix na PDF lub je wydrukować? Ten kompleksowy przewodnik pokazuje dokładnie, jak eksportować, drukować i zapisywać strony podręcznika na systemach Linux, macOS i BSD za pomocą polecenia man -t i ps2pdf.
Niezależnie od tego, czy potrzebujesz szybkiego pliku PDF do odniesienia, chcesz wydrukować dokumentację do nauki offline, czy potrzebujesz udostępnić strony podręcznika swojemu zespołowi, znajdziesz tutaj kompletny proces pracy.
Ten przewodnik zawiera również rozwiązywanie problemów dla powszechnych błędów oraz ściągę do szybkiego odniesienia.
Szybkie podsumowanie
Użyj man -t command | ps2pdf - command.pdf, aby natychmiast przekonwertować dowolną stronę podręcznika man do PDF. Zastąp command rzeczywistą nazwą polecenia.
Przykład:
man -t man | ps2pdf - man.pdfZrozumienie eksportu stron podręcznika: Jak działa man -t
Kiedy uruchamiasz man ls, system pobiera plik źródłowy (napisany w formacie roff), przetwarza go za pomocą groff (formatatora tekstu GNU) i wyświetla za pomocą programu typu pager, takiego jak less.
Użycie flagi -t mówi man, aby zamiast tego wyświetlał PostScript — format przeznaczony do drukowania, który można łatwo przekonwertować na PDF lub wysłać bezpośrednio do drukarek. To jest podstawa dla wszystkich procesów eksportu.
Co dzieje się za kulisami:
manlokalizuje odpowiedni plik strony podręcznika (np./usr/share/man/man1/ls.1.gz)groffformatuje źródło roff do PostScript- PostScript jest albo wyświetlany, zapisywany, albo przekazywany do innego narzędzia
Dlaczego PostScript? To niezależny od urządzenia język opisu strony, który drukarki rozumieją natywnie, i który można łatwo przekształcić w PDF.
Co nowego w 2026
Aktualizacje Linuxa:
- Wiele nowoczesnych dystrybucji Linuksa jest teraz dostarczanych z
groff1.23+ z ulepszonym wsparciem dla Unicode. - Systemy oparte na systemd zapewniają dokumentację systemd i journald za pośrednictwem standardowych stron podręcznika (man).
xdg-openprzez SSH jest zawodny na systemach opartych na Waylandzie.
Zmiany w macOS:
- macOS Sonoma (14.0+) usunął narzędzie
pstopdf- użyj zamiast tegops2pdfz Ghostscript. - Aplikacja Preview.app nie obsługuje już PostScript w Sequoia (15.0+).
- Ghostscript jest teraz wymagany na macOS do przepływów pracy konwersji PostScript na PDF.
Nowe narzędzia:
mandocjest domyślnym formatownikiem stron podręcznika (man-page) w systemach OpenBSD, FreeBSD i nowoczesnym macOS.- Nowsze implementacje
colgenerują czystszy tekst zwykły niż starsze wersje. - Nowoczesne terminale nie obsługują PostScript. Wyniki PostScript muszą być przeglądane za pomocą przeglądarki dokumentów lub konwertowane na PDF.
Wymagania wstępne
Potrzebne narzędzia (Co jest potrzebne)
W całym tym przewodniku będziemy używać następujących narzędzi:
- man - Przeglądarka stron podręcznika (standardowa we wszystkich systemach Unix)
- groff - formatownik tekstu GNU troff
- ps2pdf - konwerter PostScript na PDF (część Ghostscript)
- lp/lpr - polecenia drukowania CUPS
- mandoc - formatownik stron podręcznika BSD
- col - Filtruj odwrócone znaki końca linii z wejścia
Już zainstalowane na większości systemów:
man- Przeglądarka stron podręcznika (standardowa we wszystkich systemach Unix/Linux)grofflubmandoc- Systemy formatowania stron podręcznika (groff na Linux, mandoc na BSD/macOS)col- filtr tekstu do oczyszczania sformatowanego wyjścia (częśćutil-linuxw systemie Linux)
Do konwersji PDF (wymaga instalacji):
-
ps2pdf- konwerter PostScript na PDF- Część pakietu Ghostscript
- Nie jest domyślnie uwzględniany w macOS
Do druku:
- CUPS (Common Unix Printing System) z skonfigurowaną drukarką
- polecenie
lplublpr
Instalowanie Ghostscript (dla ps2pdf)
Aby zainstalować Ghostscript w systemie Linux, użyj następujących poleceń.
Linux:
# Alpine Linux
apk add ghostscript
# Arch Linux / EndeavourOS / Manjaro
sudo pacman -S ghostscript
# Debian / Ubuntu / Linux Mint / Pop!_OS
sudo apt update && sudo apt install ghostscript
# RHEL / Fedora / CentOS / AlmaLinux / Rocky Linux
sudo dnf install ghostscript
# OpenSUSE
sudo zypper install ghostscriptBSD:
# FreeBSD
sudo pkg install ghostscript
# OpenBSD
doas pkg_add ghostscript
# NetBSD
pkgin install ghostscriptmacOS:
# Using Homebrew (install from https://brew.sh if needed)
brew install ghostscript
# Or using MacPorts
sudo port install ghostscriptSprawdź instalację
Sprawdź, czy narzędzia są dostępne:
which ps2pdf # Should return: /usr/bin/ps2pdf or similar
which man # Should return: /usr/bin/man
which groff # Should return: /usr/bin/groff
lpstat -p # Lists configured printersJeśli ps2pdf jest niedostępny po zainstalowaniu Ghostscript, spróbuj:
# Find where it was installed
find /usr -name ps2pdf 2>/dev/null
# Or check Ghostscript version
gs --versionEksportowanie strony podręcznika do PDF (zalecany sposób pracy)
PDF jest najbardziej przenośnym formatem do udostępniania i archiwizowania stron podręcznika.
Podstawowy eksport PDF
man -t ls | ps2pdf - ls.pdfTo polecenie konwertuje stronę podręcznika ls na plik PDF o nazwie ls.pdf.
Rozkładając to na części:
man -t lsgeneruje PostScript dla polecenials|przesyła wynik do następnego poleceniaps2pdfkonwertuje PostScript na PDF-mówips2pdf, aby czytał ze standardowego wejścials.pdfto nazwa pliku wyjściowego
Eksportuj stronę podręcznika do PDF i otwórz ją jednym poleceniem
Następujące polecenia przekonwertują stronę podręcznika podanego polecenia na plik PDF i natychmiast otworzą ten PDF w przeglądarce na pulpicie.
Linux:
man -t ssh | ps2pdf - ssh.pdf && xdg-open ssh.pdfmacOS:
man -t ssh | ps2pdf - ssh.pdf && open ssh.pdfBSD z mandoc:
mandoc -Tpdf /usr/share/man/man1/ssh.1 > ssh.pdf && xdg-open ssh.pdfOkreśl sekcje strony podręcznika
Strony podręcznika są zorganizowane w numerowanych sekcjach (1 dla poleceń, 5 dla formatów plików itp.).
Aby wyeksportować z określonej sekcji:
man -t 5 passwd | ps2pdf - passwd.5.pdfTo eksportuje dokumentację formatu pliku passwd (sekcja 5), a nie polecenie passwd (sekcja 1).
Numery sekcji podręcznika:
- 1: Polecenia użytkownika (ls, grep, itp.)
- 2: Wywołania systemowe (fork, open, itp.)
- 3: Funkcje biblioteczne (printf, malloc itp.)
- 4: Pliki specjalne (urządzenia w /dev)
- 5: Format plików (passwd, fstab, itp.)
- 6: Gry
- 7: Różne (regex, ascii, itp.)
- 8: Komendy administracji systemem (mount, iptables, itp.)
Masowe eksportowanie wielu stron podręcznika
Możesz wyeksportować wiele stron podręcznika naraz w następujący sposób:
for cmd in ls grep sed awk; do
man -t "$cmd" | ps2pdf - "${cmd}.pdf"
doneUżywaj cudzysłowów wokół zmiennych, aby bezpiecznie obsługiwać przypadki brzegowe.
Ta pętla:
- Konwertuje strony podręcznika dla ls, grep, sed i awk
- Zapisuje każdy jako oddzielny plik PDF
- Tworzy pliki o nazwach ls.pdf, grep.pdf, sed.pdf i awk.pdf.
Uruchamia ten sam proces roboczy cztery razy, raz dla każdej komendy.
Drukowanie stron podręcznika
Drukuj bezpośrednio bez zapisywania plików
man -t du | lpTo wysyła PostScript bezpośrednio do domyślnej drukarki. Nie są tworzone żadne pliki pośrednie.
Jeśli chcesz zobaczyć podgląd przed drukowaniem, uruchom:
man -t du | ps2pdf - du.pdfDrukuj na określonej drukarce
Najpierw sprawdź dostępne drukarki:
lpstat -pNastępnie określ drukarkę:
man -t date | lp -d HP_LaserJet_ProZamień HP_LaserJet_Pro na rzeczywistą nazwę drukarki z lpstat.
Drukuj tylko określone strony podręcznika
Dla długich stron podręcznika takich jak bash:
man -t bash | lp -P 1-5,10To drukuje strony 1-5 i stronę 10. Zwróć uwagę, że są to fizyczne numery stron, a nie numery sekcji podręcznika.
Jeśli chcesz najpierw podejrzeć numery stron, wykonaj:
man -t bash | ps2pdf - bash.pdfNastępnie sprawdź zakresy stron przed drukowaniem.
Drukuj w orientacji poziomej
Przydatne dla stron z szerokimi tabelami lub długimi liniami poleceń:
man -t ip | lp -o landscapeMożesz również otworzyć i sprawdzić układ przed drukowaniem, używając polecenia:
man -t ip | ps2pdf - ip.pdfDostosuj marginesy i skalowanie
man -t df | lp -o scaling=110 -o page-left=36Opcje zależą od sterownika drukarki. Do typowych opcji należą:
scaling=<percent>- Zwiększ lub zmniejsz rozmiar (domyślnie 100)page-left=<points>- Lewy margines w punktach (72 punkty=1 cal)page-top=<points>- Górny margines w punktach
Proszę pamiętać, że skalowanie może powodować przycinanie.
- Powiększona zawartość może wybiec poza stronę
- Długie linie mogą zawijać się niespodziewanie
Zawsze najpierw przetestuj za pomocą podglądu.
Aby sprawdzić marginesy i skalę przed drukowaniem, uruchom:
man -t df | ps2pdf - df.pdfPraca z plikami PostScript
Czasami potrzebujesz pośredniego pliku PostScript do przeglądu lub konwersji za pomocą innych narzędzi.
Zapisz stronę podręcznika jako PostScript
man -t sort > sort.psWyświetl pliki PostScript
Linux/BSD:
evince sort.ps
# or
okular sort.ps
# or
xdg-open sort.psmacOS:
open sort.ps # Opens in PreviewKonwertuj istniejący plik PostScript na PDF
Jeśli masz już plik .ps:
ps2pdf sort.ps sort.pdfTo polecenie zapisuje stronę podręcznika sort jako plik PostScript o nazwie sort.ps.
Eksportowanie stron podręcznika jako zwykły tekst
Do wyszukiwania, kontroli wersji lub poczty e-mail, czysty tekst jest często lepszy niż sformatowany wynik.
Eksport czystego tekstu
man sort | col -bx > sort.txtTo polecenie zapisuje sort podręcznik jako czysty tekst w pliku o nazwie sort.txt.
Polecenie col -bx usuwa:
- Znaki backspace używane do pogrubienia/podkreślenia
- Znaki sterujące
- Formatowanie przekreślone
Tworzy to czysty, przeszukiwalny tekst odpowiedni do użycia z poleceniem grep, edytorami lub pocztą elektroniczną.
Zwykły tekst z zachowaniem podstawowego formatowania
man sort | col -b > sort.txtPominięcie flagi -x zachowuje część podstawowego formatowania, jednocześnie usuwając znaki sterujące.
Specyficzne dla BSD: Korzystanie z mandoc
Nowoczesne systemy BSD (OpenBSD, FreeBSD) używają mandoc zamiast groff. Może on generować PDF bezpośrednio bez użycia PostScript jako formatu pośredniego.
Bezpośrednie generowanie PDF
mandoc -Tpdf /usr/share/man/man1/ls.1 > ls.pdfKonwertuje stronę podręcznika ls bezpośrednio na plik PDF, bez użycia man, groff ani Ghostscript. Jest to powszechne w systemach BSD i macOS.
Znajdź plik źródłowy strony podręcznika
man -w lsTo drukuje ścieżkę do pliku strony podręcznika, którą następnie można przekazać do mandoc.
Przykładowy wynik:
/usr/share/man/man1/ls.1.gzPełny przepływ pracy
mandoc -Tpdf "$(man -w ls)" > ls.pdfZnajduje rzeczywisty plik źródłowy dla strony podręcznika ls i konwertuje go bezpośrednio do PDF.
Rozwiązywanie typowych problemów
Błąd: „ps2pdf: polecenie nie znalezione”
Przyczyna: Ghostscript nie jest zainstalowany.
Rozwiązanie - Zainstaluj Ghostscript:
# Debian/Ubuntu
sudo apt install ghostscript
# RHEL/Fedora/CentOS
sudo dnf install ghostscript
# Arch Linux
sudo pacman -S ghostscript
# macOS (requires Homebrew)
brew install ghostscript
# FreeBSD
sudo pkg install ghostscript9-base
# OpenBSD
doas pkg_add ghostscriptPo instalacji sprawdź: which ps2pdf powinno zwrócić ścieżkę taką jak /usr/bin/ps2pdf.
Błąd: „Nie można otworzyć wyświetlacza” podczas używania xdg-open
Przyczyna: Próba uruchomienia aplikacji GUI przez SSH bez przekazywania X11.
Rozwiązania:
Opcja 1 - Użyj przesyłania X11:
ssh -X user@host
man -t ls | ps2pdf - ls.pdf && xdg-open ls.pdfOpcja 2 - Skopiuj na lokalny system:
# On remote system
man -t ls | ps2pdf - ls.pdf
# On local system
scp user@host:ls.pdf .Opcja 3 - Po prostu utwórz plik PDF (pomiń otwieranie):
man -t ls | ps2pdf - ls.pdf
# Copy manually or view laterZniekształcony wynik lub pusty plik PDF
Typowe przyczyny i sposoby naprawy:
1. Brak groff:
# Verify groff is installed
which groff
# Install if missing
sudo apt install groff # Debian/Ubuntu
sudo dnf install groff # RHEL/Fedora2. Strona podręcznika nie istnieje:
# Check if the man page exists
man -w commandname
# If it returns nothing, the man page isn't installed3. Uszkodzona strona podręcznika:
# Try a different man page to rule out corruption
man -t man | ps2pdf - test.pdfJeśli to działa, oryginalna strona podręcznika jest uszkodzona
Błąd: „Brak podręcznika dla polecenia”
Przyczyna: Dokumentacja polecenia nie jest zainstalowana.
Rozwiązania:
Zainstaluj pakiet dokumentacji:
# Ubuntu/Debian
sudo apt install manpages manpages-dev
# For specific software, install its -doc package
sudo apt install git-doc python3-docWyszukaj polecenie:
# Find which package provides the man page
apt-cache search "man page" | grep commandnameOstrzeżenie: „niektóre znaki nie mogły zostać przekonwertowane na PostScript”
Przyczyna: Strona podręcznika zawiera znaki Unicode, które nie są obsługiwane w PostScript.
Rozwiązanie:
# Force UTF-8 encoding
man -t -Tutf8 command | ps2pdf - output.pdf
# Or use col to clean the output first
man command | col -bx > clean.txt
# Then work with the text fileDrukowanie na niewłaściwej drukarce lub brak ustawionej drukarki domyślnej
Sprawdź dostępne drukarki:
lpstat -pUstaw drukarkę domyślną:
lpoptions -d printer_nameZawsze określ drukarkę wyraźnie:
man -t ls | lp -d correct_printer_nameSprawdź kolejkę wydruku:
lpstat -o # Show pending jobs
cancel job_id # Cancel a job if neededWydruk PDF ma mikroskopijne lub błędne czcionki
Przyczyna: Problemy z osadzaniem czcionek w Ghostscript.
Rozwiązanie - Wymuś osadzenie czcionki:
man -t ls | ps2pdf -dEmbedAllFonts=true - ls.pdfLub dostosuj ustawienia PDF:
man -t ls | ps2pdf -dPDFSETTINGS=/printer - ls.pdfOpcje dla -dPDFSETTINGS:
/screen- Niska rozdzielczość (72 dpi), najmniejsze pliki/ebook- Średnia rozdzielczość (150 dpi)/printer- Wysoka rozdzielczość (300 dpi) - Zalecane/prepress- Najwyższa jakość (300+ dpi), duże pliki
Brakujące sekcje lub ucięta strona podręcznika
Przyczyna: Niewystarczające przetwarzanie lub skomplikowane formatowanie.
Rozwiązanie 1 - Użyj eksportu w formacie tekstu zwykłego:
man command | col -bx > command.txtPo eksporcie sprawdź, czy całe treści są obecne.
Rozwiązanie 2 - Zwiększ pamięć groff:
groff -Tps -man /usr/share/man/man1/command.1 | ps2pdf - output.pdfOdmowa dostępu podczas drukowania
Przyczyna: Użytkownik nie należy do grupy drukarki lub występują ograniczenia dostępu CUPS.
Rozwiązanie:
# Add user to lp group
sudo usermod -aG lp $USER
# Log out and back in for group changes to take effect
# Or check CUPS permissions
sudo nano /etc/cups/cupsd.conf
# Ensure your user has accessmacOS: "Podgląd nie może otworzyć pliku PostScript"
Przyczyna: Ostatnie wersje macOS mają ograniczone wsparcie dla PostScript.
Rozwiązanie 1 - Użyj ps2pdf:
man -t command | ps2pdf - command.pdf && open command.pdfRozwiązanie 2 - Alternatywna metoda podglądu:
man -t command | open -f -a Preview
# If this fails, PostScript support is disabledRozwiązanie 3 - Zainstaluj Ghostscript:
brew install ghostscript
# Then use ps2pdf as shown aboveBSD: "mandoc: BŁĄD: nie można odczytać"
Przyczyna: Nieprawidłowa ścieżka pliku lub uprawnienia.
Rozwiązanie:
# Find the correct path
man -w command
# Use the full path
mandoc -Tpdf "$(man -w command)" > output.pdf
# Check file permissions
ls -l "$(man -w command)"Wynik nie zawiera numeru sekcji w nazwie pliku
To nie błąd, lecz powszechne nieporozumienie.
Aby uwzględnić numery sekcji w eksportowanych nazwach plików:
# Get section number first
SECTION=$(man -w grep | sed 's/.*\.\([0-9]\).*/\1/')
man -t grep | ps2pdf - "grep.${SECTION}.pdf"
# Or just add it manually
man -t 5 crontab | ps2pdf - crontab.5.pdfWeryfikacja udanego eksportu
Zawsze sprawdzaj swój plik PDF przed udostępnieniem:
# Check file size (should be > 0 bytes)
ls -lh output.pdf
# Check PDF integrity
pdfinfo output.pdf
# Quick visual check
xdg-open output.pdf # Linux
open output.pdf # macOSOczekiwane rozmiary plików:
- Małe strony podręcznika (jak
ls): 20-50 KB - Średnie strony podręcznika (takie jak
bash): 100-300 KB - Duże strony podręcznika (takie jak
ffmpeg): 500 KB - 2 MB
Jeśli twój PDF ma mniej niż 5 KB, coś poszło nie tak.
Praktyczne zastosowania
Możesz się zastanawiać, dlaczego miałbym eksportować stronę podręcznika do formatu pdf lub ps? Oto kilka przypadków użycia.
Utwórz osobistą bibliotekę referencyjną
mkdir -p ~/manuals/pdf
cd ~/manuals/pdf
# Export frequently-used commands
for cmd in bash ssh git rsync tar grep sed awk find; do
man -t "$cmd" | ps2pdf - "${cmd}.pdf"
donePopularne polecenia eksportu
Oto często eksportowane strony podręcznika do użytku offline:
Administracja systemem:
# Core system commands
man -t systemctl | ps2pdf - systemctl.pdf
man -t journalctl | ps2pdf - journalctl.pdf
man -t crontab | ps2pdf - crontab.pdf
man -t sudo | ps2pdf - sudo.pdf
# File system and disk management
man -t mount | ps2pdf - mount.pdf
man -t fdisk | ps2pdf - fdisk.pdf
man -t df | ps2pdf - df.pdf
man -t lsblk | ps2pdf - lsblk.pdfSieciowanie:
# Network utilities
man -t ip | ps2pdf - ip.pdf
man -t netstat | ps2pdf - netstat.pdf
man -t ss | ps2pdf - ss.pdf
man -t iptables | ps2pdf - iptables.pdf
man -t tcpdump | ps2pdf - tcpdump.pdfNarzędzia deweloperskie:
# Git and version control
man -t git | ps2pdf - git.pdf
man -t git-commit | ps2pdf - git-commit.pdf
man -t git-rebase | ps2pdf - git-rebase.pdf
# Compilers and build tools
man -t gcc | ps2pdf - gcc.pdf
man -t make | ps2pdf - make.pdf
man -t cmake | ps2pdf - cmake.pdfDocker i kontenery:
man -t docker | ps2pdf - docker.pdf
man -t docker-compose | ps2pdf - docker-compose.pdf
man -t podman | ps2pdf - podman.pdfPrzetwarzanie tekstu:
# Essential text tools
man -t grep | ps2pdf - grep.pdf
man -t sed | ps2pdf - sed.pdf
man -t awk | ps2pdf - awk.pdf
man -t find | ps2pdf - find.pdf
man -t xargs | ps2pdf - xargs.pdfSkrypty powłoki:
# Bash reference
man -t bash | ps2pdf - bash.pdf
man -t zsh | ps2pdf - zsh.pdf
# Configuration files
man -t 5 bashrc | ps2pdf - bashrc.pdf
man -t 5 crontab | ps2pdf - crontab-format.pdfUdostępnij dokumentację współpracownikowi
man -t systemctl | ps2pdf - systemctl-reference.pdf
# Email or upload systemctl-reference.pdfUcz się offline lub dodawaj notatki
Eksportuj do PDF, a następnie otwórz w czytniku PDF, który obsługuje adnotacje. Jest to szczególnie przydatne przy nauce skomplikowanych poleceń, takich jak iptables lub ffmpeg.
Szybki test drukarki
man -t cal | lpStrona podręcznika cal jest krótka — idealna do testowania konfiguracji drukarki.
Ograniczenia i uwagi
1. Wygląd wyjścia:
Strony podręcznika przekonwertowane w ten sposób są funkcjonalne, ale nieostylowane. Używają podstawowych czcionek i prostych układów. Do dokumentacji publicznej warto rozważyć narzędzia takie jak Pandoc lub dedykowane systemy dokumentacji.
2. Nie wszystkie formatowania przetrwają:
Złożone tabele, specjalne symbole lub formatowanie mogą nie konwertować się idealnie. Zawsze sprawdzaj wynik przed szerokim udostępnianiem.
3. Wykorzystanie zasobów:
Drukowanie zużywa papier i tusz. Używaj podglądu wydruku lub eksportu do PDF w celu przeglądu przed wysłaniem zadań do drukarki.
4. Istnieją alternatywne narzędzia:
Do eksportu HTML rozważ man2html. W przypadku stylizowanych plików PDF spójrz na generatory dokumentacji, takie jak Sphinx lub Asciidoctor, jeśli tworzysz materiały referencyjne od podstaw.
Zaawansowane wskazówki
Utwórz funkcję Shell do szybkiego eksportu
Dodaj do swojego ~/.bashrc lub ~/.zshrc:
manpdf() {
local name="${*: -1}"
local open_cmd="xdg-open"
command -v open >/dev/null && open_cmd="open"
man -t "$@" | ps2pdf - "${name}.pdf" && "$open_cmd" "${name}.pdf"
}Użytkowanie :
manpdf grepEksportuj z niestandardową nazwą pliku
man -t 5 crontab | ps2pdf - crontab-file-format.pdfPołącz wiele stron podręcznika w jeden plik PDF
# Export individually
man -t ls | ps2pdf - /tmp/ls.pdf
man -t cp | ps2pdf - /tmp/cp.pdf
man -t mv | ps2pdf - /tmp/mv.pdfPołącz wszystkie pliki PDF za pomocą pdfunite:
pdfunite /tmp/ls.pdf /tmp/cp.pdf /tmp/mv.pdf file-commands.pdfLub używając Ghostscript:
gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
-sOutputFile=file-commands.pdf \
/tmp/ls.pdf /tmp/cp.pdf /tmp/mv.pdfMożesz również użyć narzędzia pdftk:
pdftk /tmp/ls.pdf /tmp/cp.pdf /tmp/mv.pdf cat output file-commands.pdfAby uzyskać więcej informacji, zapoznaj się z tym przewodnikiem:
- Scal pliki PDF w wierszu poleceń w systemie Linux
Najczęściej zadawane pytania (FAQ)
P: Jak przekształcić stronę podręcznika (man) na PDF w systemie Linux?
A: Użyj polecenia: man -t command_name | ps2pdf - output.pdf. Na przykład, aby skonwertować stronę podręcznika grep: man -t grep | ps2pdf - grep.pdf. Wymaga to ps2pdf z pakietu Ghostscript.
P: Dlaczego otrzymuję „ps2pdf: polecenie nie znalezione”?
A: Ten błąd oznacza, że Ghostscript nie jest zainstalowany. Zainstaluj go za pomocą:
- Debian/Ubuntu: sudo apt install ghostscript
- RHEL/Fedora: sudo dnf install ghostscript
- macOS: brew install ghostscript
- FreeBSD: sudo pkg install ghostscript
P: Jak wydrukować stronę podręcznika z terminala?
A: Użyj man -t command | lp, aby wydrukować na domyślnej drukarce, lub man -t command | lp -d printer_name, aby określić drukarkę. Sprawdź dostępne drukarki za pomocą lpstat -p.
P: Czy mogę eksportować strony podręcznika na macOS bez instalowania dodatkowego oprogramowania?
A: Tak! Użyj man -t command | open -f -a Preview, aby otworzyć stronę podręcznika bezpośrednio w Preview, a następnie zapisz jako PDF. Zauważ, że w nowszych wersjach macOS usunięto pstopdf, więc do bezpośredniej konwersji będziesz potrzebować ps2pdf z Ghostscript.
P: Co robi polecenie "man -t"?
A: Flaga -t informuje man, aby wyświetlał wynik w formacie PostScript zamiast w pagerze. PostScript to język drukarki, który można przekształcić na PDF lub wysłać bezpośrednio do drukarek. Traktuj to jako wersję gotową do druku strony podręcznika man.
P: Jak wyeksportować wiele stron podręcznika naraz?
A: Użyj pętli:for cmd in ls grep sed awk; do
man -t "$cmd" | ps2pdf - "${cmd}.pdf"
done
Q: Dlaczego mój wyeksportowany plik PDF wygląda inaczej niż wyświetlenie w terminalu?
A: Terminal używa formatowania ANSI (pogrubienie, podkreślenie), podczas gdy PDF używa rzeczywistych czcionek. Zawartość jest identyczna, ale prezentacja wizualna różni się. Jest to normalne i oczekiwane.
P: Jak znaleźć strony podręcznika w konkretnych sekcjach?
A: Strony podręcznika są uporządkowane w sekcje (1-8). Użyj man numer_sekcji polecenie. Na przykład, man 5 passwd pokazuje format pliku passwd (sekcja 5) zamiast polecenia passwd (sekcja 1). Eksportuj za pomocą man -t 5 passwd | ps2pdf - passwd5.pdf.
P: Czy mogę zautomatyzować eksport stron podręcznika w skryptach?
A: Tak! Oto funkcja do dodania do twojego .bashrc:manpdf() {
man -t "$@" | ps2pdf - "$ {1}.pdf" && xdg-open "$ {1}.pdf"
}
Następnie użyj: manpdf grep
P: Jaka jest różnica między ps2pdf, ps2pdf12, ps2pdf13 i ps2pdf14?
A: Te produkują różne wersje PDF:
- ps2pdf - Domyślnie (aktualnie PDF 1.4)
- ps2pdf12 - PDF 1.2 (zgodne z Acrobat 3+)
- ps2pdf13 - PDF 1.3 (zgodne z Acrobat 4+)
- ps2pdf14 - PDF 1.4 (zgodne z Acrobat 5+)
Dla maksymalnej kompatybilności użyj ps2pdf13. Dla nowoczesnych systemów domyślny ps2pdf jest w porządku.
P: Jak zapisać strony podręcznika jako HTML zamiast PDF?
A: Użycie: man command | groff -mandoc -Thtml > command.html. Jednak PDF jest zazwyczaj bardziej niezawodny i przenośny dla stron podręcznika (man).
P: Czy mogę eksportować strony podręcznika w BSD bez ps2pdf?
A: Tak! Systemy BSD z mandoc mogą bezpośrednio generować PDF: mandoc -Tpdf /usr/share/man/man1/ls.1 > ls.pdf. Ścieżkę strony podręcznika znajdziesz za pomocą man -w ls.
P: Dlaczego otrzymuję „Nie można otworzyć wyświetlacza” podczas korzystania z xdg-open przez SSH?
A: Próbujesz otworzyć aplikację GUI przez SSH bez przekazywania X11. Użyj ssh -X do przekazywania X11 lub skopiuj PDF na swój lokalny komputer: scp user@host:file.pdf .
P: Jak wydrukować tylko wybrane strony długiej strony podręcznika?
A: Użyj opcji -P z lp: man -t bash | lp -P 1-5 drukuje tylko strony 1-5. Zwróć uwagę, że są to numery stron fizycznych, a nie numery sekcji.
P: Jak wyszukać polecenia, gdy nie znam ich nazwy?
A: Użyj apropos keyword, aby wyszukać nazwy stron podręcznika i opisy. Na przykład, apropos compress znajdzie wszystkie polecenia związane z kompresją.
P: Czy mogę konwertować strony podręcznika (man) na inne formaty, takie jak EPUB lub DOCX?
A: Chociaż możliwe, jest to skomplikowane i rzadko daje dobre rezultaty. Strony podręcznika są przeznaczone do wyświetlania w terminalu i do drukowania. W przypadku dokumentacji w innych formatach należy szukać oficjalnej dokumentacji projektu zamiast konwertować strony podręcznika.
Kluczowe wnioski
- Wymagania wstępne: Większość systemów ma
manigroff; konwersja do PDF wymagaps2pdf(Ghostscript) - Eksport do PDF:
man -t command | ps2pdf - output.pdfkonwertuje strony man na przenośne pliki PDF - Bezpośrednie drukowanie:
man -t command | lpwysyła strony man bezpośrednio do drukarki - Tekst zwykły:
man command | col -bx > output.txttworzy czyste, przeszukiwalne pliki tekstowe - Specjalne dla macOS:
man -t command | open -f -a Previewotwiera w Preview bez dodatkowych narzędzi - Alternatywa BSD: Systemy z
mandocmogą używaćmandoc -Tpdf $ (man -w command) > output.pdf
ściąga
Konwertuj stronę podręcznika na PDF (Linux/macOS):
man -t ls | ps2pdf - ls.pdfDrukuj stronę podręcznika bezpośrednio:
man -t command | lpEksportuj do zwykłego tekstu:
man command | col -bx > command.txtmacOS: Otwórz w Podglądzie:
man -t ssh | open -f -a PreviewAby uzyskać więcej informacji, zapoznaj się ze stroną podręcznika odpowiedniego polecenia:
man man- Dowiedz się więcej o systemie manman groff- dokumentacja formatera tekstu GNU roffman mandoc- formatownik stron podręcznika BSD (systemy BSD)man lp- Wyślij zadania do drukarek CUPSman ps2pdf- Opcje konwertera PostScript na PDF
Alternatywne podejścia
Oto kilka alternatywnych podejść dla man -t:
- Pandoc - Uniwersalny konwerter dokumentów (może konwertować Markdown na strony podręcznika)
- ronn/ronn-ng - Generowanie stron podręcznika (man pages) z Markdown
- help2man - Generuj proste strony podręcznika (man) z wyjścia pomocy programu
- man2html - Konwertuj strony podręcznika na HTML (mniej niezawodne niż PDF)
Podsumowanie
Eksportowanie i drukowanie stron podręcznika jest proste, gdy zrozumiesz przepływ pracy PostScript. Główne polecenie "man -t" generuje wydruk przyjazny dla drukarki, który można zapisać, przekonwertować lub wydrukować bezpośrednio.
Dla większości użytkowników przepływ pracy z PDF (man -t command | ps2pdf - output.pdf) zapewnia najlepszą równowagę między przenośnością a jakością. Do szybkiego drukowania przekierowanie bezpośrednio do lp eliminuje pliki pośrednie. Do przetwarzania tekstu col -bx tworzy czysty, przeszukiwalny wynik.
Te techniki wykorzystują standardowe narzędzia Uniksa, które są stabilne od dziesięcioleci. Działają w różnych dystrybucjach i wariantach Uniksa przy minimalnych zależnościach. Opanuj te podstawy, a będziesz mieć niezawodny dostęp do dokumentacji niezależnie od środowiska.
Zasoby
- Projekt stron podręcznika Linuksa - Źródło stron podręcznika Linuksa
- Przewodnik po drukowaniu CUPS - odniesienie do opcji drukarki
- Dokumentacja Ghostscript - szczegóły ps2pdf
- Podręcznik groff - System formatowania tekstu
Powiązana lektura:
- Naucz się efektywnie korzystać z podręczników (man) w Linuksie
- Efektywne przeszukiwanie stron podręcznika Linuksa
- Dobre alternatywy dla stron podręcznika, które każdy użytkownik Linuksa powinien znać
- Wyświetl określoną sekcję w stronach podręcznika w Linuksie
- Znajdź najdłuższą stronę podręcznika w Linux
- Łatwo przypomnij sobie zapomniane polecenia Linuksa
- Twórz i utrzymuj własne strony podręcznika
- Zainstaluj strony podręcznika w Alpine Linux
- Zainstaluj brakujące strony podręcznika poleceń w Ubuntu
- Pinfo - program CLI do czytania stron info i man w kolorze
- Znajdź pomoc dla polecenia w Linuxie (Man, Info, Apropos, Whatis, -help)
- Przeglądaj i czytaj całą Wiki Arch jako strony podręcznika Linuxa
- Wyświetlanie ściągawki poleceń Linux za pomocą narzędzia Tealdeer
- Wyświetlanie ściągawki poleceń Linuksa za pomocą Eg
- Navi: Interaktywne narzędzie do cheat sheetów w wierszu poleceń
- Szukaj, ucz się i ćwicz polecenia Linuksa w locie za pomocą Tldr++