File

From ICO wiki
Jump to navigationJump to search


Autor

Jürgen Lätte

Rühm: AK21

05.01.16

Sissejuhatus

"File" käsk on Linuxi terminalis väga laialdaselt kasutatav. Seda seetõttu, et UNIX süsteemides on kõiki asju kirjeldatud failidena. Ei tehta vahet sellel, kas on fail või kataloog. Kataloog on lihtsalt üks fail, mis sisaldab endas nimekirjade teiste failide kohta. Süsteem peab failideks programme, teenuseid, tekste, pilte. Samuti loetakse failiks kõiki seadmeid, sealhulgas ka sisend ja väljundseadmeid. "File" käsuga määratakse ära, millise failitüübiga tegu on. Selles artikis on lühiülevaade file kasutusvõimalustest ja nippidest. Juurde on lisatud ka täpsemad seletused ja näited.

Kasutamine

Ülevaade käskudest

Süntaks [1]


 file [-bcdEhiklLNnprsvzZ0] [--apple] [--extension] [--mime-encoding]
          [--mime-type] [-e testname] [-F separator] [-f namefile]
          [-m magicfiles] [-P name=value] file ...
 file -C [-m magicfiles]
 file [--help]


Võimalused [2]

  • b, --brief Näitab failinimesid lühidalt (brief mode).
  • -C, --compile Väljundiks koostatakse magic.mgc fail, mis sisaldab eelnevalt liigendatud magic faili või kataloogi.
  • -c, --checking-printout Cause a checking printout of the parsed form of the magic file. This is usually used in conjunction with the -m flag to debug a new magic file before installing it.
  • cdf Prindib ühendatud dokumendifailide detailid
  • compress Otsib kokku pakitud faile ja vaatab nendesse sisse.
  • elf Pridib ELF faili detailid.
  • soft küsib informatsiooni magic failidest.
  • tar Uurib tar faile.
  • -F, --separator separator Saab kasutada spetsiaalset sõne eraldajana failinime ja tagatatud faili vahel. Vaikeseades ‘:’.
  • -f, --files-from namefile Loeb failide nimed nimefailist (rida rea haaval) ennem argumendi nimekirja. Selleks, et testida standard sisendit peab olema nimefail või vähemalt failinime argument olemas ning selleks tuleb kasutada ‘-’failinime argumendina. Tuleb olla tähelepanelik, kuna nimefail on pakkimata ja kaasa tulevad failinimed töödeldakse sel juhul, kui selline võimalus avaneb ennem teisi protsesse. See lubab mitmetel failinimekirjadel erinevate käsureaargumentidena pöörduda sama faili poole. Seega, kui on soov määrata eraldaja, siis tuleks see määrata ennem failide nimekirja. Nagu näiteks: "-F @ -f namefile", ja mitte : "-f namefile -F @".
  • -h, --no-dereference katkestab nimeviitade (symlinks) järgimise (süsteemides, mis toetavad viitamist). See on vaikimisi, juhul kui keskkonnamuutuja POSIXLY_CORRECT ei ole määratletud.
  • -i, --mime Sunnib väljastama mime tüüpi sõnesid, selle asemel, et need oleksid traditsiooniliselt inimese moodi loetav. Seega see võib öelda ‘text/plain; charset=us-ascii’ ja mitte "ASCII text".
  • --mime-type, --mime-encoding Kasutatakse nagu -i, aga väjastab ainult määratletud elemendid.
  • -k, --keep-going Ei peatu esimese sobivuse juures ja jätkab otsimist. Järgnevatel sobivustel on ees sõne ‘\012- ’ (Kui tahta alustada uuelt realt tuleb vaadata -r option)
  • -l, --list Prindib informatsiooni iga magic mustri tugevuse kohta.
  • -L, --dereference Valik sunnib jälgima nimeviitu(symlink) nagu sarnase nimega võimalus ls (süsteemides, kus viitamine on lubatud). See on sätestatud vaikimis, kui keskkonnamuutuja POSIXLY_CORRECT on määratletud.
  • -l Näitab sorteeritud mustreid selles järjekorras, mida sobitamiseks kasutatakse.
  • -m, --magic-file magicfiles Määrab ära alternatiivse failinimekirja ja kataloogid, mis sisaldavad magic komponenti. See saab olla üksik objekt või kooloniga eraldatud nimekiri. Kui tavalise faili või kataloogi kõrvalt leitakse magic fail, siis kasutatakse seda.
  • -N, --no-pad Ei täida failinimesid ebaolulisega, et nad väljundis joonduksid.
  • -n, --no-buffer Sunnib stdout eemale peale igat faili kontrolli. See on ainult kasulik juhul, kui on vaja kontrollida suuremat failide nimekirja. See on mõeldud programmide jaoks, mis vajavad failitüüpi väljundit.
  • -p, --preserve-date Süsteemides, mis toevad utime või utimes´i, üritatakse säilitada failide analüüsi ajaks ligipääs, et teeselda nagu ei oleks fail neid kunagi lugenud.
  • -r, --raw Ei prindi tähti \ooo-ks. Tavaliselt tõlgib faili loetamatud tähed vastavasse kaheksandik bitt vormi.
  • -s, --special-files Tavaliselt


Normally, file only attempts to read and determine the type of argument files which stat reports are ordinary files. This prevents problems, because reading special files may have peculiar consequences. Specifying the -s option causes file to also read argument files which are block or character special files. This is useful for determining the filesystem types of the data in raw disk partitions, which are block special files. This option also causes file to disregard the file size as reported by stat since on some systems it reports a zero size for raw disk partitions.

  • -v, --version Väljastab programmi versiooni ja väljub.
  • -z, --uncompress Proovib vaadata kokkupressitud failide sisse.
  • -0, --print0 Lisab tühja parameetri ‘\0’ failinime lõppu. See on kasulik näiteks siis, kui on vaja väljundit lühendada. See ei mõjuta eraldajat, mis siiski prinditakse.
  • --help Prindib help teate ja väljub.

Käskude ajaloo kustutamine

Kui soovitakse, et käskude ajalugu ei salvestuks, tuleb .bash_profile failis teha vastav sisestus. Seda varianti kasutatakse tihti turvalisuse eesmärgil

vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export HISTCONTROL=ignoredups
PATH=$PATH:$HOME/bin
export PATH

Sisestades käsu export HISTSIZE=0 peatub ajaloo salvestamine

Sisestades käsu history -c puhastatakse kogu käskude ajalugu, kuid jätkub uute käskude salvestamine

Piirangud

Samuti on võimalik seada piiranguid, näiteks mitu rida salvestatake käske

vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450

Üks huvitavatest võimalustest on ka varjata ühte konkreetset käsku. Selleks tuleb toimida järgnevalt

export HISTCONTROL=ignorespacels -ltr
pwd
  service httpd stop (rea alguses olev tühik on väga oluline)
history | tail -3

Käskude taasesitamine

Käskude ajaloost on võimalik ka taasesitada juba varem sisestatud käsku. Selleks tuleb kasutada hüüumärki ja reanumbrit kus käsk asub.

NÄIDE
history | more
1  service network restart
2  exit
3  id
4  cat /etc/redhat-release

!4
cat /etc/redhat-release

Ajalugu klaviatuurikombinatsioonidega

Kasutades klaviatuurinuppe on võimalik vaadata eelnevalt sisestatud käske ja neid taasesitada
1. Nool üles - ükshaaval käskude kuvamine tagasisuunas
2. Ctrl-p - ükshaaval käskude kuvamine tagasisuunas
3. ALT-Shift - võimalik tagasi liikuda kõige viimase ja käesoleva käsu vahel
4. Nool alla - ükshaaval käskude kuvamine edasisuunas
5. Ctrl-n - ükshaaval käskude kuvamine edasisuunas

Kokkuvõte

"History" käsku on mugav ja lihtne kasutada, kui on vaja uuesti sisestada pikki ja keerulisi käske. "History" käsuga on võimalik ka saada ülevaade sisestatud käskudest, mis võimaldab meelde tuletada ning üle vaadata tehtud töö.

Kasutatud allikad