window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster υπάρχει ήδη') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Προγραμματισμός Ruby. Τερματικό αρχάριων - μέρος 2 - The Codest
The Codest
  • Σχετικά με εμάς
  • Υπηρεσίες
    • Ανάπτυξη λογισμικού
      • Ανάπτυξη Frontend
      • Backend Ανάπτυξη
    • Staff Augmentation
      • Frontend Developers
      • Backend Developers
      • Μηχανικοί δεδομένων
      • Μηχανικοί cloud
      • Μηχανικοί QA
      • Άλλα
    • Συμβουλευτική
      • Έλεγχος & Συμβουλευτική
  • Βιομηχανίες
    • Fintech & Τραπεζική
    • E-commerce
    • Adtech
    • Healthtech
    • Κατασκευή
    • Εφοδιαστική
    • Αυτοκίνητο
    • IOT
  • Αξία για
    • CEO
    • CTO
    • Διευθυντής παράδοσης
  • Η ομάδα μας
  • Case Studies
  • Μάθετε πώς
    • Blog
    • Συναντήσεις
    • Διαδικτυακά σεμινάρια
    • Πόροι
Καριέρα Ελάτε σε επαφή
  • Σχετικά με εμάς
  • Υπηρεσίες
    • Ανάπτυξη λογισμικού
      • Ανάπτυξη Frontend
      • Backend Ανάπτυξη
    • Staff Augmentation
      • Frontend Developers
      • Backend Developers
      • Μηχανικοί δεδομένων
      • Μηχανικοί cloud
      • Μηχανικοί QA
      • Άλλα
    • Συμβουλευτική
      • Έλεγχος & Συμβουλευτική
  • Αξία για
    • CEO
    • CTO
    • Διευθυντής παράδοσης
  • Η ομάδα μας
  • Case Studies
  • Μάθετε πώς
    • Blog
    • Συναντήσεις
    • Διαδικτυακά σεμινάρια
    • Πόροι
Καριέρα Ελάτε σε επαφή
Πίσω βέλος GO BACK
2020-04-21
Ανάπτυξη λογισμικού

Προγραμματισμός Ruby. Το τερματικό του αρχάριου - μέρος 2

The Codest

Damian Watroba

Software Engineer

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

Τερματικό - Θεωρία

Πού βρίσκομαι;

ημερομηνία - Αν έχουμε τέτοια ανάγκη και επιθυμία, μπορούμε να ελέγξουμε την τρέχουσα ημερομηνία στο τερματικό.

damian@rubydev:~$ ημερομηνία
wto, 7 sty 2020,

Ένταξη και καταχώριση

cat (concatenate) - αυτή η εντολή έχει πολλές χρήσεις, αλλά η πιο δημοφιλής είναι η εμφάνιση των περιεχομένων των αρχείων.

Στο παρακάτω παράδειγμα, μπορείτε να δείτε δύο αρχεία - ruby_1.txt και ruby_2.txt - μαζί με το περιεχόμενό τους. Το cat [όνομα αρχείου] εμφανίζει τα περιεχόμενα ενός μόνο αρχείου, ενώ η εντολή cat [όνομα αρχείου 1] [όνομα αρχείου 2] εμφανίζει τα περιεχόμενα και των δύο αρχείων με τη σωστή σειρά.

Τερματικός σταθμός-1

Υπάρχει ένα ακόμη πράγμα που μπορούμε να κάνουμε με το cat εντολή - ανακατευθύνει την τυπική έξοδο σε ένα νέο αρχείο χρησιμοποιώντας την εντολή > σημάδι. Αυτό σημαίνει ότι το περιεχόμενο που εμφανίζεται στην οθόνη θα ανακατευθύνεται σε ένα δηλωμένο αρχείο. Εάν το δηλωμένο αρχείο δεν υπάρχει στην καθορισμένη θέση, θα δημιουργηθεί αυτόματα.

Τερματικός σταθμός 2

Τι έχουμε εδώ;

ps (κατάσταση διεργασιών) - εκτυπώνει βασικές πληροφορίες σχετικά με τις διεργασίες στο σύστημα. Αυτή η εντολή είναι συγκρίσιμη με τη Διαχείριση εργασιών των Windows, όπου έχετε μια λίστα όλων των εφαρμογών και διεργασιών που εκτελούνται. Κάθε εφαρμογή, πρόγραμμα ή εντολή που εκτελείται γίνεται διεργασία με το μοναδικό της αναγνωριστικό, το λεγόμενο PID (Process IDentifier).

damian@rubydev:~$ ps
 PID TTY TIME CMD
 556 pts/0 00:00:00 ps
2919 pts/0 00:00:00 bash

Όπως μπορείτε να δείτε, η ps η διοίκηση δεν μας έδειξε πολλά. Για να ελέγξουμε όλες τις ενεργές διεργασίες, θα πρέπει να καλέσουμε την εντολή ps με ένα aux επιχείρημα.

Aby zobaczyc wszystkie procesy w systemie, uzywajac skladni BSD:
   ps ax
   ps axu

kill - μερικές φορές μια εφαρμογή ή ένα πρόγραμμα σταματά να ανταποκρίνεται. Σε αυτό το σημείο kill εντολή είναι χρήσιμη. Για να kill μια διαδικασία, το μόνο που χρειάζεται να κάνετε είναι να συμπληρώσετε το kill εντολή με το PID της.

Πώς βρίσκετε το PID αυτής της διεργασίας; Το καλύτερο είναι να χρησιμοποιήσετε το προαναφερθέν ps aux εντολή. Μπορεί να συμβεί ότι kill από μόνη της δεν είναι αρκετή, επειδή η διεργασία περιμένει το τέλος μιας άλλης εξαρτημένης διεργασίας. Επομένως, kill χρησιμοποιείται επίσης συχνά με το -9 επιλογή. Σημαίνει τον άμεσο τερματισμό της εκτελούμενης διαδικασίας, οπότε πριν χρησιμοποιήσετε αυτή την επιλογή, βεβαιωθείτε ότι όλες οι σημαντικές αλλαγές έχουν αποθηκευτεί. Ας δούμε ένα παράδειγμα μιας τέτοιας εντολής:

damian@rubydev:~$ kill -9 1234

Echo!

echo - αυτή είναι η εντολή που επιστρέφει το κείμενο που της έχει ανατεθεί. Ομοίως με την περίπτωση της cat, μπορείτε να κατευθύνετε το εισαγόμενο κείμενο σε ένα αρχείο με τη βοήθεια της εντολής echo εντολή.

Τερματικό-3

Μπορεί να είναι χρήσιμο

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

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

Το έξοδος η εντολή, όπως υποδηλώνει το όνομα, κλείνει το τερματικό ή την τρέχουσα ανοιχτή καρτέλα.

Η αρχή και το τέλος

Το κεφάλι εμφανίζει την αρχή ενός αρχείου ή της τυπικής εξόδου. Η προεπιλεγμένη τιμή είναι οι δέκα πρώτες γραμμές. Μπορείτε να την προσαρμόσετε με την εντολή -n όπου μπορείτε να βάλετε οποιονδήποτε ακέραιο αριθμό κάτω από n. Για να το δείξω καλύτερα αυτό, θα χρησιμοποιήσω ένα παράδειγμα.

Θα χρειαστούμε ένα αρχείο κειμένου. Ας χρησιμοποιήσουμε το ήδη αναφερθέν ιστορία εντολή και την ανακατεύθυνση > χαρακτήρα.

damian@rubydev:~$ history > history.txt

Με αυτόν τον τρόπο δημιουργήθηκε ένα αρχείο με ολόκληρο το ιστορικό των εντολών. Στη συνέχεια, χρησιμοποιώντας head -15 history.txt, είναι δυνατόν να εμφανιστούν οι πρώτες δεκαπέντε εντολές που εισήχθησαν στο τερματικό.

Τερματικό-4

Ομοίως, η ουρά θα μας δείξει τις τελευταίες γραμμές του επιλεγμένου αρχείου.

Τερματικό-5

Αναζήτηση

grep (global regular expression print) χρησιμοποιείται για την αναζήτηση στο κείμενο μιας συμβολοσειράς που ταιριάζει με τη δεδομένη κανονική έκφραση (RegExp). Χρησιμοποιείται πολύ συχνά για την εύρεση μιας συγκεκριμένης έκφρασης σε ένα αρχείο ή για το "φιλτράρισμα" της επιστρεφόμενης εξόδου. Για το σκοπό αυτό, ας χρησιμοποιήσουμε την προηγουμένως δημιουργηθείσα history.txt αρχείο και ελέγξτε πόσο συχνά το ps εντολή χρησιμοποιήθηκε μέχρι στιγμής:

damian@rubydev:~$ grep ps history.txt
   82 echo "Lorem ipsum rubydev 1" > ruby_1.txt
   84 echo "Lorem ipsum rubydev 2" > ruby_2.txt
   92 ps
   93 ps aux
   94 ps --help
   95 man ps
   96 ps -h
   98 ps --help
   99 ps -ejH
  100 ps aux
  101 man ps
  102 ps -aux
  103 ps aux
  109 history | grep ps
  113 echo "lorem ipsum rubydev" > rubydev.rb

Όπως μπορείτε να δείτε, grep βρέθηκαν επίσης λέξεις που περιέχουν τη φράση ps. Η έκφραση που χρησιμοποιήθηκε στο παράδειγμά μας ήταν ps μόνο. Σκοπεύω να γράψω ένα ξεχωριστό άρθρο για τις κανονικές εκφράσεις, αλλά προς το παρόν σας ενθαρρύνω να εξερευνήσετε το θέμα μόνοι σας. Οι βασικές γνώσεις αρκούν προς το παρόν.

Συνδυασμός εντολών

| (pipe) είναι ένα σύμβολο που μας επιτρέπει να συνδυάσουμε διάφορες εντολές (διεργασίες) και να τις εκκινήσουμε ταυτόχρονα. Συγκεκριμένα, μπορούμε να συνδυάσουμε την έξοδο (stdout) μιας εντολής με την είσοδο (stdin) της άλλης. Πρόκειται για ένα πολύ χρήσιμο χαρακτηριστικό.

POLECENIE_A | POLECENIE_B
POLECENIE_A | POLECENIE_B | POLECENIE_C

Για παράδειγμα:

history | grep ps

Η έξοδος (stdout) του προγράμματος ιστορία θα αναζητηθεί από την εντολή grep εντολή και να επιστρέψει όλες τις συμβολοσειρές με την αντίστοιχη ps έκφραση.

history | tail -5

Σε αυτή την περίπτωση, χρησιμοποιώντας το ουρά με την εντολή -5 θα εμφανίσει τις πέντε τελευταίες γραμμές της εξόδου (stdout) του προγράμματος ιστορία εντολή.

Αυτός ο συνδυασμός είναι ιδιαίτερα χρήσιμος όταν αναζητάτε το PID της διεργασίας που θέλετε να τερματίσετε. Θυμηθείτε ότι η εκτέλεση της grep εντολή θα δημιουργήσει επίσης μια διεργασία, οπότε συνήθως θα βλέπετε το PID της grep διαδικασία στην τελευταία γραμμή.

Τερματικό-6

Πρόσβαση σε αρχεία και καταλόγους

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

history | tail -5

Η πρόσβαση σε αρχεία και καταλόγους ορίζεται από τρία στοιχεία. Το πρώτο (user) σημαίνει έναν μεμονωμένο χρήστη, το δεύτερο (group) σημαίνει μια ομάδα, ενώ το τρίτο (other) αφορά όλους τους άλλους χρήστες.

d - καθορίζει αν πρόκειται για κατάλογο ή αρχείο (d - κατάλογος, f - αρχείο)

rwx - δικαιώματα χρηστών

r-x - δικαιώματα για την ομάδα

r-x - εξουσιοδοτημένο για όλους τους άλλους χρήστες

Για να το απλοποιήσετε, μπορείτε να το χωρίσετε σε τρία μέρη:

Ας πάμε τώρα στο ίδιο το νόημα αυτών των δικαιωμάτων:

r (read) - σας επιτρέπει να διαβάσετε το περιεχόμενο

w (write) - σας επιτρέπει να τροποποιήσετε το περιεχόμενο

x (execute) - σας επιτρέπει να εκτελέσετε ένα αρχείο ή να ανοίξετε έναν κατάλογο

Τα δικαιώματα αρχείων ή καταλόγων μπορούν να αλλάξουν χρησιμοποιώντας την εντολή chmod (αλλαγή λειτουργίας). Ο ευκολότερος τρόπος για να αλλάξετε τα δικαιώματα είναι να χρησιμοποιήσετε το ενσωματωμένο σύστημα και να δώσετε τον αριθμό του δικαιώματος για τον χρήστη, την ομάδα και άλλους.

Τερματικό-7

Για να εφαρμόσουμε αυτές τις γνώσεις στην πράξη, ας αλλάξουμε τα δικαιώματα για τα προαναφερθέντα βίντεο για ομάδες και άλλους χρήστες - αφαιρέστε όλα τα δικαιώματα για αυτούς τους δύο, αλλά αφήστε την πλήρη άδεια μόνο για τον μεμονωμένο χρήστη. Σύμφωνα με τον παραπάνω πίνακα, το "χωρίς δικαιώματα" υποδηλώνεται από τον αριθμό 0. Αμέσως μετά την chmod εντολή, πρέπει να εισάγετε τρία ψηφία, καθένα από τα οποία καθορίζει τα δικαιώματα για τη συγκεκριμένη κατηγορία (χρήστης - ομάδα - άλλοι). Στο τέλος, δώστε το όνομα του αρχείου ή του καταλόγου. Η εντολή θα πρέπει να μοιάζει ως εξής:

damian@rubydev:~$ chmod 700 Wideo
damian@rubydev:~$ ls -l | tail -1
drwx------ 2 damian damian 4096 sty 6 17:41 Wideo

Περίληψη

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

Διαβάστε περισσότερα:

