Προς το περιεχόμενο

Terminal: Tricks & tips.


thanocaster

Προτεινόμενες αναρτήσεις

Σκέφτηκα να μαζέψουμε εδώ ό,τι έχει να κάνει με το terminal.

 

Ξεκινάω με μερικά κολπάκια:

 

1. Το terminal κάθε φορά που ξεκινάει σας καλοσωρίζει με το βαρετό "Welcome to Darwin!". Αυτό είναι κάτι που μπορεί να αλλάξει σε κάτι πιο εντυπωσιακό, όπως "Hello bro!", "Stop acting like trying to fix it.", "Kernel Panic", "Πού 'σαι παιχταρά μου;" ή ότι άλλο θέλετε.

 

Ανοίξτε το terminal και γράψτε:

>
sudo nano /etc/motd

 

Το sudo είναι μια εντολή που δίνει δικαιώματα root μόνο για αυτήν την εντολή (υπάρχει και το su που δίνει για όλο το session, αλλά καλό είναι να αποφεύγεται). Το nano είναι ένας απλός κειμενογράφος κονσόλας (όπως είναι τα vi, vim τα οποία μπορείτε να χρησιμοποιήσετε εναλλακτικά). Το motd είναι ένα αρχείο (motd - από το Moto Of The Day) που βρίσκεται στον φάκελο /etc, άρα είναι σα να λέμε στο terminal άνοιξε το αρχείο motd, που βρίσκεται στο φάκελο /etc/ για επεξεργασία με το nano, δίνοντάς μου δικαιώματα χρήστη root.

 

Αυτό που βλέπουμε μετά είναι το αρχείο motd. Σβήστε ότι τυχόν γράφει μέσα και γράψτε το μήνυμα χαιρετισμού που επιθυμείτε. Πατήστε ctrl+x για έξοδο, στη συνέχεια πατήστε y για yes και enter για να σώσετε το αρχείο.

 

2. Το prompt του terminal είναι το περίεργο "localhost:path/to/file username$". Αυτό μπορείτε να το αλλάξετε πολύ εύκολα. Δώστε την εντολή:

>
sudo nano .bash_profile

 

Γράψτε για παράδειγμα την παρακάτων γραμμή:

>
export PS1="C:/\w>"

 

Η PS1 είναι η μεταβλητή που αποθηκεύει το επιθυμιτό prompt. Με το export εκτελείται αυτή η εντολή. Μπορείτε να της δώσετε ότι τιμή θέτελε. Μερικά άλλα παραδείγματα:

 

>
export PS1="\d | \w>"
export PS1="Ready? \n"
export PS1="\u@\h: \w\$"

Εδώ όλες οι παράμετροι που μπορούν να μπουν:

 

>\a	The ASCII bell character (you can also type \007)
\d	Date in "Wed Sep 06" format
\e	ASCII escape character (you can also type \033)
\h	First part of hostname (such as "mybox")
\H	Full hostname (such as "mybox.mydomain.com")
\j	The number of processes you've suspended in this shell by hitting ^Z
\l	The name of the shell's terminal device (such as "ttyp4")
\n	Newline
\r	Carriage return
\s	The name of the shell executable (such as "bash")
\t	Time in 24-hour format (such as "23:01:01")
\T	Time in 12-hour format (such as "11:01:01")
\@	Time in 12-hour format with am/pm
\u	Your username
\v	Version of bash (such as 2.04)
\V	Bash version, including patchlevel
\w	Current working directory (such as "/home/drobbins")
\W	The "basename" of the current working directory (such as "drobbins")
\!	Current command's position in the history buffer
\#	Command number (this will count up at each prompt, as long as you type something)
\$	If you are not root, inserts a "$"; if you are root, you get a "#"
\xxx	Inserts an ASCII character based on three-digit number xxx (replace unused digits with zeros, such as "\007")
\\	A backslash
\[	This sequence should appear before a sequence of characters that don't move the cursor (like color escape sequences). This allows bash to calculate word wrapping correctly.
\]	This sequence should appear after a sequence of non-printing characters.

 

 

3. Ας πούμε ότι στο πρώτο παράδειγμα, κάποιος αντί να γράψει sudo nano /etc/motd, ξέχασε το sudo. Δεν είναι ανάγκη να την πληκτρολογίσει από την αρχή την εντολή. Υπάρχουν 2 τρόποι να γλυτώσει την ταλαιπωρία:

 

Πρώτος τρόπος: Απλώς θα πληκτρολογίσει sudo !!, και θα εμφανιστεί το γνώριμο prompt εισαγωγής κωδικού. Γενικότερα, το terminal αποθηκεύει την τελευταία καταχώρηση σαν διπλό θαυμαστικό.

Δεύτερος τρόπος: Θα πατήσει πάνω (για να εμφανιστεί η τελευταία εντολή), στη συνέχεια θα πατήσει ctrl+a (για να πάει ο δρομέας στην αρχή) και θα γράψει "sudo ".

 

4. Στο δεύτερο tip ανέφερα την επεξεργασία του αρχείου .bash_profile. Ανοίγοντας αυτό το αρχείο και γράφοντας:

>
today=`date "+%m/%d"`
grep $today /usr/share/calendar/calendar.music
grep $today /usr/share/calendar/calendar.history
grep $today /usr/share/calendar/calendar.computer
grep $today /usr/share/calendar/calendar.birthday

 

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

 

5. Ας πούμε ότι κάποτε είχατε βρει στο ίντερνετ μια τεράστια εντολή που δεν την θυμάστε ολόκληρη, αλλά μέρος της. Πχ θυμάστε ότι ξεκίναγε με sudo apache, αλλά δεν θυμάστε καν αν η λέξη apache ήταν ολόκληρη ή συνέχιζε σε apachectl.

 

Η λύση ακούει στο όνομα history, μια εντολή που εμφανίζει το ιστορικό των καταχωρήσεων σας στο prompt. Επίσης, η εντολή grep ψάχνει μέσα στις εντολές για συγκεκριμένα ορίσματα. Για παράδειγμα, η grep "how are you?" θα ψάξει να βρει πού υπάρχει το how are you?.

 

Συνδυάζοντάς τα λοιπόν:

>
history | grep "sudo apache"

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μου τη δίνει το terminal :mad: :P

Καλή η προσπάθεια να συγκεντρωθούν σε ένα topic!

 

Metallic Gradient Effect on Mouse Over

2966874215_e1da511f05_o.png

>defaults write com.apple.dock mouse-over-hilte-stack -boolean YES

και μετά

>killall Dock

 

Αρκετά σαν το παραπάνω και άλλα διάφορα

Link: Using Mac dot com (Μερικά είναι αρκετά παλιά)

 

5 Most Useful Terminal Command Utilities

Leopard Tweaking - Terminal Codes

Leopard - Terminal Commands for Desktop

Leopard Tweaking - Another Terminal Commands

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να ποσταρω και εγω λοιπον.

 

Το πρωτο σκριπτακι ειναι περισσοτερο funny.αλλαζει χρωματα σε φακελους κτλ για να τους ξεχωριζουμε πιο ευκολα καθως επισης προσθετει και μια φατσουλα η οποια σε καθε εντολη που παταμε αν ειναι σωστη χαμογελαει αν οχι :(.

 

δημιουργουμε ενα αρχειο με οποιον κειμενογραφο θελουμε και το ονομαζουμε .profile

πχ nano .profile

 

μεσα γραφουμε

 

>

# My profile settings for Terminal.app

# bash profile
alias ls="/bin/ls -G"
alias ll="ls -l"
alias la="ls -a"
alias lla="ls -la"

# History Controls
shopt -s histappend
HISTFILESIZE=1024
HISTCONTROL=ignoreboth

#Colors definitions
RED="\[\033[1;31m\]"
RED_DARK="\[\033[0;31m\]"
GREEN="\[\033[1;32m\]"
BLUE="\[\033[1;34m\]"
YELLOW="\[\033[1;33m\]"
WHITE="\[\033[1;37m\]"
CYAN="\[\033[1;36m\]"
NC="\[\033[0;0m\]"

# Create a fancy Prompt
export HST=`hostname -s`
export PS1="${NC}[\u@${HST} ${WHITE}\w${NC}] ${YELLOW}\`if [ \$? = 0 ]; then echo :\\\); else echo :\\\(; fi\` ${NC}"
export PROMPT_COMMAND='echo -ne "\033]2;${USER}@${HST}:${PWD}\007"'

# myScripts
test -d ~/bin && PATH=$PATH:~/bin

# ns, nam klp
export PATH=/usr/src/ns-allinone-2.29/bin:/usr/src/ns-allinone-2.29/tcl8.4.11/unix:/usr/src/ns-allinone-2.29/tk8.4.11/unix:/opt/local/bin:/opt/local/sbin:$PATH
export LD_LIBRARY_PATH=/usr/src/ns-allinone-2.29/otcl-1.11:/usr/src/ns-allinone-2.29/lib
export TCL_LIBRARY=/usr/src/ns-allinone-2.29/tcl8.4.11/library 

 

Το αλλο script ειναι πολυ πρακτικο αλλα λειτουργει μονο με το iterm και οχι με την κονσολα που εχει το mac απο μαμα.

 

Με τον ιδιο τροπο δημιουργουμε ενα αρχειο

.inputrc

 

και γραφουμε

 

>

# My inputrc file for Terminal.app

# keypad mode
"\M-OA": history-search-backward
"\M-OB": history-search-forward

# ansi mode
"\M-[A": history-search-backward
"\M-[b": history-search-forward

#8-bit keypad:
"\M-\C-OA" history-search-backward
"\M-\C-OB" history-search-forward

# 8-bit ansi:
"\M-\C-[A": history-search-backward
"\M-\C-[b": history-search-forward

set completion-ignore-case on
set page-completions off
set show-all-if-ambiguous on
set meta-flag on
set convert-meta off
set output-meta on

 

με αυτο το script αν θελουμε να ανατρεξουμε σε παλαιοτερες εντολες απλα παταμε το πρωτο γραμμα και με τα βελακια θα μας εμφανιζονται μονο οι εντολες στο ιστορικο μας που ξεκινανε με το γραμμα αυτο.

πχ αν εχω πατησει

 

ping

ls

cd /

 

πατωντας "p" και βελακι προς τα πανω θα με παει κατευθειαν στο ping και οχι στο cd.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

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

  • Δημιουργία νέου...