Τα καλύτερα παραδείγματα Linux

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

12 Απλές και χρήσιμες εντολές Linux

Οι εντολές που αναφέρονται εδώ είναι βασικές και θα σας βοηθήσουν να ξεκινήσετε γρήγορα. Αλλά είναι επίσης ισχυροί και θα συνεχίσουν να είναι χρήσιμοι καθώς η εξειδίκευσή σας στο Linux επεκτείνεται.

  1. echoΕντολή: Αυτό παίρνει το κείμενο που το δίνετε και το στέλνει κάπου - πίσω στην οθόνη, σε ένα αρχείο ή σε άλλη εντολή. Παράδειγμα:echo "hello!"
  2. catΕντολή: Για να εμφανίσετε τα περιεχόμενα ενός αρχείου κειμένου, απλώς πληκτρολογήστε cat myfile.
  3. findΕντολή: Κάνει αυτό που λέει και είναι καλό σε αυτό. Χρησιμοποιήστε το για να εντοπίσετε αρχεία κατά διαδρομή, μέγεθος, ημερομηνία, κάτοχο και πολλά άλλα χρήσιμα φίλτρα. Παράδειγμα: find . -type f -mtime -1h # List files in this directory modified in the past hour.
  4. dateΕντολή: Απλώς πληκτρολογήστε ημερομηνία όταν θέλετε να μάθετε τι ώρα είναι. Παράδειγμα: date "+It's %l:%m%p on %A". Χρησιμοποιήστε το σε ένα σενάριο για να ονομάσετε αρχεία σύμφωνα με την τρέχουσα ημερομηνία.
  5. lsΕντολή: Τι υπάρχει σε αυτόν τον κατάλογο; Συνδυάστε lsμε μερικές χρήσιμες σημαίες για να εμφανίσετε και να ταξινομήσετε τα περιεχόμενα καταλόγου κατά ημερομηνία και μέγεθος. Σας δίνει επίσης πολλές επιλογές για τη μορφοποίηση της εξόδου.
  6. pwdΕντολή: Πού είμαι; Το Linux μπορεί να μην συγχωρεί, ειδικά όταν διαγράφετε κάτι. Βεβαιωθείτε ότι γνωρίζετε πριν εκδώσετε τις εντολές σας.
  7. mailΕντολή: Το πρόγραμμα αλληλογραφίας του Linux δεν είναι όμορφο, αλλά μπορεί να είναι πολύ χρήσιμο. Μπορείτε να δημιουργήσετε ένα μήνυμα και να προσθέσετε κείμενο, παραλήπτες και συνημμένα όλα σε μία εντολή. Παράδειγμα:echo "We're having a great time." | mail -s "Wish you were here!" -A postcard.png -t [email protected]
  8. cutΕντολή: Όταν έχετε μια συμβολοσειρά με διαχωριστικά σε αυτήν, χρησιμοποιήστε cutγια να φιλτράρετε συγκεκριμένα πεδία. Παράδειγμα:echo "this, that, and the other" | cut -d, -f2 # "that"
  9. grepΕντολή: Για να βρείτε γραμμές κειμένου που περιέχουν μια συγκεκριμένη συμβολοσειρά, χρησιμοποιήστε grep. Παράδειγμα:grep 'root' /etc/passwd # root:x:0:0:root:/root:/bin/bash
  10. sedΕντολή: Χρησιμοποιήστε το sedγια να βρείτε και να αλλάξετε ένα υπόστρωμα σε ένα κομμάτι κειμένου. Παράδειγμα:echo "this, that, and the other" | sed 's/that/those/' # "this, those, and the other"
  11. shutdownΕντολή: Χρησιμοποιήστε αυτήν την εντολή για να κλείσετε το σύστημα και να απενεργοποιήσετε την τροφοδοσία. Παράδειγμα: shutdown -h nowτερματίζει αμέσως το σύστημα. shutdown -h +5τερματίζει το σύστημα μετά από πέντε λεπτά.
  12. wgetΕντολή: Χρησιμοποιήστε το wgetγια να κατεβάσετε αρχεία από τη γραμμή εντολών.

    Παράδειγμα: wget //ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

Χρησιμοποιήστε αυτές τις εντολές σε σενάρια και στη γραμμή εντολών. Είναι όλες πολύ ισχυρές εντολές και η κύρια σελίδα του Linux έχει πολύ περισσότερες πληροφορίες για κάθε μία.

Παράδειγμα εντολών διαχείρισης χρηστών Linux

Επίσης, ακολουθούν σημαντικές εντολές που χρησιμοποιούνται για διαχειριστές συστήματος:

  1. uptime Εντολή: Στο Linux, η εντολή uptime δείχνει πόσο καιρό λειτουργεί το σύστημά σας και ο αριθμός των χρηστών είναι συνδεδεμένοι. Εμφανίζει επίσης μέσο όρο φόρτωσης για διαστήματα 1,5 και 15 λεπτών.
  2. wΕντολή: Θα εμφανιστούν οι χρήστες που είναι συνδεδεμένοι αυτήν τη στιγμή και η διαδικασία τους, μαζί με τους μέσους όρους φόρτωσης Εμφανίζει επίσης το όνομα σύνδεσης, το όνομα tty, τον απομακρυσμένο κεντρικό υπολογιστή, τον χρόνο σύνδεσης, τον χρόνο αδράνειας, JCPU, PCPU, την εντολή και τις διαδικασίες
  3. usersΕντολή: εμφανίζει συνδεδεμένους χρήστες. Αυτή η εντολή δεν έχει άλλες παραμέτρους εκτός από τη βοήθεια και την έκδοση.
  4. whoΕντολή: η εντολή Who επιστρέφει απλώς το όνομα χρήστη, την ημερομηνία, την ώρα και τις πληροφορίες κεντρικού υπολογιστή. Η εντολή Who είναι παρόμοια με την εντολή w. Σε αντίθεση με την εντολή w, ποιος δεν εκτυπώνει τι κάνουν οι χρήστες.
  5. whoamiΕντολή: η εντολή whoami εκτυπώνει το όνομα του τρέχοντος χρήστη. Μπορείτε επίσης να χρησιμοποιήσετε το "Who I am" για να εμφανίσετε τον τρέχοντα χρήστη. Εάν είστε συνδεδεμένοι ως root χρησιμοποιώντας την εντολή sudo, το "Whoami" επιστρέφει το root ως τρέχοντα χρήστη. Χρησιμοποιήστε το "Who I am" εάν θέλετε να γνωρίζετε τον ακριβή χρήστη που έχει συνδεθεί.
  6. ls Εντολή: Εμφανίζει μια λίστα αρχείων σε μορφή αναγνώσιμη από τον άνθρωπο.
  7. crontab Εντολή: λίστα εργασιών προγραμματισμού για τον τρέχοντα χρήστη με την εντολή crontab και την επιλογή -l.
  8. lessΕντολή: η λιγότερη εντολή σάς επιτρέπει να προβάλετε γρήγορα ένα αρχείο. Μπορείτε να κάνετε σελίδα πάνω και κάτω. Πατήστε 'q' για έξοδο από το λιγότερο παράθυρο.
  9. moreΕντολή: όσο περισσότερη εντολή σάς επιτρέπει να προβάλετε γρήγορα ένα αρχείο και να εμφανίσετε λεπτομέρειες σε ποσοστό. Μπορείτε να κάνετε σελίδα πάνω και κάτω. Πατήστε 'q' για έξοδο από το περισσότερο παράθυρο.
  10. cp Εντολή: Αντιγράψτε ένα αρχείο από την πηγή του στον προορισμό του διατηρώντας ταυτόχρονα τον ίδιο τρόπο.

Πώς να δημιουργήσετε έναν χρήστη

Χρησιμοποιήστε την εντολή adduserή useraddγια να προσθέσετε έναν νέο χρήστη στο σύστημά σας.

$ sudo adduser username

Φροντίστε να αντικαταστήσετε usernameμε τον χρήστη που θέλετε να δημιουργήσετε.

Χρησιμοποιήστε την passwdεντολή για να ενημερώσετε τον κωδικό πρόσβασης του νέου χρήστη.

$ sudo passwd username

Συνιστάται ιδιαίτερα ένας ισχυρός κωδικός πρόσβασης!

Πώς να δημιουργήσετε έναν χρήστη Sudo

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

Στα συστήματα Debian (Ubuntu / LinuxMint / ElementryOS), τα μέλη της sudoομάδας έχουν προνόμια sudo.
$ sudo usermod -aG sudo username
Σε συστήματα που βασίζονται σε RHEL (Fedora / CentOs), τα μέλη της wheelομάδας έχουν προνόμια sudo.
$ sudo usermod -aG wheel username

Πώς να διαγράψετε έναν χρήστη

Για το Debian (Ubuntu)
$ sudo deluser username
Για RHEL (Fedora / CentOS)
$ sudo userdel username
Δημιουργία ομάδων και προσθήκη χρηστών
$ sudo groupadd editorial $ sudo usermod -a -G editorial username

Note: All the above commands can be executed without sudo in root mode

To switch to root on ubuntu, run the  su -i command followed by the password of the user logged in. Prompt changes to # instead of $.

On Debian systems (Ubuntu/LinuxMint/ElementryOS), members of the sudo group have sudo privileges.
$ sudo usermod -aG sudo username

How to Create a Group

To create a group, use the command groupadd

$ sudo groupadd groupname

How to delete group

To delete a group, use the command ‘groupdel’

$ sudo groupdel grouname

The Linux Find Command Example

Using the Find Command

The Linux find command is a powerful tool to help you locate files and directories on your server. With a little practice, you can easily track things down based on name, type, size, or date (when they were created or last updated).

Think of find as your eager helper:

You: “I’m looking for something on my server.”

Find: “I can help! What can you tell me about it?”

You: “It was a file, bigger than 2GB, somewhere under my home directory, updated in the last 48 hours.”

Find: “Tada!”

Find is a program, so really you’d have to tell it find ~ -type f -size +2G.

Here are some sample commands using find:

  • find ~ -type d # Show me all the subdirectories inside my home directory
  • find / -type f -name 'todo.txt' # Show me files named 'todo.txt' anywhere under the root directory (i.e. anywhere)

The first parameter always names the directory in which we’ll look. In our examples above, these are ~ (home directory of the current user) and / (root directory of the filesystem).

Other parameters are optional and can be combined in any ways you find useful:

  • The type parameter allows you to constrain the search for files only (f), directories only (d) or symbolic links (l). If you omit the type parameter, you’ll be searching for all of these types.
  • The name parameter lets you specify what you want to find by name, either with a literal string (‘filename.txt’) or using wildcards (‘file?.*’).

man find will show you many more parameters, and is worth reviewing. Find can locate files by name, user, creation date, size and much more. Next time you’re looking for something, find it!

Linux dd Command Example

The “dd” command can be used to create a file of a specific size. This is useful if you would like to test download speeds, or any other tests, and need a file of a specific size.

dd if=/dev/zero of=file_name.txt bs=1024k count=10

This will create a file of 1MB called file_name.txt.

bs is your byte size and count represent the number of blocks. An easy way to look at is 1024K X 10.

Here is an even simpler way to create a 1MB file:

dd if=/dev/zero of=file_name.txt bs=1MB count=1

Example of how to write a Linux Bash Script

Writing a Bash Script

By typing commands on the Linux command line, you can give the server instructions to get some simple tasks done. A shell script is a way to put together a series of instructions to make this easier. Shell scripts become even more powerful when you add logic like if and while to automatically control how they behave as circumstances change.

What’s Bash?

Bash is the name of a command line interpreter, a program that makes sense of the Linux commands you enter at the command prompt, or in your script.

What’s in a Script?

A script is just a file. A basic script is made up of an introductory line that tells the server what to make of it, and one or more instructions to execute. Here’s an example:

#!/bin/bash echo "Hi. I’m your new favorite bash script."

The first line has special meaning, which we’ll discuss below. The second line is just a Linux command, one you could type out on the command line.

What’s a Comment?

Comments are text you add to your script that you intend bash to ignore. Comments start with a pound sign, and are useful for annotating your code so you and other users can understand it.

To add a comment, type the # character, followed by any text that’s helpful you. Bash will ignore the # and everything after it.

Note: the first line of the script is not a comment. This line is always first, always starts with #! and has special meaning to bash.

Here’s the script from before, commented:

#!/bin/bash # Designates the path to the bash program. Must start with '#!' (but isn't a comment). echo "Hi. I’m your new favorite bash script." # 'echo' is a program that sends a string to the screen.

Executing a Script

You can open a text editor, paste that example code and save the file, and you’ve got a script. Scripts are conventionally named ending in ‘.sh,’ so you might save that code as myscript.sh.

The script won’t execute until we do 2 things:

First, make it executable. (We’ll only have to do this once.) Linux relies extensively on file permissions. They determine a lot about how your server behaves. There’s a lot to know about permissions, but for now we only need to know this: you can’t run your script until you give yourself execute permissions. To do that, type:

chmod +x my script.sh

Second, run it. We execute the script from the command line just like any other command like ls or date. The script name is the command, and you need to precede it with a ‘./’ when you call it:

./myscript.sh # Outputs "Hi. I'm your new favorite bash script." (This part is a comment!)

Conditionals

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

#!/bin/bash count=1 # Create a variable named count and set it to 1 if [[ $count -lt 11 ]]; then # This is an if block (or conditional). Test to see if $count is 10 or less. If it is, execute the instructions inside the block. echo "$count is 10 or less" # This will print, because count = 1. fi # Every if ends with fi

Ομοίως, μπορούμε να τακτοποιήσουμε το σενάριο έτσι ώστε να εκτελεί μια εντολή μόνο ενώ κάτι είναι αλήθεια. Θα αλλάξουμε τον κώδικα έτσι ώστε να αλλάζει η τιμή της μεταβλητής μέτρησης:

#!/bin/bash count=1 # Create a variable named count and set it to 1 while [[ $count -lt 11 ]]; do # This is an if block (or conditional). Test to see if $count is 10 or less. If it is, execute the instructions inside the block. echo "$count is 10 or less" # This will print as long as count <= 10. count=$((count+1)) # Increment count done # Every while ends with done

Η έξοδος αυτής της έκδοσης του myscript.sh θα έχει την εξής μορφή:

"1 is 10 or less" "2 is 10 or less" "3 is 10 or less" "4 is 10 or less" "5 is 10 or less" "6 is 10 or less" "7 is 10 or less" "8 is 10 or less" "9 is 10 or less" "10 is 10 or less"

Σενάρια πραγματικού κόσμου

Αυτά τα παραδείγματα δεν είναι εξαιρετικά χρήσιμα, αλλά οι αρχές είναι. Χρησιμοποιώντας while, ifκαι οποιαδήποτε εντολή που διαφορετικά θα μπορούσατε να πληκτρολογήσετε χειροκίνητα, μπορείτε να δημιουργήσετε σενάρια που έχουν πολύτιμη δουλειά.