Sé que estos dos comandos hacen lo mismo:
ls -la
ls -al
pero me pregunto si hay alguna preferencia entre ellos. ¿Es una mejor práctica ordenarlos de cierta manera?
command-line
Tim
fuente
fuente
Respuestas:
Realmente no importa * a menos que un comando mencione explícitamente. No he encontrado ninguna referencia que ofrezca algo así como una guía sobre cómo poner las opciones una tras otra. Entonces, por razones de legibilidad, las opciones se pueden ordenar alfabéticamente.
* Hay un cavaet muy muy importante que es si alguna opción necesita un nombre de archivo o cualquier otra entrada justo después de que necesite colocarlo en consecuencia.
Por ejemplo, la
-f
opción degrep
toma un archivo como entrada para tomar el patrón a buscar desde el archivo de entrada. Debe dar el comando como, por ejemplo:Si lo usas como:
fallará ya que se usará
c
como nombre de archivo.fuente
Las convenciones POSIX definen en las Directrices 11 y 12 de las Directrices de sintaxis de utilidades que el orden " no debería importar " a menos que no esté documentado para la propia utilidad.
El Manual de referencia de la biblioteca GNU C también respeta las convenciones POSIX en 25.1.1 Convenciones de sintaxis de argumento de programa .
Pero tenga en cuenta que hay varias utilidades que dan en algunas situaciones órdenes estrictas sobre cómo realizar los parámetros (por ejemplo, encontrar). Desde la página de manual de búsqueda :
A veces, la utilidad se queja sobre el pedido.
fuente
find
solo tiene algunas opciones, POSIX solo define las dos opciones-H
y-L
. El GNUfind
en Ubuntu tiene algunas opciones más, pero-type
y-name
etc. se consideran operadores , no opciones . Y para los operadores, el orden suele ser importante.Con ls difícilmente puedes equivocarte al ordenar las opciones.
Pero tenga en cuenta que otros comandos pueden tener diferentes respuestas a las opciones según el orden.
Un ejemplo es el comando find. Obtendrá diferentes resultados, por ejemplo, entre:
Y
fuente
Si lo que quieres practicar es alfabetizar cadenas cortas, tal vez. Encuentro dos estrategias útiles: hacer palabras (reduce los errores tipográficos) y hacer oraciones (mejora la comprensión).
Para ls, por ejemplo, suelo usarlo
ls -halF
porque, incluso con las extrañas mayúsculas, soy mejor escribiendo halF que algo como Falh que no es una palabra.Para tar, por otro lado,
tar czvf filename
escribo y digo (en mi cabeza) "tar Create and Zip, Verbosely For filename" porque así es como aprendí lo que significaban las diferentes letras.fuente
Al igual que otros han respondido, no importa (a menos que se documente lo contrario o los argumentos de opción tomen más argumentos).
Pero es preferible ordenar las opciones alfabéticamente es discutible.
Personalmente, encuentro que los mnemónicos proporcionan más valor que el estricto orden alfabético. Es más fácil recordar un conjunto de opciones cuando forman una palabra memorable, por ejemplo, considere:
vs:
Por lo tanto, si se encuentra repitiendo una cierta combinación de opciones para un comando, puede intentar reorganizar las letras en un orden que sea más fácil de recordar.
fuente