Comment savoir si j'ai un lien symbolique, un raccourci quelconque ou un dossier sous Linux? Veuillez voir la capture d'écran suivante.
Comme vous pouvez le voir, la commande ls
répertorie les objets dont certains sont colorés en bleu foncé tandis que d'autres sont colorés en bleu clair (cyan). Quels sont ces objets de couleur cyan? S'agit-il de véritables liens symboliques?
Comme vous pouvez le voir, je ne peux pas cd
vers celui appelé hdd.
root@dm500hd:/# cd hdd
-sh: cd: can't cd to hdd
Je pense qu'il doit rediriger vers /media/hdd
Et j'ai remarqué que le dossier hdd est manquant.
Y'a t'il un moyen d'arranger cela?
pdate: Voici les résultats de la commande ls -al
.
Comme vous pouvez le voir, il dit hdd -> /media/hdd
Et il est coloré en rouge. Cela signifie-t-il qu'il est cassé ou qu'il est monté automatiquement, c'est-à-dire lorsqu'un disque dur physique est connecté?
pdate: Voici le résultat de la commande grep media /etc/auto*
.
Que font ces entrées /etc/auto.master:/media/net
Et /etc/auto.network
?
Voici les résultats de la commande ls -Fal /media
.
Est-ce utile? ...
Voici les résultats des commandes stat
et file
, ainsi que les listes de/usr et/bin.
Est-ce que cela m'aide d'une quelconque manière? ... est-ce que cela vous aide à m'aider? ...
Par ailleurs, ce que vous devez savoir, c'est que c'est un STB basé sur Linux avec BusyBox, c'est un système embarqué. Par conséquent, toutes les commandes ne sont pas prises en charge.
Mise à jour: Dernière capture d'écran, montrant les fichiers et les commandes prises en charge dans/sbin et/usr/sbin.
Mise à jour: Nouveau partage ajouté ...
J'ai maintenant supprimé cet ancien partage et en ai recréé un avec le même nom qu'avant et j'ai également ajouté un deuxième partage maintenant. Alors maintenant, j'en ai deux.
SHARES
remote share local share
mydream dream1
mydream2 dream2
LOCATIONS
remote local
C:\mydream /media/net/dream1
C:\mydream2 /media/net/dream2
Les enregistrements sont placés dans/media/net/dream1/movie.
De plus, pour le partage dream2, j'ai choisi de ne pas le monter en remplacement du disque dur dans le Mount Manager, car je soupçonne qu'il n'est pas possible d'avoir plus d'un acte en tant que disque dur. Où enregistrerait-il? Aux deux endroits? Avec le double du débit? ... Je ne pense pas que ce soit possible.
Donc, pour cette raison, il n'y a pas de sous-dossier nommé film pour le partage dream2. Seuls ceux qui sont spécifiés comme remplacement du disque dur lors de la création obtiennent le sous-dossier du film.
Si je cd
vers hdd depuis root, il passe à /media/net/dream1
. Si je cd
à ..
(Parent), cela revient à root (/)
.
À la racine, ls -al
Donne hdd -> media/hdd
. ls -al hdd
Donne hdd -> media/hdd
. ls -al media
Donne /media/net/dream1
.
De plus, si je cd
vers /media
Il y a un autre lien symbolique hdd
. Je ne l'ai pas remarqué auparavant. Je pense que cela est créé automatiquement lorsqu'un partage est monté. Et si je cd
vers ce disque dur, il passe à /media/net/dream1
.
Un lien symbolique hdd
(/ hdd) qui pointe vers un autre hdd
symlink (/ media/hdd), qui à son tour pointe vers le dossier de partage (/ media/net/dream1)? ... .. je deviens étourdi ...
Ce n'était pas comme ça avant la version 3.2.3 ou au moins 3.2.0 de l'image Enigma2.
Edit: En réglant le deuxième partage pour agir comme un remplacement de disque dur, il devient le partage actif pour l'enregistrement. Dans le même temps, le partage qui était précédemment défini pour agir comme remplacement de disque dur n'est plus actif, même s'il est toujours défini sur "oui" (agir comme remplacement de disque dur).
Si dream1 a d'abord été utilisé comme remplacement de disque dur ("oui" pour remplacer), puis dream2 est configuré pour agir comme remplacement de disque dur, il devient le nouveau partage d'enregistrement. Je peux toujours voir et visualiser les fichiers vidéo stockés dans dream1 mais je ne peux plus y enregistrer. Si je veux recommencer à utiliser dream1 pour l'enregistrement, je dois d'abord régler dream2 sur "non" (arrêter d'agir comme remplacement de disque dur), puis réinitialiser dream1 sur "oui".
Donc non, il ne peut pas enregistrer sur deux parts en même temps. L'un d'eux doit partir. C'est donc dream1 ou dream2, pas les deux. Bien que je devrais mentionner qu'il est possible d'enregistrer plus d'un service (chaîne de télévision) s'ils sont tous les deux sur le même transpondeur, sinon vous obtenez le message "pas de tuner gratuit". Il s'agit d'un décodeur avec un seul tuner.
Vous pouvez utiliser file, stat ou ls.
fichier:
La commande file permet de classer les fichiers selon leur type (lien symbolique, répertoire, périphérique) ou leur contenu (texte, gzip, image, tar, ..., quelle que soit leur extension):
$ file /dev/stdout[.____.[/dev/stdout: lien symbolique vers `/proc/self/fd/1'[.____. diplomatique$ file/proc/self/fd/1 /proc/self/fd/1: lien symbolique vers le fichier `/dev/pts/0'[.____.[$$ /dev/pts/0[.____.[/dev/pts/0: caractère spécial (136/0) $ fichier /etc/passwd[.____.[/etc/passwd: ASCII texte
ls:
$ ls -al /dev/stdout[.____.[lrwxrwxrwx 1 root root 15 27 janvier 07:55/dev/stdout -> /proc/self/fd/1
stat:
la commande stat imprime les métadonnées des fichiers comme les autorisations, la taille, le nombre de blocs et ainsi de suite ...
$ stat /dev/stdout Fichier: '/ dev/stdout' -> '/proc/self/fd/1' Taille: 15 Blocs: 0 IO Block : 4096 lien symbolique Appareil: 5h/5d Inode: 1212 Liens: 1 Accès: (0777/lrwxrwxrwx) Uid: (0/root) Gid: (0/root) Accès: 2014-01-27 11: 22: 47.971187828 -0200 Modifier: 2014-01-27 07: 55: 13.996981285 -0200 Modification: 2014-01-27 07:55: 13.996981285 -0200 Naissance: -
frapper:
if [[ -h dirname ]]; then
echo "it's a symbolic link"
if ! stat $(readlink dirname) &>/dev/null; then
echo "link target does not exist"
fi
fi
Le moyen le plus simple de voir le type d'entité d'un fichier donné serait d'utiliser la commande file
. Il a une sortie claire et sensée sans vous obliger à vous rappeler ce que sont les marques de classificateur ls
, ou en s'appuyant sur une sortie colorée qui peut varier d'un utilisateur à l'autre et d'une machine à l'autre. Par exemple:
mail ~ # file /test
/test: broken symbolic link to `/nonexist'
mail ~ # file /dev
/dev: directory
mail ~ # file /dev/fd
/dev/fd: symbolic link to `/proc/self/fd'
Si vous vous trouvez sur un système sans file
, vous pouvez utiliser la commande stat
qui vous indiquera de quel type d'entrée de fichier il s'agit et où il pointe. Pour savoir si un lien est rompu, vous devez alors exécuter stat -L
aux liens de déréférencement, ce qui donnera une erreur si le lien est rompu.
En ce qui concerne la deuxième partie de votre question, le répertoire media
est souvent géré par des monteurs automatiques de quelque sorte. Le /media/hdd
l'entrée peut être utilisée par votre système pour les périphériques de stockage de masse USB ou peut même attendre le bon type de disque dur (ATA vs SCSI vs Xen block device). Les liens brisés ne blesseront rien à moins qu'un programme n'essaye de les utiliser, et les liens multimédias sont vraiment pour votre commodité. Vous pouvez quitter le /hdd
liez-le ou supprimez-le à votre guise.
ls -Fal
ls -Fal /media
Il s'agit probablement d'un point de montage automatique quelconque.
grep media /etc/auto*
pourrait produire un hit.