/shell

shell for linux in python

Primary LanguagePython

Shell para linux 🚀

Python versions version

Una Shell de Unix o también shell, es el término usado en informática para referirse a un intérprete de comandos, el cual consiste en la interfaz de usuario tradicional de los sistemas operativos basados en Unix y similares, como GNU/Linux. Mediante las instrucciones que aporta el intérprete, el usuario puede comunicarse con el núcleo y por extensión, ejecutar dichas órdenes, así como herramientas que le permiten controlar el funcionamiento de la computadora. mas informacion


Descarga de Repositorio ◀️

Ejecutar: git clone https://github.com/valdeortiz/shell.git

o decargar en el repositorio. En la seccion de clone, click en "Descargar en zip"


Pre-requisitos 📋.

  • Se necesita tener instalado python 3.6 en adelante, que viene instalado en la mayoria de distribuciones GNU/Linux. Para asegurarse cual version se encuentra instalado en tu maquina. Ejecuta: python --version

  • Para instalar las dependencias del proyecto ejecutar: pip install requirements.txt OBS: Debe tener instalado pip.

  • Seguir las intruciones del enunciado anterior para la Descarga del repositorio.

Ejecucion 🔩

Desde nuestro interprete de comandos(host, ejemplo bash o zsh). Ingresamos a la carpeta donde se encuentra el repositorio previamente descargado o clonado. Ejecutamos:

python main.py

Construido con 🛠️

Comandos ⌨️

  1. Copiar archivos/directorio.

Descripcion: Copia un archivo o directorio de un lugar a otro

Argumentos:

  • Archivo1: El archivo a ser copiado.
  • ruta Destino: Ruta destino.

Ejemplos:

copia archivo1 destino

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Mover

Descripcion: Mueve un archivo o directorio de una ruta a otra.

Argumentos:

  • Archivo1: El archivo a ser movido.
  • ruta Destino: Ruta destino.

Ejemplos:

mover archivo1 destino

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Renombrar

Descripcion: Renombrar un archivo o directorio.

Argumentos:

  • Archivo1: El archivo a ser renombrado.
  • nombre a colocar: Nmobre deseado.

Ejemplos:

renombrar archivoActual nombreNuevo

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Listar

Descripcion: Lista el contenido del directorio actual. OBS: tambien imprime los archivos ocultos.

Argumentos:

  • sin argumentos lista el directorio altual.
  • con el argumento [ruta] : lista el directorio colocado en [ruta]

Ejemplos:

listar ruta

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Creardir

Descripcion: Crea un directorio nuevo en el directorio actual.

Argumentos:

  • nombre : nombre del directorio a ser creado.

Ejemplos:

creadir nombre

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Cambiar de directorio.

Descripcion: Cambiar de directorio.

Argumentos:

  • ruta Destino: Ruta a ser dirigido.

Ejemplos:

ir destino

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Cambiar permisos.

Descripcion: Cambiar de permisos de un archivo.

Argumentos:

  • Archivo: El archivo a ser cambiado.
  • permisos: Los permisos deseados.

Ejemplos:

cambiarpermisos archivo permisos

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Cambiar propietarios.

Descripcion: Cambiar de propietarios de un archivo.

Argumentos:

  • Archivo1: El archivo a ser copiado.
  • id propietario deseado:id del propietario nuevo.
  • id del grupo: id del grupo a ser asignado.

Ejemplos:

cambiarpropietario propietarios archivo1 Idpropietario idGrupo

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Cambiar contrasenha:

Descripcion: Cambiar contrasena de un usuario.

Argumentos:

  • usuario: usuario a ser cambiado su contrasenha

Ejemplos:

cambiarcontra archivo1 destino

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Nuevo usuario.

Descripcion: Crear un usuario en el archivo usuarios_log que esta en /var/log/usuarios_log

Argumentos:

  • nombre: Nombre del usuario a ser ingresado al usuarios_log.
  • Horario de entrada: su horario de entrada.
  • horario de salida: su horario maximo.
  • ip: su lista de posibles conexiones.

Ejemplos:

usuario mombre horario_entrada horario_salida ips

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. servicios.

Descripcion: Levanta o apaga demonios.

Argumentos:

  • demonio: nombre del demonio.
  • accion: accion a ejecutar

Ejemplos:

servicio demonio accion

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

  1. Ejecutar comando fuera de la shell.

Descripcion: Ejecuta cualquier comando de del Interprete de comando Host.

Argumentos:

  • comando: comando a ser ejecutado.

Ejemplos:

ejecutar comando

Retorno: En caso de realizar con exito la copia se imprime un mensaje de exito. En caso de producirse un error se imprime un mensaje del error producido.

PARA LISTAR LOS COMANDOS. EJECUTAR

help

PARA LEER LA DOCUMENTACION EJECUTA

help <comando>

Observacion 📢

El codigo funciona solo para python3.

Si al ejecutar python --version, da como resultado una version 2.X. Reemplaza python por python3(ASEGURAR QUE SEA PYTHON 3.6 O MAS ACTUAL), quedaria asi: python3 --version y debe devolver una version de 3.6 o mas actual. Para la ejecucion quedaria asi: python3 shell.py

Documentacion oficial 📄

Libreria os

Libreria shutil

Libreria logging

Libreria getpass

Libreria datetime

Libreria socket

Libreria ftplib

Fuera de la biblioteca standar.

Ejecutar: pip install requirements.txt para instalar todas las dependencias.

libreria click-shell

libreria click

Libreria Psutil


Recomendaciones 📦

  • Aegurarse que la version de python sea 3.6 en adelante.
  • Tener conocimientos basicos en linux.
  • Asegurarse de tener todo lo necesario instalado en su dispositivo, recomendamos la lectura de pre-requisitos.

Autores ✒️