miércoles, 7 de marzo de 2007

SOFTWARE LIBRE - Comandos de linux


Software libre (en inglés free software) es el software que, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. El software libre suele estar disponible gratuitamente en Internet, o a precio del coste de la distribución a través de otros medios; sin embargo no es obligatorio que sea así y, aunque conserve su carácter de libre, puede ser vendido comercialmente. Análogamente, el software gratis o gratuito (denominado usualmente freeware) incluye en algunas ocasiones el código fuente; sin embargo, este tipo de software no es libre en el mismo sentido que el software libre, al menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.
No debe confundirse "software libre" con software de dominio público. Éste último es aquél por el que no es necesario solicitar ninguna licencia y cuyos derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquél cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado. Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es dominio público. En resumen, el software de dominio público es la pura definición de la libertad de usufructo de una propiedad intelectual que tiene la humanidad porque así lo ha decidido su autor o la ley tras un plazo contado desde la muerte de éste, habitualmente 70 años.
Listado básico de comandos
LinuxComandos relacionados con los directorios:
  • cd:cd @ cambia de directorio y nos mueve a raíz /cd directorio @ cambia de directorio al directorio especificado.cd .. / @ sube un nivel de directorio (cd ../../ sube dos directorios)
  • ls:ls @ listado sinmple de archivos y directoriosls -l @ listado de archivos i diretorios no ocultos ls -la @ el mismo que el anterior pero mostrando los archivos ocultosls -l palabra @ mostrara solo los archivos que empiezen por el nombre palabrals -LISA @ listado completo de archivos y directorios.
  • Mkdir:Crea directorios mkdir directorio @ crea un directorio, llamado directorio que colgara del directorio de trabajo actual.mkdir -p /nuevocamino/drectorio @ crea un directorio a la vez que crea un nuevo camino de directorios y subdirectorios en caso de que no existan.
  • pwd:pwd @ muestra en pantalla el directorios de trabajo actual donde nos encontramos.
  • rmdir:Borra directorios.rmdir directorio @ borra el directorio especificado, en caso de que este vacio.rmdir -R directorio @ borra recusivamente todos los directorios y subdirectorios que cuelgan de el.rmdir -Rf directorio @ borra recursivamente y forzada y no hace falta que los directorios esten vacios.rmdir -p /camino/directorio @ borra el directorio y todo el camino especificado, en caso de que los directorios y subdirecotios esten vacios.

