⏰ Как перемещаться внутри директории / папки в Linux без команды cd?

by itisgood

Как все знают, мы не можем перемещаться внутри директории в Linux без команды CD.

Да, это правда, но у нас есть встроенная команда Linux shopt, которая помогает нам решить эту проблему.

shopt – это встроенная команда оболочки для установки и сброса различных параметров оболочки bash.

Да, мы можем перемещаться внутри каталога без команды cd после включения этой опции.

Мы покажем вам, как это сделать в этой статье.

Это небольшая настройка, но она очень полезна для новичков, которые все переходят с Windows на Linux.

Это бесполезно для администратора Linux, потому что мы не будем переходить в каталог без команды CD, так как у нас были хорошие практики в этом.

Если вы пытаетесь перемещаться по каталогу / папке в Linux без команды cd, вы получите следующее сообщение об ошибке. Это часто встречается в Linux.

$ Documents/
bash: Documents/: Is a directory

Для этого нам нужно добавить следующие значения в пользовательский файл .bashrc.

Что такое файл .bashrc?

Файл «.bashrc» представляет собой скрипт оболочки, который запускается каждый раз, когда пользователь открывает новую оболочку в интерактивном режиме.

Вы можете добавить в этот файл любую команду, которую хотите ввести в командной строке.

Сам файл .bashrc содержит серию конфигураций для сеанса терминала.

Он включает в себя настройку или включение: цвета, завершение, история оболочки, псевдонимы команд и многое другое.

$ vi ~/.bashrc

shopt -s autocd

Выполните следующую команду, чтобы изменения вступили в силу.

$ source ~/.bashrc

Мы сделали все настройки.

Просто проведите тестирование, чтобы убедиться, что это работает.

$ Documents/
cd -- Documents/
 
$ daygeek/
cd -- daygeek/

$ /home/daygeek/Documents/daygeek
cd -- /home/daygeek/Documents/daygeek

$ pwd
/home/daygeek/Documents/daygeek

Да, работает нормально, как и ожидалось.

Более того, это отлично работает и в оболочке fish без каких-либо изменений в файле .bashrc.

Если вы хотите временно выполнить это действие, используйте следующие команды (установлено / не установлено).

Это исчезнет, когда вы перезагрузите систему.

# shopt -s autocd

# shopt | grep autocd
autocd         	on

# shopt -u autocd

# shopt | grep autocd
autocd         	off

Команда shopt предлагает так много других опций, и если вы хотите проверить их, выполните следующую команду.

$ shopt
autocd         	on
assoc_expand_once	off
cdable_vars    	off
cdspell        	on
checkhash      	off
checkjobs      	off
checkwinsize   	on
cmdhist        	on
compat31       	off
compat32       	off
compat40       	off
compat41       	off
compat42       	off
compat43       	off
compat44       	off
complete_fullquote	on
direxpand      	off
dirspell       	off
dotglob        	off
execfail       	off
expand_aliases 	on
extdebug       	off
extglob        	off
extquote       	on
failglob       	off
force_fignore  	on
globasciiranges	on
globstar       	off
gnu_errfmt     	off
histappend     	on
histreedit     	off
histverify     	off
hostcomplete   	on
huponexit      	off
inherit_errexit	off
interactive_comments	on
lastpipe       	off
lithist        	off
localvar_inherit	off
localvar_unset 	off
login_shell    	off
mailwarn       	off
no_empty_cmd_completion	off
nocaseglob     	off
nocasematch    	off
nullglob       	off
progcomp       	on
progcomp_alias 	off
promptvars     	on
restricted_shell	off
shift_verbose  	off
sourcepath     	on
xpg_echo       	off

Я нашел несколько других утилит, которые помогают нам быстрее перемещаться по каталогам в Linux по сравнению с командой cd.

Это pushd, popd, скрипт оболочки и утилита bd.

Мы рассмотрим эти темы в следующих статьях.

 

You may also like

Leave a Comment