Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Symlinks erkennen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 28.08.2008, 21:19    Titel: Symlinks erkennen Antworten mit Zitat

Hi,
Ich frage mich ob es möglich ist zu erkennen ob eine Datei oder ein Verzeichnis normal ist oder ob sie/es ein Symlink ist. Ich benutze dir() um den Inhalt eines Verzeichnisses einzulesen, aber ich will keine Symlinks haben.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 28.08.2008, 23:11    Titel: Antworten mit Zitat

Code:
man stat


und

Code:
man file


sind hoch interessant. einfach mal auf ne datei die kein symlink ist anwenden, und dann auf ne datei die ein symlink ist.

Lutz böse Ifer
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 03.09.2008, 06:02    Titel: Antworten mit Zitat

pipes sucken aber, ausserdem, ist das bei jeder Distro/ jeder Shell die gleiche Ausgabe? also ein parameterloses ls hat bei mir auf 4 versch. Distros 4 versch. Outputs gemacht. Wobei das sogar bei Suse 9.0 und Suse 10.0 verschieden war...
aber vlt passt das ja mit Parametern, kA

aber _eigentlich_ sollte man sich diese Funktion doch irgendwoher holen koennen oder? gibts da keine Libs?

greetz flo grinsen
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 03.09.2008, 09:58    Titel: Antworten mit Zitat

Flo hat Folgendes geschrieben:
pipes sucken aber

Na, bist offenbar kein echter Linux-Nutzer. grinsen

Die Ausgabe sollte meines Erachtens nicht Distributions- oder Shell-abhängig sein, sondern höchstens abhängig von der ls-Version. Vielleicht findest du hier ja genauere Informationen.

edit: habe vergessen, das verklammerte Links nicht funktionieren. Aber sich zu Ls_(Unix) durchzuklicken ist ja nicht schwer. happy
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 03.09.2008, 21:56    Titel: Antworten mit Zitat

Ich machs mir einfach happy
Code:
dim datei as string = environ("HOME")+"/Examples"
'Aliases für "symlink":
dim names(3) as string = {"symbolic link", "symlink", "soft link", "softlink"}

for i as integer = 1 to 2
   dim f as integer = freefile
   open pipe "file '" + datei + "' -b" for input as #f
   dim t as string
   line input #f, t
   dim isSymlink as byte = 0
   
   for j as integer = lbound(names) to ubound(names)
      if lcase(left(t, len(names(j)))) = names(j) then
         isSymlink = 1
      endif
   next j
   if isSymlink then
      print datei + " ist ein Symlink."
   else
      print datei + " ist kein Symlink."
   endif
   
   print
   datei = "/"
   close #f
next i

_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 03.09.2008, 22:19    Titel: Antworten mit Zitat

Flo hat Folgendes geschrieben:
pipes sucken aber, ausserdem, ist das bei jeder Distro/ jeder Shell die gleiche Ausgabe? also ein parameterloses ls hat bei mir auf 4 versch. Distros 4 versch. Outputs gemacht. Wobei das sogar bei Suse 9.0 und Suse 10.0 verschieden war...
aber vlt passt das ja mit Parametern, kA


Ich kann dir sogar sagen, woran das liegt:

Zitat:
alias ls='ls -F --show-control-chars --color=auto'


gib mal in der konsole "alias" ein, dann siehst du, welche befehle mit welchen parametern aufgerufen werden. Mit diesem Befehl kann man auch andere erstellen (nur für die aktuelle sitzung gültig, ansonsten in die bashrc eintragen, oder z.B. in /etc/profile.d/alias.sh).
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 05.09.2008, 21:55    Titel: Antworten mit Zitat

aah grinsen mh, hat ne gewisse logik grinsen

mal ganz am Rande, ist es machbar, anhand der Dateinummer den Namen rauszufinden?

also
Code:

open "cooledatei" for input as #1

PRINT supidupifunktion (1)

close #1

'ausgabe: cooledatei


und wenn, wuerde die bei nem symlink dann den link ausgeben oder die datei die verlinkt wird?
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 06.09.2008, 00:01    Titel: Antworten mit Zitat

nein, das bleibt dir selber überlassen, supidupifunktion() zu schreiben...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz