Ha Windows alatt megpróbálunk törölni egy olyan fájlt amit valamelyik másik program még használ, akkor hibaüzenetet kapunk, a fájl pedig marad a helyén. Linux/Unix alatt a fájl eltűnik a fájllistából, de ténylegesen csak akkor törlődik amikor az utolsó azt használó program is bezárta a fájlt.
NFS-en ez másképp van: a fájl rögtön törlődik. Ha valaki épp használja akkor a következő olvasásnál IOException-t fog kapni a fenti, Stale NFS file handle hibaüzenettel.
Forrás: Lucene in Action, 2nd edition
Alább egy rövid szkript, ami képes eltávolítani a fájlok neveiből az ékezeteket. Pontosabban kiírja az ehhez szükséges mv parancsokat a kimenetre.
Elboldogul a könyvtárakkal is, és azzal az esettel is, amikor több ékezetes könyvtár van egy útvonalon.
#!/bin/bash # Ékezettelenítő, v1.0 # palacsint, http://palacsint.hu/, 2010. 08. 28. remove_ekezet() { echo "$@" | sed y/áéíóöőúüűÁÉÍÓÖŐÚÜŰ/aeiooouuuAEIOOOUUU/ } DIR=. if [ $# -eq 1 ] then DIR=$1 fi find $DIR -type f -or -type d | while read SOURCE do DEST=$(remove_ekezet "$SOURCE") SOURCE_BASENAME=$(basename "$SOURCE") DEST_BASENAME=$(basename "$DEST") if [ "$SOURCE_BASENAME" = "$DEST_BASENAME" ] then # a fajl neve nem valtozik continue fi SOURCE_DIRNAME=$(dirname "$SOURCE") # ÁÁÁ/ÉÉÉ/ÍÍÍ eset kezelése TRANSLATED_SOURCE_DIRNAME=$(remove_ekezet "$SOURCE_DIRNAME") CURRENT_SOURCE="${TRANSLATED_SOURCE_DIRNAME}/${SOURCE_BASENAME}" echo "mv \"${CURRENT_SOURCE}\" \"$DEST\"" done
Letöltés: ekezettelenito.sh
$ cfv -T -f checkthis.torrent
A futtatáshoz a cfv mellett a bittorrent vagy a bittornado csomagra is szükség van.
Azt érdemes még tudni, hogy a torrent fájlban nem fájlonként van egy-egy ellenőrzőösszeg (SHA1 egyébként), hanem csomagonként. Egy csomagba több fájl bájtjai is belelóghatnak. Így például ha egy kis fájl egyetlen bitje hibás, akkor emiatt valószínűleg több fájlt is hibásnak fog feltüntetni a cfv, mert a hibás bitet tartalmazó csomagba valószínűleg belelógnak más fájlok is.
Kicsit megdöbbentem, amikor valamelyik nap észrevettem a kb. egy éve telepített Debian GNOME Rendszereszközök menüjében a következő menüpont:
Sose lehet tudni, mikor van rá szükség így 2010 táján... Már nem is emlékszem mikor volt utoljára floppy meghajtóm. Egyébként a gnome-utils csomag része, gfloppy néven.
Épp összedobtam a fenti problémára egy shell szkriptet, aztán találtam egy kész megoldást: showfsck. A karmic-os Ubuntu csomag működik Debian alatt is. Egyébkén ez is csak egy egyszerű shell szkript, a csomagból kiszedve valószínűleg más rendszerek alatt is gond nélkül futtatható.
Szerintem érdemes berakni crontabba, így minden újraindítás után kapunk egy levelet az aktuális helyzetről.
# cat /etc/cron.d/showfsck PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root @reboot root /usr/sbin/showfsck
Fájl menü, Importálás, Előre, Egyetlen fájl importálása, Előre, Fájlnév: ~/.kde/share/apps/korganizer/std.ics, Megnyitás, Fájltípus: iCalendar fájlok, Előre, Előre, Importálás.
Ezen kívül a ~/.kde/share/apps/korganizer könyvtárban még volt néhány üres könyvtár. Ezekkel nem foglalkoztam. Elképzelhető, hogy csak valamilyen általam nem használt funkció miatt voltak csak üresek, és adott esetben ezeket külön kell migrálni.
A korábbi winchesterlistás bejegyzés továbbfejlesztett változata a következő két szkript. Az első a SMART értékeket fájlba naplózza, a második pedig e-mailben küldi őket. Debian alatt a /etc/cron.daily, cron.weekly, stb. mappába megfelelő helyük van.
smartlog:
#!/bin/bash # smart data log script by palacsint, v1.0 # http://palacsint.hu/ # 2009. 11. 18. DATE=$(date +%Y-%m-%d) LOGDIR=/var/log/smart/ SMARTCTL=/usr/sbin/smartctl if [ ! -x $SMARTCTL ] then echo "error: $SMARTCTL not found" exit 1; fi #grep 0 /sys/block/{sd*,hd*}/removable | awk -F"/" '{print $4}' | while read DEVICE grep 0 /sys/block/sd*/removable | awk -F"/" '{print $4}' | while read DEVICE do DEVFILE=/dev/${DEVICE} if [ ! -b $DEVFILE ] then echo "${DEVFILE}: is not a block file" continue; fi LOGFILE="${LOGDIR}${DATE}-${DEVICE}.log" $SMARTCTL -a -d ata /dev/${DEVICE} > $LOGFILE done
smartmail:
#!/bin/bash # smart data mail script by palacsint, v1.0 # http://palacsint.hu # 2009. 11. 18. DATE=$(date +%Y-%m-%d) SMARTCTL=/usr/sbin/smartctl MAILADDR="miki@localhost" if [ ! -x $SMARTCTL ] then echo "error: $SMARTCTL not found" exit 1; fi #grep 0 /sys/block/{sd*,hd*}/removable | awk -F"/" '{print $4}' | while read DEVICE grep 0 /sys/block/{sd*}/removable | awk -F"/" '{print $4}' | while read DEVICE do DEVFILE=/dev/${DEVICE} if [ ! -b $DEVFILE ] then echo "${DEVFILE}: is not a block file" continue; fi $SMARTCTL -a -d ata /dev/${DEVICE} | mail -s "smartctl - ${DEVICE} - ${DATE}" $MAILADDR done
Középtájon van egy kikommentezett sor, ami akkor hasznos, ha nem csak sd* lemezek vannak a rendszerben.
Szintén pontokba szedve pár gondolat:
Egy apró shell szkript, amely mindenféle, időnként megszakadó stream felvételére használható.
#!/bin/bash URL=$1 while true do DATE=`date +%Y%m%d_%H_%M_%S_%N` mplayer -dumpstream "$URL" -dumpfile ${DATE}.dump sleep 2 done
A kimenete elég sok fájl lesz, de cserébe akár ssh-n, X nélkül is futtatható.
Ha nincs kedved man-t olvasni, akkor a topban a következő gombokat kell megnyomni: f, j, enter.
Több proci esetén érdemes az 1-est is nyomkodni.
Ezután a W megnyomásával elmenthető a ~/.toprc fájlba az aktuális konfiguráció, így legközelebb már a fentieket sem kell bepötyögni.
Ugyanez ps-sel a következő:
ps -FA
A használt processzor azonosítóját a PSR oszlop tartalmazza.
Legutóbbi hozzászólások
8 év 38 hét
9 év 27 hét
9 év 30 hét
9 év 49 hét
10 év 51 hét
11 év 4 hét
11 év 4 hét
11 év 5 hét
11 év 15 hét
11 év 37 hét