Targety (ang. target – cel) to po prostu logiczne zbiory unitów. To specjalny typ unitu z rozszerzeniem .target. Niektóre targety są odpowiednikiem runleveli znanych z SysVinit, są jednak nazwane a nie ponumerowane. Targety są używane do wykonywania serii unitów. Jest to zazwyczaj prawda gdy chodzi o bootowanie systemu do konkretnego poziomu operacyjnego (runlevelu o konkrenym numerze) ze wszystkimi wymaganymi usługami uruchomionymi w tym poziomie. Niektóre targety dziedziczą wszystkie usługi z innych targetów i dodają do nich swoje. Systemd zawiera wiele predefiniowanych targetów, które opisuje tabela poniżej wraz z odpowiednikami w SysVinit.
| Target | SysVinit Run Level | Opis | 
| halt | 0 | Zamyka i zatrzymuje system. | 
| poweroff lub runlevel0 | 0 | Zamyka i wyłącza z zasilania system. | 
| shutdown | 0 | Zamyka system. | 
| rescue lub runlevel1 | 1, s, lub single | Target Single-user przeznaczony do czynności administracyjnych i odzyskiwania systemu. Lokalny system plików jest podmontowany. Część niezbędnych usług jest uruchomiona ale sieć jest odłączona. | 
| multi-user lub runlevel2|3|4 | 3 | Target multi-user z pełną obsługą sieci ale bez GUI. | 
| graphical lub runlevel5 | 5 | Target multi-user z pełną obsługą sieci oraz GUI. | 
| reboot lub runlevel6 | 6 | Zamyka i uruchamia ponownie system. | 
| default | 3 lub 5 | Domyślny boot target zlinkowany z targetem multi-user.target i graphical.target. | 
| emergency | – | Uruchamiany jako powłoka awaryjna. Główny system plików (root) jest podmontowany w trybie tylko do odczytu, inne systemy plików nie są montowane. Sieć i inne usługi są wyłączone. | 
| hibernate | – | Wprowadza system w stan hibernacji zapisując stan systemu na twardym dysku i wyłączając zasilanie. Gdy zasilanie powraca system startuje z poziomu zapisanego na twardym dysku stanu. | 
| suspend | – | Podobnie do hibernacji ale stan systemu zapisywany jest do pamięci operacyjnej, której nie jest odłączane zasilanie. | 
| hybrid-sleep | – | Wprowadza system w stan hibernacji i stan uśpienia. | 
Lista wszystkich wczytanych i aktywnych targetów:
# systemctl -t target
Zarządzanie targetami.
Wyświetlanie i ustawianie domyślnego boot targetu:
# systemctl get-default
Zmiana domyślnego boot targetu na muli-user.target:
# systemctl set-default multi-user.target
Przełączenie na multi-user target (odpowiednik run levelu 3):
# systemctl isolate multi-user.target
Przełączenie na garficzny target (odpowiednik run levelu 6):
# systemctl isolate graphical.target
Zamknięcie systemu:
# systemctl halt
Zamknięcie systemu i wyłączenie zasilania:
# systemctl poweroff
Reboot systemu:
# systemctl reboot
Wprowadzenie systemu w stan hibernacji i uśpienie:
# systemctl hybrid-sleep
Przełączenie systemu w stan zgodny z run level 3:
# systemctl isolate runlevel3.target
Używanie komendy shutdown.
Komenda shutdown używana jest do zatrzymywania systemu, wyłączania zasilania lub rebootowania systemu. Polecenie wysyła komunikat ostrzegawczy wszystkim zalogowanym użytkownikom, wyłącza możliwość logowania i oczekuje określony czas na wylogowanie się użytkowników, a dalej wyłącza wszystkie usługi i system do określonego targetu.
Natychmiastowe zamknięcie systemu i reboot systemu:
# shutdown -r now
Rozpoczyna zamykanie systemu i wyłączenie zasilania po 5 minutach:
# shutdown -h 5
Rozpoczyna zamykanie systemu i jego zatrzymanie po 10 minutach:
# shutdown -H 10
Rozpoczyna zamykanie systemu i wyłączenie zasilania po 20 minutach:
# shutdown -P 20
Używanie komend halt, poweroff i reboot.
Komendy te są dostępne w RHEL7 tylko z powodu wstecznej kompatybilności, rekomendowane jest korzystanie z komendy systemctl.
| Stara komenda | Odpowiednik shutdown | 
| # halt   | # shutdown -H now | 
| # poweroff | # shutdown -P now | 
| # reboot | # shutdown -r now | 
Statystyki wydajności bootowania systemu.
Wyświetlenie całkowitej ilości czasu potrzebnej do załadowania systemu (kernel, initrd i przestrzeń użytkownika):
# systemd-analze
Czas jaki zajęło każde zadania w czasie procesu bootowania systemu:
# systemd-analyze blame


