more(1p)
PROLOG
Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende, eller så kanske gränssnittet inte är implementerat på Linux.
NAMN
more — visa filer sida för sida
SYNOPSIS
more [-ceisu] [-n nummer] [-p kommando] [-t taggsträng] [fil...]
BESKRIVNING
Verktyget more ska läsa filer och antingen skriva dem till terminalen sida för sida eller filtrera dem till standardutmatning. Om standardutmatningen inte är en terminalenhet ska alla indatafiler kopieras i sin helhet till standardutmatning, utan ändringar, utom enligt vad som anges för flaggan -s. Om standardutmatningen är en terminalenhet ska filerna skrivas ett antal rader åt gången, en skärmbild i taget, under kontroll av användarkommandon. Se avsnittet **UTÖKAD BESKRIVNING**.
Vissa blocklägesterminaler saknar alla funktioner som krävs för att stödja hela definitionen av more. De kan inte ta emot kommandon som inte avslutas med ett radslut. Implementationer som stöder sådana terminaler ska tillhandahålla ett driftläge för more där alla kommandon kan avslutas med ett radslut på dessa terminaler.
Detta läge:
- Ska dokumenteras i systemdokumentationen.
- Ska vid start informera användaren om terminalbegränsningen som kräver användning av radslut, och ge instruktioner om hur denna varning kan undertryckas vid framtida körningar.
- Ska inte krävas för implementationer som endast stöder fullt kapabla terminaler.
- Ska inte påverka kommandon som redan kräver radslutstecken.
- Ska inte hindra användare på kapabla terminaler från att använda more enligt beskrivningen i denna volym av POSIX.1-2017.
FLAGGOR
Verktyget more ska följa Base Definitions-volymen av POSIX.1-2017, avsnitt 12.2, Utility Syntax Guidelines, med undantaget att + får kännas igen som flaggavgränsare på samma sätt som -.
Följande flaggor ska stödjas:
-c
Om en skärm ska skrivas som inte har några rader gemensamma med den aktuella skärmen, eller om more skriver sin första skärm, ska more inte rulla skärmen. I stället ska varje rad på skärmen ritas om i tur och ordning, från skärmens överkant till dess nederkant.
Om more skriver sin första skärm ska skärmen dessutom rensas. Denna flagga får ignoreras tyst på enheter med otillräckliga terminalfunktioner.
-e
Avsluta omedelbart efter att den sista raden i den sista filen i argumentlistan har skrivits. Se avsnittet **UTÖKAD BESKRIVNING**.
-i
Utför mönstermatchning i sökningar utan hänsyn till skiftläge. Se Base Definitions-volymen av POSIX.1-2017, avsnitt 9.2, Regular Expression General Requirements.
-n nummer
Ange antalet rader per skärmbild. Argumentet nummer är ett positivt decimalt heltal. Flaggan -n ska åsidosätta alla värden som erhålls från någon annan källa.
-p kommando
Varje gång en skärm från en ny fil visas eller visas om, även som resultat av more-kommandon, till exempel :p, ska more köra kommandot eller kommandona i argumentet kommando i angiven ordning, som om de hade matats in av användaren efter att den första skärmen hade visats.
Inga mellanliggande resultat ska visas. Om kommandot till exempel flyttar till en annan skärm än den normala första skärmen, ska endast den skärm som blir resultatet av kommandot visas.
Om något av kommandona misslyckas av någon anledning ska ett informationsmeddelande skrivas, och inga ytterligare kommandon som angavs med flaggan -p ska köras för denna fil.
-s
Bete sig som om flera på varandra följande tomma rader vore en enda tom rad.
-t taggsträng
Skriv skärmbilden av filen som innehåller taggen med namnet som anges av argumentet taggsträng. Se verktyget ctags(1p). Taggfunktionen som representeras av -t taggsträng och kommandot :t är valfri. Den ska tillhandahållas på alla system som också tillhandahåller en överensstämmande implementation av ctags. Annars ger användning av -t odefinierade resultat.
Filnamnet som följer av flaggan -t ska logiskt läggas till som prefix i listan över kommandoradsfiler, som om det hade angivits av användaren. Om taggen som anges av argumentet taggsträng inte hittas ska det vara ett fel, och more ska inte vidta någon ytterligare åtgärd.
Om taggen anger ett radnummer ska den första raden på displayen innehålla början av den raden. Om taggen anger ett mönster ska den första raden på displayen innehålla början av den matchande texten från den första raden i filen som innehåller mönstret.
Om raden inte finns i filen, eller om matchande text inte hittas, ska ett informationsmeddelande visas, och more ska visa standardskärmen som om -t inte hade angivits.
Om både -t taggsträng och -p kommando anges ska -t taggsträng behandlas först. Det innebär att fil och startrad för visningen ska vara enligt -t, och därefter ska -p-kommandot för more köras.
Om raden eller den matchande texten som anges av -t inte finns eller inte hittas, ska inget -p-kommando för more köras för denna fil vid något tillfälle.
-u
Behandla ett backstegstecken som ett utskrivbart kontrolltecken, visat som en implementeringsdefinierad teckensekvens. Se avsnittet **UTÖKAD BESKRIVNING**. Detta undertrycker backstegning och den specialhantering som producerar understruken eller framhävd text på vissa terminaltyper.
Dessutom ska ett carriage-return-tecken vid slutet av en rad inte ignoreras.
OPERANDER
Följande operand ska stödjas:
fil
En sökväg till en indatafil. Om inga fil-operander anges ska standardindata användas. Om en fil är - ska standardindata läsas vid den punkten i sekvensen.
STDIN
Standardindata ska endast användas om inga fil-operander anges, eller om en fil-operand är -.
INDATAFILER
Indatafilerna som undersöks ska vara textfiler. Om standardutmatningen är en terminal ska standardfel användas för att läsa kommandon från användaren.
Om standardutmatningen är en terminal, standardfel inte kan läsas, och kommandoindata behövs, får more försöka hämta användarkommandon från den styrande terminalen, till exempel /dev/tty. Annars ska more avslutas med ett fel som anger att användarkommandon inte kunde läsas.
Om standardutmatningen inte är en terminal ska inget fel uppstå om standardfel inte kan öppnas för läsning.
MILJÖVARIABLER
Följande miljövariabler ska påverka körningen av more:
COLUMNS
Åsidosätter systemets valda horisontella radstorlek för displayen. Se Base Definitions-volymen av POSIX.1-2017, kapitel 8, Environment Variables, för giltiga värden och resultat när variabeln är osatt eller null.
EDITOR
Används av kommandot v för att välja en redigerare. Se avsnittet **UTÖKAD BESKRIVNING**.
LANG
Tillhandahåller ett standardvärde för internationaliseringsvariabler som är osatta eller null. Se Base Definitions-volymen av POSIX.1-2017, avsnitt 8.2, Internationalization Variables, för prioritetsordningen mellan internationaliseringsvariabler som används för att bestämma värden för lokal-kategorier.
LC_ALL
Om satt till ett icke-tomt strängvärde ska den åsidosätta värdena för alla andra internationaliseringsvariabler.
LC_COLLATE
Bestämmer lokal för beteendet hos intervall, ekvivalensklasser och fler-teckens sorteringselement i reguljära uttryck.
LC_CTYPE
Bestämmer lokal för tolkning av byte-sekvenser med textdata som tecken, till exempel enkelbyte- kontra flerbytetecken i argument och indatafiler, samt beteendet för teckenklasser i reguljära uttryck.
LC_MESSAGES
Bestämmer vilken lokal som ska användas för att påverka format och innehåll i diagnostiska meddelanden som skrivs till standardfel och informationsmeddelanden som skrivs till standardutmatning.
NLSPATH
Bestämmer platsen för meddelandekataloger vid behandling av LC_MESSAGES.
LINES
Åsidosätter systemets valda vertikala skärmstorlek, använd som antalet rader i en skärmbild. Se Base Definitions-volymen av POSIX.1-2017, kapitel 8, Environment Variables, för giltiga värden och resultat när variabeln är osatt eller null.
Flaggan -n ska ha företräde framför variabeln LINES vid bestämning av antalet rader i en skärmbild.
MORE
Bestämmer en sträng som innehåller flaggor beskrivna i avsnittet **FLAGGOR**, föregångna av bindestreck och separerade med blanka tecken som på kommandoraden.
Alla kommandoradsflaggor ska behandlas efter de som anges i variabeln MORE, som om kommandoraden vore:
more $MORE flaggor operander
Variabeln MORE ska ha företräde framför variablerna TERM och LINES vid bestämning av antalet rader i en skärmbild.
TERM
Bestämmer namnet på terminaltypen. Om variabeln är osatt eller null används en ospecificerad standardterminaltyp.
ASYNKRONA HÄNDELSER
Standard.
STDOUT
Standardutmatningen ska användas för att skriva innehållet i indatafilerna.
STDERR
Standardfel ska användas för diagnostiska meddelanden och användarkommandon, se avsnittet **INDATAFILER**, och, om standardutmatningen är en terminalenhet, för att skriva en promptsträng.
Promptsträngen ska visas på skärmraden under den sista raden av filen som visas i den aktuella skärmbilden. Prompten ska innehålla namnet på filen som för närvarande undersöks, och ska innehålla en slut-på-fil-indikering och namnet på nästa fil, om någon finns, när prompten visas vid filslut.
Om ett fel- eller informationsmeddelande visas är det ospecificerat om det ingår i prompten. Om det inte ingår i prompten ska det visas och användaren ska därefter uppmanas att mata in ett fortsättningstecken, varpå ett annat meddelande eller användarprompten får visas.
Prompten är i övrigt ospecificerad. Det är ospecificerat om informationsmeddelanden skrivs för andra användarkommandon.
UTDATAFILER
Inga.
UTÖKAD BESKRIVNING
Följande avsnitt beskriver beteendet hos more när standardutmatningen är en terminalenhet. Om standardutmatningen inte är en terminalenhet ska inga flaggor utom -s ha någon effekt, och alla indatafiler ska kopieras till standardutmatning i övrigt oförändrade. Därefter ska more avslutas utan ytterligare åtgärd.
Antalet tillgängliga rader per skärm ska bestämmas av flaggan -n, om den finns, eller genom att undersöka värden i miljön. Se avsnittet **MILJÖVARIABLER**. Om ingen metod ger ett tal ska ett ospecificerat antal rader användas.
Det maximala antalet rader som skrivs ska vara ett mindre än detta tal, eftersom skärmraden efter den sista skrivna raden ska användas för användarprompt och användarinmatning. Om antalet rader på skärmen är mindre än två är resultaten odefinierade. Det är ospecificerat om användarinmatning får vara längre än återstoden av den enda rad där prompten har skrivits.
Antalet tillgängliga kolumner per rad ska bestämmas genom att undersöka värden i miljön, se avsnittet **MILJÖVARIABLER**, med ett standardvärde enligt beskrivningen i Base Definitions-volymen av POSIX.1-2017, kapitel 8, Environment Variables.
Rader som är längre än displayen ska radbrytas. Längden där radbrytning sker är ospecificerad, men bör vara lämplig för utdataenheten. Radbrytning får ske mellan glyfer i enskilda tecken som upptar flera displaykolumner.
När standardutmatningen är en terminal och -u inte anges ska more behandla backstegs- och carriage-return-tecken särskilt:
- Ett tecken följt först av en sekvens av n backstegstecken, där n är samma som antalet kolumnpositioner tecknet upptar, och därefter av n understreckstecken, _, ska göra att tecknet skrivs som understruken text om terminaltypen stöder detta. Även n understreckstecken följda först av n backstegstecken och sedan valfritt tecken med n kolumnpositioner ska göra att tecknet skrivs som understruken text, om terminaltypen stöder detta.
- En sekvens av n backstegstecken, där n är samma som antalet kolumnpositioner som föregående tecken upptar, som förekommer mellan två identiska utskrivbara tecken ska göra att det första av dessa två tecken skrivs som fetmarkerad text, det vill säga visuellt ljusare, i standout-läge eller inversvideo-läge, om terminaltypen stöder detta. Det andra tecknet ska kastas. Omedelbart följande förekomster av backsteg/tecken-par för samma tecken ska också kastas. Exempelvis tolkas sekvensen a\ba\ba\ba som ett enda fetmarkerat a.
- Verktyget more ska logiskt kasta alla andra backstegstecken från raden samt tecknet som föregår dem, om något finns.
- Ett carriage-return-tecken vid slutet av en rad ska ignoreras i stället för att skrivas som ett icke-utskrivbart tecken enligt beskrivningen i nästa stycke.
Det är implementeringsdefinierat hur andra icke-utskrivbara tecken skrivs. Implementationer bör använda samma format som de använder för kommandot print i ex. Se avsnittet **FLAGGOR** inom verktyget ed. Det är ospecificerat om ett fler-kolumnstecken ska delas om det korsar en displayradsgräns. Det ska inte kastas.
Beteendet är ospecificerat om antalet kolumner på displayen är mindre än antalet kolumner som ett enskilt tecken i raden som visas skulle uppta.
När varje ny fil visas eller visas om ska more skriva filens första skärm. När den initiala skärmen har skrivits ska more visa en prompt för ett användarkommando. Om körningen av användarkommandot resulterar i en skärm som har rader gemensamma med den aktuella skärmen, och enheten har tillräckliga terminalfunktioner, ska more rulla skärmen. Annars är det ospecificerat om skärmen rullas eller ritas om.
För alla filer utom den sista, inklusive standardindata om ingen fil angavs, och även för den sista filen om flaggan -e inte angavs, ska more visa en prompt för ett användarkommando när more har skrivit den sista raden i filen. Prompten ska innehålla namnet på nästa fil samt en indikation på att more har nått filslut.
Om användarkommandot är f, control-F, mellanslag, j, radslut, d, control-D eller s, ska more visa nästa fil. Annars, om den sista filen visas, ska more avslutas. I annat fall ska more köra det angivna användarkommandot.
Flera av kommandona som beskrivs i detta avsnitt visar en tidigare skärm från indataströmmen. Om text tas från en icke-återspolningsbar ström, till exempel ett rör, är det implementeringsdefinierat hur mycket bakåtrörelse som stöds. Om ett kommando inte kan köras på grund av en begränsning i bakåtrörelse ska ett felmeddelande visas, den aktuella skärmen ska inte ändras, och användaren ska få en ny prompt.
Om ett kommando inte kan utföras därför att det finns otillräckligt antal rader att visa, ska more varna terminalen. Om ett kommando inte kan utföras därför att det finns otillräckligt antal rader att visa, eller om ett /-kommando misslyckas, gäller följande: om indata är standardindata får den sista skärmen i filen visas. Annars ska den aktuella filen och skärmen inte ändras, och användaren ska få en ny prompt.
De interaktiva kommandona i följande avsnitt ska stödjas. Vissa kommandon kan föregås av ett decimalt heltal, kallat count i följande beskrivningar. Om det inte anges med kommandot ska count ha standardvärdet 1.
I följande beskrivningar är pattern ett grundläggande reguljärt uttryck enligt beskrivningen i Base Definitions-volymen av POSIX.1-2017, avsnitt 9.3, Basic Regular Expressions.
Termen examine är historisk användning och betyder att öppna filen för visning. Exempelvis skulle more foo beskrivas som att undersöka filen foo.
I följande beskrivningar är line, om inget annat anges, en rad i more-displayen, inte en rad från filen som undersöks.
I följande beskrivningar avser aktuell position två saker:
- Positionen för den aktuella raden på skärmen.
- Radnumret i filen för den aktuella raden på skärmen.
Vanligen är raden på skärmen som motsvarar aktuell position den tredje raden på skärmen. Om detta inte är möjligt, eftersom det finns färre än tre rader att visa, detta är första sidan i filen eller sista sidan i filen, är aktuell position antingen första eller sista raden på skärmen enligt senare beskrivning.
Help
h
Skriv en sammanfattning av dessa kommandon och andra implementeringsdefinierade kommandon. Beteendet ska vara som om verktyget more kördes med flaggan -e på en fil som innehöll sammanfattningsinformationen.
Användaren ska få en prompt enligt tidigare beskrivning när filslut nås. Om användarkommandot är ett av de som anges för att fortsätta till nästa fil, ska more återgå till den fil och det skärmläge från vilket kommandot h kördes.
Rulla framåt en skärmbild
[count]f [count]<control>-F
Rulla framåt count rader, med standardvärdet en skärmbild. Om count är större än skärmstorleken ska endast den sista skärmbilden skrivas.
Rulla bakåt en skärmbild
[count]b [count]<control>-B
Rulla bakåt count rader, med standardvärdet en skärmbild. Se flaggan -n. Om count är större än skärmstorleken ska endast den sista skärmbilden skrivas.
Rulla framåt en rad
[count]<space> [count]j [count]<newline>
Rulla framåt count rader. Standardvärdet för count för mellanslag ska vara en skärmbild. För j och radslut ska standardvärdet vara en rad. Alla count rader ska skrivas, även om count är större än skärmstorleken.
Rulla bakåt en rad
[count]k
Rulla bakåt count rader. Alla count rader ska skrivas, även om count är större än skärmstorleken.
Rulla framåt en halv skärmbild
[count]d [count]<control>-D
Rulla framåt count rader, med standardvärdet en halv skärmstorlek. Om count anges ska det bli nytt standardvärde för efterföljande kommandon d, control-D och u.
Hoppa framåt en rad
[count]s
Visa skärmbilden som börjar med raden count rader efter den sista raden på den aktuella skärmen. Om count skulle göra att aktuell position hamnar så att mindre än en skärmbild skulle skrivas, ska den sista skärmbilden i filen skrivas.
Rulla bakåt en halv skärmbild
[count]u [count]<control>-U
Rulla bakåt count rader, med standardvärdet en halv skärmstorlek. Om count anges ska det bli nytt standardvärde för efterföljande kommandon d, control-D, u och control-U.
Alla count rader ska skrivas, även om count är större än skärmstorleken.
Gå till början av filen
[count]g
Visa skärmbilden som börjar med rad count.
Gå till filslut
[count]G
Om count anges, visa skärmbilden som börjar med rad count. Annars, visa den sista skärmbilden i filen.
Uppdatera skärmen
r <control>-L
Uppdatera skärmen.
Kasta och uppdatera
R
Uppdatera skärmen och kasta all buffrad indata. Om den aktuella filen inte är sökbar ska buffrad indata inte kastas och kommandot R ska motsvara kommandot r.
Markera position
mbokstav
Markera den aktuella positionen med bokstaven som anges av bokstav, där bokstav representerar namnet på en av de gemena bokstäverna i den portabla teckenuppsättningen. När en ny fil undersöks får alla markeringar gå förlorade.
Återgå till markering
'bokstav
Återgå till positionen som tidigare markerats med bokstaven som anges av bokstav, och gör den raden till aktuell position.
Återgå till föregående position
''
Återgå till positionen från vilken det senaste stora rörelsekommandot kördes. En stor rörelse definieras som varje rörelse på mer än en skärmbild rader. Om inga sådana rörelser har gjorts, återgå till början av filen.
Sök framåt efter mönster
[count]/[!]pattern<newline>
Visa skärmbilden som börjar med den count:e raden som innehåller mönstret. Sökningen ska börja efter den första rad som för närvarande visas.
Det tomma reguljära uttrycket, / följt av radslut, ska upprepa sökningen med föregående reguljära uttryck och standardvärde för count.
Om tecknet ! ingår ska matchande rader vara de som inte innehåller pattern. Om ingen matchning hittas för pattern ska ett meddelande om detta visas.
Sök bakåt efter mönster
[count]?[!]pattern<newline>
Visa skärmbilden som börjar med den count:e föregående raden som innehåller mönstret. Sökningen ska börja på den sista raden före den första rad som för närvarande visas.
Det tomma reguljära uttrycket, ? följt av radslut, ska upprepa sökningen med föregående reguljära uttryck och standardvärde för count.
Om tecknet ! ingår ska matchande rader vara de som inte innehåller pattern. Om ingen matchning hittas för pattern ska ett meddelande om detta visas.
Upprepa sökning
[count]n
Upprepa föregående sökning efter den count:e raden som innehåller det senaste pattern, eller som inte innehåller det senaste pattern om föregående sökning var /! eller ?!.
Upprepa sökning i motsatt riktning
[count]N
Upprepa sökningen i motsatt riktning mot föregående sökning efter den count:e raden som innehåller det senaste pattern, eller som inte innehåller det senaste pattern om föregående sökning var /! eller ?!.
Undersök ny fil
:e [filnamn]<newline>
Undersök en ny fil. Om argumentet filnamn inte anges ska den aktuella filen undersökas igen. Se kommandona :n och :p nedan.
filnamn ska genomgå skalets ordexpansioner. Se Section 2.6, Word Expansions. Om mer än en sökväg blir resultatet är effekterna ospecificerade.
Om filnamn är ett nummertecken, #, ska den tidigare undersökta filen undersökas igen.
Om filnamn av någon anledning inte är åtkomligt, inklusive att det är en icke-sökbar fil, ska ett felmeddelande visas och den aktuella filen och skärmen ska inte ändras.
Undersök nästa fil
[count]:n
Undersök nästa fil. Om ett tal count anges ska den count:e nästa filen undersökas. Om filnamn hänvisar till en icke-sökbar fil är resultaten ospecificerade.
Undersök föregående fil
[count]:p
Undersök föregående fil. Om ett tal count anges ska den count:e föregående filen undersökas. Om filnamn hänvisar till en icke-sökbar fil är resultaten ospecificerade.
Gå till tagg
:t taggsträng<newline>
Om filen som innehåller taggen med namnet som anges av argumentet taggsträng inte är den aktuella filen, undersök filen som om kommandot :e hade körts med denna fil som argument.
Annars, eller dessutom, visa skärmbilden som börjar med taggen enligt beskrivningen för flaggan -t. Se avsnittet **FLAGGOR**.
Om verktyget ctags inte stöds av systemet ger användning av :t odefinierade resultat.
Anropa redigerare
v
Anropa en redigerare för att redigera den aktuella filen som undersöks. Om standardindata undersöks är resultaten ospecificerade.
Redigerarens namn ska tas från miljövariabeln EDITOR, eller standardiseras till vi.
Om den sista sökvägskomponenten i EDITOR är antingen vi eller ex, ska redigeraren anropas med ett -c radnummer-argument på kommandoraden, där radnummer är radnumret för den filrad som innehåller displayraden som för närvarande visas som första rad på skärmen.
Det är implementeringsdefinierat om radinställande flaggor skickas till andra redigerare än vi och ex.
När redigeraren avslutas ska more återuppta visningen med samma fil och skärm som när redigeraren anropades.
Visa position
= <control>-G
Skriv ett meddelande där informationen hänvisar till den första byten i raden efter den sista raden av filen på skärmen.
Meddelandet ska innehålla namnet på filen som för närvarande undersöks, dess nummer relativt till det totala antalet filer som ska undersökas, radnumret i filen, bytenumret och det totala antalet byte i filen, samt hur stor procentandel av filen som föregår den aktuella positionen.
Om more läser från standardindata, eller om filen är kortare än en enda skärm, behöver radnummer, bytenummer, totalt antal byte och procentandel inte skrivas.
Avsluta
q :q ZZ
Avsluta more.
EXITSTATUS
Följande exitvärden ska returneras:
0 Lyckad körning. >0 Ett fel inträffade.
KONSEKVENSER AV FEL
Om ett fel uppstår vid åtkomst till en fil när kommandot :n används, ska more försöka undersöka nästa fil i argumentlistan, men den slutliga exitstatusen ska påverkas.
Om ett fel uppstår vid åtkomst till en fil via kommandot :p, ska more försöka undersöka föregående fil i argumentlistan, men den slutliga exitstatusen ska påverkas.
Om ett fel uppstår vid åtkomst till en fil via kommandot :e, ska more stanna kvar i den aktuella filen och den slutliga exitstatusen ska inte påverkas.
Följande avsnitt är informativa.
ANVÄNDNING I PROGRAM
När standardutmatningen inte är en terminal är endast filtermodifieringsflaggan -s verksam. Detta bygger på historisk praxis.
Exempelvis skickar en typisk implementation av man sin utdata genom more -s för att minska överflödiga tomrum för terminalanvändare. När man däremot skickas till lp är det oönskat att sådan hoptryckning sker.
EXEMPEL
Flaggan -p tillåter att godtyckliga kommandon körs i början av varje fil. Exempel:
more -p G fil1 fil2
Undersök varje fil med början vid dess sista skärmbild.
more -p 100 fil1 fil2
Undersök varje fil med början vid rad 100 i den aktuella positionen, vanligen tredje raden, så rad 98 skulle vara den första raden som skrivs.
more -p /100 fil1 fil2
Undersök varje fil med början vid den första raden som innehåller strängen 100 i den aktuella positionen.
BAKGRUND OCH MOTIVERING
Verktyget more, som finns i BSD och BSD-härledda system, valdes som prototyp för POSIX-programmet för filvisning eftersom det är mer allmänt tillgängligt än både det publika programmet less och pg, en pager som tillhandahölls i System V.
BSD 4.4-versionen av more är modellen för de valda funktionerna. Den är nästan helt uppåtkompatibel med 4.3 BSD-versionen som använts brett och har blivit mer användbar för vi-användare. Flera funktioner som ursprungligen härrörde från olika textredigerare och som finns i både less och pg har lagts till i denna volym av POSIX.1-2017 eftersom de har visat sig vara mycket populära bland användare.
Det finns inkonsekvenser mellan more och vi som beror på historisk praxis. Till exempel är en-teckenskommandona h, f, b och mellanslag skärmflyttare i more, men markörflyttare i vi. Dessa inkonsekvenser behölls eftersom markörrörelserna inte är tillämpliga på more och den kraftfulla funktionalitet som uppnås utan användning av kontrolltangenten motiverar skillnaderna.
Tagggränssnittet har inkluderats i ett program som inte är en textredigerare eftersom det främjar ytterligare en grad av konsekvent användning med vi. Det är tänkbart att sidvisningsmiljön i more kan vara bättre för att bläddra i källkodsfiler under vissa omständigheter.
Driftläget som nämns för blocklägesterminaler lägger i praktiken till ett radslut till varje synopsisrad som för närvarande saknar ett sådant. Exempelvis skulle d följt av radslut bläddra en skärmbild.
Läget kan aktiveras av en kommandoradsflagga, miljövariabel eller någon annan metod. Detaljerna anges inte av denna volym av POSIX.1-2017 eftersom det finns så få system som är kända för att stödja sådana terminaler. Ändå ansågs alla system kunna stödja more med det undantag som anges för denna lilla grupp terminaler, eftersom markörrörelserna i jämförelse med vi är få och kommandouppsättningen är relativt lämpad för valfria radslutstecken.
Vissa versioner av more tillhandahåller en mekanism för skalescape som liknar kommandot ! i ex. Standardutvecklarna ansåg inte att detta var nödvändigt i en sidvisare, särskilt med tanke på den breda acceptansen för terminaler med flera fönster och jobbkontrollfunktioner. De valde att behålla sådana funktioner i redigerare och mailx eftersom skalinteraktionen där också ger möjlighet att ändra redigeringsbufferten, vilket inte är tillämpligt på more.
Flaggan -p, position, ersätter kommandot + på grund av Utility Syntax Guidelines. Flaggan + kommando anges inte längre av POSIX.1-2008 men kan finnas i vissa implementationer. I tidiga förslag tog den ett pattern-argument, men historisk less tillhandahöll den mer allmänna funktionen med ett kommando. Det hade varit önskvärt att använda samma -c som i ex och vi, men bokstaven var redan använd.
Texten som anger att implementationer får begränsa mängden stödd bakåtrörelse från en icke-återspolningsbar ström skulle tillåta en implementation som inte tillåter någon bakåtrörelse utöver text som redan finns på skärmen. Det var inte möjligt att kräva en miniminivå av bakåtrörelse som skulle vara effektiv för alla tänkbara enhetstyper. Implementationer bör låta användaren backa så långt som möjligt, inom ramen för enhetsbegränsningar och rimliga minnesallokeringsgränser.
Historiskt visades icke-utskrivbara tecken med ARPA-standardmappningar, enligt följande:
- Utskrivbara tecken lämnas orörda.
- Kontrolltecken mindre än \177 representeras som följda av teckenförskjutningen från @-tecknet i ASCII-kartan. Till exempel representeras \007 som G.
- \177 representeras som följt av ?.
Visningen av tecken med åttonde biten satt var mindre standardiserad. Befintliga implementationer använder hex, till exempel 0x00, oktalt, till exempel \000, och meta-bit-visning. Den senare visar tecken med åttonde biten satt som de två tecknen M-, följt av sju-bitarsvisningen enligt tidigare beskrivning.
Den senare varianten har troligen starkast anspråk på historisk praxis eftersom den användes med flaggan -v i 4 BSD och 4 BSD-härledda versioner av verktyget cat sedan 1980.
Inget specifikt visningsformat krävs av POSIX.1-2008. Implementationer uppmuntras att följa historisk praxis när det inte finns någon stark anledning att avvika.
FRAMTIDA RIKTNING
Ingen.
SE ÄVEN
Chapter 2, Shell Command Language, ctags(1p), ed(1p), ex(1p), vi(1p)
The Base Definitions volume of POSIX.1-2017, Chapter 8, Environment Variables, Section 9.2, Regular Expression General Requirements, Section 9.3, Basic Regular Expressions, Section 12.2, Utility Syntax Guidelines
UPPHOVSRÄTT
Delar av denna text är återtryckta och återgivna i elektronisk form från IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 av Institute of Electrical and Electronics Engineers, Inc. och The Open Group.
Vid eventuell avvikelse mellan denna version och den ursprungliga standarden från IEEE och The Open Group är den ursprungliga standarden från IEEE och The Open Group det avgörande dokumentet. Den ursprungliga standarden kan erhållas online på:
http://www.opengroup.org/unix/online.html
Eventuella typografiska eller formateringsfel som förekommer på denna sida har sannolikt införts under konverteringen av källfilerna till manualsidesformat. För att rapportera sådana fel, se:
https://www.kernel.org/doc/man-pages/reporting_bugs.html
Manualsidans sidfot:
IEEE/The Open Group 2017 MORE(1P)
Sidor som hänvisar till denna sida
HTML-rendering
HTML-renderingen skapades 2026-01-16 av Michael Kerrisk, författare till The Linux Programming Interface.
För information om fördjupade utbildningar i Linux/UNIX-systemprogrammering, se:
https://man7.org/training/
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/more.1p.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorservice som har sponsrat Linux.se med webbhotell.