• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Breadcrumb

  • Hjem
  • forums
  • Slette filer fra bash ...

Hvad kan du med 100% sikkerhed sige, at du har stemt?

Valgmuligheder
Af frogmaster | 13.05.2017 16:38

Slette filer fra bash ...

Programmering

Er altid en risikabel ting. Selv pro har kvajet sig. Hvis man alligevel har brug for det, så skal man sikre sig at bash er failsafe.



Dette herunder sletter Favicons i Google Chrome og tømmer user cache (~/.cache). Det bør være sikkert at bruge, men hvis nogle finder en fejl eller forbedring, så modtages info med tak.



#!/bin/bash



# Define variables

Dir_name_1=~/.config/google-chrome/Default/

Dir_name_2=~/.cache/



# Delete Chrome Favicons

echo "Preparing to delete Favicons in Google Chrome" >&2

if [[ -d $Dir_name_1 ]]; then

if cd $Dir_name_1 ; then

echo "Deleting Chrome's Favicons" >&2

rm -f Favicons

rm -f Favicons-journal

else

echo "Cannot cd to '$Dir_name_1'" >&2

# exit 1

fi

else

echo "No such directory: '$Dir_name_1'" >&2

# exit 1

fi

# echo -e "Chrome's Favicons \033[33;1mdeleted\033[0m" >&2

echo

# exit



# Delete files and folders recursively within the user cache

echo "Preparing to delete everything in user cache" >&2

if [[ -d $Dir_name_2 ]]; then

if cd $Dir_name_2 ; then

echo "Recursively deleting Files and Folders in user cache" >&2

echo

rm -r -f .* *

else

echo "Cannot cd to '$Dir_name_2'" >&2

# exit 1

fi

else

echo "No such directory: '$Dir_name_2'" >&2

# exit 1

fi

# echo -e "Files and Folders deleted in user cache \033[33;1mdeleted\033[0m" >&2

echo

# exit



# run bleachbit

#PROGRAM="bleachbit"

#echo -e "Running\033[33;1m $PROGRAM \033[0m"

#$PROGRAM



$SHELL


  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer6

8 år 1 måned siden

Permalink

Indsendt af mich den 15. maj 2017 kl. 02:03

Permalink

Nu er jeg ikke script-haj

Jeg ser ingen åbenlyse fejl (hvad jeg heller ikke havde ventet), men nu er jeg heller ikke script-haj.



Når jeg skal teste potentielt skadevoldende scripts, plejer jeg at afprøve dem på kopier af de virkelige data.

Somme tider bliver jeg forbavset over, hvilke indlysende ting, jeg har kunnet overse.

  • Log ind eller opret dig for at tilføje kommentarer

8 år 1 måned siden

Permalink

Indsendt af frogmaster den 15. maj 2017 kl. 12:45

Permalink

Når jeg skal teste

#1: Når jeg skal teste potentielt skadevoldende scripts, plejer jeg at afprøve dem på kopier af de virkelige data.



Det er selvfølgelig vigtigt. Også at ændre filnavne i scriptet til nogen der ikke eksistere, for at teste fejlmeddelser. For at gøre det mere fejlsikkert, er der tilført en funktion der tvinger bruger til at bekræfte med Enter tasten og stdout og stderr er undertrykket, for at undgå terminalen skriver lange ting. Ellers kan jeg ikke finde på mere.



#!/bin/bash



# Define variables

DIR_NAME_1=~/.config/google-chrome/Default/

DIR_NAME_2=~/.cache/

PROGRAM="bleachbit"



# Define function (force to use Enter key)

PAUSE_ENTER(){

echo -e "Press \033[33;1m[Enter]\033[0m key to continue..."

read -s -p "" fackEnterKey

}



# Delete Chrome Favicons

echo "Preparing to delete Favicons in Google Chrome" >&2

if [[ -d $DIR_NAME_1 ]]; then

if cd $DIR_NAME_1 ; then

rm -f Favicons

rm -f Favicons-journal

echo -e "\033[33;1mDone\033[0m" >&2

else

echo -e "\033[1;31;1mAborting - Cannot cd to '$DIR_NAME_1'\033[0m" >&2

# exit 1

fi

else

echo -e "\033[1;31;1mAborting - No such directory: '$DIR_NAME_1'\033[0m" >&2

# exit 1

fi

echo

# exit



# Delete files and folders recursively within the user cache

echo "Preparing to delete everything in user cache" >&2

if [[ -d $DIR_NAME_2 ]]; then

if cd $DIR_NAME_2 ; then



# Read function (wait for Enter to be pressed)

PAUSE_ENTER



# Delete ~/.cache files and suppress stdout and stderr

rm -r -f .* * &>/dev/null

echo -e "\033[33;1mDone\033[0m" >&2

else

echo -e "\033[1;31;1mAborting - Cannot cd to '$DIR_NAME_2'\033[0m" >&2

# exit 1

fi

else

echo -e "\033[1;31;1mAborting - No such directory: '$DIR_NAME_2'\033[0m" >&2

# exit 1

fi

echo

# exit

$SHELL



# run bleachbit

#echo -e "Running\033[33;1m $PROGRAM \033[0m"

#$PROGRAM &>/dev/null


  • Log ind eller opret dig for at tilføje kommentarer

8 år siden

Permalink

Indsendt af marlar den 15. maj 2017 kl. 15:02

Permalink

Når jeg skal teste

#1: Når jeg skal teste potentielt skadevoldende scripts, plejer jeg at afprøve dem på kopier af de virkelige data.





Ditto her. Desuden bruger jeg tit at smide et echo foran, så den i stedet for at udføre kommandoen, udskriver den i stedet.

  • Log ind eller opret dig for at tilføje kommentarer

8 år siden

Permalink

Indsendt af frogmaster den 15. maj 2017 kl. 20:42

Permalink

Der er en ting i scriptet

#1 Somme tider bliver jeg forbavset over, hvilke indlysende ting, jeg har kunnet overse.



Der er en ting i scriptet der ikke er fejl sikkert. Det tjekker om biblioteket eksisterer, men ikke om filerne gør (Favicons). Med andre ord bør der tilføres endnu en variabel og if/else, hvis der også skal tjekkes for det.

  • Log ind eller opret dig for at tilføje kommentarer

8 år siden

Permalink

Indsendt af mich den 16. maj 2017 kl. 00:07

Permalink

Der er en ting i

#4: Der er en ting i scriptet der ikke er fejl sikkert. Det tjekker om biblioteket eksisterer, men ikke om filerne gør (Favicons).



Og det opdager man måske først senere - i hvert fald hvis man ikke skriver scripts jævnligt. Man kan ende med et script med en masse tests og fejlhåndteringer, men det bliver jo nok mere robust af det.

  • Log ind eller opret dig for at tilføje kommentarer

8 år siden

Permalink

Indsendt af frogmaster den 16. maj 2017 kl. 02:14

Permalink

Og det opdager man

#5: Og det opdager man måske først senere



Ja. I det her eksempel (Favicons) opdager man det med det samme. Bogmærkeikonerne er der stadig i Chrome når man åbner browseren, hvis Google finder på at ændre filnavnet. I andre situationer kan det være alvorligt at filer man troede var slettet stadig er der.

  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Ingen Mint 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

Københavns og Aarhus Kommune dropper MS 9
Open Source-eksperimentet 1
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 2
Microsoft og Google ud af de danske skoler 2
Udfordringer med lydin på Debian 12 1
ExplainingComputers? 2
Nextcloud på mobilen 1
Linuxin er nu migreret til Drupal 11 11
Læsning af databasefil i Firefox 1
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 1
Ny Linuxin på vej :) 43
5G 9
Edit 12
PCLinuxOS 23
Fairphone? 9
"Intet realistisk alternativ" - mig i r*ven 9
2 stk Jolla C2 sælges 2
En farverig APT 3.0 udgivelse imponerer med sine nye funktioner 5
Vanilla OS 12
Dirk Schrödter kom forbi... 1

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !