Následující příkazy pro přístup k souborům jsou příkazy systému UNIX, nikoli specifické příkazy prostředí.
Příkaz | Remakr |
---|---|
najít | Najde umístění souboru |
řadit | Čte soubor a třídí výstup |
slyšet nebo ocas | Podívejte se pouze na začátek nebo konec souboru |
Příkaz find
Příkaz find vám umožňuje vyhledávat soubory a adresáře a spouštět příkazy na těchto souborech. Syntaxe příkazu find má tři obecné části argumentů. Sekce cest je seznam názvů cest (adresářů), které se mají hledat. Sekce search_criteria je seznam voleb, které jsou považovány za booleovský (pravda nebo nepravda) výraz. Každá možnost (podmínka) je postupně testována a pokud je výsledek pravdivý, je provedena uvedená akce.
Některá z možných kritérií vyhledávání jsou:
- -jméno – Pokud se název souboru shoduje
- -uživatel – Pokud soubor patří uživateli (přihlašovací jméno)
- -atime – Pokud byl soubor zpřístupněn před zadaným počtem dnů
- -mtime – Pokud byl soubor naposledy upraven před zadaným počtem dnů
- -velikost – Pokud má soubor konkrétní velikost bloku
Některé z možných akcí jsou:
- -tisk – Zobrazí název cesty k souboru
- -exec – Provede příkaz
- -ok – Provede příkaz pouze po přijetí y ze stdin
Příklady použití příkazu find
Abyste soubor našli, nemusíte znát celý název. Například soubory protokolu mají tendenci růst poměrně rychle. Jako správce systému můžete chtít sledovat velikost souborů protokolu. Chcete-li vyhledat soubory protokolu pro správu (soubory v adresáři /var/log adresář), použijte následující příkaz:
# find /var/log -name "*.log" -print /var/log/audit/audit.log /var/log/tuned/tuned.log /var/log/cloud-init.log /var/log/pm-powersave.log /var/log/awslogs-agent-setup.log /var/log/awslogs.log /var/log/boot.log /var/log/wpa_supplicant.log /var/log/amazon/ssm/amazon-ssm-agent.log /var/log/amazon/ssm/errors.log /var/log/amazon/ssm/hibernate.log /var/log/dpkg.log /var/log/yum.log /var/log/auth.log
V rámci čištění systému souborů můžete chtít vyhledat základní soubory a odstranit je. Následující dva příkazy najdou jakýkoli soubor s názvem core. První příkaz provede příkaz rm bez vstupu operátora. Druhý příkaz vytiskne příkaz rm a vyžaduje vstup operátora.
$ find / -name core -exec rm -f {} \; $ find / -name core -ok rm -f {} \;
Chcete-li najít soubory, které jsou větší než 1000 bloků, použijte následující příkaz:
$ find / -size +1000 -print
Příkaz řazení
Soubor, jako je soubor s hesly, se často vytváří přidáním nových uživatelů na konec souboru. Soubor není v žádném konkrétním pořadí; když však v souboru něco nebo někoho hledáte, bylo by užitečné, kdyby byl soubor seřazen v nějakém pořadí. Příkaz sort poskytuje způsob, jak seřadit soubor.
Některé z běžněji používaných možností řazení jsou:
- -r – Třídí v obráceném pořadí (z do a, místo od a do z)
- -n – Seřadí pole číselně, nikoli pouze řetězce ASCII (American Standard Code for Information Interchange).
- -t [ch] – Nastaví znak oddělovače polí
- + číslo – Nastaví číslo pole, od kterého se má začít třídit (pole jsou číslována od 0 [nula])
- – počet – Nastaví číslo pole tak, aby se před řazením zastavilo (toto je první pole, které není uvažováno pro řazení)
- -b – Ignoruje úvodní mezery (normálně jsou považovány za součást polí zadaných během řazení pomocí klíčů)
- -r – Třídí v obráceném pořadí (z do a, místo od a do z)
- -o – soubor Nastavuje soubor, který se má použít k uložení výstupu řazení (což může být stejný soubor, který obsahuje původní vstup)
# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin ...
Chcete-li soubor seřadit podle přihlašovacího jména, použijte následující příkaz:
# sort /etc/passwd adm:x:3:4:adm:/var/adm:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin cloud_user:x:1002:1003::/home/cloud_user:/bin/bash colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin geoclue:x:994:990:User for geoclue:/var/lib/geoclue:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt ...
Chcete-li seřadit soubor podle 5. pole (komentáře), kde jsou pole oddělena dvojtečkou, použijte následující příkaz:
# sort -t: -k5 /etc/passwd tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt ...
Výstup řazení můžete vložit do souboru. Můžete dokonce výstup řazení do původního souboru; například:
# cat names Big Ape 415 Roger Rabbit 408 Jessica Rabbit 510 Easter Rabbit 408 Doctor Doom 415 Easter Rabbit 408 Peter Wolf 510 Roger Rabbit 408 Peter Rabbit 510
# sort names -o names
Ověřte soubor znovu:
# cat names Big Ape 415 Doctor Doom 415 Easter Rabbit 408 Easter Rabbit 408 Jessica Rabbit 510 Peter Rabbit 510 Peter Wolf 510 Roger Rabbit 408 Roger Rabbit 408
Pokud máte více souborů, již seřazených, které chcete sloučit do jednoho souboru, použijte následující příkaz:
# sort file1 file2 file3 -o file4
Sloučení souborů může způsobit duplicitní položky. Pro výstup pouze jedinečných řádků souboru použijte následující příkaz:
# sort -u names Big Ape 415 Doctor Doom 415 Easter Rabbit 408 Jessica Rabbit 510 Peter Rabbit 510 Peter Wolf 510 Roger Rabbit 408
Čtení části souboru
Často nechcete kontrolovat celý soubor. Možná budete chtít procházet začátek souboru, abyste zjistili, zda je správný, nebo se podívat na konec souboru a zkontrolovat, co bylo do souboru naposledy zadáno.
Příkaz hlavy
Chcete-li zkontrolovat začátek souboru, použijte příkaz head:
# head -5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
Příkaz ocas
Při prohlížení souborů protokolu vás pravděpodobně bude zajímat pouze několik posledních záznamů tohoto souboru. Pro zobrazení konce souboru můžete použít příkaz tail.
# tail -5 /etc/passwd systemd-network:x:995:991:systemd Network Management:/:/sbin/nologin geoclue:x:994:990:User for geoclue:/var/lib/geoclue:/sbin/nologin cloud_user:x:1002:1003::/home/cloud_user:/bin/bash ssm-user:x:1003:1004::/home/ssm-user:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin