Sé que Linux es un sistema operativo basado en archivos de texto. Lo que me gustaría hacer es crear un archivo utilizando vi
todos los diversos comandos que he aprendido. De esa manera podría encontrar cada comando individual muy fácilmente usando el comando /
in vi
. Pero solo quiero hacer esto si no cambia la forma en que funciona mi computadora. ¿Sería una buena idea?
command-line
vi
BJsgoodlife
fuente
fuente
vi
(en comparación con, por ejemplogedit
) o simplemente te refieres a "un editor de texto"?sudo
.Respuestas:
Escribir un archivo de texto no va a "cambiar la forma en que funciona su computadora".
En particular, para hacer algo así, tendrías que hacer uno de
Como no vas a hacer explícitamente algo como esto, no hay nada de qué preocuparse. En particular, la otra respuesta va a longitudes innecesarias al sugerir que sus archivos de texto deben comenzar con hashes en cada línea. Por supuesto que no. Simplemente almacenar un archivo de texto en algún lugar dentro de un directorio de inicio normal no va a hacer nada.
fuente
#
para que nada accidental se realice por casualidad. Creo que siempre es mejor estar del lado más seguro.You won't have permission to do this
. sudo hazme un sandwichAye, aye, sir!
exit
?Puede guardar todos los comandos que ha aprendido en un archivo, pero algunos puntos importantes a tener en cuenta:
source
el archivoLa mejor manera sería poner un
#
al principio de todos los comandos para comentar todos los comandos para que no se ejecuten accidentalmente. De esta manera, puede buscar el comando que necesita y también estaría libre de riesgos. Puede agregar#
al comienzo de cada línea con el siguiente comando:sed -i 's/^/#/' <file_name>
EDITAR: He dado el tercer punto como una medida de seguridad extrema, ya que "neon_overload" y "David Z" señalaron que poner hashes en todas las líneas es demasiado extenso y, por lo tanto, no es necesario, lo apoyaría en este contexto. Además, como lo señala "random832", una alternativa mucho mejor a mi tercer punto sería comenzar con el archivo
exit
, ya que no se ejecutarán comandos posteriores.EDIT-2: "Rinzwind" ha mencionado dos puntos importantes:
No sobrescriba un archivo existente
Almacene el archivo en el directorio de inicio del usuario (
/home/$USER/
).fuente
put a # in the beginning of all the commands to comment out all the commands so they don't get executed accidentally
No estoy muy seguro de si eso se supone que es una sugerencia seria o una broma. Mi detector de sarcasmo me falló hoy.#!
, soloexit
; de esa manera también estás protegidosh yourfile
, contra lo cual un shebang inválido no te ayudará.neon_overload tiene una muy buena respuesta.
Extenderé un poco sobre cierta faceta de su pregunta. Haría de esto un comentario, pero no tengo suficiente reputación aquí.
Linux, como sistema operativo, NO está basado en archivos de texto. Dicho esto, puedo ver de dónde vienes. Para un observador externo, hay una buena parte de la edición y el lanzamiento de archivos de "texto", especialmente en comparación con Windows.
Esto tiene varias razones, algunas de las cuales son:
fuente
La respuesta corta es, no, no cambiará su computadora creando un archivo de texto en vi. Sin embargo, si no tiene cuidado, crear ese primer archivo de texto podría cambiar su vida . Aprender a la manera de Unix puede ser una práctica muy gratificante.
fuente
vi
es un editor de texto , por lo tanto, si todo lo que desea es almacenar algunos fragmentos de texto en un archivo de texto y buscarlo, puede hacerlo todo directamente desde la terminal con los comandos integrados.Escriba una nota en un archivo de texto (creará el archivo si no existiera):
echo echo con datos importantes >> info.txt
IMPORTANTE: tenga cuidado con las comillas simples y dobles, y prefijelas con barras inclinadas si desea incluirlas.
Busque en el archivo algún texto (por ejemplo
important
):grep --color -i info.txt importante
Para evitar escribir,
--color -i
debe tener un alias en su~/.bashrc
.También puede agregar texto multilínea a archivos de texto existentes o no existentes:
luego escriba o pegue el texto, y cuando haya terminado, presione CTR+Z
En cuanto a cambiar el sistema, no, no cambiará la forma en que funciona su sistema siempre que cree archivos en su propia carpeta de inicio y no los ejecute (puede ejecutar un archivo incluso si no es ejecutable, por ejemplo, con
bash myFile
) . También asegúrese de usar los privilegios de root estrictamente cuando los necesite.Y finalmente, su interpretación del sistema basado en archivos lo ha confundido un poco: la mayoría de los sistemas operativos tienen archivos que almacenan configuraciones importantes que afectan profundamente la forma en que opera el sistema, pero están ubicados en ubicaciones predefinidas y, por lo general, están protegidos de modificaciones por parte de los usuarios habituales.
Sin embargo, es posible dispararse fácilmente en el pie, por ejemplo, si como usuario normal tiene una carpeta local 'ejecutable' a la que agregó
PATH
, y si en esa carpeta tiene archivos ejecutables que tienen los mismos nombres que los compilados -en utilidades comunes o palabras clave golpe, tales comotest
,echo
,cat
,for
,cut
, etc.fuente