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

[INFO] Η δύναμη της Κονσόλας


Manos-Sx

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

DIMITRISG δεν το αμφισβητώ και πλέον δέχομαι τις συμβουλές σου κατα γράμμα χωρίς αμφισβήτηση, μια και εσύ με έμπασες για τα καλά στο linux (νοιώθω βέβαια λιγάκι άσχημα που "πούλησα" το mandriva για το ubuntu, και ακόμα να ασχοληθώ με τη μετάφραση εκείνων των documentation που σου είχα πει, αλλά κάποια στιγμή ελπίζω να επανορθώσω, έστω και με κάποιο donation στη κοινότητα).

 

φίλε alkisg φανταστική η ιδέα σου, αλλά δυστυχώς αυτό το μενού με το δεξί κλικ δε μπορώ να το βρώ με τπτ!

 

για να είμαι και σίγουρος οτι όντως βρίσκομαι στο nautilus, το έτρεξα απο το terminal. Η διανομή μου είναι ubuntu 8.04 και είναι ενημερωμένη, και ναι όντως χρησιμοποιώ -μόνο- gnome.

 

με αναζήτηση δε μου βρίσκει το νέο scipt, του έδωσα το όνομα: grsubs χωρίς όμως κατάληξη .sh, για την ακρίβεια η τελική σύνταξη της εντολής ήταν: gedit ".gnome2/nautilus-scripts/grsubs".

 

δεν είναι δυνατόν να μη μπορώ να το βρώ με αναζήτηση, αφού απ'οσο ξέρω τα πάντα στο linux είναι αρχεία. αν βρώ το σχετικό αρχείο τότε λογικά με την εντολή chmod 777 grsubs θα δώσω πλήρη δικαιώματα στο αρχείο για όλους τους χρήστες και έτσι σίγουρα θα μπορώ να το εκτελέσω.

 

είναι λιγάκι μπέρδεμα η κατάσταση, αλλά μέχρι στιγμής το linux μου έχει δείξει οτι η υπομονή και το ψάξιμο ανταμοίβονται εκθετικά :)

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

  • Απαντ. 889
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

DIMITRISG δεν το αμφισβητώ και πλέον δέχομαι τις συμβουλές σου κατα γράμμα χωρίς αμφισβήτηση, μια και εσύ με έμπασες για τα καλά στο linux (νοιώθω βέβαια λιγάκι άσχημα που "πούλησα" το mandriva για το ubuntu, και ακόμα να ασχοληθώ με τη μετάφραση εκείνων των documentation που σου είχα πει, αλλά κάποια στιγμή ελπίζω να επανορθώσω, έστω και με κάποιο donation στη κοινότητα).

 

ελα σιγα , σε "εμπασα" στο λινουξ, αντε να σε βοηθησα με το compiz και την καρτα γραφικων :-(

εχεις ολη την προοπτικη να μπεις στα ζεστα και αυτο θα σου δωσει μεγαλη εμπειρια στην διαχειριση του λειτουργικού.

Ειναι δυσκολο πολλες φορες να μας «κατσει» μια διανομη

αλλά όχι και ubuntu βρε αδερφε !!! :lol::lol::lol::lol::lol::lol::lol: βαλε puppy !! :mrgreen::mrgreen:

 

Τι;;; η μεταφραση του documentation;; ακομα σε περιμενω στα γραφεια για να την παραδωσεις!!!

 

:-D:-D αν ειναι δυνατον να μου πεις και αυτο!!! Καλο ειναι να μπορει καποιος να προσφερει απο το χρονο του αλλα αν μπορει και οταν μπορει και αν θελει και οταν θελει κλπ .... λες και γω ειμαι κανας εκπροσωπος

οπως ο gtroza στο puppy :lol:

και κλεινω συμφωνίες :lol::lol::lol:

 

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

ερωτηση.

εχω εναν φακελο που περιεχει ας πουμε 100 στοιχεια.θελω να τρεξω μια εντολη (ας πουμε rm -rf) στα 99 και να κανω exclude το 100ό.Αυτο πως μπορει να επιτευχθει;

 

ευχαριστω

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

ερωτηση.

εχω εναν φακελο που περιεχει ας πουμε 100 στοιχεια.θελω να τρεξω μια εντολη (ας πουμε rm -rf) στα 99 και να κανω exclude το 100ό.Αυτο πως μπορει να επιτευχθει;

 

ευχαριστω

 

μετέφερε το κάπου αλλού πριν εκτελέσεις την εντολή ;)

 

πιστεύω ότι χρειάζονται περισσότερες πληροφορίες για να απαντηθεί σωστά η ερώτηση σου.

 

λες ότι δεν θες να σβηστεί το 100ο. πώς είναι αρχειοθετημένα τα αρχεία σου; δλδ το 100ο αρχείο πιο είναι; είναι το τελευταίο στην λίστα όταν είναι τα αρχεία σε αλφαβητική σειρά; τα αρχεία που θες να σβήσεις ή να κρατήσεις έχουν κάποιο συγκεκριμένο extension ή κάποιο άλλο χαρακτηριστικό γνώρισμα;

 

δεν νομίζω να μπορείς να γράψεις ένα απλό script για κάτι τόσο γενικό..

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

Για να μήν σβήσεις κάποιο αρχείο σύμφωνα με το όνομά του:

 

>ls | while read -r i; do
   if [[ "$i" != "file name you know here" ]]; then
       rm -f $i
   fi
done

 

Για να μην σβήσεις το υπ' αριθμόν 100ο αρχείο ταξινομιμένο αλφαβητικά:

>declare -a k
ls -l | while read -r i; do
   if [ $k != 100 ]; then
       rm -f $i
       ((k++))
   fi
done

 

Όλα αυτά είναι ασκήσεις όμως. Για να κάνεις μιά τέτοια δουλειά μεταφέρεις το αρχείο που θέλεις να σωθεί κάπου αλλού και σβήνεις τα υπόλοιπα.

Καλημέρα σε όλο το forum :-)

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

νομιζω θελεις αυτο poscaman

>
bash$ [b]shopt -s extglob[/b]
bash$ ls -l /opt/too_many_files/!(confidential.txt)
secret.txt
top_secret.txt
public.txt

http://www.bestsolution.at/support/console/exclude_files.html.en

αντι για ls βαζεις οποια εντολη θελεις rm κλπ

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

μετέφερε το κάπου αλλού πριν εκτελέσεις την εντολή ;)

 

πιστεύω ότι χρειάζονται περισσότερες πληροφορίες για να απαντηθεί σωστά η ερώτηση σου.

 

λες ότι δεν θες να σβηστεί το 100ο. πώς είναι αρχειοθετημένα τα αρχεία σου; δλδ το 100ο αρχείο πιο είναι; είναι το τελευταίο στην λίστα όταν είναι τα αρχεία σε αλφαβητική σειρά; τα αρχεία που θες να σβήσεις ή να κρατήσεις έχουν κάποιο συγκεκριμένο extension ή κάποιο άλλο χαρακτηριστικό γνώρισμα;

 

δεν νομίζω να μπορείς να γράψεις ένα απλό script για κάτι τόσο γενικό..

 

Για να μήν σβήσεις κάποιο αρχείο σύμφωνα με το όνομά του:

 

>ls | while read -r i; do
   if [[ "$i" != "file name you know here" ]]; then
       rm -f $i
   fi
done

Για να μην σβήσεις το υπ' αριθμόν 100ο αρχείο ταξινομιμένο αλφαβητικά:

>declare -a k
ls -l | while read -r i; do
   if [ $k != 100 ]; then
       rm -f $i
       ((k++))
   fi
done

Όλα αυτά είναι ασκήσεις όμως. Για να κάνεις μιά τέτοια δουλειά μεταφέρεις το αρχείο που θέλεις να σωθεί κάπου αλλού και σβήνεις τα υπόλοιπα.

Καλημέρα σε όλο το forum :-)

σωστη η προσεγγιση να μεταφερθει αλλου,αλλα οταν εχεις να κανεις με πολυ μεγαλο path,χανεις τον μπουσουλα :P

 

Ευχαριστω πολυ για τον χρονο σας,αλλα δεν ζηταω καποιο script.ψαχνω κατι πιο γενικο

 

νομιζω θελεις αυτο poscaman

>
bash$ [b]shopt -s extglob[/b]
bash$ ls -l /opt/too_many_files/!(confidential.txt)
secret.txt
top_secret.txt
public.txt

http://www.bestsolution.at/support/console/exclude_files.html.en

αντι για ls βαζεις οποια εντολη θελεις rm κλπ

 

σωστος!αυτο ακριβως εψαχνα.Το ζητημα ομως (ειμαι και περιεργος) ειναι οτι βαριεμαι(=δεν θυμαμαι) καθε φορα αν τρεχω και το shopt -s extglob

 

καμμια λυση γι αυτο εχουμε;;;

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

Δημοσ. (επεξεργασμένο)
φίλε alkisg φανταστική η ιδέα σου, αλλά δυστυχώς αυτό το μενού με το δεξί κλικ δε μπορώ να το βρώ με τπτ!

 

Lomar, για να μη γράφω πολλά, :)

να ένα how-to με εικόνες κτλ: https://help.ubuntu.com/community/NautilusScriptsHowto

