instalar - install cygwin 64 bits
¿Cómo navegar a un directorio en C: / con Cygwin? (13)
Estoy tratando de instalar PyQt4 para poder PyQt4 con él. La guía de instalación decía que tenía que instalar Sip . El último paso para instalar Sip es usar el comando make install
. Windows no tiene eso, así que lo busqué y todo lo que vi me dijo que instalara Cygwin. Así que lo hice. Pero ... sip está en C:/Python31/sip
.
¿Puedo ejecutar esto desde el comando Cygwin? Si es así, ¿cómo haría eso?
¿O puedo ejecutar esto desde el símbolo del sistema de Windows normal? Si es así, ¿cómo voy a hacer eso?
Agregaré algo que me ayude mucho con cygwin. Cada vez que configuro un nuevo sistema, siempre hago esto
ln -s /cygdrive/c /c
Esto crea un enlace simbólico a /cygdrive/c
con un nuevo archivo llamado /c
(en el directorio de inicio)
Entonces puedes hacer esto en tu concha.
cd /c/Foo
cd /c/
Muy útil.
Algo que vale la pena mencionar aquí es que el cygpath
de Cygwin, aún no maneja correctamente las rutas espaciadas de Windows, especialmente en los scripts Bash que se ejecutan bajo Cygwin. El truco es entender cómo Cygwin
interpreta las citas en los scripts de Bash.
Lo siguiente no funciona:
#!/bin/bash
TBDIR="/cygdrive/c/Program/ Files/ /(x86/)/MyDir/"
if [ -d "${TBDIR}" ]; then
echo "Found MyDir directory at: ${TBDIR}"
cd "$TBDIR"
else
echo "MyDir program directory not found!"
echo "Wrong DIR path: ${TBDIR}"
exit 1
fi
Pero esto funciona:
#!/bin/bash
# Cygwin-ism: No quotes!
TBDIR=/cygdrive/c/Program/ Files/ /(x86/)/MyDir/
if [ -d "${TBDIR}" ]; then
...
Por lo que sé, actualmente no existe una solución alternativa conocida con cygpath
, que pueda manejar correctamente los espacios en el contexto de los scripts de bash, pero puede usar comillas en sus scripts.
Como probablemente querrá hacer esto a menudo, agregue alias en su archivo .bashrc, como:
alias cdc=''cd /cygdrive/c''
alias cdp=''cd /cygdrive/p''
A continuación, puede escribir en la línea de comandos:
cdc
Cree un archivo llamado "overrideBashCdForWindowsPaths" en su carpeta HOME. Pegue las siguientes líneas en ese archivo y guárdelo:
#!/bin/bash
function cd() {
CD_PATH="$(history | tail -1 | sed -e "s,.*${FUNCNAME[0]}/s*,,g")"
if [ -z "${CD_PATH}" -o "${CD_PATH}" = "~" ]; then
CD_PATH="${HOME}"
fi
builtin cd "$(cygpath "$CD_PATH")"
}
A continuación, escriba el siguiente comando en un terminal, mientras se encuentra en su carpeta HOME:
echo ". overrideBashCdForWindowsPaths" >> .bashrc
Cierra tu terminal y abre una nueva. Ahora puedes cambiar fácilmente a esa carpeta de Windows simplemente escribiendo
cd C:/Python31/sip
El script lee el último comando, extrae la ruta y la pasa a la herramienta de conversión de ruta de Cygwin. Al nombrar la función "cd", ordenamos "anular" el "cd" incorporado de Bash y delegamos la llamada real en la última línea.
Define una variable en .bashrc:
export C=/cygdrive/c
entonces puedes usar
cd $C/
y la pestaña se autocompleta correctamente (incluya la / al final)
El que más me gusta es: cd C:
Para tener la sensación de linux entonces haga:
ln -s /cygdrive/c/folder ~/folder
y usa esto como: ~/folder/..
En una nota relacionada, también te puede gustar:
shopt -s autocd
Esto le permite copiar un directorio simplemente escribiendo en el directorio
[user@host ~]$ /cygdrive/d
cd /cygdrive/d
[user@host /cygdrive/d]$
Para hacer es persistente debes agregarlo a tu ~/.bashrc
Solo puedes usar
cd C:/Users/../..
Utilizar:
cd /cygdrive/c
Ya aceptaste una respuesta, pero pensé que mencionaría que lo siguiente también funciona en Cygwin:
cd "C:/Foo"
Creo que el método cd /cygdrive/c
es mejor, pero a veces es útil saber que también puedes hacer esto.
puedes probar esto
/cygdrive/c/directoryname
$cd C:/
>
(Presione enter cuando vea esta línea)
Ahora estás en la unidad C.
cd c:
es compatible ahora en cygwin