– E-commerce: Νέα κατάσταση του παιχνιδιού 2020 (έκθεση)

- Shopify, Spree ή Solidus; Ελέγξτε γιατί η Ruby on Rails μπορεί να σας βοηθήσει να αναπτύξετε το ηλεκτρονικό σας εμπόριο.

– Χαρακτηριστικά Vuex που πρέπει να γνωρίζετε αν πραγματικά ενδιαφέρεστε για το κατάστημά σας

Σχετικά άρθρα

Ανάπτυξη λογισμικού

Κατασκευάστε μελλοντικά ασφαλείς εφαρμογές Web: γνώσεις από την ομάδα εμπειρογνωμόνων του The Codest

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

THECODEST
Ανάπτυξη λογισμικού

Top 10 εταιρείες ανάπτυξης λογισμικού με έδρα τη Λετονία

Μάθετε για τις κορυφαίες εταιρείες ανάπτυξης λογισμικού της Λετονίας και τις καινοτόμες λύσεις τους στο τελευταίο μας άρθρο. Ανακαλύψτε πώς αυτοί οι τεχνολογικοί ηγέτες μπορούν να βοηθήσουν στην ανύψωση της επιχείρησής σας.

thecodest
Λύσεις Enterprise & Scaleups

Βασικά στοιχεία ανάπτυξης λογισμικού Java: Α Guide to Outsourcing Successfully (Οδηγός για την επιτυχή εξωτερική ανάθεση)

Εξερευνήστε αυτόν τον βασικό οδηγό για την επιτυχή ανάπτυξη λογισμικού outsourcing Java για να αυξήσετε την αποδοτικότητα, να αποκτήσετε πρόσβαση στην τεχνογνωσία και να οδηγήσετε την επιτυχία των έργων με The Codest.

thecodest
Ανάπτυξη λογισμικού

Ο απόλυτος οδηγός για το Outsourcing στην Πολωνία

Η έξαρση της outsourcing στην Πολωνία οφείλεται στις οικονομικές, εκπαιδευτικές και τεχνολογικές εξελίξεις, που ευνοούν την ανάπτυξη της πληροφορικής και το φιλικό προς τις επιχειρήσεις κλίμα.

TheCodest
Λύσεις Enterprise & Scaleups

Ο πλήρης οδηγός εργαλείων και τεχνικών ελέγχου πληροφορικής

Οι έλεγχοι ΤΠ διασφαλίζουν ασφαλή, αποτελεσματικά και συμβατά συστήματα. Μάθετε περισσότερα για τη σημασία τους διαβάζοντας ολόκληρο το άρθρο.

The Codest
Jakub Jakubowicz CTO & Συνιδρυτής

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

    Σχετικά με εμάς

    The Codest - Διεθνής εταιρεία ανάπτυξης λογισμικού με κέντρα τεχνολογίας στην Πολωνία.

    Ηνωμένο Βασίλειο - Έδρα

    • Γραφείο 303B, 182-184 High Street North E6 2JA
      Λονδίνο, Αγγλία

    Πολωνία - Τοπικοί κόμβοι τεχνολογίας

    • Πάρκο γραφείων Fabryczna, Aleja
      Pokoju 18, 31-564 Κρακοβία
    • Πρεσβεία του εγκεφάλου, Konstruktorska
      11, 02-673 Βαρσοβία, Πολωνία

      The Codest

    • Αρχική σελίδα
    • Σχετικά με εμάς
    • Υπηρεσίες
    • Case Studies
    • Μάθετε πώς
    • Καριέρα
    • Λεξικό

      Υπηρεσίες

    • Συμβουλευτική
    • Ανάπτυξη λογισμικού
    • Backend Ανάπτυξη
    • Ανάπτυξη Frontend
    • Staff Augmentation
    • Backend Developers
    • Μηχανικοί cloud
    • Μηχανικοί δεδομένων
    • Άλλα
    • Μηχανικοί QA

      Πόροι

    • Γεγονότα και μύθοι σχετικά με τη συνεργασία με εξωτερικό συνεργάτη ανάπτυξης λογισμικού
    • Από τις ΗΠΑ στην Ευρώπη: Γιατί οι αμερικανικές νεοσύστατες επιχειρήσεις αποφασίζουν να μετεγκατασταθούν στην Ευρώπη
    • Σύγκριση υπεράκτιων κόμβων ανάπτυξης τεχνολογίας: Ευρώπη (Πολωνία), ASEAN (Φιλιππίνες), Ευρασία (Τουρκία)
    • Ποιες είναι οι κορυφαίες προκλήσεις των CTOs και των CIOs;
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Πνευματικά δικαιώματα © 2025 από The Codest. Όλα τα δικαιώματα διατηρούνται.

    elGreek
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek