Πώς να χρησιμοποιήσετε την εντολή cd στο Linux

Μερικές εντολές Linux είναι τόσο γνωστές, που δεν παρατηρούμε καν ότι τις χρησιμοποιούμε. Η εντολή cd για την αλλαγή καταλόγων είναι μία από αυτές. Υπάρχουν μερικά κόλπα που μπορούν να σας βοηθήσουν να γίνετε πιο αποτελεσματικοί με το cd—ή μπορείτε να το παρατήσετε εντελώς.

Μια εντολή που σπάνια σκέφτεσαι

Αναβοσβήνεις όλη μέρα, κάθε μέρα, αλλά, τις περισσότερες φορές, το αγνοείς. Αν δεν μπει κάτι στο μάτι σας, σπάνια σκέφτεστε αυτή τη μικρή, τακτική κίνηση. Κάποιες εντολές Linux είναι τέτοιες. Αιωρούνται στην περιφέρεια της συνείδησής σας. Παρόλο που τα χρησιμοποιείτε καθημερινά, δεν τραβούν την προσοχή σας επειδή είναι τόσο μικρά και απλά.

Μέσα στην πρώτη ώρα χρήσης ενός υπολογιστή Linux, μαθαίνετε πώς να χρησιμοποιείτε την εντολή cd που περιλαμβάνεται στο Bash και σε άλλα κελύφη. Ίσως είχατε προηγούμενη εμπειρία χρήσης του σε άλλο λειτουργικό σύστημα και δεν χρειαζόσασταν εξηγήσεις. Αλλάζει τον τρέχοντα κατάλογο εργασίας, σωστά; Τι άλλο υπάρχει να ξέρεις;

Λοιπόν, περισσότερο από όσο φαντάζεστε. Ακολουθούν μερικές συμβουλές και συμβουλές που μπορεί να βελτιώσουν την αποτελεσματικότητά σας.

Οι τυπικές λειτουργίες cd

Για να είμαστε ολοκληρωμένοι, ας δούμε γρήγορα τις τυπικές χρήσεις του cd.

Εάν βρισκόμαστε στον αρχικό κατάλογο, αλλά θέλουμε να αλλάξουμε σε έναν που βρίσκεται στο /usr/lib/firefox/browser και μετά να επιστρέψουμε στον αρχικό κατάλογο, μπορούμε να χρησιμοποιήσουμε τις ακόλουθες εντολές:

cd /usr/lib/firefox/browser/
cd /home/dave

ο

Δεν χρειάζεται να πληκτρολογήσετε ολόκληρη τη διαδρομή καταλόγου. μπορείτε να χρησιμοποιήσετε την αυτόματη συμπλήρωση. Για κάθε τμήμα μιας διαδρομής, αφού πληκτρολογήσετε αρκετά γράμματα για να ξεχωρίσετε το όνομα του καταλόγου από τα άλλα, πατήστε Tab για να συμπληρώσετε αυτόματα το όνομα του καταλόγου.

Για παράδειγμα, πληκτρολογήστε τα ακόλουθα στη γραμμή εντολών:

cd /usr/lib/fire

Τώρα, πατήστε Tab και το κέλυφος θα συμπληρώσει τον υπόλοιπο κατάλογο “firefox” για εσάς. Εάν προσθέσετε “/b” στη διαδρομή και πατήσετε ξανά Tab, προσθέτει τον κατάλογο “browser” στην εντολή.

Το κέλυφος προσθέτει μια τελική κάθετο προς τα εμπρός, ώστε να μπορείτε να επαναλάβετε τη διαδικασία συμπλήρωσης καρτελών. Αυτός είναι επίσης ο λόγος που υπάρχει μια τελική κάθετο προς τα εμπρός στην πρώτη εντολή. Δεν υπάρχει ένα στο δεύτερο γιατί αυτό ήταν πληκτρολογημένο.

  Πώς να συγχρονίσετε τα αρχεία σας χρησιμοποιώντας το lsyncd στο Linux

Μπορείτε να χρησιμοποιήσετε το tilde (~) ως σύντομο τρόπο για να επιστρέψετε γρήγορα στον αρχικό κατάλογο από οπουδήποτε στο σύστημα αρχείων. απλά πληκτρολογήστε τα εξής:

cd ~

ο

Αυτά είναι παραδείγματα απόλυτων διαδρομών, στα οποία παρέχετε ολόκληρη τη διαδρομή από τη ρίζα του συστήματος αρχείων στον κατάλογο προορισμού, έως το cd.

Οι σχετικές διαδρομές αναφέρονται από τον τρέχοντα κατάλογο εργασίας. Στον αρχικό κατάλογο, υπάρχει ένας κατάλογος που ονομάζεται εργασία . Μπορείτε να χρησιμοποιήσετε την εντολή δέντρου για να δείτε το δέντρο καταλόγου μέσα στον κατάλογο εργασίας—απλώς πληκτρολογήστε τα εξής:

tree

ο

Ο κατάλογος εργασίας περιέχει έναν κατάλογο που ονομάζεται dev . Υπάρχει επίσης ένας κατάλογος που ονομάζεται dev στον ριζικό κατάλογο του συστήματος αρχείων. Μπορείτε να χρησιμοποιήσετε ls με -d (κατάλογος) για να δείτε καθένα από αυτά. Η επιλογή -hl (αναγνώσιμη από τον άνθρωπο, μεγάλη λίστα) λέει στη ls να χρησιμοποιεί ευανάγνωστες μονάδες για τα μεγέθη του καταλόγου και τη λίστα μεγάλης μορφής.

Εάν πληκτρολογήσετε dev, το κέλυφος υποθέτει ότι εννοείτε το “dev” στον τρέχοντα κατάλογο. Για να το αναγκάσετε να κοιτάξει το “dev” στον ριζικό κατάλογο, απλώς προσθέστε μια καθέτο προς τα εμπρός για να αντιπροσωπεύσει τη ρίζα του συστήματος αρχείων, όπως φαίνεται παρακάτω:

ls -d dev -hl
ls -d /dev -hl

ο

Η εντολή cd συμπεριφέρεται όπως ls από αυτή την άποψη. Εάν αναφέρετε τον κατάλογο ως dev, όπως φαίνεται παρακάτω, προϋποθέτει ότι εννοείτε τον κατάλογο στον κατάλογο εργασίας:

cd dev

ο

Χωρίς προπορευόμενη κάθετο προς τα εμπρός, οι μεγαλύτερες διαδρομές θεωρείται ότι ξεκινούν από τον τρέχοντα κατάλογο εργασίας, όπως φαίνεται παρακάτω:

cd dev/mobile/android

ο

Αλλαγή του καταλόγου με διπλή κουκκίδα

Το αναγνωριστικό διπλής κουκκίδας αντιπροσωπεύει τον γονικό κατάλογο του τρέχοντος καταλόγου εργασίας. Εάν βρίσκεστε σε έναν βαθιά ένθετο υποκατάλογο, μπορείτε να χρησιμοποιήσετε το .. with cd για να μετακινηθείτε στον γονικό κατάλογο αυτού στον οποίο βρίσκεστε.

Αυτό σας μετακινεί δύο καταλόγους στο δέντρο καταλόγου. Εάν προσθέσετε περισσότερα .. στην εντολή, σας επιτρέπει να μετακινήσετε έναν αυθαίρετο αριθμό επιπέδων επάνω στο δέντρο καταλόγου.

Πληκτρολογήστε τα εξής:

cd ..
cd ../..

ο

Μπορείτε επίσης να δημιουργήσετε ένα σύνολο ψευδωνύμων για να εκτελέσετε αυτούς τους ελιγμούς για εσάς, πληκτρολογώντας τα εξής:

alias .2="cd ../.."
alias .3="cd ../../.."

Το ψευδώνυμο .2=

Μπορείτε να τις χρησιμοποιήσετε με τον ίδιο τρόπο όπως οι ίδιες οι εντολές.

  Πώς να εγκαταστήσετε το Calligra Office Suite σε Linux

ψευδώνυμο .2=

