Blog Lees IT Engineer's in uw eigen taal
English flagKorean flagChinese (Simplified) flagPortuguese flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flagAlbanian flagEstonian flagGalician flagMaltese flagThai flagTurkish flagHungarian flag  
By N2H
Juli
16e

Speciale tekens op de Linux command line

Bestanden onder Linux, | Operating System Gepost door calvyn

Speciaal gedefinieerde tekens zijn van essentieel belang voor veel van de krachtige functies van de Linux-shell, zoals bestandsnaam voltooiing en commando substitutie. De shell interpreteert deze tekens op een andere manier van andere, reguliere tekens op de opdrachtregel. Echter, als je deze tekens uitschakelen, kunt u een proces te gebruiken onder vermelding van de naam.

Bestandsnaam voltooiing tekens

Bestandsnaam voltooiing karakters zijn metatekens waarmee u bestandsnamen of directory namen korten. Dit bespaart tijd en kunt u bestanden selectief proces, zelfs als je niet weet hun volledige namen of locaties.

Vaak gebruikte bestandsnaam voltooiing karakters zijn opgenomen in de tabel hieronder.

Bestandsnaam voltooiing tekens
speciale tekens op Linux command line

Het * teken (asterisk) is de meest gebruikte bestanden voltooiing karakter. U kunt gebruik maken van de string b *, bijvoorbeeld, alle bestandsnamen beginnend met de letter "b match". U kunt ook meerdere sterretjes te definiëren een bestand. Bijvoorbeeld * xx *. gif haalt iedere bestandsnaam die bevat "xx" ergens in haar naam en dat het. Gif heeft.

De? karakter (vraagteken) staat voor een enkel karakter, dus de string??? verwijst naar alle bestanden met een drie-letterige naam. Dit bijzondere karakter is restrictiever dan het sterretje, omdat het karakter nodig heeft om aanwezig te zijn. Bijvoorbeeld, de code-bestand?. Txt betekent alle bestanden die beginnen met "file", omvatten een extra karakter, en hebben de extensie. Txt extensie. Dus de bestandsnaam "file1.txt" wedstrijden, maar "bestand.txt" en "file01.txt" niet.

Gebruik [] tekens (vierkante haakjes) staat voor een meer selectieve aanpak van het ophalen van bestanden. De string [abc] vindt bestanden a, b, en c alleen. U kunt een koppelteken tussen de tekens tussen haakjes komen overeen om een ononderbroken reeks van tekens. Om de cijfers 0 opgeven tot en met 9, bijvoorbeeld, is het een stuk gemakkelijker en minder tijdrovend te typen [0-9] plaats [0123456789]. Als de haakjes voorafgaan een asterisk, zoals in [0-9] *, bestandsnamen beginnen met alle getallen tussen 0 en 9 worden gevonden. Het patroon * [0-9] komt overeen met bestandsnamen eindigend met getallen tussen 0 en 9. Invoegen van een uitroepteken tussen haakjes, zoals in [! B], zal omkeren het patroon, matching alle tekens of bereiken niet vermeld in de haakjes, maar die negeren.

De $ (dollar teken) wordt gebruikt om shell variabelen te identificeren op de opdrachtregel. Variabelen zijn waarden die in verband zijn gebracht in het geheugen met een soort identifier. Variabelen hebben vele toepassingen in Linux. Om een simpel voorbeeld, een variabele met de identifier PATH bevat de lijst van mappen waarin de shell kunt zoeken naar uitvoerbare bestanden. Als u deze lijst aanvoeren u het volgende commando:

echo $ PATH

Als u het commando echo PATH ingevoerd, zou het afdrukken van de letterlijke string "PATH", eerder dan de waarde van de PATH variabele, op uw terminal.

Het teken ~ (tilde) kunt u snel en gemakkelijk te verwijzen naar uw home directory, ongeacht waar in het bestandssysteem dat u misschien wel. Stel dat uw huidige werk directory is / usr / local / bin en je hebt een bestand genaamd "gebruikersnaam" in je eigen home directory, die u wilt bewerken met vi. In plaats van het type het volledige pad naar het bestand, kunt u gewoon het commando

vi ~ / gebruikersnamen

