Linux / UNIX sh 쉘에서 어떤 명령이 현재 디렉토리를 리턴합니까?


37

은 Using sh쉘 (안 bash/ UNIX 내 현재 디렉토리를 출력 리눅스에서 명령을)?

$ *showmewhereiam*
/sys/kernel/debug
$

4
간단한 Google 검색으로 답을 얻었을 것입니다.
Mad-scientist

9
@ Mad-scientist 사실 일지 모르지만 사람들에게 Google에 가라고하는 질문 / 답변 사이트의 목적을 무효화합니다. 트래픽의 90 %는 웹 검색에서 발생 합니다.
slhck 2016 년


2
SEO에는 너무 간단한 것이 없습니다!
Kenzo

충분히 재미있게,이 질문에 대한 간단한 구글 검색에 대한 답입니다unix whereami
제이 킬린

답변:


60

시도하십시오 pwd.

$ pwd
/home/<username>

6
나는 첫 번째 터치 리눅스, 나는 그것에 대해 명령의 생각했을 때 비밀번호/dev(같은 소스 코드 또는 무언가) 개발에 대해 뭔가입니다
LiuYan刘研

2
아, dev는 장치를 의미합니까?! 지금까지는 항상 dev를 의미한다고 생각했습니다. dev / null은 리눅스 개발자 가 특별한 null 객체를 넣는 곳이라고 생각했습니다 . 감사합니다 @LiuYan 刘 研
1owk3y 2016 년

@LiuYan 刘 研-당신이 모른다면 혼란 스럽습니다. 나는 그것을 찾아야했다. 이 기능에 대해 해당 명령을 선택하는 이유에 대해 당황한 사람은 "인쇄 작업 디렉토리"를 나타냅니다.
squarecandy

1
@squarecandy, 그렇기 때문에 나이가 들었을 때 가능한 한 두문자어를 사용하지 않는 것이 좋습니다.이 약어는 현재 모호한 의미가 없습니다. 미래에 어떤 의미가 있는지 알 수 없습니다. Jeff Dunham 의 인형 Walter 는 다음과 같은 농담을합니다 . , DC 수단 여기서 D igital C의 amera을 또한 워싱턴 수단 D에서 의 istrict C의 농담에 컬럼비아 주이.
LiuYan 刘 研

11

일반적인 대답은이지만, pwd주어진 디렉토리에 도달 한 방법과 경로에 기호 링크가 포함되어 있는지 여부에 따라 다른 결과가 나타날 수 있습니다.

당신이라는 디렉토리가있는 경우 예를 들어, real및라는 디렉토리에 대한 심볼릭 링크 virtual, 그리고 cd받는 virtual디렉토리를, 다음 pwd이 표시됩니다 virtual당신이있는 실제 디렉토리에도 불구하고, 디렉토리 이름을 real.

실제 기본 디렉토리를 표시하려면 pwd -P또는 readlink -f(임의의 경로로)를 사용하십시오.

mkdir 실제
$ ln -s 실제 가상
$ cd 가상
$ pwd
/ home / username / tmp / virtual
$ pwd -P
/ home / username / tmp / real
$ readlink -f.
/ home / username / tmp / real

셸은 종종 pwd명령을 자체 내부 버전으로 대체 하므로 내 시스템 (RHEL6)에서는 pwd(1)매뉴얼 페이지에 나와 있지만 --physical제대로 작동 하지만, -P실행 중이기 때문에 다음 과 같이 작동 bash하지 않습니다.

$ pwd-물리적
bash : pwd :-: 유효하지 않은 옵션
암호 : 사용법 : 암호 [-LP]
$ / bin / pwd-물리적
/ home / username / tmp / real
$ / usr / bin / env pwd-물리적
/ home / username / tmp / real

1

다른 사람들이 말했듯이, pwd일반적으로 작업을 충분히 수행합니다. 그러나 나는 나를 도와주는 아이디어를 추가하고 싶습니다.

오늘날 일반적으로 사용되는 모든 셸에서 명령 프롬프트의 모양을 사용자 지정할 수 있습니다. 컴퓨터의 이름과 작업 디렉토리가 모두 표시되도록 내 사용자 지정을 좋아합니다. 그런 식으로, 나는 항상 내가 어디에 있는지 알고 있습니다. (컴퓨터 이름 부분은 사용중인 터미널 창이 원격 서버에 SSH로 사용되었는지 여부를 인식하는 데 도움이됩니다.) 예를 들어 랩탑에서 Plastico라고하는 새 터미널 창을 열면 다음과 같이 표시됩니다.

Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr> 

내 홈 디렉토리를로 축약하고 있음을 알 수 있습니다 ~. 터미널 프롬프트 에서이 작업을 수행하는 것이 매우 편리하다는 것을 알았습니다. Finder 창을 보는 것보다 항상 내가 어디에 있는지 정확히 한눈에 알 수 있습니다.

tcsh에서는 set prompt = 'Plastico %~%# ' 홈 디렉토리의 .tcshrc 파일에 추가하여이 작업을 수행합니다 . export PS1="Plastico $PWD $ "내 .profile 파일 에 추가 하여 ksh에서도 수행했습니다 . 그러나 리눅스 사용자라면 아마 Bash를 사용했을 것입니다. 그러나 내 .bashrc 파일 에 추가 하여 할 수있는 것처럼 보입니다PS1="Plastico \w $ " .

편집 : 방금 bash가 아닌 sh에 관심있는 OP 상태를 발견했습니다. 오 잘; 희망하는 사람들은 이것이 도움이되지 않기를 바랍니다.


멋진 생각입니다. 간단한 데스크톱 사용 사례에 적합 할 수 있습니다. 프롬프트가 혼자 Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >이거나 그와 비슷한 경우 슈퍼 딥 디렉토리에 적합하지 않은 것처럼 보입니다.
squarecandy

1
$ pwd
/your/current/directory
$

pwd인쇄 작업 디렉토리 에서 제공됩니다 .

Linux 매뉴얼 페이지에서 :

이름

pwd- 현재 / 작업 디렉토리의 인쇄 이름

개요

비밀번호 [OPTION] ...

기술

현재 작업 디렉토리의 전체 파일 이름을 인쇄하십시오.

-L ,- 논리

심볼릭 링크가 포함되어 있어도 환경에서 PWD 사용

-P ,- 물리

모든 심볼릭 링크를 피하십시오

--도움

이 도움말을 표시하고 종료

--번역

버전 정보를 출력하고 종료

참고 : 셸에는 자체 pwd 버전이있을 수 있으며 일반적으로 여기에 설명 된 버전보다 우선합니다. 지원하는 옵션에 대한 자세한 내용은 셸 설명서를 참조하십시오.

(...)


이것은 5 년 전부터 받아 들여진 답변의 정보를 복제합니다 . 다른 것을 추가 할 수 있습니까?
bertieb 2012
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.