Ubuntu/Podstawowe polecenia
Terminal czyli emulator konsoli służy do komunikacji z systemem za pomocą wydawanych poleceń.
Terminal uruchamiamy z menu Programy-> Akcesoria-> Terminal.
Konsolę w trybie pełnoekranowym otwieramy, wciskając jednocześnie klawisze Alt+Control+F1 (od F1 do F6), natomiast w okienku, wciskając jednocześnie klawisze lewy CTRL i lewy ALT oraz literę t
Na 7 konsoli uruchomiony jest x-server, czyli interface graficzny systemu, więc wciskając Alt+Control+F7 wracamy do "części graficznej" naszego systemu. Jeśli to nie działa, zajrzyj do poprzedniego modułu
Obeznanie się z Terminalem
edytujUwaga!
10 niszczycielskich poleceń Linuksa, których nigdy nie powinieneś uruchamiać |
Po uruchomieniu konsoli widzisz następujący tekst:
[nazwa użytkownika]@[nazwa komputera]:~$
U mnie wygląda to tak:
michal@michal-laptop:~$
Ten ciąg pokazuje nam, że nie jest wykonywana żadna czynność i możesz wpisać swoje polecenie.
Miejsce, w którym jesteś po uruchomieniu Terminala to katalog domowy użytkownika:
/home/[nazwa użytkownika]
Jeśli chcesz się dowiedzieć gdzie się znajdujesz i do jakich katalogów możesz przejeść wpisz komendę:
ls
Zostaną wyświetlone katalogi do których możesz przejść:
michal@michal-laptop:~$ ls Dokumenty MojePliki Publiczny Wideo dwhelper Muzyka Pulpit Obrazy Sieć Photos Szablony michal@michal-laptop:~$
Załóżmy że na pulpicie masz katalog (folder) Frex i chcesz wejść do niego.
W tym celu przechodzimy do pulpitu:
cd Pulpit
Następnie wydaj ponownie komendę "ls" aby zobaczyć jakie znajdują się tam pliki lub katalogi:
ls
Otrzymasz miej więcej taki obraz:
michal@michal-laptop:~/Pulpit$ ls 16565 Frex PolishHolidays.ics 33111 lightning-0.9-tb-linux.xpi Berlin2Wide.jpg Niezapisany dokument 1.txt michal@michal-laptop:~/Pulpit$
Teraz już widzisz katalog Frex i możesz do niego wejść wpisując komendę:
cd Frex
Jesteś teraz w katalogu Frex
michal@michal-laptop:~/Pulpit$ cd Frex michal@michal-laptop:~/Pulpit/Frex$
Informacja o systemie / komputerze
edytujArchitektura
- procesora CPU
- jądra systemu ( kernel)
- pakietów
Dla jakiej architektury zostało skompilowane jadro:[1]
uname -p
Architektura pakietów :
dpkg-architecture --list
Dodatkowe architektury ( MultiArchSpec):
dpkg --print-foreign-architectures
Cechy procesora ( fizycznego) :
cat /proc/cpuinfo lscpu
Znajdź dostępne obrazy systemu (ang. image) za pomocą polecenia multipass:[2]
multipass find
Przykładowy wynik:
Image Aliases Version Description snapcraft:core18 18.04 20201111 Snapcraft builder for Core 18 snapcraft:core20 20.04 20210921 Snapcraft builder for Core 20 snapcraft:core22 22.04 20220426 Snapcraft builder for Core 22 snapcraft:devel 20230112 Snapcraft builder for the devel series core core16 20200818 Ubuntu Core 16 core18 20211124 Ubuntu Core 18 18.04 bionic 20230112 Ubuntu 18.04 LTS 20.04 focal 20230111 Ubuntu 20.04 LTS 22.04 jammy,lts 20230107 Ubuntu 22.04 LTS 22.10 kinetic 20230112 Ubuntu 22.10 daily:23.04 devel,lunar 20230110 Ubuntu 23.04 appliance:adguard-home 20200812 Ubuntu AdGuard Home Appliance appliance:mosquitto 20200812 Ubuntu Mosquitto Appliance appliance:nextcloud 20200812 Ubuntu Nextcloud Appliance appliance:openhab 20200812 Ubuntu openHAB Home Appliance appliance:plexmediaserver 20200812 Ubuntu Plex Media Server Appliance anbox-cloud-appliance latest Anbox Cloud Appliance charm-dev latest A development and testing environment for charmers docker latest A Docker environment with Portainer and related tools jellyfin latest Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. minikube latest minikube is local Kubernetes
Informacje systemowe
edytujWyświetlenie strony "manual" (podręcznika systemowego):
man [polecenie]
display
edytujdemon
- colord[3]
display servers[4]
- Xorg
- Wayland[5]
Aktualny display
ps -e | grep tty
Przykładowy wynik:
2379 tty2 00:00:00 gdm-x-session 2381 tty2 00:02:39 Xorg 2419 tty2 00:00:00 gnome-session-b
ps -ef | grep -i tty
UID PID PPID C STIME TTY TIME CMD a 2379 2305 0 08:24 tty2 00:00:00 /usr/libexec/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu root 2381 2379 6 08:24 tty2 00:02:46 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -novtswitch -verbose 3 a 2419 2379 0 08:24 tty2 00:00:00 /usr/libexec/gnome-session-binary --session=ubuntu a 6690 6090 0 09:07 pts/1 00:00:00 grep --color=auto -i tty
display managers[6]
- lightDM
- gdm3 ( domyślny)
- SDDM
desktop environments
- KDE
- Unity
- LXDE
- XFCE
- Openbox
- Fluxbox
Aktualny menadżer
- in window Settings/About/Windowing system
- xeyes[7]
echo $XDG_SESSION_TYPE
lub
cat /etc/X11/default-display-manager
lub
echo $DESKTOP_SESSION echo $WAYLAND_DISLAY cat /etc/X11/default-display-manager
/usr/sbin/gdm3
systemctl status display-manager
● gdm.service - GNOME Display Manager Loaded: loaded (/lib/systemd/system/gdm.service; static) Active: active (running) since Thu 2023-08-03 08:22:57 CEST; 51min ago Main PID: 1363 (gdm3) Tasks: 3 (limit: 18827) Memory: 6.7M CPU: 220ms CGroup: /system.slice/gdm.service └─1363 /usr/sbin/gdm3 Aug 03 08:22:58 zalman gdm3[1363]: Gdm: GdmDisplay: Session never registered, failing Aug 03 08:22:58 zalman gdm3[1363]: Gdm: Child process -1436 was already dead. Aug 03 08:22:58 zalman gdm3[1363]: Gdm: GdmDisplay: Session never registered, failing Aug 03 08:22:58 zalman gdm3[1363]: Gdm: Child process -1436 was already dead. Aug 03 08:22:58 zalman gdm-launch-environment][1608]: pam_unix(gdm-launch-environment:session): session opened for user gdm(uid=126) by (uid=0) Aug 03 08:24:05 zalman gdm-password][2305]: gkr-pam: unable to locate daemon control file Aug 03 08:24:05 zalman gdm-password][2305]: gkr-pam: stashed password to try later in open session Aug 03 08:24:05 zalman gdm-password][2305]: pam_unix(gdm-password:session): session opened for user a(uid=1000) by (uid=0) Aug 03 08:24:05 zalman gdm-password][2305]: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring Aug 03 08:24:10 zalman gdm3[1363]: Gdm: Child process -1661 was already dead.
Przełączanie pomiędzy display-managerami[8]
sudo dpkg-reconfigure lightdm
lub
sudo dpkg-reconfigure gdm3
Zmiana serwera wyświetlania ( ang. display server)[9]
Edytuj ustawienia zawarte w pliku /etc/gdm3/custom.conf
sudo gedit /etc/gdm3/custom.conf
zmień na:
WaylandEnable=true
Wyłącz ( przez znak komentarza ) 2 linie w pliku /usr/lib/udev/rules.d/61-gdm.rules[10]
sudo gedit /usr/lib/udev/rules.d/61-gdm.rules
Tak to powinno wyglądać :
LABEL="gdm_prefer_xorg" #RUN+="/usr/lib/gdm-runtime-config set daemon PreferredDisplayServer xorg" GOTO="gdm_end" LABEL="gdm_disable_wayland" #RUN+="/usr/lib/gdm-runtime-config set daemon WaylandEnable false" GOTO="gdm_end"
zapisz i restart:
sudo systemctl restart gdm3
w oknie logowania (ang. GDM login screen = it's not on the login (username) page. It's on the password entry page ) kliknij ikonę ustawień ( ang. gear icon or cogwheel (⚙️) obok przycisku logowania ( ang. the sign in button) i wybierz opcje
- Ubuntu ( czyli Wayland)
- Ubuntu on Xorg
Sprzęt kompatybilny
sudo gedit /etc/gdm3/custom.conf
Jeśli system ( hardware) nie jest kompatybilny z Wayland, to domyślnie używany jest xorg
wersja
edytujWyświetlenie informacji o wersji Ubuntu:[11]
lsb_release -a
lub :
uname -m && cat /etc/*release
Wyświetlenie informacji o procesorze komputera:
cat /proc/cpuinfo
Wyświetlenie informacji o wersji Ubuntu:
cat /proc/version
Wyświetlenie wszystkich informacji o komputerze - płycie głównej, procesorze i jego architekturze, etc. [12]:
sudo lshw
Wyświetlenie nazwy jądra systemu operacyjnego, sieciową nazwę systemu i numeru edycji jądra systemu:
uname -a
Wyświetlenie informacji o dostępnej pamięci w kilobajtach:
free
Wyświetlenie informacji o dostępnej pamięci w megabajtach:
free -m
Wyświetlenie informacji o dostępnej pamięci w gigabajtach:
free -g
Wyświetlanie użycia CPU
iostat -c 3
Uruchomienie interfejsu wysokiego poziomu dla menedżera pakietów:
aptitude
procesy
edytujWyświetlenie wszystkich uruchomionych procesów na komputerze:
ps -el
w formie drzewa
pstree
Dodanie flagi -p do polecenia spowoduje wyświetlenie każdej gałęzi z jej identyfikatorem procesu.
pstree -p
Wyświetlenie numeru procesu PID programu gimp (program gimp musi być uruchomiony)
pidof gimp
Zakończenie procesu programu( na przykład PID 4895, w Debianie wpisujemy kill 4895 ):
kill -9 4895
Wybrane polecenia
edytujPorada
man [nazwa komendy] |
Poniższe polecenia umożliwiają poruszanie się po systemie.
cd
edytuj- GUI
- brasero
kopiowanie cd[13]
- 2 etapowe[14]
- utworzyć obraz dysku ISO z dysku CD-ROM, DVD lub Blu-ray
- zapisać iso na CD
cdrdao copy
Sprawdzamy napęd CD
cat /proc/sys/dev/cdrom/info
lsblk
lsscsi
Wypalamy CD[15]
- wodim -prcap
- growisofs
- genisoimage
growisofs -Z /dev/sr0=/path/to/iso_file
dyski
edytujLista dysków podpiętych do SATA ( dawniej SCSI):
ls /dev/sd*
lub lsblk = LiSt BlocK devices
lsblk
nazwy oznaczają:
- sda = pierwszy dysk
- sda1 = pierwsza partycja na pierwszym dysku
- sda2 = druga partycja na pierwszym dysku
- sdb = drugi dysk
- sdc = trzeci dysk
Sprawdzamy typ dysku sdc
sudo hdparm -i /dev/sdc
Lista dysków:
sudo lshw -class disk -short
Nazwa dysku USB:[16]
lsblk -o NAME,TRAN
lub:
find /dev/disk -ls | grep usb
dysk startowy
edytujDysk instalacyjny Ubuntu tworzymy za pomoca Start Disk Creator
użyciem GNU ddrescue: [17]
Instalacja :
sudo apt install gddrescue
Użycie
sudo ddrescue systemrescue-8.03-amd64.iso /dev/sdc --force -D
literę dysjku usb sprawdzamy za pomocą lsblk
Operacje na plikach i katalogach
edytujWejście do katalogu:
cd [nazwa katalogu]
Wejście do katalogu root:
cd /
Wyjście do nadrzędnego katalogu (np. z w katalogu "/home/[nazwa użytkownika]" do katalogu "/home"):
cd ..
Cofnięcie się do poprzedniego katalogu
cd -
Tworzenie katalogu:
mkdir [nazwa katalogu]
Tworzenie pustego pliku tekstowego:
touch [nazwa pliku]
Usuwanie pliku:
rm [nazwa pliku]
Usuwanie rekurencyjne (katalog i podkatalogi):
rm -r [nazwa katalogu]
Kopiowanie pliku do katalogu
sudo cp [nazwa pliku] [lokalizacja katalogu]
Kopiowanie pliku firewall do katalogu init.d
sudo cp firewall /etc/init.d/
Wyświetlenie zawartości katalogu w którym się znajdujesz:
ls
Wyświetlenie zawartości katalogu z dodatkowymi informacjami (np. właściciel pliku/katalogu, prawa dostępu):
ls -l
Wyświetlenie zawartości katalogu włącznie z plikami ukrytymi
ls -a
Wyszukiwanie plików w okresowo aktualizowanej bazie danych.np locate *alarm.ogg
locate [nazwa pliku lub rozszerzenie]
Edytowanie plików
edytujMożemy edytować pliki :
Zarządzanie pakietami
edytujWyszukiwanie pakietów:
sudo apt-cache search [nazwa pakietu Ubuntu]
Instalowanie programu:
sudo apt-get install [nazwa programu]
Odinstalowanie programu:
sudo apt-get remove [nazwa programu]
Usuwanie nieużywanych pakietów:
sudo apt-get autoremove
Czyszczenie systemu:
sudo apt-get clean lub sudo apt-get autoclean
Naprawianie uszkodzonych pakietów:
sudo dpkg --configure -a
Instalowanie pakietów Debiana:
sudo dpkg -i [nazwa pakietu].deb
Instalacja plików nagłówkowych jadra:[20]
$ sudo apt install linux-headers-$(uname -r)
lista
edytuj/sbin/ldconfig -p
szukamy
ldconfig -p | grep nazwa
Operacje na archiwach
edytujRozpakowanie archiwum "tar":
tar -xvf archiwum.tar
Rozpakowanie archiwum "tar.gz":
tar -zxvf archiwum.tar.gz
Rozpakowanie archiwum "tar.bz2":
tar -jxvf archiwum.tar.bz2
Rozpakowanie archum "tar.xz':
tar -Jxf jakis_plik.tar.xz
Rozpakowanie archuwim .zip
7z x archiwum.zip
Rozpakowanie archiwum .rar
unrar x archiwum.rar
Operacje na obrazach
edytujAby manipulować obrazami z poziomu terminala musimy zainstalować dodatkowy pakiet imagemagick:
sudo apt-get install imagemagick
Aby uzyskać podstawowe informację o obrazie użyj komendy identify:
identify [nazwa pliku].jpg
Aby uzyskać szczegółowe informacje o obrazie użyj komendy identify -verbose:
identify -verbose [nazwa pliku].jpg
Aby zamienić format pliku graficznego na inny (przekonwertować go) użyj komendy convert. Obsługiwane formaty to .jpg, .bmp, .pcx, .gif, .png, .tiff, .xpm:
convert mojdom.jpg mojdom.png
convert mojpies.tiff mojpies.pcx
Aby z obrazu utworzyć ikonę o wymiarach 120x120 pikseli użyj komendę create thumbnails :
convert -thumbnail 120x120 photo.jpg photo1.png
Aby z obrazu utworzyć ikonę o wymiarach 120x120 pikseli z obramowaniem grubości 8 pikseli użyj następującego wariantu:
convert -thumbnail 120x120 -border 8 photo.jpg photo1.png
Aby z obrazu utworzyć ikonę o wymiarach 120x120 pikseli z obramowaniem grubości 8 pikseli, przekręcone o 8 stopni użyj następującego wariantu:
convert -thumbnail 120x120 -border 8 -rotate 8 photo.jpg photo1.png
Aby postarzeć zdjęcie (używając efektu sepii) użyj następujących komend:
convert -sepia-tone 75% samochod.jpg starysamochod.png
Aby zmienić zdjęcię na szkicowane użyj komendy:
convert -charcoal photo.jpg photoszkic.png
Dźwięk
edytujTest ALSA:[21]
aconnect -i
Uruchomienie interfejsu miksera "ALSA" do konfiguracji i przechwytywania dźwięku:
alsamixer
konwersje
edytujPlik z muzyką typu wav ( np z CD) do pliku flac
ffmpeg -i [Plik].wav [Plik].flac
Informacje sieciowe
edytujPokazanie aktualnego ruchu w sieci wszystkich urządzeń sieciowych, np. modem DSL, karta Ethernet,etc.
Aby użyć tej komendy zainstaluj najpierw program "CBM" a po instalacji wpisz komendę:
cbm
Wyświetlenie statusu aktywnych interfejsów sieciowych, np. twój IP:
ifconfig
Wyświetlenie wszystkich aktywnych połączeń z/do twojego systemu:
sudo netstat -tup
Wyszukiwanie numeru IP strony:
net lookup [adres strony]
Narzędzie ping:
ping [adres IP / adres WWW]
Wyświetlanie bramy domyślnej:
route -n
Po wpisaniu komendy w terminalu otrzymamy:
Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth1
Gdzie 192.168.0.1 jest adresem bramy domyślnej.
Uruchamianie programów w Terminalu
edytujNiektóre programy możesz uruchomić w Terminalu poprzez wpisanie ich nazwy.
Załóżmy że chcemy uruchomić program graficzny GIMP.
W tym celu uruchom Terminal za pomocą :
- menu Programy-> Akcesoria-> Terminal
- skrótu : ctrl-alt-t
i wpisz:
gimp
Inne
edytujKalendarz
edytujWyświetlenie kalendarza na bieżący miesiąc:
cal
Wyświetlenie listy wszystkich użytkowników:
who
opcje programu
edytujNajczęściej aby uzyskać podstawowe informacje o opcjach programu należy wywołać go z opcją "-h" lub "--help" np:
netstat -h lub netstat --help
lub skorzystać z gsettings[22]
gsettings list-recursively | grep -i gedit
Tekst
edytujSprawdzamy domyślny edytor w trybie tekstowym:
echo $EDITOR
lub
env | grep EDITOR
Sprawdzamy dostęþne edytory dla sudo:
sudo update-alternatives --config editor
lub aktualnie zalogowanego uzytkownika:
update-alternatives --config editor
Są 4 dostępne alternatywy dla editor (dostarczającego /usr/bin/editor).
Wybór Ścieżka Priorytet Status
------------------------------------------------------------
* 0 /bin/nano 40 tryb auto
1 /bin/ed -100 tryb ręczny
2 /bin/nano 40 tryb ręczny
3 /usr/bin/mcedit 25 tryb ręczny
4 /usr/bin/vim.tiny 15 tryb ręczny
Proszę wcisnąć <enter>, aby pozostawić bieżący wybór[*]; albo wpisać wybrany numer:
W wersji 22.04 domyślnym edytorem jest vim, uruchamiany poleceniem
vi
Porównaj
Zmienne Środowiskowe
edytujZmienne środowiskowe (ang-environment variables) to zbiór dynamicznych wartości, wpływających na sposób w jaki działać będą uruchomione procesy (programy).
Dodawanie zmiennych środowiskowych i ich zapisanie
Uruchom Terminal z prawami roota następnie edytuj ukryty plik .profile edytorem emacs. Jeśli nie masz tego edytora to go zainstaluj wydając polecenie w terminalu
aptitude install emacs
Po jego instalacji edytuj plik .profile wpisując
emacs .profile
Zobaczysz mniej więcej taki obraz
# ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi
Jeśli chcesz utworzyć nową zmienną to wpisz jej nazwę i wartość jaką będzie ona miała. Na przykład zmienna=wartość. Nazwę zmiennej piszemy wielkimi literami. Jeśli chcesz by zmienna była zawsze dosŧępna musimy ją zapisać w pliku .profile. Na przykład tworzymy zmienną LD o wartości "/usr/local/ayam/bin/plugins". Teraz dodaj ją do pliku .profile na końcu wpisując
###exports export LD=/usr/local/ayam/bin/plugins
Następnie zapisz plik .profile. Teraz za każdym razem gdy uruchomisz komputer twoja zmienna będzie dostępna.
Odnośniki
edytuj- ↑ stackoverflow question: how-to-find-the-linux-processor-chip-architecture
- ↑ ubuntu docs: virtualization-multipass
- ↑ freedesktop : colord
- ↑ askubuntu question: ubuntu-on-wayland
- ↑ wiki.ubuntu: Wayland
- ↑ techpiezo: switch-display-manager-in-ubuntu-22-04
- ↑ unix stackexchange question: what-is-the-purpose-of-xeyes ?
- ↑ itsfoss : switch-xorg-wayland
- ↑ linuxconfig: how-to-enable-disable-wayland-on-ubuntu-22-04-desktop
- ↑ askubuntu question: cant-use-wayland-with-nvidia-510-drivers-on-ubuntu-22-04-lts
- ↑ howtouselinux : 4-ways-to-check-linux-version by David Cao November 15, 2022
- ↑ HardWare LiSter = lshw
- ↑ yolinux TUTORIAL : CD Burn
- ↑ cyberciti tips: linux-creating-cd-rom-iso-image
- ↑ baeldung : linux terminal-burn-iso-cd-dvd
- ↑ askubuntu : how-to-tell-which-device-the-usb-drive-is-assigned-as
- ↑ 3 Ways to Create Bootable Ubuntu USB Startup by Disk James KiarieMay 21, 2020 Categories
- ↑ Jeex
- ↑ Okteta - edytor plików binarnych
- ↑ tecmint: install-kernel-headers-in-ubuntu-and-debian
- ↑ | How to install GENPO - MIDI-Organ.net
- ↑ gsettings-tool