Τα πάντα για το Bash...

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό VasilisTsirkinidis » 26 Απρ 2010, 15:57

Έσβησα τον φάκελο bin από το /home και δημιούργησα έναν καινούριο στο /home/vasilis. Έβαλα μέσα το script και πάλι όταν εκτελώ
Κώδικας: Επιλογή όλων
my_script

από οποιονδήποτε φάκελο μου λέει command not found. Μήπως δεν καταλαβαίνω κάτι;
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 9.10 σε desktop pc με GIGABYTE GA-P31-DS3L motherboard (intel p31 express chipset)
Προδιαγραφές ⇛ 2x Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz │ 4124MB (260MB used) │ SVGA PCI - EX SPARKLE 9500GT 512 MB │ HDA-Intel - HDA Intel │ SAMSUNG 2243BWX, 1680x1050
Άβαταρ μέλους
VasilisTsirkinidis
babeTUX
babeTUX
 
Δημοσιεύσεις: 30
Εγγραφή: 11 Δεκ 2009, 20:56
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό ftso » 26 Απρ 2010, 19:12

Εφόσον έχεις κάνει reboot , εκτέλεσε echo $PATH
.
Μέσα εκεί θα πρέπει να βρίσκεται και ο κατάλογος που δημιούργησες.
Το script θα πρέπει να είναι εκτελέσιμο (chmod +x <script>) και να βρίσκεται χύμα στο bin.

Αν πάλι δεν δουλεύουν όλα αυτά η καλύτερη λύση είναι να βάλεις ένα alias (δες τον αντίστοιχο οδηγό στο φόρουμ <- ευρετήριο οδηγών στην υπογραφή μου).

Βέβαια θα μπορούσες να κάνεις απευθείας ένα link ή και ακόμα να το αντιγράψεις απευθείας μέσα στο /usr/bin, αλλά καλύτερα να μείνεις σε επίπεδο χρήστη και να μην πειράξεις αρχεία συστήματος.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό VasilisTsirkinidis » 26 Απρ 2010, 21:09

Είχες δίκιο τελικά, απλά είχα παραλείψει να επανασυνδεθώ. Τώρα παίζει μια χαρά. Σε ευχαριστώ πολύ :clap:
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 9.10 σε desktop pc με GIGABYTE GA-P31-DS3L motherboard (intel p31 express chipset)
Προδιαγραφές ⇛ 2x Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz │ 4124MB (260MB used) │ SVGA PCI - EX SPARKLE 9500GT 512 MB │ HDA-Intel - HDA Intel │ SAMSUNG 2243BWX, 1680x1050
Άβαταρ μέλους
VasilisTsirkinidis
babeTUX
babeTUX
 
Δημοσιεύσεις: 30
Εγγραφή: 11 Δεκ 2009, 20:56
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Ntelispak » 02 Ιουν 2010, 19:08

Μερικά scipt-άκια που ίσως σας χρειαστούν...

1)Μετατροπή απλών αρχείων κειμένου από κωδικοποίηση ISO-8859-7 (Ελληνικά) σε UTF8. Τα παλαιότερα αρχεία διατηρούνται. Τα νέα χρησιμοποιούν ως πρόθεμα τo UTF. Το έφτιαξα επειδή αντιμετώπιζα (και αντιμετωπίζω ακόμα) προβλήματα με την κωδικοποίηση στο Kubuntu.
Κώδικας: Επιλογή όλων

#!/bin/bash

for file in *
do
echo Converting $file to UTF8 character set;
iconv -f iso-8859-7 -t utf8 $file > UTF$file
echo Done;
done


2) Δεν είναι δικό μου. Το έχω χρησιμοποιήσει με επιτυχία για να κάνω backup. Για περιγραφή, δείτε πιο κάτω.
Κώδικας: Επιλογή όλων

#!/bin/sh

# This script does personal backups to a rsync backup server. You will end up
# with a 7 day rotating incremental backup. The incrementals will go
# into subdirectories named after the day of the week, and the current
# full backup goes into a directory called "current"
# tridge@linuxcare.com

# directory to backup
BDIR=$Ηομε

# excludes file - this contains a wildcard pattern per line of files to exclude
EXCLUDES=$HOME/cron/excludes

# the name of the backup machine
BSERVER=server

# your password on the backup server
#export RSYNC_PASSWORD=XXXXXX


########################################################################

BACKUPDIR=`date +%A`
OPTS="--force --ignore-errors --delete-excluded --exclude-from=$EXCLUDES
--delete --backup --backup-dir=/$BACKUPDIR -a"

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin

# the following line clears the last weeks incremental directory
[ -d $HOME/emptydir ] || mkdir $HOME/emptydir
rsync --delete -a $HOME/emptydir/ $BSERVER::$USER/$BACKUPDIR/
rmdir $HOME/emptydir

# now the actual transfer
rsync $OPTS $BDIR $BSERVER::$USER/current


3) Αν στήσετε Server ίσως σας φανεί χρήσιμο. Πρέπει να κάνετε αλλαγές για να λειτουργίσει σωστά. Χρειάζεται ονόματα για τους φακέλους που θα φτιαχτούν, Το UUID του εξωτερικού, αν χρησιμοποιήσετε κανένα, και τις σωστές IP για τους υπολογιστές του δικτύου σας. Μια δυνατή προσθήκη πιστεύω πως θα είναι το bind.
Κώδικας: Επιλογή όλων

#vars for better maintainance
nfs_path=
smb_path=
mybook_path=

#create file system structure fo sharing
mkdir $nfs_path
mkdir $smb_path
mkdir $ftp_path
mkdir $mybook_path
chown nobody:nogroup $nfs_path -R
chmod a=rwx $nfs_path -R
chown nobody:nogroup $smb_path -R
chmod a=rwx $smb_path -R
chown nobody:nogroup $mybook_path -R
chmod a=rwx $mybook_path -R

#Nfs
apt-get install nfs-kernel-server
cp /etc/exports /etc/exports.original
echo ${nfs_path}" 192.168.0.3(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports
echo ${nfs_path}" 192.168.0.4(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports
echo ${nfs_path}" 192.168.0.2(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports
echo ${mybook_path}" 192.168.0.4(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports
/etc/init.d/nfs-kernel-server restart

#SSH
apt-get install openssh-server

#Samba
apt-get install samba
cp /etc/samba/smb.conf /etc/samba/smb.conf.original
echo [shared] >> /etc/samba/smb.conf
echo " comment = Server Shared File System" >> /etc/samba/smb.conf
echo " path = "${smb_path} >> /etc/samba/smb.conf
echo " browsable = yes" >> /etc/samba/smb.conf
echo " guest ok = yes" >> /etc/samba/smb.conf
echo " read only = no" >> /etc/samba/smb.conf
echo " create mask = 0755" >> /etc/samba/smb.conf
/etc/init.d/samba restart

#MySQL
apt-get install mysql-server
/etc/init.d/mysql restart
netstat -tap | grep mysql

#Php
apt-get install php5
apt-get install php5-cli
apt-get install php5-mysql

#Apache and modules
apt-get install apache2
cp site /etc/apache2/sites-available/site #Assuming a configuration file named site exists in the same dir
cp /etc/apache2/ports.conf /etc/apache2/ports.conf.backup
cp ports.conf /etc/apache2.ports.conf
echo "ServerName ******" >> /etc/apache2/httpd.conf
a2ensite site
a2dissite default
apt-get install libapache2-mod-auth-mysql
a2enmod auth_mysql
apt-get install libapache2-mod-php5
a2enmod php5 #Usally Already Enabled
/etc/init.d/apache2 restart

#Permanent mount of externall My Book
cp /etc/fstab /etc/fstab.backup
echo "#My Book" >> /etc/fstab
echo UUID=******** ${mybook_path} ext4 auto,sync,rw,exec,user,rw 0 1
echo "\n" >> /etc/fstab
mount -a

#rsync Backup
apt-get install rsync

#First Maintenance
apt-get update
apt-get upgrade
apt-get autoremove
Οδηγείες ΧρήσηςΤutorialsΑναζήτηση
⇛ Linux: noob ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Πολύ Καλά
⇛ Xubuntu 9.04 (Jaunty Jackalope) 64bit
⇛ Intel Core2Duo E6600 (2.4GHZ 4MB) ┃ Asus P5B 965 ┃ 2x1GB DDR2 667MHZ ┃ Radeon X1600P 256MB ┃ MAudio Audiophile 192
Άβαταρ μέλους
Ntelispak
babeTUX
babeTUX
 
Δημοσιεύσεις: 36
Εγγραφή: 19 Ιουν 2009, 20:15
Τοποθεσία: Μεταμόρφωση Αττικής
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Winterfellow » 18 Νοέμ 2010, 15:10

Πολύ καλός οδηγός! Χίλια μπράβο στον φίλο ftso που το έγραψε. Θα ήθελα να ασχοληθώ με linux programming, αλλα σκαλώνω στο γεγονός ότι δεν ξερω το terminal και τις εντολές του. Θελω να πω... γνωρίζω τις βασικές λειτουργίες, όπως ls, cd, cp, mv, mkdir, ~, pipe, >>, κλπ αλλά μέχρι εκεί. Θεωρείτε ότι θα πρέπει να εμβαθύνω περισσότερο στο terminal και κατόπιν να δοκιμάσω να ασχοληθώ με το bash programming ;
Γνώσεις ⇛ Linux: Αρχάριος ┃ Προγραμματισμός: Κάτι λίγα ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 10.10 64bit σε Hewlet-Packard Compaq 6720s
Προδιαγραφές ⇛ T75002GBIntel Mobile GM965/GL960 GraphicsIntel PRO/Wireless 4965 AGHD Audio Intel ICH8 ControllerBIOS: F.09
Άβαταρ μέλους
Winterfellow
babeTUX
babeTUX
 
Δημοσιεύσεις: 11
Εγγραφή: 16 Νοέμ 2010, 22:02
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό ftso » 18 Νοέμ 2010, 15:47

Ξεκίνα και γράψε μικρά σενάρια. Διάβασε περισσότερη θεωρία και μάθε ακόμα περισσότερες βασικές εντολές.
Παράδειγμα sed, awk, grep, echo...

Δες τα πάντα στον οδηγό viewtopic.php?f=9&t=367
Δες σενάρια που έχουν γίνει ποστ εδώ και προσπάθησε να καταλάβεις ακριβώς τι κάνουν.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Winterfellow » 19 Νοέμ 2010, 01:52

Ευχαριστω πολύ για την καθοδήγηση. Αγορασα και το Learning the bash shell ισως με βοηθησει.
Γνώσεις ⇛ Linux: Αρχάριος ┃ Προγραμματισμός: Κάτι λίγα ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 10.10 64bit σε Hewlet-Packard Compaq 6720s
Προδιαγραφές ⇛ T75002GBIntel Mobile GM965/GL960 GraphicsIntel PRO/Wireless 4965 AGHD Audio Intel ICH8 ControllerBIOS: F.09
Άβαταρ μέλους
Winterfellow
babeTUX
babeTUX
 
Δημοσιεύσεις: 11
Εγγραφή: 16 Νοέμ 2010, 22:02
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό medigeek » 19 Νοέμ 2010, 09:51

Winterfellow έγραψε:Ευχαριστω πολύ για την καθοδήγηση. Αγορασα και το Learning the bash shell ισως με βοηθησει.

δωρεάν ebook: http://dontfearthecommandline.blogspot.com/
http://grepnick.com/downloads/Introduct ... ine_SE.zip
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό ftso » 09 Ιαν 2011, 17:38

Έχω παρατηρήσει ότι αν ρυθμίσω τον ktorrent να κάνει απεριόριστο σε ταχύτητα upload τότε δεν μπορώ να σερφάρω καθώς έχω μεγάλες καθυστερήσεις.
Αυτό δεν συμβαίνει και με το download.
Έτσι για την γραμμή μου που είναι 24/1 Mbit απο την forthnet έχω ορίσει τον ktorrent στα 15 KiB/s maxupload και δεν έχω κανένα πρόβλημα.
Επειδή όμως πολλές φορές αφήνω το pc ανοιχτό χωρίς να το χρησιμοποιώ θέλω η ταχύτητα του upload να γίνετε απεριόριστη.
Έτσι με ένα μικρό script και τον cron κάθε φορά που κλείνει η οθόνη αυτόματα η ταχύτητα πάει στο max, ενώ μόλις η οθόνη ξανα ανοίξει πάει και πάλι στα 15 KiB/s!

Το παραθέτω λοιπόν καθώς μπορεί να έχει και κάποιος άλλος το ίδιο ή παρόμοιο πρόβλημα...

To script είναι αυτό:
Κώδικας: Επιλογή όλων
#!/bin/bash

xset q | grep "Monitor\ is \On"
if [ $? -eq 0 ]; then
qdbus org.ktorrent.ktorrent /settings org.ktorrent.settings.setMaxUploadRate 15
else
qdbus org.ktorrent.ktorrent /settings org.ktorrent.settings.setMaxUploadRate 0
fi
exit 0;


και η γραμμή στον cron αυτήν:
Κώδικας: Επιλογή όλων
*/1 * * * * DISPLAY=:0.0 /home/ftso/bin/ktorrentuploadspeed
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό s.dalas » 09 Ιαν 2011, 18:25

Αν το αλλάξω για το transmission θα δουλέψει ?
...Open minds using open source...
Γνώσεις ⇛ Linux: Όσο ζω μαθαίνω | Προγραμματισμός: Πολύ λίγα | Αγγλικά: οφ κορς
Desktop -> Dual Core 2.5GHz, 5Gb of Ram, 640Gb HD, Nvidia 9500GT + Ubuntu 13.10 = Life is simple...
Notebook -> 10.04 dual boot Win 7 σε lenovo ideapad U350
;) Οδηγός προς Νεοεισερχομένους ;) Οδηγοί - How to - Tutorials σε Κατηγορίες ;) http://UbuntuForums.org ;)
Άβαταρ μέλους
s.dalas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2115
Εγγραφή: 19 Οκτ 2009, 03:42
Τοποθεσία: Καλλιθεα, Αθηνα
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι