Aquí mostramos algunos trucos y consejos útiles para el uso de los comandos psftp y sftp :
❏El comando mget -r * realiza una recuperación recursiva de todo un directorio. Esto resulta útil cuando queremos transferir una carpeta que contenga a su vez varias carpetas. También podemos utilizar la opción -r con los comandos get, put y mput.
❏El comando dir *.txt aplica un filtro para mostrar solo los archivos acabados en ".txt" del directorio actual.
❏El comando mv mueve un archivo o directorio de la máquina remota a una nueva ubicación en la propia máquina remota.
❏El comando reget reinicia una recuperación de archivos que se hubiera interrumpido. El archivo recuperado parcialmente debe continuar existiendo en la máquina local.
El comando psftp se puede enviar como una sola línea o como un script local desde el símbolo del sistema. Puede crear un archivo de prueba, test.scr, que contenga un conjunto de comandos psftp que necesite enviar. Ejecute después psftp desde el símbolo del sistema, pasando la contraseña con -pw y el archivo de script con -b (o -be para continuar aun con errores y -bc para mostrar los comandos a medida que se ejecutan), del siguiente modo:
c:\temp>more test.scr
lcd c:\temp\down
cd /tmp/down
mget *
quit
c:\temp>psftp pi@erpi.local -pw mypassword -b test.scr
Using username "pi".
Remote working directory is /home/pi ...
Control del Raspberry Pi
En este punto, deberíamos ser capaces de comunicarnos con el RPi mediante una aplicación cliente SSH. Esta sección analiza los comandos que podemos emitir para interaccionar con el RPi.
Comandos básicos de Linux
Cuando se conecte por primera vez con el RPi mediante SSH, se le pedirá que inicie sesión. Podrá hacerlo la primera vez con el usuario "pi" y la contraseña "raspberry":
login as: pi
pi@erpi.local's password: raspberry
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
pi@erpi:~$
Ya estamos conectados al RPi y tenemos la ventana de terminal en Linux lista para recibir los comandos. El símbolo del sistema, $ ,indica que hemos iniciado sesión como un usuario estándar. Por su parte, # indica que hemos iniciado la sesión en la cuenta de superusuario o root (véase el capítulo 3). Para un nuevo usuario de Linux, este paso puede resultar un desafío, puesto que es difícil hacerse con todo el arsenal de comandos a nuestra disposición. En esta sección intentaremos que el lector alcance un nivel de Linux suficiente para empezar con confianza. Se ha escrito como referencia y acompañada de ejemplos, de manera que pueda regresar a ella cuando necesite ayuda.
Primeros pasos
Lo primero que podríamos hacer nada más conectarnos es averiguar la versión de Linux que estamos ejecutando. Esta información resulta muy útil a la hora de publicar preguntas en foros de usuario.
pi@erpi ~ $ uname -a
Linux erpi 4.1.13-v7+ #826 SMP PREEMPT Nov 13 20:19:03 2015 armv7l GNU/Linux
Hemos utilizado Linux 4.1.13, compilado para la arquitectura ARMv7 en la fecha listada.
La versión del núcleo de Linux se describe por tres números, separados por puntos, de la forma: X.Y.Z. El número X cambia muy de tarde en tarde; la versión 2.0, por ejemplo, se publicó en 1996, y la 4.0, en abril de 2015. El número Y cambia un poco más a menudo, pero tampoco demasiado, cada dos años más o menos. Sin embargo, en el núcleo más reciente ha cambiado con bastante frecuencia: la versión 4.1 se publicó en junio de 2015. El número Z sí que cambia frecuentemente.
Después podemos utilizar el comando passwd para establecer una contraseña nueva para la cuenta de usuario "pi".
pi@erpi ~ $ passwd
Changing password for pi.
(current) UNIX password: raspberry
Enter new UNIX password: supersecretpasswordthatImayforget
Retype new UNIX password: supersecretpasswordthatImayforget
La tabla 2-3 lista otros comandos muy útiles.
Tabla 2-3: Esos primeros comandos de Linux tan útiles.
Comando |
Descripción |
more /etc/issue |
Informa sobre la distribución Linux que se está ejecutando. |
ps -p $$ |
Informa del shell o intérprete de comandos que estamos ejecutando (por ejemplo, bash). |
whoami |
Informa del usuario que ha iniciado sesión en el sistema. |
uptime |
Devuelve el tiempo que el sistema lleva en ejecución. |
top |
Lista todos los procesos y programas en ejecución. Pulse Control+C para cerrar la vista. |
Por último, podrá encontrar información concreta sobre su RPi usando la aplicación host- namectl . También sirve para consultar y realizar cambios en los ajustes del sistema, como la descripción del chasis o el nombre de host:
pi@erpi ~ $ sudo hostnamectl set-chassis server
pi@erpi ~ $ hostnamectl
Static hostname: erpi
Icon name: computer-server
Chassis: server
Machine ID: 3882d14b5e8d408bb132425829ac6413
Boot ID: ea403b96c8984e37820b7d1b0b3fbd6d
Operating System: Raspbian GNU/Linux 8 (jessie)
Kernel: Linux 4.1.18-v7+
Architecture: arm
Comandos básicos del sistema de archivos
Esta sección describe los comandos básicos que nos permiten movernos y manipular el sistema de archivos de Linux. Cuando utilizamos cuentas de usuario Raspbian/Debian y Ubuntu, a menudo debemos anteponer el modificador sudo (superuser do o substitute user do). Lo hacemos porque sudo es un programa que permite a un usuario ejecutar programas que requieran privilegios de seguridad de superusuario, o también de otras cuentas restringidas. Las cuentas de usuario se describen en el capítulo 3. La tabla 2-4 lista los comandos básicos del sistema de archivos.
Tabla 2-4: Comandos básicos del sistema de archivos.
Nombre |
Comando |
Opciones y más información |
Ejemplos |
Listar archivos |
ls |
-a los muestra todos, incluidos los ocultos.-l muestra el formato largo.-R listado recursivo.-r listado inverso (reverse).-t ordena por la última modificación.-S ordena por tamaños.-h muestra el tamaño en formato legible. |
ls -alh |
Directorio actual |
pwd |
Indica el directorio actual.-P muestra la ubicación física. |
pwd -P |
Cambiar directorio |
cd |
Cambia el directorio.cd e Intro o cd ~/ nos lleva al directorio raíz del usuario.cd / nos lleva al directorio raíz del sistema.cd .. nos lleva a un nivel superior en el árbol de directorios. |
cd /home/picd / |
Crear un directorio |
mkdir |
Crea un directorio. |
mkdir test |
Borrar un archivo o directorio |
rm |
Borrar un archivo.-r borrado recursivo (se usa con directorios; sea precavido).-d borra directorios vacíos. |
rm bad.txtrm -r test |
Borrar un archivo o directorio |
cp |
-r copia recursiva.-u copia solo si el origen es más reciente que el destino, o bien si no se encuentra el destino.-v (verbose) muestra la salida durante la copia. |
cp a.txt b.txtcp -r test testa |
Borrar un archivo o directorio |
mv |
-i solicita confirmación antes de sobreescribir.No hay opción -r para directorios. Mover al mismo directorio cambia su nombre. |
mv a.txt c.txtmv test testb |
Crear un archivo vacío |
touch |
Crea un archivo vacío o actualiza la fecha de modificación de un archivo existente. |
touch d.txt |
Ver el contenido de un archivo |
more |
Muestra el contenido de un archivo. Usamos la barra espaciadora para pasar a la siguiente página. |
more d.txt |
Obtener calendario |
cal |
Muestra un calendario basado en carac-teres. |
cal 04 2016 |
Con esto cubrimos lo básico, pero hay mucho más. En el capítulo siguiente hablamos de propiedad y permisos de archivos, búsquedas, redirección de la entrada/salida o E/S (input/output o I/O), etc. El propósito de esta sección no es otro que ponernos en marcha. La tabla 2-5 describe unos cuantos atajos de teclado que nos facilitan mucho la vida con la mayoría de shells de Linux.
Читать дальше