Comandos relacionados con ficheros:

  • alias:alias @ sirve para definir abreviaciones de comandos largos, de esta manera nos ahorramos de teclear de mas. Ej: alias l=”ls -la more” :a partir de ahora cuando tecleemos l equivaldrá a los comando ls -la more
  • cat:Concatena y muestra archivos.cat fichero @ muesta en pantala el contenido del fichero especificado.
  • more:Con este comando podemos paginar el contenido de un directorio, que contiene un elevado número de archivos y subdirectorios.more archivo @ pagina el contenido de el archivo especificado.cat archivo more @ es equivalente al comando anterior.
  • rm:Borra ficheros.rm fichero @ borra el fichero especificado. Solamente se puede borrar desde el directorio actual de trabajo a menos que estemos como root o bien tengamos derechos sobre ese archivo.rm -i fichero @ borra interactivamente pidiendo confirmación.rm -f fichero @ borra forzadamente.
  • cp:Copia un archivo o directorio a otra ubicación cp archivo nuevoarchivo @copia archivo a nuevoarchivo en el mismo directorio.cp /alt/drivers /opt/linux/drivers @copia el archivo drivers al directorio especificado.cp archivo /usr @copia archivo en el directorio especificado.
  • mv:Mueve un fichero o directorio haciendo que desaparezca el original.mv archivo1 archivo2 @convierte el archivo1 en archivo2, siempre en el mismo directorio.mv /usr/local/squid/etc/squid.conf . @mueve el archivo squid.conf al directorio actual (el punto(.) significa el directorio actual).mv *.tar ../../perl @mueve todos los archivos .tar que hay en el directorio y los mueve al directorio perl ( que se encuentra subiendo dos niveles por encima) Donde "*" quiere deccir todos.
  • cmp:Compara archivos entre sí.cmp archivo1 archivo2 @ compara el archivo1 con el archivo2
  • diff:Compara dos archivos informando de todas sus diferencias, parecido al anterior pero con formato de salida.diff archivo1 archivo2 @ compara el archivo1 con el archivo2.+
  • find:Es un buscador de archivos entre los directorios que le indicamos.find / -name nombrearchivo -print @ busca desde raíz (/) el nombre (-name) quele indicamos y lo muestra en pantalla (-print).find . -size 35 -exec rm{} \ @ busca en el directorio actual los archivos de 35 bytes y los borra.
  • lpr:Imprime los archivos especificados.lpr archivo1 @ imprime el archivo1 en la impresora que tenemos configurada por defecto.llpq @ muestra las entradas de la cola de impresión.
  • gunzip:Descomprime aerchivos con extensión .gzgunzip syslog.0.gz @ descomprime el archivo syslog.0.gz y lo convierta en syslog.0
  • gzip:Comprime archivos conn extensión .gz.gzip access.log @comprime el archivo access.los a access.log.gzgzip -d access.log.gz @ descomprime el archivo
  • compress:Comprime un archivo con extensión .Zcompress archivo @ comprime archivo a archivo.Z
  • uncompress:Descomprime archivos con extensión .Zuncompress archivo.Z @ descomprimearchivo.Z a archivo
  • tar:Etiqueta/desempaqueta archivos con sus directorios.tar cvf archivotar archivos @ crea un archivotar con extensión .tar que contendrá los archivos y subdirectorios (en caso de que los tenga) que hemos especificado. tar zcvf archivo_tar archivo1 archivo2 @empaqueta los archivo1 archivo2 en u nuevo fichero comprimido llamado archivo_tar.tar.Ztar xvf archivo.tar @ desempaqueta el archivo.tar. El parámetro x (extract) extrae, la v (vervose) y la f (file/s) de archivo.
  • ln:Enlaza un archivo existente con otro ( en el mismo directorio u otro de diferente)ln -s archivo_viejo archivo_nuevo @ enlaza el archivo nuevo con el viejo, la opción -s sirve para crear un enlace simbólico (hard Link) y pueda ser visto desde la salida del comando ls.
  • chmod:Asigna permisos a directorios o archivoschmod 764 sedmail @ asigna permisos al archivo sedmail de lectura, escritura y ejecución 7 para el usuario, de lectura y escritura 6 para los usarios de su grupo y solo de lectura para el resto 4.Para poder ver los permisos podemos hacer un ls -l, con este llistado nos aparecerá algo así rwx rw- r-- : r Read (Lectura), w Write (Lectura) y x ejecución.Hay tres grupos a los cuales asignarles permisos: El primer grupo es el usuario de trabajo actual, que pertenece a las tres primeros carácteres.El segundo son los usuarios que pertenecen al grupo actual de trabajo, que hace referencia al segundo trio de carácteres.El tercer son el resto de usuarios.Para calcular el número que tenemos que poner, se basa en el sistema binário, cada carácter vale un 1 y el - vale 0, por lo que si tenemos permisos de lectura, escritura y ejecución (rwx) será 111 en sistema binario, que en hexadecimal son 7, si tenemos permisos solo de lectura y escritura (rw-) en binarios será 101 que en hexadecimal 4, y el último con solo permiso de lectura (r--) 100, por lo que la cosa quedará de la siguiente manera 764.
  • chown:Root o el propiertario sobre donde tenga derechos podrá asignar un nuevo usuario al fichero o directorio.chown pepe /home/httpd/html @pepe será el propietario de directorio html.chown -R juan /cache @ juan será el propietario (de manera recursiva -R a todos los archivos y subdirectorios) del directorio`/cache´.
  • chgrp:Cambia el grupo de un fichero o directoriochgrp nuevogrupo fichero @cambia el grupo que le pertañe a fichero por uno de nuevo (nuevogrupo)
  • umask:Define los permisos a modo de máscara que daremos a los archivos que creamos a partir de ese momento. Por su caracteristica se entiende que el valor que vamos a poner saldrá de restar a 777 los permisos que hayamos decidido.umask 017 @ define que a partir de ahora los permisos del archivo serán 760 (777-760=017)
  • newgrp:Crea un nuevo grupo especificado.newgrp segundogrupo @ crea un nuevo grupo llamado segundogrupo.
  • grep:Busca una cadena dentro de un fichero.grep "jbort" /etc/passwd @ busca la cadena "jbort" al fichero /ect/passwd imprimiendo la linea en pantalla.grep -n 'facturas' /home/bases_datos @busca la cadena facturas dentro del fichero bases_datos indicando en la salida el nombre del fichero y el número de línea en la cual se encuentra.grep -v "root" /etc/shadow>$HOME/usuarios @ busca todas las líneas del fichero /etc/shadow que no tengan (-v) la cadena 'root' y lo redirecciona (lo pone dentro) del archivo usuariosque se encuentra dentro de /home/usuario ($HOME).
  • head:Muestra las primeras (normalmente las 10 primeras) líneas de un ficherohead fichero1 @muestra las primeras líneas del fichero1head -50 ../../routers @ muestra las 50 primeras líneas del routers.
  • tail:Muestra las últimas líneas de un ficherotail logfile @ muestra las últimas lineas del fichero logfail.tail -f /usr/local/squid/access.log @muestra de forma dinamica (-f) las últimas líneas del fichero access.logtail +10 fichero @ muestra a partir de la línea 10 del fichero.
  • wc:Muestra en pantalla el número de caracteres, palabras y líneas de un archivo/s.wc contabilidad @ muestra las caracteristicas antes comentadas del archivo contabilidadwc -c log.2 @ muestra el tamaño en bytes del archivo log.2
  • zip:Comprime archivos y directorios en formato Zip.zip archivo.zip archivo_a_comprimir @ comprimira a un archivozip los archivos 'archivo_a_comprimir (y sus directorios especificados).unzip archivo.zip @ descomprimirá el fichero archivo.zip.
  • ftp:Comando que abre conexion y lleva a cabo la posibilidad de tranferencia de ficheros (file transfer protocol)ftp nombre_maquina @ se establecce una conexion entre la máquina remota.ftp 193.145.88.16 @establece conexion con una ip especifica.Una vez establecida la conexion nos pedirá una identificación (login) que puede ser el nuestro (en caso de estar dado de alta) y un password. Una vez echo esto se nos abrira una sesión de ftp que nos habilitará en los dos sentidos la transferencia de archivos.Hay tambien una manera de establecer conexion con una maquina remota con un servidor anónimo, en este caso pondremos anonymus y como password la direccion de correo (por ejemplo: si establecemos conexión con ftp://ftp.webadmin.com/)Después del promt (ftp>) podemos utilizarun seguido de comandos: get archivo @ bajas el fichero a tu máquina al dirrrectorio actual de trabajo. put archivo @ transfieres archivo al tu 'home' de la máquina remota. mget .*tar @ bajas todos los archivos .tar(con confirmación) mput web* @ envias ( con prévia confirmación) todos los archivo/s que cominenzen por 'web' hash @ marca con # el estado de transferencia (la # puede ser 1Kb..,2Kb..) bin @ fuerza la tranferencia binario. ls @ adminte el comando para listar los ficheros (tambien seria válido dir) ren @ renombra ficheros (si el mnombre es largo lo ytendremos que definr entre comillas dobles -ren "pagina principal webmil.html" webmil.html lcd @ nos dice el directorio actual en nuestra maquina actual. lcd .. @subimos un peldaño situandonos un directorio en la máquina local. del archivo @ borra archivo. quit @ comando para salir de la sesión ftp (otro camando válido seria bye Admitiria otros comandos UNIX como pwd, mkdir, rmdir...

Comandos relacionados con dispositivos:

mount:Especifica los dispositivos montados o monta un dispositivo en el punto de montaje especificado.mount @ especifica los dispositivos que hay montados.El comando mount consulta el fichero /etc/fastab para determinar las opciones de standart asociadas al dispositivo en concreto. El comando requiere privilegios de root (administrador)mount /dev/fd0 /mnt/floppy @ siempre los montajes se hacen segun este patron. En este caso montamos montamos la disquetera para quese puedan leer archivos de tipo MS-DOS.mount -t msdos dev/fd0 mnt/floppy @ montará la disquetera para que pueda leer arhivos del tipo MS-DOS .mount -o ro -t iso9660 /dev/cdrom /mnt/cdrom @ monta el disositivo cdrom al directorio /mnt/cdrom con la opción de solo lectura (ro -read only) i especificando el tipo de filesystem del cdrom (iso9660)
umount:mount @ Desmonta el punto de montage (directorio). Para hacerlo, logicamente debemos estar en el directorio en question.umount /dev/cdrm/ /mnt/cdrom @ demonta el punto de ontage del cdrom.Una vez echo esto podemos expulsar el cd, con el comando eject.Si lo que pretendemos desmontar el la disquetera tendremos que desmontar antes el punto de montage si no queremos perder los datos con os que hemos trabajado.
fdformat @ Formatea un disquet bajo Linux, admas el comando debe especificar el tamaño y el dispositivo del disquete.fdformat /dev/fd0H1440 @ formatea un disquete de 1'44 Mbytes.
mkswap @ Crea una área swap bajo linux en la particion que le espcifiquemos, este es un comando qeu require privilegios de root.[b]mkswap /dev/hda1 @ crea una particion en el primer disco no-SCSI.El comando swapon dispositivo habilita el dispositivo para el uso de swaping y el comando swapoff dispositivo lo deshabillita.Dependiendo de la versión de Linux que utilizemos, podria ser que algun comando de los antes mencionados no funcionara ya que estan basados en RedHat.

No hay comentarios: