////////////////////////////////////////////////////////////////////////////////
##Comandos Basicos e Importantes en Linux~##
##~ Para Super Newbies y recien Iniciados ~ ##
##############################

// Comandos basicos para desplazarse , manipular archivos o carpetas, (editar ,
****************************************************************************
mover,copiar,eliminar,etc) \\
***************************

###################
#Alistar de carpetas y archivos#
*******************************
Bien , para poder saber en que directorio estamos , tecleamos "pwd" , para alistar los directorios y archivos "ls" , si queremos dirigirnos/entrar a algun directorio lo hacemos tecleando "cd y el nombre del directorio" y para regresar"cd .." por ejemplo

El comado "ls -a" alista todos los archivos y directorios en general incluyendo los invisibles.[ todas las carpetas o archivos que poseen un "." adelande del nombre significa que estan "invisibles" por ejemplo:

.kde
.mozilla
etc..

[:::Si ponemos las primeras letras de una carpeta o archivo y apretamos "TAB" se va a autocompletar el nombre de dicha carpeta o archivo. Es una forma mas rapida de acceder y no andar tecleando si es muy largo el nombre o dificultoso.::

Si tecleamos "ls -l" nos daria alistado todos los archivos y carpetas con sus respectivos permisos.

D > Significa que es un directorio/carpeta
X > Ejecutable
W> Escritura > Writing
R > Lectura > Reading

#####################
# Movernos entre las carpetas #
********************************
"cd pepito/" y entramos.. a la carpeta..
Para regresar a la carpeta anterior:
cd ..
y si queremos ir a nuestra carpeta personal
"cd " solo o , " cd - ", donde " - " identifica al directrio de cada usuario.

############
#Copiar archivos #
******************

Para copiar de un lugar un archivo a otro seria mediante el comando "cp".
# cp /direccion donde pegar #

Supongamos que pepito.txt esta en /home/Pepito/pepito.txt y nosotros en " / ".
Tecleamos:

# cd /home/Pepito/ # ~> Para desplazarnos hacia la carpeta
# cp pepito.txt /home/Martita/ # ~> Se haria una copia en la carpeta Martita.

#############
##Mover Archivos##
*********************

Otro Comando que se usa de la misma forma que "cp" es el "mv", que cumple la funcion de "Mover" y a su vez "Modificar/Renombrarlos" veamos un ejemplo.

# mv "archivo" /direccion donde mandarlo #
# mv pepito.txt /home/Martita #~> Lo mandaria a la carpeta Martita.

Ahora para modificarlo/renombrarlo Seria:
*****************************************

# mv pepito.txt Martita.txt # ~> y de pepito pasaria a llamarse Martita.txt

Ahora supongamos que queremos "ver" el .txt tenemos unos comandos para esto bastantes simples.

cat martita.txt ~> cat es el mas comun. pero en archivos demaciados extensos no es recomendable , ya que carece de movimiento de lectura.
less martita.txt ~> Este es recomendable y facil para archivos extensos con las flechas de arriba y abajo del teclado , subimos o bajamos logicamente.
more martita.txt ~> Tambien para archivos extensos.

#############
#Creando Archivos#
********************
Para crear un archivo nuevo bastaria con el comando "touch" que tiene 2 funciones
crear dichos archivos sino existen , y si existen actualizar la fecha de modificacion.

# touch index.html #
# touch archivo.txt #

#####################
#Eliminando Archivos y Carpetas #
**********************************
Para eliminar archivos o carpetas usamos el comando "rm" Hay que tener cautela
una vez que lo borramos con este comando no podran ser recuperados.

rm -i pepito.txt ~> Nos preguntara si realmente deseamos eliminarlo.
rmdir carpeta/ ~> Borra carpeta , solamente si esta vacia.
rm -rf carpeta/ ~> De esta forma borramos sin que nos diga nada , directamente.
la carpeta y TODOS los archivos que incluye dentro.


Bien para editar un .txt podemos usar la herramienta "no muy linda" pero buena
"vi" que funcionaria de esta forma " vi archivo.txt o cualquier extension"
Comento lo basico porque sino se hacen mucho lio.

###
#VI#
****
Al teclear "a" entramos en modo text para editar , escribir el archivo , una vez que terminamos apretamos la tecla "ESC" y luego " :wq " que guardaria y saldria del archivo.

#############
#Creando carpetas#
********************
Para crear carpetas es muy sencillo la forma de usar seria:

# mkdir /home/Pepito/NombreDeCarpetaNueva #

o estando en un directorio en especial crear otro subdirectorio

# mkdir NuevaCarpeta #

############
#Dando Permisos#
*******************
Bien, hay veces que queremos quizas acceder a dicho archivo , o editarlo.
Pero los archivos pueden tener restricciones osea requieren de permisos necesarios para editar , mover , abrir. Para esto tenemos el comando "chmod"
Este comando hace que modifique esos permisos , muchas veces se necesita ser root / Administrador para poder ejecutar chmod en archivos. Funciona asi:

chmod 777 archivo.txt ~> con eso le dariamos todos los permisos a ese .txt
Ya sea para leer , escribir , etc...

###############
##Logear como Root##
***********************

Uno de los comandos mas importantes , que nos va a servir de por vida y siempre sera necesario en el caso de instalar nuevos paquetes o dar permisos, es el de root, que es el usuario maximo por asi decirlo
tecleamos en la shell:

# su #~> de SuperUsuario

Bien ahora tendrias que introducir el Password: , que en ningun momento va a estar a la vista lo que escribes, y una vez logeados como root en la shell se distinguiria por el nombre.

[root@pepito Escritorio]# ~> Notece que al logear como root sale el #.
[Pepito@local Escritorio]$ ~> Mientras que como usuario "comun" tendriamos un $.

#############################
##Comandos Varios , de info y sencillos,etc.##
**********************************************
id ~> - Numero id de un Usuario.

uptime ~> - Muestra informacion del tiempo exacto de iniciado el sistema,
cantidad de usuario que estan utilizando el sistema o la carga promedio
del procesador.

date ~> - Muestra la fecha y la hora actual.

who ~> - Este comando nos permite ver los usuarios que estan en el sistema,
incluyendo la fecha en la que se conectaron.

clear ~> - Este comando limpia la pantalla de la Shell , "Control + L" tiene la misma funcion.

ln -s ~> - Crea un Acceso directo a un archivo => ln -s /home/pepito/.profile

cal [año] ~> - Muestra el calendario del mes y del año => cal 1 2009

man ~> - Ayuda de un comando especifico => man gcc , man ftp

ps [auxi] ~> Muestra info sobre los procesos. => ps -aux

kill [Pid] ~> Mata un proceso que se esta ejecutando o corriendo. => kill 3223

passwd ~> Cambia la contraseña.

diff ~> Encuentra Diferencias entre ambos archivos => diff archivo1.c archivo2.c

du -s ~> Muestra el tamaño del directorio especificado. => du -s /home

find ~> Busca Archivos o Carpetas en el sistema =>find /home -name``Escritorio'' -print , find /home -name "*.bak" , find /home -name "*.profile" => "*" adelante busca todos los archivos con esa extension.

Sudo -s es para loguearse como root

startx es para iniciar en modo grafico, o desde alt+ F1


, hasta alt + F5, vas cambiando de shell, las primeras cuatro de texto, y la ultima grafica.

El funcionamiento de los permisos en linux es el siguiente:
_______________________________________________________________ ___
rwx-xr-x 4 confused confused 4096 ago 3 15:56 AMSN/
********************************************************************

rwx-xr-x => se divide como ven en 3 columnas , cada columna de izq a der se ubican los permisos para => Owner(usuario) - Grupos - Otros.

Como ya dije antes:
d = Directory > Es un directorio
r = Read > Lectura
w = Write > Escritura
x = Execution > Ejecucion

Para dar permisos nominales, los permisos tienen valores..
***********************************************************
R= 4 W=2 X=1 Ahora si queremos darle permisos a "Otros" hay que sumar los permisos, 4+2+1 = da 7 tonces

[confused@enbox ~]$ chmod 007 AMSN

##Quedando en la 3er columna el "7" que le pertenece a Others.##
##Quedando --- --- rwx ##

De ahi es donde sale el famoso chmod 777 r0nin.
Hay gente que no sabe el porque de los numeros y bueno quizas con esto ayudo a comprender mas o a hacerlos dudar jaja .

Saludos