
Veel Linux-mensen hebben nog nooit gehoord van pushd en popd, maar ze zijn al voor eeuwig. Ze kunnen ook drastisch te versnellen het proces van navigeren door de mappen op de commando-regel. We lopen met u door hoe ze te gebruiken.
Wat Zijn pushd en popd?
Een van de innovaties Bill Joy opgericht in 1978 zijn de C-Shell was het concept van een directory stack en de middelen om die te manipuleren: pushd en popd. Imitatie wordt de oprechte vorm van vleierij, de directory stack, pushd en popd werden al snel opgenomen in andere schelpen (zoals Bash) en zelfs andere besturingssystemen.
Het concept van de stack is een eenvoudige. Items op de stack geplaatst in één keer met de meest recent toegevoegde artikel altijd gevestigd op de bovenste positie. Wanneer items worden opgehaald van de stack, ze zijn verwijderd, in volgorde, van boven naar beneden. Stapels van deze aard worden vaak aangeduid als Last In, First Out (LIFO) – wachtrijen.
Eigenlijk pushd en popd zijn een beetje meer flexibel dan dit, maar dit is een goed model om in gedachten te houden voor nu.
Als we verwijzen naar een directory stack, is het waarschijnlijk geen verrassing dat de “d” in pushd en popd staat voor “directory.” Deze commando ‘ s kunt u push folders op, of ze pop uit van de directory stack.
Maar hoe werkt dat aan ons ten goede?
Hoe pushd Vult de Stapel
Wanneer u gebruik pushd, de volgende drie dingen gebeuren:
- Verandert u de directory hetzelfde te zijn als u wilt een gebruikte cd.
- De naam en het pad van de map worden toegevoegd aan de stapel.
- De stapel wordt weergegeven als een door spaties gescheiden lijst van mappen.
In de volgende voorbeelden zie je hoe de directory stack groeit met elke nieuwe opdracht pushd. Merk ook op dat de bovenkant van de stapel aan de linkerkant,—dit is waar de nieuwe vermeldingen weergegeven.
Na de eerste opdracht pushd, er zijn twee items in de stack: de map die u links, en degene die u verplaatst.
Voor ons voorbeeld typen we het volgende:
pushd ~/Desktop
pushd ~/Muziek
pushd ~/Documenten
pushd ~/Foto ‘ s
pushd ~
De laatste opdracht pushd nam ons mee terug naar onze home directory, dus de eerste en de laatste items in de stack zijn de tilde (~), hetgeen neerkomt op onze home directory. Dit toont aan dat, hoewel een directory is al in de stapel, deze worden opnieuw toegevoegd om andere pushd opdrachten.
Merk ook op dat het meest links vermelding in de stapel, die het meest recentelijk toegevoegde item (de huidige directory.
De mappen Opdracht
U kunt gebruik maken van de mappen opdracht, zoals hieronder weergegeven, om de directory stack:
dirs
Het heeft geen invloed op de stapel, toont het gewoon het. Enkele van de opties die u kunt gebruiken met pushd verwijzen naar de positie van de mappen in de stapel.
Als u wilt zien van de numerieke positie van elke map, kunt u gebruik maken van de -v (verticale) optie zoals hieronder weergegeven:
dirs -v
Als u liever ziet de uitgeschreven pad naar uw home directory in plaats van de tilde (~), het toevoegen van de optie-l (lange notatie) optie, als dat zo is:
dirs -v -l
Een Map toevoegen aan de Stack
Zoals we hebben gezien, wanneer u de opdracht pushd, het doet drie dingen: wijzigingen in uw map, voegt u de nieuwe map naar de stack en geeft de stapel voor u. U kunt gebruik maken van de -n (geen rotatie) optie voegt u een map toe aan de stapel zonder het veranderen van de huidige directory.
Hier is onze directory stack:
dirs -v -l
Nu gebruiken we de opdracht pushd met de optie-n en pas in de /home/dave map als een parameter. Vervolgens bekijken we de directory stack weer.
We typt u het volgende:
pushd -n /home/dave
dirs -v -l
De /home/dave-map is toegevoegd aan de stapel in slot 1, die de tweede plaats in de stapel. Het kan niet bezetten de top positie omdat slot nul wordt altijd de huidige directory.
We verlaten niet de huidige directory ~/Video ‘ s, dus het was niet gedraaid naar een andere positie in de stapel.
Het veranderen van Directory door het Draaien van de Stapel
U kunt gebruik maken van numerieke parameters met pushd te verplaatsen naar een map in een stapel, en de stack draait wanneer je dat doet. De map die u hebt gekozen om te bewegen wordt dan de eerste vermelding in de stapel.
U verwijst naar de mappen in de stapel door hun positienummer. U kunt rekenen vanaf de boven-of onderkant van de stapel. Voor positieve getallen, zoals +3, te tellen vanaf de top; voor negatieve getallen, zoals -2, te tellen vanaf de onderkant.
De /home/dave/Documenten-map is in positie drie. Wij kunnen u de volgende opdracht gebruiken om te verplaatsen van die map:
pushd +3
De mappen in de stapel boven de directory die we hebben gekozen zijn, worden verplaatst naar de onderkant van de stapel. De door ons gekozen map nu gevestigd op de bovenste positie en zijn we verhuisd naar die map.
Als we dat willen veranderen in de map op de onderkant van de stapel, kunnen we het volgende commando gebruiken:
pushd -0
De laatste map is verplaatst naar de eerste sleuf, en alle anderen zijn omlaag verplaatst in de stapel. We veranderd naar de ~/Pictures-map.
De Opdracht popd
U kunt gebruik maken van de opdracht popd te verwijderen mappen van de stapel.
Als we kijken naar de directory stack, kunnen we zien dat de map die in positie 1 is /home/dave. Om dit te verwijderen uit de stapel, typen we het volgende doorgeven van het aantal te popd:
dirs -v -l
popd +1
De /home/dave-map is verwijderd, en degenen die onder in de stapel hebben elk schoof een plaats.
Net zoals we kunnen met pushd, kunnen we rekenen vanaf de onderkant van de stapel met popd. Verwijderen van de laatste map van de stapel, typen we:
popd -0
De ~/Music-map wordt verwijderd uit de laatste positie in de stapel.
De directory veranderen, iets doen, en dan hop terug naar de vorige map, kunt u gebruik maken van pushd en popd samen.
We gebruiken pushd te verplaatsen naar een andere map. We gebruiken popd negeren van het bovenste bestand in de stapel en verplaatsen naar de map in het tweede positie. Dit is de map die u zojuist verhuisd, dus je bent weer in de map die u oorspronkelijk in.
We typt u het volgende:
pushd ~
popd
We begonnen in de ~/Projecten directory, pushd naar de home directory, en dan popd terug naar de ~/Projecten directory.
Roterende Door de Hele Stapel
We gaan om te illustreren hoe om te draaien door middel van een stapel met een aantal geneste mappen, maar je kan gebruik maken van alle mappen overal in het bestandssysteem.
Onze diepste niveau van de nesten is:
/home/dave/Projecten/htg/artikelen
Vanuit de home directory, we zullen geleidelijk dalen door elke map totdat we bij de artikelen directory. Vervolgens kijken we naar de directory stack.
We typt u het volgende:
pushd ~/Projecten
pushd htg
pushd artikelen
dirs -v -l
Wanneer u herhaaldelijk probleem pushd +1 opdrachten, kan je op de fiets heen en weer door de stapel mappen. Als u dit doet, vaak, pushd +1 zou een goede kandidaat voor een alias.
Typ het volgende:
pushd +1
GERELATEERD: het Maken van Aliassen en Shell-Functies van Linux
Het stempelen van de Stapel
Het is gemakkelijk om terug te keren naar de oude gewoonten en gebruiken cd om van map te wijzigen. Als u dat doet, zult u de stempel over de eerste map in de stapel. Dit is onvermijdelijk, als de eerste sleuf gereserveerd voor de huidige working directory—geen van de anderen van positie te veranderen.
Om dit te doen, typt u het volgende:
dirs -v -l
cd ~/Muziek
dirs -v -l
Nadat u wennen aan de pushd en popd commando ‘ s (en misschien ook gebruiken voor het maken van een paar aliassen), heb je een supersnelle manier om te springen tussen mappen.
Dit is de reden waarom we hangen rond de commando-regel. Efficiëntie rotsen, toch?
GERELATEERD: 37 Belangrijke Linux-Commando ‘ s die U Moet Weten
LEES VERDER
- “Hoe Verwijder Samsung Dagelijks Van de Galaxy S20 startscherm
- “Hoe Snel Open de Instellingen-Pagina met Behulp van Snelkoppelingen op iPhone en iPad
- “De Vijf Beste PC-Upgrades om de Prestaties te Verbeteren
- “Hoe Uitschakelen of Opnieuw opstarten van Je Samsung Galaxy S20
- “Het Inschakelen van DNS Via HTTPS in Microsoft Rand