Ambos lados, revisión anterior
Revisión previa
Próxima revisión
|
Revisión previa
Próxima revisión
Ambos lados, revisión siguiente
|
es:howtos:general_admin:cli_constructs_and_useful_info [2019/02/07 19:41 (UTC)] slackwarespanol [Construye] |
es:howtos:general_admin:cli_constructs_and_useful_info [2019/02/07 20:04 (UTC)] slackwarespanol [Useful commands and info] |
=== Enlaces externos === | === Enlaces externos === |
* http://www.grymoire.com/Unix/Quote.html | * http://www.grymoire.com/Unix/Quote.html |
==== Regular expressions ==== | ==== Expresiones regulares ==== |
=== Basic === | === Básico === |
* ''.'' matches any single character. | * ''. '' coincide con cualquier carácter individual. |
* ''\'' escapes the next character. | * '' \ '' evita del siguiente carácter. |
<note>Remember to escape the ''.'' using ''\.'' if you want an actual ''.'' | <note>Recuerde que debe evitar ''. '' usando '' \. '' Si quieres un verdadero ''. '' |
<code> | <code> |
bash-4.2$ cat test.txt | bash-4.2$ cat test.txt |
test | test |
</code></note> | </code></note> |
* ''[]'' is a class and matches anything inside the brakets for a single character. Examples: | |
* ''[Yy]'' matches Y or y. | * '' [ ] '' es una clase y combina cualquier cosa dentro de los corchetes para un solo personaje. Ejemplos: |
* ''[a-z0-9]'' includes a range, and in this case matches a through z and 0 through 9. | * '' [Yy] '' coincide con Y o y. |
* ''[^a-z]'' negates the range, so in this case it matches anything but a through z. | * '' [a-z0-9] '' incluye un rango, y en este caso coincide con a a través de z y de 0 a 9. |
* ''^'' matches the beginning of a line. Example: ''^a'' matches an a at the beginning of a line. | * '' [^ a-z] '' niega el rango, por lo que, en este caso, se ajusta a cualquier cosa excepto a a z. |
* ''$'' matches the end of a line. Example: ''a$'' matches an a at the end of a line. | * '' ^ '' coincide con el principio de una línea. Ejemplo: '' ^ a '' coincide con una a al principio de una línea. |
* ''\<'' matches the beginning of a word. Example: ''\<a'' matches an a at the beginning of a word. | * '' $ '' coincide con el final de una línea. Ejemplo: '' a $ '' coincide con una a al final de una línea. |
* ''\>'' matches the end of a word. Example: ''a\>'' matches an a at the end of a word. | * '' \ <'' coincide con el principio de una palabra. Ejemplo: '' \ <a '' coincide con una a al principio de una palabra. |
* Example: ''\<[tT]he\>'' matches the word ''the'' or ''The''. | * '' \> '' coincide con el final de una palabra. Ejemplo: '' a \> '' coincide con una a al final de una palabra. |
* ''*'' matches any number of the previous character or nothing = no character. Example: ''[0-9]*'' which will match any number of numbers. ''.*'' matches any number of anything. | * Ejemplo: '' \ <[tT] he \> '' coincide con la palabra '' el '' o '' El ''. |
=== Extended regular expressions === | * '' * '' coincide con cualquier número del carácter anterior o nada = ningún carácter. Ejemplo: '' [0-9] * '' que coincidirá con cualquier número de números. ''. * '' coincide con cualquier número de cualquier cosa. |
The following must be supported by the program for them to work. For example for grep you must run ''egrep'' or ''grep -E''. | === Expresiones regulares extendidas === |
* ''+'' matches any number of the previous character, like ''*'', but there must be at least one to match, so it will not match nothing or no character. | |
* ''?'' makes the previous character optional (it can be missing), and is matched at most once. | El programa debe admitir lo siguiente para que funcionen. Por ejemplo, para grep debe ejecutar '' egrep '' o '' grep -E ''. |
* ''(|)'' acts like an OR statement. Example: ''(it|her|this)'' matches any of those words. | |
* ''a{3}'' matches ''aaa'' = 3 a's. | * '' + '' coincide con cualquier número del carácter anterior, como '' * '', pero debe haber al menos uno para que coincida, por lo que no coincidirá con nada o ningún carácter. |
* ''a{4,8}'' matches an a at least 4 times and at max 8 times, so ''aaaa'', ''aaaaa'', ''aaaaaa'', ''aaaaaaa'', and ''aaaaaaaa''. | * ''? '' hace que el carácter anterior sea opcional (puede faltar), y se compara como máximo una vez. |
* ''{0,}'' = ''*'' | * '' (|) '' actúa como una declaración OR. Ejemplo: '' (it | her | this) '' coincide con cualquiera de esas palabras. |
* ''{1,}'' = ''+'' | * '' a {3} '' coincide con '' aaa '' = 3 a's. |
* ''{,1}'' = ''?'' | * '' a {4,8} '' coincide con a al menos 4 veces y como máximo 8 veces, por lo que '' aaaa '', '' aaaaa '', '' aaaaaa '', '' aaaaaaa '' y '' aaaaaaaa ''. |
=== External Links === | * '' {0,} '' = '' * '' |
| * '' {1,} '' = '' + '' |
| * '' {, 1} '' = ''? '' |
| === Enlaces externos === |
* http://www.grymoire.com/Unix/Regular.html | * http://www.grymoire.com/Unix/Regular.html |
* http://www.regular-expressions.info/ | * http://www.regular-expressions.info/ |
==== Useful commands and info ==== | ==== Comandos útiles e información ==== |
=== stat === | === stat === |
Stat is the most accurate way to determine: | Stat es la forma más precisa de determinar: |
* File size in bytes: <code bash>stat -c '%s' file.txt</code> | * Tamaño del archivo en bytes:<code bash>stat -c '%s' file.txt</code> |
* File permissions in octal: <code bash>stat -c '%a' file.txt</code> | * Permisos de archivos en octal: <code bash>stat -c '%a' file.txt</code> |
=== awk variable defaults === | === awk variable por defecto === |
An important point is that awk variables are set to zero by default. This may cause problems in some situtations. Example: | Un punto importante es que las variables awk se establecen en cero de forma predeterminada. Esto puede causar problemas en algunas situaciones. Ejemplo: |
<code bash> | <code bash> |
echo -ne '-321\n-14\n-1\n-34\n-4\n' | awk 'BEGIN{max=""}{if ($1 > max) max=$1; if ($1 < min) min=$1;}END{print min"\t"max}' | echo -ne '-321\n-14\n-1\n-34\n-4\n' | awk 'BEGIN{max=""}{if ($1 > max) max=$1; if ($1 < min) min=$1;}END{print min"\t"max}' |
</code> | </code> |
This works properly because max is set to an empty string and thus has a lower value than any number. Try removing the BEGIN clause and see what happens. Also note that adding ''min=""'' to the BEGIN clause fails as well. | Esto funciona correctamente porque max se establece en una cadena vacía y, por lo tanto, tiene un valor más bajo que cualquier número. Intenta eliminar la cláusula BEGIN y ver qué pasa. También tenga en cuenta que la adición de '' min = "" '' a la cláusula BEGIN también falla. |
=== no data directory test === | |
You can use this to test if a directory contains no data. For example, it will say ''0'' if the directory only contains empty files and directories = no data. | === no hay prueba de directorio de datos === |
| |
| Puede usar esto para probar si un directorio no contiene datos. Por ejemplo, dirá '' 0 '' si el directorio solo contiene archivos vacíos y directorios = sin datos. |
<code bash> | <code bash> |
du -s directory | du -s directory |
</code> | </code> |
=== cmp === | === cmp === |
This can compare two files byte by byte, and can be more useful than checksums. For example, after you burn a CD/DVD, you can run: | Esto puede comparar dos archivos byte a byte, y puede ser más útil que las sumas de comprobación. Por ejemplo, después de grabar un CD / DVD, puede ejecutar: |
<code bash> | <code bash> |
cmp slackware.iso /dev/sr0 | cmp slackware.iso /dev/sr0 |
</code> | </code> |
It should say the following if the disk burned correctly: | Debe decir lo siguiente si el disco se quemó correctamente: |
<code bash> | <code bash> |
cmp: EOF on slackware.iso | cmp: EOF on slackware.iso |
</code> | </code> |
=== shell math === | === shell matemáticas === |
Remember that shell utilities like ''let'' and ''expr'' only do integer math. For floating point use either ''bc'' or ''awk''. | Recuerde que las utilidades de shell como '' let '' y '' expr '' solo hacen matemáticas enteras. Para el punto flotante, use '' bc '' o '' awk ''. |
=== shell GUI === | === shell GUI === |
There are numerous programs that allow you to create GUIs from a shell script. | Existen numerosos programas que le permiten crear GUI desde un script de shell. |
* [[http://xdialog.free.fr/|Xdialog is fully dialog compatible.]] | * [[http://xdialog.free.fr/|Xdialog is fully dialog compatible.]] |
* [[https://sites.google.com/site/easybashgui/home|A function library that increases shell GUI portability.]] | * [[https://sites.google.com/site/easybashgui/home|A function library that increases shell GUI portability.]] |
* [[http://code.google.com/p/gtkdialog/|Gtkdialog has advanced features for customized GUIs.]] | * [[http://code.google.com/p/gtkdialog/|Gtkdialog has advanced features for customized GUIs.]] |
=== External Links === | === Enlaces externos === |
* [[http://www.grymoire.com/Unix/|Guide to awk, bash, sed, find, and more]] | * [[http://www.grymoire.com/Unix/|Guide to awk, bash, sed, find, and more]] |
* [[http://www.tldp.org/LDP/abs/html/index.html|Advanced bash guide]] | * [[http://www.tldp.org/LDP/abs/html/index.html|Advanced bash guide]] |