Fatmawati Achmad Zaenuri / Shutterstock.com
install
es un comando de copia de archivos versátil en Linux y macOS. Es perfecto para el usuario experimentado que busca eficiencia. Lea este artículo para descubrir cómo trabajar de manera más inteligente, no más difícil.
Espera, ¿no es para instalar el software?
los install
comando puede tener el nombre más engañoso de todos los comandos de Linux. En realidad, no instala ningún software. Si está intentando instalar un paquete de software desde la línea de comandos en Ubuntu u otra distribución basada en Debian, use el apt-get
pedido. En otras distribuciones de Linux, utilice la herramienta de gestión de paquetes de su distribución de Linux, por ejemplo, dnf
en Fedora o zypper
en openSUSE.
Entonces, ¿qué hace la instalación?
En una palabra install
combina elementos de la cp
(Copiar), chown
(Cambio de propietario), chmod
(modo de cambio), mkdir
(crear un directorio), y strip
(símbolos de banda) pedidos. Te permite utilizar las funciones de todos ellos en una sola acción.
los install
el comando puede:
- Copie archivos como el
cp
pedido. - Elija si desea sobrescribir archivos existentes.
- Cree el directorio de destino si no existe, como
mkdir
. - Establecer indicadores de permisos de usuario para archivos, al igual que el
chmod
pedido. - Defina el propietario de los archivos, al igual que el
chown
pedido. - Elimine el equipaje no esencial de los archivos ejecutables, al igual que el
strip
pedido.
A pesar de todas estas características, el install
el pedido no tiene demasiado muchas opciones confrontar.
Cuándo lo usarías
los install
Es probable que el comando no se utilice todos los días. Esto es útil, pero solo para determinadas situaciones. Un escenario donde install
tiene sentido es el desarrollo de software. Digamos que está programando una nueva utilidad. Deberá realizar pruebas fuera del entorno de desarrollo. Para hacer esto, debe copiar los nuevos archivos de programa a un directorio de prueba. Es posible que deba crear el directorio de prueba y deberá establecer los permisos y la propiedad correctos para los archivos.
Dado que el desarrollo es una actividad iterativa, puede terminar realizando esta secuencia de acciones muchas veces. los install
el orden hace todo el trabajo pesado por usted. Finalmente, cuando su nueva utilidad esté lista para implementarse, puede usar install
para copiarlo con los permisos adecuados a su ubicación de trabajo final.
Un ejemplo
Un programador está trabajando en una nueva utilidad, llamada ana
. Consiste en un archivo binario ejecutable y una base de datos. Después de la prueba, debe copiarse a /usr/local/bin
para que esté disponible para todos los usuarios del sistema Linux. Deberá reemplazar los nombres de archivo y rutas de directorio en nuestro ejemplo con los archivos y rutas que usa en su computadora cuando usa install
.
Hasta que esté listo para ser publicado, se probará en un directorio llamado ~/test/ana
. Miembros de geek
grupo tendrá permisos de lectura y ejecución. Otros usuarios también tendrán permisos de lectura y ejecución. los install
El comando utiliza la misma representación numérica para las autorizaciones que chmod
Acaso. Nuestro programador decidió que los permisos deberían establecerse en:
- Propietario: Leer, escribir y realizar.
- Grupo: Leer y ejecutar.
- Otros: Ejecutar solamente.
Cómo utilizar el install
Pedido
El directorio de trabajo de nuestro programador ficticio es ~/work
. Escribió el programa, lo compiló y produjo un binario llamado ana
. Ya ha creado el archivo de base de datos que ana
caminar con Words.db
. Por lo tanto, los dos archivos están listos para ser probados. Echemos un vistazo a ellos:
ls -l ana Words.db
los ana
la utilidad que acaba de escribir crea anagramas a partir de una oración proporcionada en la línea de comandos. Las pruebas de verificación son bastante sencillas.
Nuestro programador invocado ana
con la frase «cookie» y todo se ve bien. Ahora quiere copiar estos dos archivos al ~/test/ana
para ver si la nueva utilidad funciona correctamente fuera del entorno de desarrollo. Emite el siguiente comando:
install -D -v ana Words.db -t ~/test/ana
Las opciones utilizadas en la línea de comando fueron:
- D: Cree directorios, incluidos los directorios principales, si es necesario.
- v: detallado, enumera cada directorio a medida que se crea y cada copia de archivo a medida que se ejecuta.
- t: Directorio de destino.
Podemos ver eso install
creó el ~/test
directorio, luego crea el ~/test/ana
directorio telefónico. Los archivos se enumeran uno por uno a medida que se copian en el directorio de destino.
Listar archivos en ~/test/ana
confirma que se copiaron correctamente.
ls -l
El siguiente paso es probar el ana
utilidad invocándola en el ~/test/ana
directorio telefónico.
La utilidad funciona como se esperaba, lo cual es genial. Sin embargo, los permisos no son correctos. El requisito es definir los miembros del grupo. geek
tener permisos de lectura y ejecución, y que otros usuarios solo tengan permisos de ejecución.
Podemos solucionar ambos problemas de forma bastante sencilla con el siguiente comando. Tenga en cuenta el uso de sudo
para ejecutar el comando con permisos de root. los -o
y -g
y las opciones lo requieren. Se nos pedirá nuestra contraseña cuando realicemos el pedido.
sudo install -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana
- los
-b
La opción (copia de seguridad) crea copias de seguridad de los archivos antes de que se sobrescriban. - los
-S
La opción (sufijo) define el sufijo de los archivos de respaldo. Si no proporciona un sufijo a~
(tilde) se utiliza. pedimosinstall
usar un sufijo de.bak
. - Establecemos que el propietario del archivo sea
dave
utilizando el-o
opción (propietario). - los
-g
La opción (grupo) requiere el nombre de un grupo. Este se convierte en el grupo propietario de los archivos. El grupo que vamos a utilizar se llamageek
. - los
-m
(modo) define los modos de archivo para archivos, utilizando el estándarchmod
sintaxis numérica.
Ya no necesitamos usar el -D
(crear directorios), porque sabemos que el directorio de prueba ya existe. También hemos omitido el -v
opción (detallado). Enumere los archivos en nuestro ~/test/ana
El directorio nos muestra los detalles del archivo:
ls -l
Esto confirma que se han cumplido todos nuestros requisitos.
- Los archivos se copiaron al directorio de prueba.
- Los permisos se han configurado correctamente.
dave
es el propietario de los archivos.- los
geek
grupo es el grupo que posee los dos archivos. - Se hicieron copias de seguridad de cada archivo, llamados ana.bak y Words.db.bak.
Todo esto se logró mediante el uso de un solo comando. Aseado.
Nuestro programador realiza los últimos cambios en la utilidad y los vuelve a compilar. Los archivos que han cambiado deben copiarse a la ~/test/ana
directorio de la ~/work
directorio telefónico. Podemos hacer esto usando el -C
(comparar) opción. Si el archivo de origen y el archivo de destino son iguales, el archivo de origen no se copia.
sudo install -C -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana
La lista de archivos en el directorio de destino nos muestra que el tamaño del archivo del ana
el archivo ha cambiado. Es mas grande que el ana.bak
archivar. La marca de tiempo en ana
también ha cambiado. Estos cambios se deben al hecho de que aquí se copió la nueva versión del archivo.
ls -l
El tamaño del archivo y la marca de tiempo del Words.db
el archivo no ha cambiado. No se han realizado cambios en el Words.db
archivo, por lo que no se copió. En un proyecto con muchos archivos, el -C
La opción (comparar) puede ahorrar mucho tiempo y cancelar la suscripción del disco duro al copiar solo los archivos que se han modificado.
El programador probó de nuevo que el ana
la utilidad continúa funcionando.
Es hora de usar install
para copiar los archivos al /usr/local/bin
directorio telefónico. Esto hará que la nueva utilidad esté disponible para todos los usuarios de esta computadora Linux. Sabemos que /usr/local/bin
existe, por lo que no es necesario crear este directorio. Podemos usar una versión modificada de nuestro último comando.
Cambiamos el directorio de destino para que sea /usr/local/bin
. Hemos eliminado el -C
(comparar) porque todavía no hay copias de estos archivos en el directorio de destino, por lo que no hay nada que comparar. Del mismo modo, no hay nada que guardar, por lo que podemos eliminar el -b
(guardar) y la opción -S
(sufijo) opción.
sudo install -o dave -g geek -m 751 ana Words.db -t /usr/local/bin
Podemos enumerar que los archivos llegaron /usr/local/bin
:
ls -l
Y como prueba final, cambiemos los directorios a nuestro directorio de inicio y veamos si podemos invocar nuestra nueva utilidad desde allí.
Tenga en cuenta que no es necesario que preceda el ana
ordenar con ./
lo que significa que se ejecuta desde /usr/local/bin
. Misión cumplida.
Mencionamos que la instalación puede eliminar tablas de símbolos redundantes y otro equipaje del archivo binario, para reducir su tamaño. Hagámoslo ahora. Tenga en cuenta que el siguiente comando no incluye Words.db. Esto se debe a que Words.db es un archivo de base de datos, no un ejecutable binario. Para copiar y reducir el archivo binario ana
podemos usar el siguiente comando. Agregamos la opción -s (encoger) con una «s» minúscula. Agregamos la opción -b (guardar) y la opción -S (sufijo), con una «S» mayúscula.
sudo install -s -b -S .bak -o dave -g geek -m 751 ana -t /usr/local/bin
Listar archivos en /usr/local/bin
le permite comparar el tamaño de ana
archivo con su versión de respaldo. los ana
El archivo se ha reducido a casi el 60% de su tamaño anterior.
ls -l /usr/local/bin
En resumen
El el install
El comando es para un uso muy específico. Para mucha gente, no se usará día tras día, o quizás mes a mes. A pesar de esto, el install
Command es una buena herramienta para conocer y tener en tu arsenal de consejos. Para las ocasiones en que lo necesite, recompensa su curva de aprendizaje con eficiencia, simplicidad y simplemente menos pulsaciones de teclas.