проверить, может ли это сообщение помочь:
Получение vga_switcheroo с ATI Mobility Radeon 5650 HD для работы
С уважением
Что дает python, python удаляет:
$ python -c 'import os; os.makedirs("~/foo")'; tree; python -c 'import os; os.removedirs("~/foo")'; tree
.
└── ~
└── foo
2 directories, 0 files
.
0 directories, 0 files
Если вы os.mkdir, вы можете отменить его с помощью os.rmdir (и аналогичным образом для os.makedirs и os.removedirs). [ ! d1]
Вы можете либо избежать имени каталога, используя обратную косую черту (например, если вы работаете в родительском каталоге того, который хотите удалить):
rmdir \~
Или вы можете использовать относительные пути с точкой в текущем каталоге (также, если она находится в родительском каталоге):
rmdir ./~
Или вы можете использовать полный абсолютный путь:
rmdir /home/USERNAME/~
И не беспокойтесь, rmdir может удалять только пустые каталоги. Если вы случайно ошиблись в команде, и путь будет оцениваться в вашем реальном домашнем каталоге, это не опасно, потому что оно содержит файлы:
$ rmdir directory_with_files
rmdir: failed to remove ‘directory_with_files’: Directory not empty
find может совершать такие чудеса. Команда
ls -i
даст вам количество файлов или каталогов inode. Затем вы можете использовать find для удаления таких файлов или каталогов, используя:
find . -inum <inode-number> -delete #for a file
и
find . -inum <inode-number> -exec rm -rf {}\; #for directories
Сначала вы должны выполнить home=os.path.expanduser("~"), а затем os.path.join(home,"something"). [F5] рассматривается как текст в python и не расширяется, как в bash или других оболочках.
$ python -c 'import os;home=os.path.expanduser("~"); os.mkdir(os.path.join(home,"something"))'
$ ls -ld ~/something
drwxrwxr-x 2 xieerqi xieerqi 4096 7月 12 21:00 /home/xieerqi/something/
In дополнение к уже упомянутым методам, мы можем использовать шестнадцатеричное значение для ~ из таблицы символов ascii, что в отличие от фактического ~ не распространяется на домашний каталог пользователя в командной строке (если вам интересно, когда тильда появляется в начале слова, он расширяется до домашнего каталога пользователя. Сравните ls ~ и ls $'\x7e').
Вот как это будет работать:
# Make the directory
$ mkdir ./~
$ stat ./$'\x7e'
File: './~'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 5768019 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 1000/ xieerqi) Gid: ( 1000/ xieerqi)
Access: 2017-07-12 21:05:31.382828424 -0600
Modify: 2017-07-12 21:05:31.382828424 -0600
Change: 2017-07-12 21:05:31.382828424 -0600
Birth: -
# and remove it
$ rmdir ./$'\x7e'
$ ls $'\x7e'
ls: cannot access '~': No such file or directory