και να κάμποσα μαζεμένα και χρήσιμα scripts: http://g-scripts.sourceforge.net/

 

και όπου κολλήσεις ξαναρωτάς. Βολικότατα είναι πάντως!

Αν θες για την $IFS δες το παρακάτω script, την χρησιμοποιεί.

 

 

ερωτηση.

εχω εναν φακελο που περιεχει ας πουμε 100 στοιχεια.θελω να τρεξω μια εντολη (ας πουμε rm -rf) στα 99 και να κανω exclude το 100ό.Αυτο πως μπορει να επιτευχθει;

 

Poscaman, κι εσύ μπορείς να το κάνεις με ένα nautilus script. Μια εικόνα χίλιες λέξεις:

nautilusscriptsyv1.th.png

 

Πάνω αριστερά: γράφουμε το script στο gedit.

Κάτω αριστερά: και το αποθηκεύουμε στο "~/.gnome2/nautilus-scripts/Αντιγραφή ονομάτων αρχείων".

Μέση: επιλέγουμε κάμποσους φακέλους με το ποντίκι (επιλογή με ctrl+a ή με ορθογώνιο με το ποντίκι, αποεπιλογή με ctrl+click κτλ). Κάνουμε δεξί κλικ » Σενάρια εντολών » Αντιγραφή ονομάτων αρχείων, και έτσι καλείται το script μας.

Δεξιά: το script μας ανοίγει το gedit με συμπληρωμένες τις rm -rf για τους φακέλους που επιλέξαμε.

 

...σε μερικές περιπτώσεις βολεύει το ποντίκι, δε χρειάζεται να τα κάνουμε όλα με την κονσόλα... :)

Επεξ/σία από alkisg
Αυτόματη ένωση μηνυμάτων
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλημέρα παιδιά,

 

προσπαθώ να φτιάξω ένα πρόγραμμα σε bash-scripting, και χρειάζομαι πολλές παραμέτρους, σίγουρα πάνω από 10, πως θα γίνει αυτό, αφού φτάνει μέχρι την $9 ;

 

Δε φτάνει μόνο μέχρι την $9, απλά από 'κει και πάνω πρέπει να κάνεις quote τις μεταβλητές:

>
${10} ${11} ${12}

κ.ο.κ.

 

Επίσης σε ορισμένες περιπτώσεις βολεύει και η shift:

>
$ cat test.sh
#!/bin/bash
while [ -n "$1" ]; do
echo "$1"
shift
done
$ ./test.sh 1 2 3 4 5 6 7 8 9 10
1
2
3
4
5
6
7
8
9
10

 

 

Έτσι μπράβο.

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

Δημοσ. (επεξεργασμένο)

Ένα ακόμα σχετικά με την μη επιλογή αρχείων: Η GLOBIGNORE.

 

Παράδειγμα, με την δεύτερη ls δεν εμφανίζονται όσα αρχεία περιέχουν το γράμμα b:

>
alkisg@alkisg:/bin$ ls *a*
bash   dbus-cleanup-sockets  ld_static       netstat    tailf
bzcat  dbus-daemon           loadkeys        rbash      tar
cat    dnsdomainname         nano            readlink   uname
dash   false                 nc.traditional  rnano      unicode_start
date   hostname              netcat          run-parts  zcat
alkisg@alkisg:/bin$ GLOBIGNORE='*b*'
alkisg@alkisg:/bin$ ls *a*
cat   dnsdomainname  ld_static  nc.traditional  readlink   tailf  unicode_start
dash  false          loadkeys   netcat          rnano      tar    zcat
date  hostname       nano       netstat         run-parts  uname

 

Με τον ίδιο τρόπο μπορεί να εξαιρεθεί ένα μόνο αρχείο (γράφοντας ολόκληρο το όνομά του στη GLOBIGNORE) ή π.χ. όσα αρχεία έχουν μια συγκεκριμένη επέκταση.

 

 

---------------------------------------------------

 

 

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

 

1. Στην κονσόλα γράφουμε

>
for f in 

2. Στον nautilus διαλέγουμε όσα/όποια αρχεία ή φακέλους θέλουμε.

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

3. Σέρνουμε τα επιλεγμένα αρχεία από τον nautilus στην κονσόλα. Συμπληρώνονται αυτόματα

>
for f in 'file 1' 'file 2' 'file 3'

4. Γράφουμε το υπόλοιπο της εντολής που θέλουμε, και πατάμε enter, π.χ.

>
for f in 'file 1' 'file 2' 'file 3'; do echo $f; done

Επεξ/σία από alkisg
Αυτόματη ένωση μηνυμάτων
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 1 μήνα μετά...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

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