Για να κάνετε τα ψευδώνυμα συνεπή στις επανεκκινήσεις του υπολογιστή σας, πρέπει να τα προσθέσετε στο αρχείο .bashrc ή .bash_aliases.

Μεταπηδήστε εύκολα μεταξύ δύο καταλόγων

Η παύλα (-) είναι ένα άλλο σύμβολο που έχει ειδική λειτουργία. Αλλάζει τον κατάλογό σας σε αυτόν από τον οποίο μόλις προήλθατε.

Για αυτό το παράδειγμα, ας υποθέσουμε ότι βρίσκεστε στον κατάλογο “c”. Μπορείτε να χρησιμοποιήσετε το cd για να μεταβείτε στον κατάλογο “τέταρτο”. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το cd – για να αναπηδήσετε εμπρός και πίσω μεταξύ των δύο καταλόγων.

Για να το κάνετε αυτό, πληκτρολογήστε τα εξής:

cd ../forth

cd –

cd –

ο 

Το όνομα του καταλόγου στον οποίο μετακινείστε εμφανίζεται πριν μεταβείτε σε αυτόν.

Ένα άλλο είδος συγγενή

Το κέλυφος χρησιμοποιεί τον τρέχοντα κατάλογο εργασίας ως κατάλογο “ρίζας” ή βάσης για σχετικές διαδρομές. Μπορείτε να χρησιμοποιήσετε τη μεταβλητή περιβάλλοντος CDPATH για να ορίσετε μια άλλη τοποθεσία ως βασικό κατάλογο για σχετικές διαδρομές. Εάν ξοδεύετε τον περισσότερο χρόνο σας σε ένα συγκεκριμένο τμήμα του δέντρου του συστήματος αρχείων, αυτό μπορεί να σας εξοικονομήσει πολλές πληκτρολογήσεις (και χρόνο) κάθε μέρα.

Ας πληκτρολογήσουμε τα ακόλουθα για να γίνει το work/dev/projects ο βασικός κατάλογος για τις σχετικές διαδρομές:

export CDPATH=/home/dave/work/dev/projects

ο

Τώρα, κάθε φορά που χρησιμοποιείτε την εντολή dc, η θέση στη μεταβλητή περιβάλλοντος CDPATH ελέγχεται πρώτα για αντιστοίχιση ονομάτων καταλόγου. Εάν κάποιο από αυτά ταιριάζει με τον στόχο που καταχωρίσατε στην εντολή cd, μεταφέρεστε σε αυτόν τον κατάλογο.

Τώρα, ανεξάρτητα από το πού βρίσκεστε στο σύστημα αρχείων, όταν χρησιμοποιείτε την εντολή cd, το κέλυφος ελέγχει εάν ο κατάλογος προορισμού βρίσκεται στον βασικό κατάλογο. Εάν είναι, μεταφέρεστε σε αυτόν τον κατάλογο προορισμού.

Εάν ο κατάλογος-στόχος σας ξεκινά με μια καθετή προς τα εμπρός (/), που τον καθιστά απόλυτη διαδρομή, δεν θα επηρεαστεί από τη μεταβλητή περιβάλλοντος CDPATH.

Για να το αποδείξουμε αυτό, πληκτρολογούμε τα εξής:

cd c
cd prolog
cd /usr
cd forth

ο

Η μεταβλητή περιβάλλοντος CDPATH είναι πραγματικά μια διαδρομή, ακριβώς όπως η μεταβλητή περιβάλλοντος PATH. Όταν πληκτρολογείτε μια εντολή, το κέλυφος αναζητά τις θέσεις στο PATH για μια αντιστοίχιση. Όταν χρησιμοποιείτε το CDPATH, το κέλυφος αναζητά τις θέσεις στη μεταβλητή περιβάλλοντος CDPATH για μια αντιστοίχιση. Επίσης, όπως και το PATH, το CDPATH μπορεί να περιέχει πολλές τοποθεσίες.

  Πώς να εγκαταστήσετε το SmartGit σε Linux

Για να αναζητήσετε το κέλυφος στον τρέχοντα κατάλογο πριν από άλλες τοποθεσίες στη μεταβλητή περιβάλλοντος CDPATH, απλώς προσθέστε μια τελεία ( . ) στην αρχή της διαδρομής όπως:

export CDPATH=.:/home/dave/work/dev/projects

Για να κάνετε τις ρυθμίσεις σας μόνιμες, πρέπει να τις προσθέσετε σε ένα αρχείο διαμόρφωσης, όπως το .bashrc.

Ένα πράγμα που πρέπει να γνωρίζετε: Εάν ορίσετε έναν βασικό κατάλογο, επηρεάζει επίσης τις αλλαγές καταλόγου που πραγματοποιούνται μέσα σε σενάρια. Για να αποφύγετε αυτό, μπορείτε να χρησιμοποιήσετε απόλυτες διαδρομές στα σενάρια σας ή μια δοκιμή στο αρχείο .bashrc όταν προσδιορίζετε το CDPATH, όπως φαίνεται παρακάτω:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

Αυτό εκτελεί μια δοκιμή για να δει αν έχει οριστεί η μεταβλητή γραμμής εντολών, $PS1 . Η μεταβλητή περιβάλλοντος CDPATH θα οριστεί μόνο εάν η δοκιμή είναι επιτυχής.

Χρησιμοποιώντας το shopt με cd

Με το εντολή shopt, μπορείτε να ορίσετε ορισμένες επιλογές για το κέλυφος. Μερικά από αυτά μπορούν να βελτιώσουν τη χρήση του cd. Για να τα ορίσετε, χρησιμοποιείτε την επιλογή -s (enable) με το shopt για να περάσετε ένα όνομα επιλογής σε αυτό.

Η επιλογή cdspell ελέγχει τα ονόματα των καταλόγων σας και διορθώνει ορισμένα κοινά λάθη πληκτρολόγησης, συμπεριλαμβανομένων των χαρακτήρων που έχουν μεταφερθεί ή λείπουν ή ονομάτων με πάρα πολλούς χαρακτήρες. Εάν βρει έναν κατάλογο που ταιριάζει με οποιαδήποτε από τις διορθώσεις, εκτυπώνεται η διορθωμένη διαδρομή και πραγματοποιείται η ενέργεια του cd.

Για παράδειγμα, πληκτρολογούμε τα εξής για να ορίσουμε την επιλογή cdspell και γράφουμε λάθος “Desktop” για να δούμε αν το κέλυφος το διορθώνει για εμάς:

shopt -s cdspell
cd Desktpo

ο

Το κέλυφος εντόπισε το σφάλμα, το διόρθωσε και άλλαξε στον κατάλογο “Desktop”.

Μια άλλη επιλογή shopt που μπορείτε να χρησιμοποιήσετε με το cd είναι το autocd. Εξαλείφει την ανάγκη να πληκτρολογήσετε cd καθόλου. Οτιδήποτε πληκτρολογείτε και δεν είναι εντολή, σενάριο ή άλλο εκτελέσιμο αρχείο (όπως ψευδώνυμο), χρησιμοποιείται ως κατάλογος προορισμού. Εάν μπορείτε να μεταφέρετε σε αυτόν τον κατάλογο, θα εκτυπωθεί στο παράθυρο του τερματικού και θα μεταφερθείτε σε αυτόν τον κατάλογο.

Για παράδειγμα, πληκτρολογούμε τα εξής:

shopt -s autocd
/usr/local/games
/etc
~

ο

Βλέπω! Μπορείτε να μεταπηδήσετε σε όλο το σύστημα αρχείων χωρίς καν να χρησιμοποιήσετε cd!

Οι ρυθμίσεις που αλλάζετε με το shopt επηρεάζουν μόνο τα διαδραστικά κελύφη, όχι τα σενάρια.

Η συλλογή cd

Μάλλον δεν θα τα υιοθετήσεις όλα αυτά. Ωστόσο, είναι πιθανό να βρήκατε κάτι ενδιαφέρον ή όφελος εδώ. Σε τελική ανάλυση, οτιδήποτε επιταχύνει ή απλοποιεί την πλοήγησή σας στη γραμμή εντολών είναι καλό!