EngelsFransSpaans

Ad


OnWorks-favicon

ara - Online in de cloud

Voer ara uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de commando-ara die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online-emulator of MAC OS online-emulator

PROGRAMMA:

NAAM


ara - een hulpprogramma voor het uitvoeren van booleaanse regexp-query's op de Debian-pakketdatabase

KORTE INHOUD


Partij modus:
ara [opties] vraag

In batchmodus, ara neemt een of meer query's als argumenten, lees de databasebestanden
volgens zijn configuratie, en stuurt de resultaten naar stdout.

Interactief modus:
ara [Opties] -i

Met de -i or -interactief opties ara leest de databasebestanden en vraagt ​​vervolgens de
gebruiker voor vragen of opdrachten. De resultaten worden weergegeven (met behulp van een pager zoals
meer or minder indien nodig), en ara vraagt ​​de gebruiker opnieuw. Interactieve modus is sterk
aanbevolen, aangezien het laden van de pakketdatabases lang kan duren, maar eenmaal geladen, worden query's uitgevoerd
vrij snel. Dit is een groot voordeel van ara boven hulpmiddelen zoals dpkg-iasearch or
dpkg-dctrl.

Zie voor sneltoetsen KEY BINDINGEN.

Grafisch interface (GTK2):
Een grafische interface, xara(1), wordt geleverd door het Debian-pakket xara-gtk.

Vraag syntaxis
Zie de Voorbeelden sectie voor een snelle introductie; xara heeft een ingebouwde hulp. De
syntaxis wordt hieronder in detail beschreven.

PRODUCTBESCHRIJVING


ara en xara de gebruiker toestaan ​​te zoeken in de database van het Debian-softwarepakket (inclusief:
geïnstalleerde en verwijderde pakketten) met behulp van krachtige zoekopdrachten gemaakt van booleaanse combinaties van
reguliere expressies die werken op velden die door patronen worden gegeven.

Bijvoorbeeld de vraag sectie=utils & hangt af:(gtk or tk8 or xlibs or kde or kabouter or aantal)
& debian & pakket zal pakketten weergeven in de sectie utils die grafische
interfaces (omdat ze afhankelijk zijn van grafische toolkits of X11-bibliotheken), en wiens
beschrijving bevat de woorden debian en pakket.

BEWEEGREDENEN


Debian-gebruikers kunnen eenvoudig software installeren met de opdrachten dselecteer or apt-get installeren.
Ze kunnen kiezen (op Debian 3.1 instabiel) uit meer dan 30,000 pakketten. De juiste vinden
pakket kan best moeilijk zijn. Hoewel pakketten zijn onderverdeeld in ruwe secties,
er zijn nog te veel pakketten en alle beschrijvingen lezen is uitgesloten.

De databasebestanden zijn enorm en hun e-mailachtige syntaxis maakt het moeilijk om mee te zoeken
lijngeoriënteerde tools zoals grep. Er bestaan ​​commando's zoals dpkg-iasearch(1) of
dpkg-dctrl(1) maar hun mogelijkheden zijn beperkt. Grafische pakketbeheertools zoals:
as geschiktheid or synaptische zoekmogelijkheden hebben. Hoewel ara kan bellen geneigd installeren of
om pakketten te verwijderen, is de oriëntatie ervan die van een krachtige zoekfunctie. Inderdaad, de naam ara
komt van de gebiedende wijs van het Turkse werkwoord bellen wat "zoeken" betekent.

HET DEBIAN PAKKET DATABASE


De database van Debian-pakketten is een enorm tekstbestand op /var/lib/dpkg/beschikbaar (Of
verzameling tekstbestanden onder /var/lib/apt/lists/). Deze bestanden staan ​​in een mailbox-achtige
formaat, en een typisch item ziet er als volgt uit:

Prioriteit: vereist
Sectie: basis
Geïnstalleerde grootte: 460
Oorsprong: debian
Beheerder: Dpkg Development[e-mail beveiligd]>
Bugs: debbugs://bugs.debian.org
Architectuur: i386
Bron: dpkg
Versie: 1.10.24
Vervangt: dpkg (<< 1.10.3)
Hangt af van: libc6 (>= 2.3.2.ds1-4), ....
Bestandsnaam: pool/main/d/dpkg/dselect_1.10.24_i386.deb
Grootte: 119586
MD5sum: c740f7f68dab08badf4f60b51a33500a
Beschrijving: een gebruikerstool om Debian-pakketten te beheren
dselect is de primaire gebruikersinterface voor het installeren, verwijderen en
het beheren van Debian-pakketten. Het is een front-end voor dpkg.

Elk pakket wordt dus beschreven door een reeks velden (zoals Pakket, Beschrijving, Versie...).

VRAAG SYNTAXIS EN SEMANTIEK


Hier beschrijven we de querysyntaxis in enig detail. Vanaf versie 1.0, ara introduceert nieuwe,
vereenvoudigde syntaxis die vrij traditioneel is en bekend zou moeten zijn voor iedereen die het heeft gebruikt
zoekmachines. Zoektermen worden eenvoudig gecombineerd met EN, OR en NIET booleaanse operatoren.
Een kijkje nemen op de Voorbeelden aan het einde van deze handleiding zou u een
startpunt.

Overweeg de set D van Debian pakketbeschrijvingen in het bestand
/var/lib/dpkg/beschikbaar (of in bestanden onder /var/lib/apt/lists/). Elke beschrijving is een
set van paren van de vorm (v,v) WAAR f en v zijn snaren: f is de naam van het veld
(namelijk, Pakket, Omschrijving, Bestandsnaam, Hangt, enz.); v is de waarde ervan. Dus D is een set
van een reeks paren, die het universum vormen. Query's selecteren subsets van de universe D.
Uitvoeropties selecteren welke velden van het geselecteerde deel van de universe moeten worden weergegeven, en
hoe u ze kunt weergeven.

Queries
A vraag is een booleaanse combinatie van atomaire uitdrukkingen. Een atomair uitdrukking selecteert een
subset van de set D van beschrijvingen. Ik noem deze set de betekenis van de uitdrukking; indien e
geeft een atomaire uitdrukking aan, de betekenis ervan wordt aangegeven met [E]. De betekenis van een boolean
combinatie van atomaire uitdrukkingen is gewoon de booleaanse combinatie van de betekenis van zijn
bestanddelen. Met andere woorden, als e1 en e2 zijn atomaire uitdrukkingen, dan e1 & e2 is een
query, waarvan de betekenis het snijpunt is van de betekenissen van e1 en e2; en de betekenis van
e1 | e2 is de vereniging van de betekenissen van e1 en e2.

atomair uitdrukkingen
Atomaire uitdrukkingen kunnen van de vormen zijn patroon, /regexp/, geciteerde_tekenreeks, veldspecificatie
operator1 snaarof veldspecificatie operator2 regexp.

Boolean exploitanten en constante
e1 & e2 (Ook e1 EN e2, e1 en e2)
Dit is een logische conjunctie (set intersectie). Geeft het snijpunt van [e1] terug
en [e2], dwz pakketten die voldoen aan zowel e1 als e2.

e1 | e2 (Ook e1 OR e2, e1 or e2)
Dit is een logische disjunctie (set union). Vereniging van [e1] en [e2], dwz pakketten
voldoen aan e1, e2 of beide.

!e1 (Ook NIET e1, niet e1)
Dit is logische ontkenning (setcomplementatie). Aanvulling van [e1], dwz pakketten
niet bevredigend e1.

Let op: ~ staat voor de huidige standaard veldspecificatie en is geen
alias voor de complementatie-operator.

waar (Ook allen)
De verzameling van alle beschrijvingen, dat wil zeggen alle pakketten.

vals (Ook geen)
De lege set, dus geen pakjes.

Veld bestekschrijvers
Een veldspecificatie veldspecificatie is een door komma's gescheiden lijst van veldpatronen.

Veldpatronen zijn als eenvoudige schaalpatronen en ze kunnen stertekens bevatten (die
staan ​​voor iets) of vraagtekens (die staan ​​voor een enkel teken). Zij zijn
niet hoofdlettergevoelig. Ze specificeren een reeks velden.

Bij voorbeeld beschrijving en Omschrijving specificeer de set velden { Omschrijving }, terwijl
de* specificeert { Beschrijving, Hangt }.

De speciale specificatie ~ geeft de huidige standaardspecificatie aan (zie hieronder).

Actueel velden bestekschrijvers en vereenvoudigd atomair uitdrukkingen
De noodzaak om de veldspecificatie te herhalen kan de bovenstaande syntaxis omslachtig maken. Dat is waarom
er is een actueel veld- specificeerder. Het huidige opgegeven veld is standaard
Beschrijving, Pakket:. Vereenvoudigde atomaire uitdrukkingen zijn gewoon woorden of een vereenvoudigde schaal
uitdrukkingen (die niet tussen dubbele aanhalingstekens hoeven te staan) en ze worden doorzocht in
velden in de huidige veldspecificatie. Ze kunnen worden gemaakt van letters, cijfers, onderstrepingstekens,
streepjes en punten. Ze kunnen sterren van vraagtekens bevatten die worden geïnterpreteerd als voor
veldpatronen (dwz als vereenvoudigde shell-expressies). Als dubbele aanhalingstekens worden gebruikt, anders
tekens en spaties kunnen worden gebruikt.

De standaard veldspecificatie in een query vraag kan worden gewijzigd in veldspecificatie door simpelweg
de query voorafgaan met veldspecificatie:. Dit geeft veldspecificatie:query. Echter, als vraag is
complex (dat wil zeggen, bevat binaire booleaanse operatoren) die u moet insluiten vraag in
haakjes, zoals in veldspecificatie:(query1 or vraag2).

Draad letterlijk
Draad letterlijk kan met of zonder dubbele aanhalingstekens worden gegeven; zonder dubbele aanhalingstekens, de
syntaxis is zoals voor C-identifiers, behalve dat u streepjes kunt gebruiken, u moet beginnen met a
Latijnse letter ([a-zA-Z]) en u kunt doorgaan met Latijnse letters, decimale cijfers of
laag streepje ([a-zA-Z0-9_]). Binnen dubbele aanhalingstekens zijn alle tekens toegestaan, behalve
dubbele aanhalingstekens, die moeten worden voorafgegaan door een backslash.

Variabelen
Resultaten van zoekopdrachten kunnen worden opgeslagen in variabelen, die later kunnen worden opgeroepen. Dit is niet
erg handig in batch-modus, maar is handig in interactieve en grafische modi.

Namen van variabelen beginnen met een dollar en volgen de gebruikelijke conventies voor variabelen, dwz ze
kan elke combinatie van alfanumerieke tekens en symbolen zijn, zoals onderstrepingsteken, streepjes, enz.

Namen van variabelen zijn hoofdlettergevoelig, zodat: $Geïnstalleerd en $geïnstalleerd zijn verschillend.

Om het resultaat van een query (wat een set pakketten is) toe te wijzen aan een variabele met de naam $variabele
voer gewoon de query uit $variabele := vraag. U kunt zich dan deze specifieke set herinneren door:
gewoon schrijven $variabele.

Voorbeeld: $geïnstalleerd := status:(geïnstalleerd) & !niet geïnstalleerd)

Operators
Hiërarchische vergelijkingsoperatoren kunnen worden genegeerd door de richting van de hoek te veranderen
haakjes en het toevoegen of verwijderen van een gelijkheidsteken aan het einde (<= wordt >). andere operators
worden als volgt ontkend: = wordt != en =~ wordt !~.

veldspecificatie=tekenreeks
Atomaire expressie selecteren van pakketten met een veld in veldspecificatie met een waarde a
waarde exact gelijk aan snaar.

veldspecificatie (veldspec<=string, veldspec>string, veldspec>=string)
Atomaire expressie selecteren van pakketten met een veld in veldspecificatie wiens waarde is?
strikt minder dan snaar. De gebruikte volgorde is de Debian-versievolgorde. Dit
volgorde is compatibel met de natuurlijke volgorde op gehele getallen en met Debian-versie
nummers. Bij het vergelijken van tekenreeksen die geen speciale tekens bevatten, worden letters gesorteerd
vóór getallen, in tegenstelling tot de lexicografische ASCII-volgorde die we gewend zijn. Dit betekent
dat hexadecimale getallen (zoals MD5-sommen) niet hun gebruikelijke volgorde hebben.

Merk op dat snaar moet aan de rechterkant van de operator staan ​​(dwz u kunt niet schrijven)
1000 < Maat).

veldspec=~/expressie/ (Ook veldspecificatie:/expressie/)
Selecteert beschrijvingen waarvan het veld met de naam veldspecificatie bestaat en waarvan de waarde overeenkomt,
hoofdlettergevoelig, de reguliere expressie uitdrukking.

veldspec=~/expressie/i (Ook veldspec:/expression/i)
Hetzelfde als hierboven, maar de reguliere expressie is niet hoofdlettergevoelig.

veldspec=~/expressie/w (Ook veldspec:/expression/w)
Hetzelfde als hierboven, maar de reguliere expressie is hoofdlettergevoelig en komt alleen overeen met
woord grenzen. Merk op dat letter-naar-cijfer of cijfer-naar-letter overgangen zijn
beschouwd als woordgrenzen.

veldspec=~/expressie/iw (Ook veldspec:/expression/iw)
De reguliere expressie is hier niet hoofdlettergevoelig en komt overeen met de woordgrenzen.

Normaal uitdrukkingen
Reguliere expressies worden gegeven tussen een paar schuine strepen; de laatste schuine streep kan worden gevolgd door
een commutatieve reeks letters die vlaggen aanduiden. De syntaxis van reguliere expressies is sed-achtig:
het groeperen van haakjes en afwisseling moet worden teruggedraaid. Voor meer details, zie de
Objectief Caml handleiding hoofdstuk over de Str module. Kortom (x,x1,x2 zijn meta-symbolen
aanduiding van reguliere expressies):

/./ Elk karakter.

/toto/ Letterlijke string toto.

/x1x2/ Aaneenschakeling.

/x1\|x2/
Afwisseling.

\(x1\)*
Ster sluiting.

[CD] Karakter bereik.

\b Woord grenzen.

/x/ik Hoofdletter ongevoelig.

/x/w Op woordgrenzen.

Opmerking
De meeste zoekopdrachten bevatten een aanzienlijke hoeveelheid shell-metatekens. Bijvoorbeeld,
logische disjunctie wordt aangegeven door het pipe-teken, dat door alle bekende shells wordt gebruikt.
Het probleem wordt verergerd door het feit dat namen van echte commando's waarschijnlijk in
de gebruikte uitdrukkingen; het succesvol opzetten van een UNIX-pijplijn per fout is daarom:
aannemelijk.

Bij het bellen ara vanaf de opdrachtregel in batchmodus, wordt u dringend verzocht om te beschermen
uw vragen door ze te omringen met eenvoudige aanhalingstekens; schrijf nooit zoiets als ara
Pak*=~/stop|opnieuw opstarten|afsluiten/ aangezien dit zeer waarschijnlijk uw systeem opnieuw zal opstarten (en is
onjuiste syntaxis van reguliere expressies, als halte or opnieuw op te starten or stillegging is bedoeld: leidingen moeten zijn
teruggeslagen). In plaats daarvan zou men moeten schrijven ara 'Pakket*=~/stop\|opnieuw opstarten\|afsluiten /'

OPTIES


Werking
-interactief, -i
Interactieve modus; vraag om een ​​vraag, geef deze weer.

-config (ook voor xara)
Stel de naam van het configuratiebestand in (standaard $HOME/.ara/ara.config).

-geenconfiguratie
Probeer geen configuratiebestand te maken.

-geen geschiedenis
Sla de opdrachtgeschiedenis niet op

Help opties
-Help (ook voor xara)
Laat wat hulp zien

-wat betreft Toon copyright, dank en toewijding.

-versie, -wat betreft (ook voor xara)
Auteur, licentie, versie en toewijding afdrukken (en afsluiten indien aangeroepen vanuit CLI).

-voorbeelden
Geef enkele documentatie weer, inclusief voorbeelden exit.

-q
Query (bijvoorbeeld afhankelijk:xlibs & !package:xcalc).

-vraag
Idem dito.

Opties Behorend naar de terminal
-voortgang (-geen vooruitgang)
Voortgangsindicator wel of niet weergeven bij het laden van de database.

-lijnen
Stel de hoogte van de terminal in voor interactieve weergave. Standaard wordt dit overgenomen uit de
variabele omgeving LIJNEN of als 25 als het ongedefinieerd is.

-kolommen
Stel de breedte van de terminal in voor interactieve weergave. Standaard wordt dit overgenomen uit de
variabele omgeving COLUMNS of als 25 als het ongedefinieerd is.

-pieper (-geen pagina)
Gebruik (of gebruik geen) een pager die lange uitvoer weergeeft in interactieve modus. De pieper
opdracht is gedefinieerd in het configuratiebestand $HOME/.ara/ara.config. Standaard
Dit is /etc/alternatieven/pager. De pager wordt alleen gebruikt als het uitvoerformaat
overschrijdt de eindhoogte.

-debuggen (ook voor xara)
Foutopsporingsinformatie inschakelen

-debug-niveau (ook voor xara)
Foutopsporingsniveau instellen (hoger is uitgebreider, max is 100, standaard is 10)

Display stijlen
-nieuw Toon alleen de nieuwste versie van elk pakket.

-oud Maak een lijst van alle versies van pakketten.

-korte
Toon namen van pakketten die voldoen aan de vraag (en hun versie als -oud is ingesteld), met
meerdere pakketten per lijn.

-lijst
Idem, maar toon één pakketnaam per regel en geen accolades (standaard).

-trekken
Voor elk pakket dat aan de vraag voldoet, geeft u alle geselecteerde velden weer.

-tafel
Resultaten weergeven als tabel.

-geen grenzen
Teken geen ASCII-randen voor uitvoer in tabelvorm.

-grenzen
Teken ASCII-randen voor uitvoer in tabelvorm.

-telling
Toon het aantal overeenkomende pakketten.

-velden
Beperk uitvoer tot gespecificeerde velden. De optionele breedtespecificaties worden gebruikt met de
-tafel optie en anders genegeerd. Gebruik * om alle velden weer te geven (maar vergeet dat niet te doen).
ontsnap aan het sterpersonage uit je schulp).

-oost Dump de abstracte syntaxisboom van geparseerde zoekopdrachten naar stderr.

Voorbeelden


ara 'Sectie=utils'
Vermeld de naam van elk pakket in sectie utils.

ara 'Sectie=utils en !Afhankelijk van:(gnome|kde|gtk)'
... behalve degenen waarvan het afhankelijkheidsveld overeenkomt met de regexp gnome\|kde\|gtk

ara -lijst 'Sectie=utils en Status:(geïnstalleerd) & !niet geïnstalleerd)'
Lijst van alle geïnstalleerde pakketten in sectie utils.

ara -korte 'section=utils en !afhankelijk:(gtk|gnome|kde) en prioriteit=optioneel'
... maak een lijst met meerdere namen per regel en toon alleen optionele pakketten.

ara -korte 'section=utils & (!afhankelijk:(gtk|gnome|kde) | maat <100000) & prioriteit=optioneel'
Wel, sluit gtk-, gnome- of kde-dingen alleen uit als 100000 bytes of meer.

