GNU/Linux >> Znalost Linux >  >> Linux

Příkazy pro přístup k souborům v Linuxu – najdi, seřaď, zamiř, ocas

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


Linux
  1. Jak najít velké soubory linux pomocí příkazů find a du

  2. 10 Find Commands pro zlepšení vyhledávání souborů v Linuxu [Základy]

  3. Linux File Access Monitoring?

  1. Jak vyprázdnit soubor protokolu v Linuxu

  2. Příklady příkazů Linux tail

  3. Najděte soubor pomocí příkazů Najít a najít v Linuxu

  1. Příkazy hledání pro Linux

  2. unix - hlava A konec souboru

  3. souběžný přístup k souboru linux