경로에 사용될 때 백슬래시가 무엇을 의미하는지 알고 싶습니다. 예를 들면 다음과 같습니다.
ll /opt/deployment/release175/war-files\ files/
예를 들면 다음과 같습니다.
accounting-module.war
finance-module.war
감사해요.
답변1
백슬래시는탈출하다특징특정 특수 문자를 해석하지 않도록 쉘에 지시합니다. 귀하의 경우에는 공백 문자를 이스케이프 처리합니다.
셸에서는 인수를 구분하기 위해 공백을 사용하는 경우가 많습니다. 백슬래시가 없으면 쉘은 공백을 정상적으로 해석합니다. 호출에는 2개의 매개변수가 있으며 ll
, 이로 인해 '파일 또는 디렉터리를 찾을 수 없음' 오류가 발생할 수 있습니다.
또는 인수를 따옴표로 묶을 수 있습니다.
ll /opt/deployment/release175/war-files\ files/
ll "/opt/deployment/release175/war-files files/"
ll '/opt/deployment/release175/war-files files/'
백슬래시는 다른 특수 문자를 이스케이프하는 데에도 사용됩니다.
\(
\$
\{
\*
\#
\\
답변2
Unix/Linux(또는 POSIX)에서 백슬래시는 이스케이프 문자입니다.
이 특별한 경우에는 백슬래시가 공백을 벗어납니다. 존재하지 않는 경우 ll
명령은 다음을 시도합니다.
/opt/deployment/release175/war-files\
그리고
files/
큰따옴표나 작은따옴표를 사용할 수도 있습니다.
ll "opt/deployment/release175/war-files files/"
ll 'opt/deployment/release175/war-files files/'
백슬래시는 다른 명령을 통해 다른 특수 문자를 이스케이프하는 데에도 사용할 수 있습니다.
rpm -qa | postgre\*
grep \.regex file
sed 's/\/this\/path/\/that/\/path/g'