Quoting speciale tekens

Er zijn momenten waarop je zou willen de speciale betekenis van metatekens onderdrukken. Een speciaal teken moet vermeld staan in om haar eigen letterlijke betekenis vertegenwoordigen in plaats van haar speciale betekenis voor de shell. Quoting zorgt ervoor dat de shell om de unieke mogelijkheden van speciale tekens en ontkennen parameter expansie over het hoofd. Dit mechanisme maakt gebruik van het volgende citaat symbolen:

  • \ (Backslash)
  • "(Dubbele aanhalingstekens)
  • '(Enkele aanhalingstekens)
  • "(Aanhalingsteken achterwaarts)

De backslash is ook bekend als de bash-shell escape karakter. Dit is omdat het wordt uitgeschakeld of "ontsnapt" de speciale betekenis van het karakter dat hij volgt. Bijvoorbeeld, zoals we al gezien hebben, het volgende commando retourneert de waarde van de PATH omgevingsvariabele:

echo $ PATH

Toch zal de volgende opdracht de terugkeer van de letterlijke output "$ PATH", omdat de backslash de speciale betekenis van het dollar teken ontkent:

echo \ $ PATH

Als een lijn zelf eindigt met een backslash, fungeert het als een voortzetting karakter voor de lijn en het newline karakter wordt genegeerd.

Enkele aanhalingstekens ontkennen de vertaling van alle speciale tekens. Ze voorkomen dat de vervanging van alternatieve waarden voor de personages. Bijvoorbeeld, de volgende commando zal de uitgang van een lijst van enkel-karakter bestandsnamen:

ls?

Toch zal deze opdracht poging om een lijst van de letterlijke bestand met de naam "?":

ls '? "

Dubbele aanhalingstekens veroorzaken de meeste metateken speciale betekenis te worden genegeerd. De uitzonderingen op deze regel zijn de dollar teken, aanhalingsteken achterwaarts en backslash. Dus dubbele aanhalingstekens hebben de gevolgen van het annuleren van het proces van de bestandsnaam generatie door de shell, maar nog steeds toestaan dat de uitbreiding van shell variabelen en commando substitutie. De dollar teken en aanhalingsteken achterwaarts blijven functioneren als speciale tekens als begrepen tussen dubbele aanhalingstekens. De backslash slechts zo wanneer komt, gevolgd door een dollarteken, aanhalingsteken achterwaarts, dubbele citaat, backslash, of een newline karakter. In deze omstandigheden is de backslash zelf verwijderd en de speciale betekenis van het volgende teken wordt genegeerd. Dit maakt het mogelijk om een dubbele aanhalingstekens citaat tussen dubbele aanhalingstekens als het wordt voorafgegaan door een backslash. Bijvoorbeeld, het commando echo "\" "of echo \" uitgang een dubbele aanhalingstekens karakter door het onderdrukken van de speciale betekenis van de embedded dubbele aanhalingstekens.

Het aanhalingsteken achterwaarts wordt nog vaak gebruikt voor commando substitutie, hoewel de $ () combinatie (een dollar teken en tussen haakjes) is over het algemeen de voorkeur. De shell interpreteert de tekst tussen een paar aanhalingstekens openen als een opdracht voor het vertalen van de rest van de opdrachtregel. De output van het commando backquoted vervangt de originele tekst.
In de volgende code, de dubbele aanhalingstekens schakelen de datum opdracht:

> Echo "date"
datum

Echter, de aanhalingstekens openen in deze opdracht staat commando substitutie te voorkomen:

> datum echo ''
Do Jun 10 17:18:56 IST 2004


4 Reacties op "Speciale tekens op de Linux command line"

  1. Door De Guru op 16 juli 2009 | Antwoord

    Nice delen, ik weet nu ~ vertegenwoordigt home directory : D

  2. Door Mitz op 16 juli 2009 | Antwoord

    nu weet ik meer over Linux al

  3. Door maymei op 28 juli 2009 | Antwoord

    Ik gebruik Linux in het kantoor .. heheh

  1. 1 Trackback (s)

  2. 30 juli 2009: Understanding disk quota in Linux | IT Engineer's Blog, Maleisië Life Tech Blog

Post a Comment

<