Πώς μπορώ να εντοπίσω αρχείο (με ελληνική ονομασία) που μου επιστρέφει στο terminal ως σειρά αριθμών;

Λοιπόν, κατά τη διάρκεια ενός rsync backup (δίσκου NTFS προς δίσκο Ext4) παίρνω ένα μήνυμα ότι το τάδε αρχείο δεν μπόρεσε να αντιγραφεί λόγω μεγάλου ονόματος.

Το όνομα είναι αυτό:

/media/george/offline_backup/int_backup_Toshiba_3TB/backups/Crucial_MX500_1TB/george's Documents/\#316\#243\#317\#205\#316\#275\#316\#264\#316\#271\#316\#272\#316\#261\#316\#273\#316\#271\#317\#203\#317\#204\#316\#271\#316\#272\#316\#255\#317\#202 \#316\#264\#316\#271\#316\#265\#316\#272\#316\#264\#316\#271\#316\#272\#316\#256\#317\#203\#316\#265\#316\#271\#317\#202/\#316\#233\#316\#277\#316\#263\#316\#271\#317\#203\#316\#274\#316\#271\#316\#272\#317\#214 \#316\#272\#316\#261\#316\#271 \#316\#250\#316\#267\#317\#206\#316\#271\#316\#261\#316\#272\#316\#277\#316\#257 \#316\#265\#316\#276\#316\#277\#317\#200\#316\#273\#316\#271\#317\#203\#316\#274\#316\#277\#316\#257/\#316\#227 \#316\#273\#316\#256\#316\#276\#316\#267 \#317\#205\#317\#200\#316\#277\#317\#203\#317\#204\#316\#256\#317\#201\#316\#271\#316\#276\#316\#267\#317\#202 \#317\#204\#316\#277\#317\#205 \#316\#273\#316\#265\#316\#271\#317\#204\#316\#277\#317\#205\#317\#201\#316\#263\#316\#271\#316\#272\#316\#277\#317\#215 \#317\#203\#317\#205\#317\#203\#317\#204\#316\#256\#316\#274\#316\#261\#317\#204\#316\#277\#317\#202 Windows 7 \#317\#211\#317\#202 \#316\#261\#317\#206\#316\#277\#317\#201\#316\#274\#316\#256 \#316\#263\#316\#271\#316\#261 \#317\#204\#316\#267 \#316\#274\#316\#265\#317\#204\#316\#254\#316\#262\#316\#261\#317\#203\#316\#267 \#317\#204\#317\#211\#316\#275 \#317\#210\#316\#267\#317\#206\#316\#271\#316\#261\#316\#272\#317\#216\#316\#275 \#317\#205\#317\#200\#316\#277\#316\#264\#316\#277\#316\#274\#317\#216\#316\#275 \#317\#204\#316\#256\#317\#202 \#316\#246\#316\#225 \#317\#203\#316\#265 \#316\#265\#316\#275\#316\#261\#316\#273\#316\#273\#316\#261\#316\#272\#317\#204\#316\#271\#316\#272\#317\#214 \#317\#200\#317\#201\#317\#214\#317\#204\#317\#205\#317\#200\#316\#277 \#317\#207\#317\#201\#316\#256\#317\#203\#316\#267\#317\#202 \#316\#274\#316\#265 \#317\#203\#316\#267\#316\#274\#316\#261\#316\#275\#317\#204\#316\#271\#316\#272\#316\#254 \#316\#277\#316\#271\#316\#272\#316\#277\#316\#275\#316\#277\#316\#274\#316\#271\#316\#272\#316\#254 (\#316\#272\#316\#261\#316\#271 \#317\#214\#317\#207\#316\#271 \#316\#274\#317\#214\#316\#275\#316\#277) \#316\#277\#317\#206\#316\#255\#316\#273\#316\#267.docx

Εντός του directory υπάρχουν πολλά docχ αρχεία και η μόνη λύση που μπορώ να σκεφτώ για να βρω ποιο αρχείο είναι ο υπαίτιος είναι trial and error, να αφαιρώ ένα-ένα και να επαναλαμβάνω rsync, αλλά σίγουρα θα υπάρχει πιο έξυπνος τρόπος.

Επίσης τα ονόματα αρχείων docx είναι στα ελληνικά και έχουν δημιουργηθεί προ πολλών ετών σε λειτουργιικά πριν τα windows10, επομένως κάπου εκεί έγκειται το πρόβλημα. Αν εντοπίσω το αρχείο και αλλάξω την ονοματοδοσία του, πιστεύω θα λυθεί το θέμα “long filename”. To θέμα είναι πώς βρίσκω το αρχείο?