ara -geen grenzen -velden Pakket, maat, onderhouder: 20 -tafel \
-korte 'section=utils & (!afhankelijk:(gtk|gnome|kde) | maat <100000) & prioriteit=optioneel'

... toon de velden Pakket, Grootte en Onderhouder uit de bovenstaande resultaten als een mooie ascii
tabel, waarbij het veld van de onderhouder wordt beperkt tot 20 tekens, maar zonder grove ASCII-grenzen.

ara -oud -velden Pakket: 8, Maat, Beschrijving: 100 \
-tafel 'Sectie=spellen en niet (Afhankelijk van:(gtk|sdl|kde|opengl|gnome|qt)
or /shoot\|doden\|vernietigen\|explosie\|race\|bom/iw
or /multi\(-\|\)player\|strategie\|conquest\|3\(-\|\)d/iw)
en Hangt ervan af:(xlibs or vga)
en Maat <= 1000000 '

Uitgaande van een weergave met 125 kolommen, geeft u de eerste acht tekens van de pakketnaam weer, de
grootte in bytes, en de eerste honderd tekens van de (eerste regel) van de beschrijving van
alle pakketten in de spellensectie waarvan de grootte niet groter is dan een miljoen bytes, en
die niet afhankelijk zijn van luxe dingen zoals GTK, SDL, KDE, OpenGL, Qt of Gnome, vermeld niet
enige vorm van geweld (schieten, doden, enz.) in hun beschrijving, worden niet beschreven
als multiplayer, strategie, verovering of driedimensionaal, en toch afhankelijk van beide xlibs
of SVGA om console-gebaseerde games uit te sluiten.

SPEED


ara leest de hele database in het geheugen en verwerkt vervolgens query's. Aangezien de database is
meestal groot, dit kost wat tijd. Query's worden dan echter vrij snel uitgevoerd. Dus specificeer
meerdere zoekopdrachten of gebruik de -interactief optie om de kosten van het lezen van de af te schrijven
database.

Gebruik ara online met de diensten van onworks.net


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Grondig schoon
    Grondig schoon
    Een Kotlin-script dat alle builds nukes maakt
    caches van Gradle/Android-projecten.
    Handig als Gradle of de IDE je dat toestaan
    omlaag. Het script is getest
    macOS, maar ...
    Deep clean downloaden
  • 2
    Eclipse Checkstyle-plug-in
    Eclipse Checkstyle-plug-in
    De Eclipse Checkstyle-plug-in
    integreert de Checkstyle Java-code
    auditor in de Eclipse IDE. De
    plug-in geeft real-time feedback aan
    de gebruiker over geweld...
    Eclipse Checkstyle plug-in downloaden
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player is een gratis mediaspeler
    software, deels gebaseerd op WMP en VLC. De
    speler is in een minimalistische stijl, met
    meer dan tien themakleuren, en kan ook
    b ...
    AstrOrzPlayer downloaden
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV is een ADDON voor XBMC/
    Het is mogelijk dat u een
    decodificator van de IPTV-services
    Movistar is geïntegreerd in één van de los
    mediacentra ma...
    Movistartv downloaden
  • 5
    Code :: Blocks
    Code :: Blocks
    Code::Blocks is een gratis, open-source,
    platformonafhankelijke C, C++ en Fortran IDE
    gebouwd om aan de meest veeleisende behoeften te voldoen
    van zijn gebruikers. Het is ontworpen om zeer te zijn
    strekt zich uit...
    Code::Blokken downloaden
  • 6
    Te midden van
    Te midden van
    Midden of geavanceerde Minecraft-interface
    en Data/Structure Tracking is een hulpmiddel om
    een overzicht van een Minecraft weergeven
    wereld, zonder deze daadwerkelijk te creëren. Het
    kan ...
    Midden downloaden
  • Meer "

Linux-commando's

Ad