28. PowerShell, příkazy v linuxu
Opakování
- příkazový řádek (historie šipkou nahoru)
- přejít do složky temp (cd)
- vypsat obsah složky (dir), do souboru (dir > dir.txt), do schránky (dir | clip)
- vypsat pro kontrolu obsah dir.txt (type, more)
- vypsat do souboru mac adresu (ipconfig /all | find "Physical Address" > mac.txt)
Zápis:
- editovat stažený praxe-zapis.html
- přidat kapitolu "28. PowerShell, příkazy v linuxu"
- přidat kód tabulky ze stránky aliasů (Prozkoumat + Copy element)
- opravit chybné anglické překlady příkazů linuxu 🐈
PowerShell -
wiki - moderní alternativa k command line (nabízí
více možností) založená na frameworku .NET
-
reference
- podpora csv, xml, aliasů, podrobnější systémové příkazy - např.
výpis registrů (nutná práva správce), protokolů událostí, běžících
procesů
- spuštění PowerShell (alternativně PowerShell ISE - vestavěné IDE pro PowerShell -
help)
- možno také spouštět ve VSC (ve spodním terminálu) přes rozšíření
- příkazu se říká cmdlet (čteme "command-let" ) -
obecně má tvar: verb-noun (akce-příkaz)
- cmdlety get- vypisují data (např. seznam příkazů get-command, seznam akcí get-verb),
set- nastavují data
- Set-Location - nastavení složky (web
help) - např.
- Set-Location -Path C:\Windows
- Set-Location -Path "C:\Program Files" (mezery v názvu složky)
- změna disku Set-Location D:
- alias cd - podpora příkazů z cmd, linuxu pomocí aliasů
-
seznam
- Get-ChildItem - výpis položek objektu (složky,
registru)
- výpis aktuální složky: Get-ChildItem
- kterékoliv složky: Get-ChildItem -Path "C:\Program files"
- rozbor Mode - link, directory,
archive, read-only, hidden,
system
- LastWriteTime, Length, Name
- nápověda get-help cmdlet (např. get-help
get-childitem) - rozebrat výpis
- syntax (hranaté závorky - volitelné parametry)
- první parametr typu -Name, -Path se nemusí uvádět
- podrobná nápověda get-help get-childitem -Full
- nápověda na webu včetně příkladů:
get-childitem
- alias dir - také
funguje get-help dir
- filtrování pomocí asterisku např. get-ChildItem -Path *.exe
- podpora přesměrování rourou "|" - viz
www
- používá se často s cmdlety pro nastavení výstupu (např.
Format-List, Format-Table, Export-Clixml, Export-CSV, Out-File)
- např. výpis souborů *.exe s velikostí > 30 kB seřazených podle
velikosti naformátovaných do tabulky se sloupci název, velikost
(psát postupně, používat get-help)
- Get-ChildItem -Path *.exe | Where-Object {$_.length -gt
30000} | Sort-Object -Property length | Format-Table -Property
name, length
- pozn. $_ je symbol aktuálního objektu, -gt je operátor
porovnávání >,
formátování
- výpis souborů do csv pro import do Excelu
- Get-ChildItem | Export-Csv -Path .\Files.csv
-NoTypeInformation
- přidání do souboru přidáním parametru -Append na konec
- zkusit bez parametru NoTypeInformation
- přesměrování do schránky pomocí clip nebo Set-Clipboard
- podobně výstup do XML - viz
Export-Clixml
- Get-ChildItem | Export-Clixml -Path .\Files.xml
-NoTypeInformation
- Výpis souboru pomocí Get-Content
- Další - viz tabulka aliasů
- vytvoření
vlastního aliasu pomocí funkce a Set-Alias - např.
- function MyFunction {Get-ChildItem -Path *.txt | Sort-Object -Property length | Format-Table -Property
name, length}
- Set-Alias -Name MyDir -Value MyFunction
- pak spustit MyDir
- přesměrování lze použít i pro konzolové exe programy (se standardním
výstupem)
- např. ipconfig | Select-String -Pattern 'IPv4'
- další příklady
- výpis procesů: Get-Process | Select-Object -Property
Id,ProcessName | Export-Csv -Path .\Processes.csv
-NoTypeInformation
- Get-Process | Export-Clixml -Path .\Processes.xml
- výpis SHA256: Get-FileHash soubor | Format-List (ověřit na stažené instalačce Audacity )
- výpis položky registru: Get-ItemProperty -Path
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
Příkazy v linuxu -
wiki,
distribuce
linuxu
- Raspberry Pi - prohlídka raspbian linux GUI
- dělat na RPi č. 1 s IP 192.168.5.94
- učitel - připojení vzdálené plochy přes VNC klienta (user pi)
- GUI linuxu, ukázka konfigurace RPi - menu vlevo dole
- doplněk - přidání síťové karty do PC (USB), diagnostika funkčnosti (ipconfig), prohlídka RPi za školní TV (4.52), pro školní zvonění (4.50)
- terminálový přístup - učitel
- zabezpečené ssh připojení přes program putty, je potřeba
nastavit ve Windows - Translation - Remote character set -
UTF-8
- raspi-config
- výpis uživatelů lslogins -u
- vytvoření uživatele včetně složky sudo adduser student
- smazání uživatele včetně jeho složky sudo userdel -r student
- instalace vsftpd serveru, nastavení - viz
www
- vypnutí RPi = shutdown
- terminálový přístup - student
- ssh připojení přes program putty (heslo není při psaní vidět!), alternativně připojení z PowerShellu příkazem/protokolem
ssh
(ssh student@192.168.5.94)
-
příkazy
linuxu, porovnání příkazů s cmd, PowerShellem (viz zápis)
- manuál příkazem man (např. man pwd)
- pwd (print working directory), ls (ls --help),
cd /
(běžné lomítko), mkdir, more, sort, find, grep
- who, who am i, ping adresa (ukončení Ctrl+c),
ifconfig (síťová rozhraní), exit (konec)
- přesměrování, výpis do souboru podobně jako v cmd pomocí znaků |, >
- ftp
- nešifrovaný přenos souborů - upload, download
- na RPi musí běžet FTP server
- PC = klient FTP - např. FileZilla (dříve
ftp v cmd,
do r. 2021 ftp:// v prohlížeči)
-
příkazy - přihlášení open ip_adresa, změna vzdálené
složky (cd složka), výpis složky (dir), upload (put
soubor), download (get soubor)
- dnes se má používat šifrovaný přenos (sftp,
ftps, ftp přes ssh)
Cvičení samostatně (předtím shrnout a zopakovat):
- PowerShell ve Windows - vytvořit excelovský sešit jmenoprijmeni.xls, obsahující v
prvním listu
- název a velikost souborů s názvem začínajícím písmenem x a s příponou dll,
ze složky c:\Windows\System32,
uspořádaných podle velikosti
- nápověda: pro export z PowerShellu (a import do Excelu) použít
formát xml pomocí příkazu Export-Clixml
- Linux na Raspberry Pi - připojit přes putty jako student, vytvořit
v FTP/files soubor jmenoprijmeni.txt s výpisem příkazu "who am i",
stáhnout pomocí ftp do c:\temp
- oba soubory odevzdat do zadání v Teams