Οποιαδήποτε βοήθεια ευπρόσδεκτη!

Συνδικαλιστικές διεκδικήσεις Λογισμικό και Ψηφιακοί εξοπλισμοί Η λήξη υποστήριξης του λειτουργικού συστήματος Windows 7 ως αφορμή για τη μετάβαση των ψηφιακών υποδομών τής ΦΕ σε εναλλακτικό πρότυπο χρήσης με σημαντικά οικονομικά και όχι μόνο οφέλη.

Για κάποιο λόγο τα ελληνικά εμφανίζονται ως octal numbers. Έτυχε εχθές να μου ζητήσει ένας παλιός συνάδελφος να δω ένα αντίστοιχο θέμα σε έναν server και έτσι πήγε κατευθείαν το μυαλό μου στο octal. Εκεί βέβαια ήταν το κλασσικό με τους χαρακτήρες CR LF και ήταν υπόθεση μίας tr. Δεν ξέρω τη λύση δυστυχώς. Εγώ το “μετέφρασα” βάζοντας ένα λεξικό από octal σε ascii. Αν απαντήσει κάποιος άλλος θα μάθω και εγώ! :grinning:

1 «Μου αρέσει»

Ευχαριστώ πολύ. Αυτό δεν είναι όνομα αρχείου μου, αλλά συνδυασμός φακέλων και ονόματος αρχείου. Δεν ξέρω πώς προκύπτει αυτό … Τεσπά τώρα μπορώ να καταλάβω ποιο αρχείο είναι και να το μετονομάσω. Ευχαριστώ

1 «Μου αρέσει»

Δοκιμασε το εξης:

ανοιξε τερματικο και γραψε:

sudo dpkg-reconfigure locales

Κατεβα κατω στις καταχωρησεις που αρχιζουν με el

2 ειναι el_CY που ειναι κυπριακα και τα επομενα 3 (εαν τα locales ειναι στο Mint τα ιδια με το Debian γιατι αυτο χρησιμοποιω) ειναι τα el_GR

Θες να επιλεξεις το el_GR.ISO-8859-7 και το el_GR.UTF-8.
Τα επιλεγεις με το πληκτρο του κενου και μετα με TAB πας στο OK και πατας ENTER.

Ξαναπατας το Enter για να αφησεις την προεπιλογη του Locale που υπηρχε και δοκιμαζεις να κανεις unmount και ξανα mount τον δισκο.

Τσεκαρε τα ονοματα των αρχειων. Εχουν τωρα ελληνικα;

1 «Μου αρέσει»

Τα ελληνικά ονόματα αρχείων τα βλέπω κανονικά τόσο στο desktop, όσο και στο terminal αν δώσω “ls”. Το πρόβλημα ήταν μόνο με τη συγκεκριμένη επιστροφή του rsync.

Το ext4 δέχεται ονόματα αρχείων έως 255 bytes. Το NTFS περισσότερα. Γι’ αυτό το rsync δεν μπορούσε να κάνει τη μεταφορά.

Αν σου βγάλει ξανά πρόβλημα σε άλλο αρχείο, άνοιξε ένα τερματικό στον φάκελο που έχει τα αρχεία με μεγάλα ονόματα και δώσε:

for file in *; do echo "$file"; echo -n "$file" | wc -c; done

Θα σου γράψει τα ονόματα των αρχείων και από κάτω τον αριθμό με τα bytes του κάθε ονόματος. Ό,τι είναι πάνω από 255, δεν θα μπορέσει να αντιγραφεί σε ext4.

2 «Μου αρέσει»

To παρακάτω μακρινάρι θα σου δείξει μετά το πέρασμα αρκετού χρόνου τις 10 μεγαλύτερες διαδρομές

ls -lR  | awk '{ print length, $0 }' | \
         sort -nr | cut -d" " -f2- | head -10

Αλλά το ερώτημα είναι πως προέκυψε αυτό το παράξενο όνομα αρχείου; Δεν δείχνει για πρόβλημα κωδικοποίησης στα ελληνικά.

Στο Linux ένα αρχείο μπορεί να έχει όνομα μέχρι 255 bytes (άρα περίπου στο μισό αν έχουμε utf8 ελληνικά) και μέγιστο όριο διαδρομής 4096 χαρακτήρες. Κάποιο σύστημα αρχείων μπορεί να είναι πιο σφιχτό.

Αυτό δεν είναι όνομα αρχείου μου, αλλά συνδυασμός φακέλων και ονόματος αρχείου. Δεν ξέρω πώς προκύπτει αυτό …