Differenze tra le versioni di "Leggere il file fstab per avere informazioni sui vari filesystem montati"
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
Il file di configurazione di sistema "''/etc/fstab''" contiene informazioni relative ai vari tipi di ''filesystem'' presenti nel sistema. | Il file di configurazione di sistema "''/etc/fstab''" contiene informazioni relative ai vari tipi di ''filesystem'' presenti nel sistema. | ||
− | |||
− | |||
− | |||
==Leggere il file ''/etc/fstab'' mediante le sole risorse di Gambas== | ==Leggere il file ''/etc/fstab'' mediante le sole risorse di Gambas== | ||
E' possibile accedere al file ''/etc/fstab'', e dunque alle informazioni di sistema in esso contenute, semplicemente utilizzando le risorse di Gambas. | E' possibile accedere al file ''/etc/fstab'', e dunque alle informazioni di sistema in esso contenute, semplicemente utilizzando le risorse di Gambas. | ||
Mostriamo un semplice esempio: | Mostriamo un semplice esempio: | ||
− | + | Public Sub Main() | |
+ | Dim fs, ss, tt As String[] | ||
Dim fstab As String | Dim fstab As String | ||
− | Dim ss | + | Dim b, c As Byte |
− | Dim | + | |
+ | fs = ["<file system>", "<mount point>", "<type>", "<options>", "<dump>", "<pass>"] | ||
+ | |||
+ | fstab = Trim(File.Load("/etc/fstab")) | ||
+ | |||
+ | ss = Split(fstab, "\n") | ||
+ | |||
+ | For b = 0 To ss.Max | ||
+ | If ss[b] Not Begins "#" Then | ||
+ | tt = Scan(ss[b], "* * * * * *") | ||
+ | For c = 0 To tt.Max | ||
+ | Print "\e[31m"; fs[c]; "\e[0m "; tt[c] | ||
+ | Next | ||
+ | Print | ||
+ | Endif | ||
+ | Next | ||
+ | |||
+ | End | ||
+ | |||
+ | |||
+ | ==Leggere il file ''/etc/fstab'' mediante le risorse della libreria ''libc.so.6''== | ||
+ | E' possibile accedere al file ''/etc/fstab'', e dunque alle informazioni di sistema in esso contenute, mediante le risorse della libreria ''/usr/include/fstab.h''. Si utilizzerà in Gambas la libreria ''libc.so.6'' . | ||
+ | |||
+ | Mostriamo di seguito un semplice esempio pratico: | ||
+ | Library "libc:6" | ||
+ | |||
+ | Public Struct fstab | ||
+ | fs_spec As Pointer | ||
+ | fs_file As Pointer | ||
+ | fs_vfstype As Pointer | ||
+ | fs_mntops As Pointer | ||
+ | fs_type As Pointer | ||
+ | fs_freq As Integer | ||
+ | fs_passno As Integer | ||
+ | End Struct | ||
+ | |||
+ | <FONT Color=gray>' ''struct fstab *getfsent (void)'' | ||
+ | ' ''Parses the next line from the file.''</font> | ||
+ | Private Extern getfsent() As Pointer | ||
+ | |||
+ | |||
+ | Public Sub Main() | ||
+ | |||
+ | Dim fs As New Fstab | ||
+ | Dim p As Pointer | ||
+ | |||
+ | While True | ||
+ | p = getfsent() | ||
+ | If p == 0 Then Exit | ||
+ | fs = p | ||
+ | With fs | ||
+ | Print "Dispositivo: ", String@(.fs_spec) | ||
+ | Print "Punto di montaggio: ", String@(.fs_file) | ||
+ | Print "Tipo di filesystem: ", String@(.fs_vfstype) | ||
+ | Print "Opzioni montaggio: ", String@(.fs_mntops) | ||
+ | Print "Tipo di montaggio: ", String@(.fs_type) | ||
+ | Print "Uso comando Dump: ", .fs_freq | ||
+ | Print "Ordine di Controllo:", .fs_passno | ||
+ | End With | ||
+ | Print | ||
+ | Wend | ||
− | + | End | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Leggere il file ''/etc/fstab'' mediante le risorse della libreria ''libMonoPosixHelper.so''== | ==Leggere il file ''/etc/fstab'' mediante le risorse della libreria ''libMonoPosixHelper.so''== | ||
− | + | Analogamente al paragrafo precedente, è possibile accedere al file ''/etc/fstab'' mediante le risorse della libreria: ''libMonoPosixHelper.so'' . | |
Mostriamo di seguito un semplice esempio pratico: | Mostriamo di seguito un semplice esempio pratico: | ||
Library "libMonoPosixHelper" | Library "libMonoPosixHelper" | ||
− | Public Struct | + | Public Struct fstab |
fs_spec As Pointer | fs_spec As Pointer | ||
fs_file As Pointer | fs_file As Pointer | ||
Riga 55: | Riga 93: | ||
' ''Parses the next line from the file.''</font> | ' ''Parses the next line from the file.''</font> | ||
Private Extern getfsent() As Pointer | Private Extern getfsent() As Pointer | ||
+ | |||
− | + | Public Sub Main() | |
− | |||
− | |||
− | |||
− | |||
− | |||
Dim fs As New Fstab | Dim fs As New Fstab | ||
Dim p As Pointer | Dim p As Pointer | ||
− | + | ||
− | + | Do | |
− | + | p = getfsent() | |
− | + | If p == 0 Then Break | |
− | + | fs = p | |
− | + | With fs | |
− | + | Print "Dispositivo: ", String@(.fs_spec) | |
− | + | Print "Punto di montaggio: ", String@(.fs_file) | |
− | + | Print "Tipo di filesystem: ", String@(.fs_vfstype) | |
− | + | Print "Opzioni montaggio: ", String@(.fs_mntops) | |
− | + | Print "Tipo di montaggio: ", String@(.fs_type) | |
− | + | Print "Uso comando Dump: ", .fs_freq | |
− | + | Print "Ordine di Controllo:", .fs_passno | |
− | + | End With | |
− | + | Print | |
− | + | Loop | |
− | + | ||
− | + | End | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Riferimenti= | =Riferimenti= | ||
* http://www.gnu.org/software/libc/manual/html_node/fstab.html | * http://www.gnu.org/software/libc/manual/html_node/fstab.html | ||
* http://www.freebsd.org/cgi/man.cgi?fstab%285%29 | * http://www.freebsd.org/cgi/man.cgi?fstab%285%29 |
Versione attuale delle 17:14, 14 gen 2024
Il file di configurazione di sistema "/etc/fstab" contiene informazioni relative ai vari tipi di filesystem presenti nel sistema.
Indice
Leggere il file /etc/fstab mediante le sole risorse di Gambas
E' possibile accedere al file /etc/fstab, e dunque alle informazioni di sistema in esso contenute, semplicemente utilizzando le risorse di Gambas.
Mostriamo un semplice esempio:
Public Sub Main() Dim fs, ss, tt As String[] Dim fstab As String Dim b, c As Byte fs = ["<file system>", "<mount point>", "<type>", "<options>", "<dump>", "<pass>"] fstab = Trim(File.Load("/etc/fstab")) ss = Split(fstab, "\n") For b = 0 To ss.Max If ss[b] Not Begins "#" Then tt = Scan(ss[b], "* * * * * *") For c = 0 To tt.Max Print "\e[31m"; fs[c]; "\e[0m "; tt[c] Next Print Endif Next End
Leggere il file /etc/fstab mediante le risorse della libreria libc.so.6
E' possibile accedere al file /etc/fstab, e dunque alle informazioni di sistema in esso contenute, mediante le risorse della libreria /usr/include/fstab.h. Si utilizzerà in Gambas la libreria libc.so.6 .
Mostriamo di seguito un semplice esempio pratico:
Library "libc:6" Public Struct fstab fs_spec As Pointer fs_file As Pointer fs_vfstype As Pointer fs_mntops As Pointer fs_type As Pointer fs_freq As Integer fs_passno As Integer End Struct ' struct fstab *getfsent (void) ' Parses the next line from the file. Private Extern getfsent() As Pointer Public Sub Main() Dim fs As New Fstab Dim p As Pointer While True p = getfsent() If p == 0 Then Exit fs = p With fs Print "Dispositivo: ", String@(.fs_spec) Print "Punto di montaggio: ", String@(.fs_file) Print "Tipo di filesystem: ", String@(.fs_vfstype) Print "Opzioni montaggio: ", String@(.fs_mntops) Print "Tipo di montaggio: ", String@(.fs_type) Print "Uso comando Dump: ", .fs_freq Print "Ordine di Controllo:", .fs_passno End With Print Wend End
Leggere il file /etc/fstab mediante le risorse della libreria libMonoPosixHelper.so
Analogamente al paragrafo precedente, è possibile accedere al file /etc/fstab mediante le risorse della libreria: libMonoPosixHelper.so .
Mostriamo di seguito un semplice esempio pratico:
Library "libMonoPosixHelper" Public Struct fstab fs_spec As Pointer fs_file As Pointer fs_vfstype As Pointer fs_mntops As Pointer fs_type As Pointer fs_freq As Integer fs_passno As Integer End Struct ' struct fstab *getfsent (void) ' Parses the next line from the file. Private Extern getfsent() As Pointer Public Sub Main() Dim fs As New Fstab Dim p As Pointer Do p = getfsent() If p == 0 Then Break fs = p With fs Print "Dispositivo: ", String@(.fs_spec) Print "Punto di montaggio: ", String@(.fs_file) Print "Tipo di filesystem: ", String@(.fs_vfstype) Print "Opzioni montaggio: ", String@(.fs_mntops) Print "Tipo di montaggio: ", String@(.fs_type) Print "Uso comando Dump: ", .fs_freq Print "Ordine di Controllo:", .fs_passno End With Print Loop End