For at lære noget nyt, ønsker jeg at slette en fil/mappe ved opstart af Ubuntu 8.10
Filen/mappen er der nogle gange hvis jeg spiller fx. FreeCol.
Er der nogle der vil komme med en howto til et script/sh eller hvad det nu hedder i linux, som kan slette en fil og en mappe.
Det ville være rart hvis det kunne køre før: system > indstillinger > sessioner
Slet fil/mappe ved opstart
-
- Indlæg: 5
- Tilmeldt: 20. nov 2006, 20:40
- IRC nickname: IzNoGoUd
- Geografisk sted: Middelfart
-
- Redaktør
- Indlæg: 5515
- Tilmeldt: 26. apr 2008, 20:52
- IRC nickname: laoshi
- Geografisk sted: Vejle
Re: Slet fil/mappe ved opstart
Hvis mappen ligger på samme placering hver gang er det ikke noget problem.
Du sletter mappen med indhold ved rm -R STI_TIL_MAPPE - hvis den f.eks hedder /home/BRUGERNAVN/FreeCol så er det
For at lave et script kan du højreklikke på Skrivebordet > Opret dokument > Skalprogram
Under den tekst som allerede står i dokumentet skriver du din kommando ind, gemmer med et passende navn, f.eks fjern_FreeCol.sh. Scriptet indeholder nu
Du kan så flytte den til /usr/local/bin og gøre den udførbar med flg.
For at checke at alt virker som det skal, så prøv et køre scriptet manuelt efter en login hvor mappen findes (eller opret mappen selv, læg en fil i den og se hvad der sker). Det gør du ved
Hvis det kører uden problemer, så kan du tilføje scriptet til at køre automatisk ved opstart ved hjælp af System > Indstillinger > Sessioner > Opstartsprogrammer > Tilføj. Her angiver du et navn samt kommandoen
Værre er det såmænd ikke.
Vær opmærksom på, at når terminalen beder dig om at angive password, så flytter markøren sig ikke medens du skriver, men dit input modtages alligevel. Tryk <enter> og så kører det. Når en kommando er korrekt udført kommer der en ny kommandoprompt. Hvis ikke, så får du en fejlmeddelelse som du kan bruge til at regne ud hvad du har gjort galt. Hvis du bruger de samme navne som jeg har foreslået her, så behøver du ikke at indtaste kommandoerne (med fare for tastefejl). Du kan kopiere her fra med ctrl+c og indsætte i terminalen med shift+ctrl+v
Du sletter mappen med indhold ved rm -R STI_TIL_MAPPE - hvis den f.eks hedder /home/BRUGERNAVN/FreeCol så er det
Kode: Vælg alt
rm -R ~/FreeCol
For at lave et script kan du højreklikke på Skrivebordet > Opret dokument > Skalprogram
Under den tekst som allerede står i dokumentet skriver du din kommando ind, gemmer med et passende navn, f.eks fjern_FreeCol.sh. Scriptet indeholder nu
Kode: Vælg alt
#!/bin/bash
rm -R ~/FreeCol
Du kan så flytte den til /usr/local/bin og gøre den udførbar med flg.
Kode: Vælg alt
sudo mv ~/Skrivebord/fjern_FreeCol.sh /usr/local/bin/fjern_FreeCol.sh && sudo chown root /usr/local/bin/fjern_FreeCol.sh && sudo chmod +x /usr/local/bin/fjern_FreeCol.sh
For at checke at alt virker som det skal, så prøv et køre scriptet manuelt efter en login hvor mappen findes (eller opret mappen selv, læg en fil i den og se hvad der sker). Det gør du ved
Kode: Vælg alt
fjern_FreeCol.sh
Hvis det kører uden problemer, så kan du tilføje scriptet til at køre automatisk ved opstart ved hjælp af System > Indstillinger > Sessioner > Opstartsprogrammer > Tilføj. Her angiver du et navn samt kommandoen
Kode: Vælg alt
/usr/local/bin/fjern_FreeCol.sh
Værre er det såmænd ikke.
Vær opmærksom på, at når terminalen beder dig om at angive password, så flytter markøren sig ikke medens du skriver, men dit input modtages alligevel. Tryk <enter> og så kører det. Når en kommando er korrekt udført kommer der en ny kommandoprompt. Hvis ikke, så får du en fejlmeddelelse som du kan bruge til at regne ud hvad du har gjort galt. Hvis du bruger de samme navne som jeg har foreslået her, så behøver du ikke at indtaste kommandoerne (med fare for tastefejl). Du kan kopiere her fra med ctrl+c og indsætte i terminalen med shift+ctrl+v
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"
(Dietrich Bonhoeffer 1906-1945)
http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"
(Dietrich Bonhoeffer 1906-1945)
http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
-
- Indlæg: 5
- Tilmeldt: 20. nov 2006, 20:40
- IRC nickname: IzNoGoUd
- Geografisk sted: Middelfart
Re: Slet fil/mappe ved opstart
Takker mange gange, jeg har fået det til at virke, og lært lidt mere
Her er min løsning:
#!/bin/bash
#
# /usr/local/bin/sletfiler.sh
# Sletter filer/mapper ved opstart
# Fjerner fil, ingen prompt hvis filen ikke findes -f
rm -f ~/test/test.txt
# Fjerner mappe -R, ingen prompt hvis mappen ikke findes -f
rm -R -f ~/test2
# EOF
Er det stillet korrekt op?
Hvis jeg nu vil have scriptet til at køre FØR: system > indstillinger > sessioner, hvad gør jeg så?
Her er min løsning:
#!/bin/bash
#
# /usr/local/bin/sletfiler.sh
# Sletter filer/mapper ved opstart
# Fjerner fil, ingen prompt hvis filen ikke findes -f
rm -f ~/test/test.txt
# Fjerner mappe -R, ingen prompt hvis mappen ikke findes -f
rm -R -f ~/test2
# EOF
Er det stillet korrekt op?
Hvis jeg nu vil have scriptet til at køre FØR: system > indstillinger > sessioner, hvad gør jeg så?
-
- Redaktør
- Indlæg: 5515
- Tilmeldt: 26. apr 2008, 20:52
- IRC nickname: laoshi
- Geografisk sted: Vejle
Re: Slet fil/mappe ved opstart
Det ser udmærket ud. Jeg tror ikke du behøver at skrive
du kan vist godt nøjes med
R = rekursiv - d.v.s man fjerner mappen med alt indhold
Du kan til hver en tid køre scriptet manuelt fra en terminal med
Hvis du vil køre det på bestemte tidspunkter, så kan du se en fremgangsmåde her:https://ubuntudanmark.dk/forum/viewtopic.php?f=11&t=6043
rm -R -f ~/test2
du kan vist godt nøjes med
rm -Rf ~/test2
R = rekursiv - d.v.s man fjerner mappen med alt indhold
Du kan til hver en tid køre scriptet manuelt fra en terminal med
Kode: Vælg alt
sletfiler.sh
Hvis du vil køre det på bestemte tidspunkter, så kan du se en fremgangsmåde her:https://ubuntudanmark.dk/forum/viewtopic.php?f=11&t=6043
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"
(Dietrich Bonhoeffer 1906-1945)
http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"
(Dietrich Bonhoeffer 1906-1945)
http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
-
- Indlæg: 889
- Tilmeldt: 19. dec 2008, 15:52
- IRC nickname: Jakob77
Re: Slet fil/mappe ved opstart
iznogoud skrev:Takker mange gange, jeg har fået det til at virke, og lært lidt mere
Her er min løsning:
#!/bin/bash
#
# /usr/local/bin/sletfiler.sh
# Sletter filer/mapper ved opstart
# Fjerner fil, ingen prompt hvis filen ikke findes -f
rm -f ~/test/test.txt
# Fjerner mappe -R, ingen prompt hvis mappen ikke findes -f
rm -R -f ~/test2
# EOF
Er det stillet korrekt op?
Hvis jeg nu vil have scriptet til at køre FØR: system > indstillinger > sessioner, hvad gør jeg så?
Det vil du ikke, for det er du ikke gammel nok til at pille ved endnu..!
Nej, jeg ved det ikke, men det bliver nok nemt mere usikkert.
Jeg tror nok, at du måske kan gøre det ved at tilføje dit script eller kalde det næsten i bunden af .bashrc
Men jeg tør ikke anbefale det.
Og forresten mange tak for dit spørgsmål, jeg lærer også af det.
-
- Indlæg: 5
- Tilmeldt: 20. nov 2006, 20:40
- IRC nickname: IzNoGoUd
- Geografisk sted: Middelfart
Re: Slet fil/mappe ved opstart
Så blev jeg voksen Jeg har pillet lidt og googlet.
Hvis man bruger Gnome deskoppen kan man slette filer og mapper ved logout!
Logoff script:
sudo nano /etc/gdm/PostSession/Default
indsæt "rm -f ~/test.txt" inden "exit 0"
Måske skal der være fuld path "/bin/rm -f /home/brugernavn/test.txt" for at være helt korrekt, eller?
Logon script:
sudo nano /etc/gdm/PreSession/Default
Hvis nogle derude har brug for dette.
Hvis man bruger Gnome deskoppen kan man slette filer og mapper ved logout!
Logoff script:
sudo nano /etc/gdm/PostSession/Default
indsæt "rm -f ~/test.txt" inden "exit 0"
Måske skal der være fuld path "/bin/rm -f /home/brugernavn/test.txt" for at være helt korrekt, eller?
Logon script:
sudo nano /etc/gdm/PreSession/Default
Hvis nogle derude har brug for dette.
-
- Indlæg: 5
- Tilmeldt: 14. feb 2009, 14:10
Re: Slet fil/mappe ved opstart
øhhh spørgsål lyder måske lidt dumt
men min mappe ligger i
filsystem\usr eller en anden mappe hvad så......
men min mappe ligger i
filsystem\usr eller en anden mappe hvad så......
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: Slet fil/mappe ved opstart
kimkimsen skrev:øhhh spørgsål lyder måske lidt dumt
men min mappe ligger i
filsystem\usr eller en anden mappe hvad så......
Hej Kim
Du kan til enhver tid angive den absolutte sti.
Du skriver en absolut sti, hvis
- stien begynder med / tegnet - også kaldet root mappen (som ikke er det samme superbruger root's mappe som er /root)
- og herefter angiver hver maape som filsystemet skal navigere ned igennem for at komme til dit script/program, hvor:
- / er adskillesestegn imellem mapper, og filen
En guldgrube af linux relateret dokumentation finder du på: http://www.tldp.org
Jeg vil især anbefale
Bash guide for beginners og Advanced bash scripting guide på http://www.tldp.org/guides.html
Vil du forstå noget mere at opbygningen af linux styresystemers opbygning af filsystemet, så kig her:
Denne Youtube video er ret god:
"Linux Filesystem Hierarchy - Part One" (den tager lidt under 11 minutter):
http://www.youtube.com/watch?v=460IxkYmZxQ
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags