Λήψη PDF
1: Τι είναι το κέλυφος;
Το Shell είναι μια διεπαφή μεταξύ του χρήστη και του πυρήνα. Παρόλο που μπορεί να υπάρχει μόνο ένας πυρήνας. ένα σύστημα μπορεί να έχει πολλά κελύφη να λειτουργούν ταυτόχρονα. Έτσι, κάθε φορά που ένας χρήστης εισάγει μια εντολή μέσω του πληκτρολογίου, το κέλυφος επικοινωνεί με τον πυρήνα για να την εκτελέσει και στη συνέχεια εμφανίζει την έξοδο στον χρήστη.
2: Ποιοι είναι οι διαφορετικοί τύποι κελυφών που χρησιμοποιούνται συνήθως σε ένα τυπικό σύστημα Linux;
csh, ksh, bash, Bourne. Το πιο συχνά χρησιμοποιούμενο και προηγμένο κέλυφος που χρησιμοποιείται σήμερα είναι το "Bash".
3: Ποιο είναι το ισοδύναμο μιας συντόμευσης αρχείου που έχουμε ένα παράθυρο σε ένα σύστημα Linux;
Οι συντομεύσεις δημιουργούνται χρησιμοποιώντας "συνδέσμους" στο Linux. Υπάρχουν δύο τύποι συνδέσμων που μπορούν να χρησιμοποιηθούν, δηλαδή "soft link" και "hard link".
4: Ποια είναι η διαφορά μεταξύ μαλακών και σκληρών συνδέσμων;
Οι μαλακοί σύνδεσμοι είναι σύνδεσμοι προς το όνομα του αρχείου και μπορούν να βρίσκονται και σε διαφορετικά αρχεία αρχείων. Ωστόσο, οι σκληροί σύνδεσμοι είναι σύνδεσμοι προς το inode του αρχείου και πρέπει να βρίσκονται στο ίδιο σύστημα αρχείων με αυτό του αρχείου. Η διαγραφή του αρχικού αρχείου καθιστά τον μαλακό σύνδεσμο ανενεργό (σπασμένος σύνδεσμος) αλλά δεν επηρεάζει τον σκληρό σύνδεσμο (Ο σκληρός σύνδεσμος θα εξακολουθεί να έχει πρόσβαση σε ένα αντίγραφο του αρχείου)
5: Πώς θα περάσετε και θα αποκτήσετε πρόσβαση σε ορίσματα σε ένα σενάριο στο Linux;
Τα επιχειρήματα μπορούν να διαβιβαστούν ως:
scriptName "Arg1" "Arg2"
.... "Argn" και μπορείτε να αποκτήσετε πρόσβαση μέσα στο σενάριο ως $ 1, $ 2 ... $ n6: Ποια είναι η σημασία του $ #;
Το $ # δείχνει τον αριθμό των ορισμάτων που μεταβιβάστηκαν στο σενάριο.
7: Ποια είναι η διαφορά μεταξύ $ * και $ @;
Το $ @ αντιμετωπίζει κάθε αναφερόμενο όρισμα ως ξεχωριστά ορίσματα, αλλά το $ * θα θεωρήσει ολόκληρο το σύνολο παραμέτρων θέσης ως μία συμβολοσειρά.
8: Χρησιμοποιήστε την εντολή sed για να αντικαταστήσετε το περιεχόμενο του αρχείου (εξομοίωση εντολής tac)
Π.χ:
if cat filleABCDEFGH
Τότε πρέπει να είναι O / p
EFGHABCD
sed '1! G; h;$!d' file1
Εδώ η εντολή G προσαρτά στον χώρο μοτίβου,
h η εντολή αντιγράφει το buffer μοτίβου για να κρατήσει το buffer
και η εντολή d διαγράφει τον τρέχοντα χώρο μοτίβου.
9: Με δεδομένο ένα αρχείο, αντικαταστήστε όλες τις εμφανίσεις της λέξης "ABC" με "DEF" από την 5η γραμμή έως το τέλος μόνο σε αυτές τις γραμμές που περιέχουν τη λέξη "MNO"
sed -n '5,$p' file1|sed '/MNO/s/ABC/DEF/'
10: Με δεδομένο ένα αρχείο, γράψτε μια ακολουθία εντολών για να βρείτε το πλήθος κάθε λέξης.
tr -s "(backslash)040"Το "(ανάστροφη κάθετο) 011" είναι ένα οκταδικό ισοδύναμο του "χαρακτήρα tab" και
Το "(ανάστροφη κάθετο) 012" είναι ένα οκταδικό ισοδύναμο του χαρακτήρα νέας γραμμής
11: Πώς θα βρείτε το 99 ου γραμμή ενός αρχείου χρησιμοποιώντας μόνο την ουρά και το κεφάλι εντολή;
tail +99 file1 | head -1
12: Εκτυπώστε το 10 ης γραμμής χωρίς τη χρήση εντολών ουρά και το κεφάλι.
sed -n '10p' file113: Στο κέλυφος bash μου θέλω η προτροπή μου να είναι μορφής '$ "Present working directory": "hostname"> και να φορτώσω ένα αρχείο που περιέχει μια λίστα με καθορισμένες από το χρήστη λειτουργίες μόλις συνδεθώ, πώς θα αυτοματοποιήσετε αυτό ;
Στο κέλυφος bash, μπορούμε να δημιουργήσουμε ένα αρχείο ".profile" το οποίο καλείται αυτόματα μόλις συνδεθώ και γράψω την ακόλουθη σύνταξη σε αυτό.
export PS1='$ `pwd`:`hostname`>' .File1Εδώ το File1 είναι το αρχείο που περιέχει τις λειτουργίες που καθορίζονται από το χρήστη και το "." επικαλείται αυτό το αρχείο στο τρέχον κέλυφος.
14: Εξηγήστε σχετικά με το bit δικαιωμάτων "s" σε ένα αρχείο;
Το bit "s" ονομάζεται bit "set user id" (SUID).
Το bit "s" σε ένα αρχείο αναγκάζει τη διαδικασία να έχει τα δικαιώματα του κατόχου του αρχείου κατά την παρουσία του προγράμματος.
Για παράδειγμα, η εκτέλεση της εντολής "passwd" για αλλαγή του τρέχοντος κωδικού πρόσβασης αναγκάζει τον χρήστη να γράψει τον νέο κωδικό πρόσβασης σε σκιά αρχείου, παρόλο που έχει το "root" ως κάτοχό του.
15: Θέλω να δημιουργήσω έναν κατάλογο έτσι ώστε οποιοσδήποτε στην ομάδα να μπορεί να δημιουργήσει ένα αρχείο και να έχει πρόσβαση στο αρχείο οποιουδήποτε ατόμου σε αυτό, αλλά κανένας δεν θα πρέπει να μπορεί να διαγράψει ένα αρχείο διαφορετικό από αυτό που δημιούργησε ο ίδιος.
Μπορούμε να δημιουργήσουμε τον κατάλογο δίνοντας πρόσβαση ανάγνωσης και εκτέλεσης σε όλους στην ομάδα και θέτοντας το κολλώδες bit "t" ως εξής:
mkdir direc1chmod g+wx direc1chmod +t direc116: Πώς μπορείτε να μάθετε πόσο καιρό λειτουργεί το σύστημα;
Μπορούμε να το βρούμε χρησιμοποιώντας την εντολή "uptime".
17: Πώς μπορεί κάποιος χρήστης να βρει όλες τις πληροφορίες για έναν συγκεκριμένο χρήστη, όπως το προεπιλεγμένο κέλυφος, το πραγματικό όνομα, τον προεπιλεγμένο κατάλογο, πότε και πόσο καιρό χρησιμοποιεί το σύστημα;
δάχτυλο "loginName"
… Όπου loginName είναι το όνομα σύνδεσης τουχρήστη του οποίου οι πληροφορίες αναμένονται.
18: Ποια είναι η διαφορά μεταξύ $ και $ !;
Το $$ δίνει το αναγνωριστικό διαδικασίας της τρέχουσας διαδικασίας, ενώ το $! Εμφανίζει το αναγνωριστικό διεργασίας της διαδικασίας που πρόσφατα πέρασε στο παρασκήνιο.
19: Τι είναι οι διαδικασίες ζόμπι;
Αυτές είναι οι διεργασίες που έχουν πεθάνει, αλλά των οποίων η κατάσταση εξόδου δεν έχει επιλεγεί ακόμη από τη γονική διαδικασία. Αυτές οι διαδικασίες, ακόμη και αν δεν είναι λειτουργικές, εξακολουθούν να έχουν την καταχώριση αναγνωριστικού διαδικασίας στον πίνακα διεργασιών.
20: Πώς θα αντιγράψετε ένα αρχείο από το ένα μηχάνημα στο άλλο;
Μπορούμε να χρησιμοποιήσουμε βοηθητικά προγράμματα όπως "ftp," "scp" ή "rsync" για να αντιγράψουμε ένα αρχείο από το ένα μηχάνημα στο άλλο.
Π.χ., χρησιμοποιώντας ftp:
Όνομα κεντρικού υπολογιστή FTP
> βάλτε το αρχείο1
> αντίο
Πάνω από τα αντίγραφα, αρχείο αρχείου1 από το τοπικό σύστημα στο σύστημα προορισμού του οποίου έχει οριστεί το όνομα κεντρικού υπολογιστή.
21: Θέλω να παρακολουθώ ένα αρχείο καταγραφής που ενημερώνεται συνεχώς, ποια εντολή μπορεί να χρησιμοποιηθεί για να το επιτύχει πιο αποτελεσματικά;
Μπορούμε να χρησιμοποιήσουμε το όνομα αρχείου tail -f. Αυτό θα προκαλέσει την εμφάνιση μόνο των προεπιλεγμένων τελευταίων 10 γραμμών στο std o / p, το οποίο δείχνει συνεχώς το τμήμα ενημέρωσης του αρχείου.
22: Θέλω να συνδεθώ σε έναν απομακρυσμένο διακομιστή και να εκτελέσω ορισμένες εντολές, πώς μπορώ να το επιτύχω αυτό;
Μπορούμε να χρησιμοποιήσουμε το ssh για να το κάνουμε αυτό:
ssh username @ serverIP -p sshport
Παράδειγμα
ssh Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε. -π 22
Μόλις εκτελεστεί η παραπάνω εντολή, θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης
23: Έχω 2 αρχεία και θέλω να εκτυπώσω τις εγγραφές που είναι κοινές και στα δύο.
Μπορούμε να χρησιμοποιήσουμε την εντολή "comm" ως εξής:
comm -12 file1 file2… 12 θα καταργήσει το περιεχόμενο που είναι
μοναδική για 1 ου και 2 ου αρχείου αντίστοιχα.
24: Γράψτε ένα σενάριο για να εκτυπώσετε τα πρώτα 10 στοιχεία της σειράς Fibonacci.
#!/bin/sha=1b=1echo $aecho $bfor I in 1 2 3 4 5 6 7 8doc=ab=$ab=$(($a+$c))echo $bdone25: Πώς θα συνδεθείτε σε έναν διακομιστή βάσης δεδομένων από Linux;
Μπορούμε να χρησιμοποιήσουμε το βοηθητικό πρόγραμμα isql που συνοδεύει το πρόγραμμα οδήγησης ανοιχτού πελάτη ως εξής:
isql -S serverName -U όνομα χρήστη -P κωδικός πρόσβασης
26: Ποιες είναι οι 3 τυπικές ροές στο Linux;
0 - Τυπική είσοδος1 - Τυπική έξοδος2 - Τυπικό σφάλμα
27: Θέλω να διαβάσω όλη την είσοδο στην εντολή από το αρχείο 1 να κατευθύνει όλη την έξοδο στο αρχείο2 και το σφάλμα στο αρχείο 3, πώς μπορώ να το επιτύχω;
εντολή
file2 2> file3 28: Τι θα συμβεί στην τρέχουσα διαδικασία όταν εκτελώ μια εντολή χρησιμοποιώντας το exec;
Το "exec" επικαλύπτει τη νέα διχασμένη διαδικασία στην τρέχουσα διαδικασία. οπότε όταν εκτελώ την εντολή χρησιμοποιώντας exec, η εντολή εκτελείται στο τρέχον κέλυφος χωρίς να δημιουργηθούν νέες διαδικασίες.
Π.χ. η εκτέλεση του "exec ls" στη γραμμή εντολών θα εκτελέσει ls και μόλις βγεί, η διαδικασία θα τερματιστεί
29: Πώς θα μιμηθείτε το wc -l χρησιμοποιώντας awk;
awk "END {print NR} fileName"
30: Με δεδομένο ένα αρχείο βρείτε τον αριθμό των γραμμών που περιέχουν τη λέξη "ABC".
grep -c "ABC" αρχείο1
31: Ποια είναι η διαφορά μεταξύ grep και egrep;
Το egrep είναι Extended grep που υποστηρίζει πρόσθετα χαρακτηριστικά grep όπως "+" (1 ή περισσότερες εμφανίσεις προηγούμενου χαρακτήρα), "?" (0 ή 1 εμφάνιση προηγούμενου χαρακτήρα) και "|" (εναλλακτική αντιστοίχιση)
32: Πώς θα εκτυπώσετε τα ονόματα σύνδεσης όλων των χρηστών σε ένα σύστημα;
Το αρχείο / etc / shadow περιέχει όλους τους χρήστες.
awk -F ':' '{print $1}' /etc/shadow|uniq -u33: Πώς να ορίσετε έναν πίνακα στο Linux;
Σύνταξη σε ksh:
Set -A arrayname= (element1 element2… element)In bashA=(element1 element2 element3… . elementn)34: Καταγράψτε τη σύνταξη του βρόχου "for"
Σύνταξη:
for iterator in (elements)doexecute commandsdone35: Πώς θα βρείτε το συνολικό χώρο στο δίσκο που χρησιμοποιείται από έναν συγκεκριμένο χρήστη;
du -s / home / user1 .... όπου user1 είναι ο χρήστης για τον οποίο πρέπει να βρεθεί ο συνολικός χώρος στο δίσκο.
36: Γράψτε τη σύνταξη για "if" υπό όρους στο Linux;
Σύνταξη
If condition is successfulthenexecute commandselseexecute commandsfi37: Ποια είναι η σημασία του $;
Η εντολή $; δίνει την κατάσταση εξόδου της τελευταίας εντολής που εκτελέστηκε.
38: Πώς διαγράφουμε όλες τις κενές γραμμές σε ένα αρχείο;
sed '[(backslash)011(backslash)040]*$/d' file1όπου (ανάστροφη κάθετο) 011 είναι ένα οκταδικό ισοδύναμο χώρου και
(ανάστροφη κάθετο) 040 είναι ένα οκταδικό ισοδύναμο της καρτέλας
39: Πώς θα εισαγάγω μια γραμμή "ABCDEF" σε κάθε 100η γραμμή ενός αρχείου;
sed '100i \ ABCDEF' αρχείο1
40: Γράψτε μια ακολουθία εντολών για να βρείτε όλα τα αρχεία που έχουν τροποποιηθεί σε λιγότερο από 2 ημέρες και εκτυπώστε τον αριθμό εγγραφών καθενός.
εύρημα . -mtime -2 -exec wc -l {} \;
41: Πώς μπορώ να ορίσω την προεπιλεγμένη άδεια rwx σε όλους τους χρήστες σε κάθε αρχείο που δημιουργείται στο τρέχον κέλυφος;
Μπορούμε να χρησιμοποιήσουμε:
umask 777Αυτό θα ορίσει την προεπιλεγμένη άδεια rwx για κάθε αρχείο που δημιουργείται για κάθε χρήστη.
42: Πώς μπορούμε να βρούμε το όνομα της διαδικασίας από το αναγνωριστικό της διαδικασίας;
Μπορούμε να χρησιμοποιήσουμε το "ps -p ProcessId"
43: Ποια είναι τα τέσσερα βασικά στοιχεία κάθε συστήματος αρχείων στο Linux;
Το Bootblock, το super block, το inode block και το Datablock βρίσκονται βασικά συστατικά κάθε συστήματος αρχείων στο Linux.
44: Τι είναι ένα μπλοκ εκκίνησης;
Αυτό το μπλοκ περιέχει ένα μικρό πρόγραμμα που ονομάζεται "Master Boot record" (MBR) το οποίο φορτώνει τον πυρήνα κατά την εκκίνηση του συστήματος.
45: Τι είναι ένα σούπερ μπλοκ;
Το Super block περιέχει όλες τις πληροφορίες σχετικά με το σύστημα αρχείων, όπως το μέγεθος του συστήματος αρχείων, το μέγεθος του μπλοκ που χρησιμοποιείται από τον αριθμό των δωρεάν μπλοκ δεδομένων και τη λίστα των ελεύθερων εισόδων και μπλοκ δεδομένων.
46: Τι είναι ένα μπλοκ inode;
Αυτό το μπλοκ περιέχει το inode για κάθε αρχείο του συστήματος αρχείων μαζί με όλα τα χαρακτηριστικά αρχείου εκτός από το όνομά του.
47: Πώς μπορώ να στείλω ένα μήνυμα με συμπιεσμένο αρχείο ως συνημμένο;
zip file1.zip file1 | mailx -s "θέμα" Αναγνωριστικό email παραληπτών
Περιεχόμενο email
ΕΟΦ
48: Πώς δημιουργούμε ψευδώνυμα εντολών σε ένα κέλυφος;
ψευδώνυμο Aliasname = "Εντολή της οποίας το ψευδώνυμο πρόκειται να δημιουργηθεί".
49: Τι είναι τα πεδία άδειας "c" και "b" ενός αρχείου;
Τα πεδία δικαιωμάτων "c" και "b" συσχετίζονται γενικά με ένα αρχείο συσκευής. Καθορίζει εάν ένα αρχείο είναι αρχείο ειδικού χαρακτήρα ή ειδικό αρχείο μπλοκ.
50: Ποια είναι η χρήση μιας γραμμής shebang;
Η γραμμή Shebang στην κορυφή κάθε σεναρίου καθορίζει τη θέση του κινητήρα που πρόκειται να χρησιμοποιηθεί για την εκτέλεση του σεναρίου.