기본 명령어
JSH는 디렉터리 이동, 파일 읽기, 텍스트 출력, 경로 생성 및 삭제, 대기 시간 처리에 사용할 수 있는 기본 shell 스타일 명령어 집합을 제공합니다.
개요
대부분의 명령은 /sbin 아래의 JavaScript 파일로 구현되어 있으며 JSH 명령 경로를 통해 실행됩니다.
cd는 예외로, 현재 shell의 작업 디렉터리를 변경해야 하므로 internal command로 구현되어 있습니다.
참고
- 이 명령들은 호스트 OS 파일 시스템이 아니라 JSH 가상 파일 시스템 안에서 동작합니다.
- 상대 경로는 현재 JSH 작업 디렉터리를 기준으로 해석됩니다.
cd는 현재 shell 세션에 영향을 주고,pwd,ls,rm같은 나머지 명령은 일반 명령으로 실행됩니다.- 일부 명령은 Unix 명령과 비교했을 때 의도적으로 더 작은 기능 집합만 제공합니다.
cat
파일 내용을 표준 출력으로 이어서 출력합니다. 행 번호, 줄 끝 표시, 탭 표시, 빈 줄 압축, 문법 강조 기능도 지원합니다.
사용 형식
cat [OPTION]... [FILE]...옵션
-n, --number모든 출력 행에 번호를 붙입니다.-E, --showEnds각 줄 끝에$를 표시합니다.-T, --showTabs탭 문자를^I로 표시합니다.-s, --squeeze연속된 빈 줄을 하나로 압축합니다.-c, --color문법 강조를 활성화합니다.-h, --help도움말을 표시합니다.
-c 사용 시 다음 확장자에 대해 문법 강조를 지원합니다.
.js.json.ndjson.sql.csv.yaml.yml.toml
사용 예시
/work > cat -n notes.txt
/work > cat -c script.js
/work > cat -sE log.txtcd
현재 JSH shell 세션의 작업 디렉터리를 변경합니다.
다른 명령과 달리 cd는 별도의 /sbin/*.js 파일이 아니라 internal command입니다.
사용 형식
cd <directory>대상 디렉터리가 존재하지 않으면 에러 메시지를 출력하고 non-zero 상태를 반환합니다.
사용 예시
/work > cd subdir
/work/subdir >echo
전달받은 인자를 공백으로 구분하여 출력하고 마지막에 줄바꿈을 붙입니다.
사용 형식
echo [ARG]...현재 echo는 -n 같은 shell 스타일 플래그나 escape 시퀀스 해석을 지원하지 않습니다.
전달된 인자를 그대로 출력합니다.
사용 예시
/work > echo hello world
hello worldls
디렉터리 내용을 나열합니다. 기본적으로는 색상을 적용한 이름을 컬럼 형태로 출력합니다.
사용 형식
ls [OPTION]... [PATH]...옵션
-l, --long상세 목록 형식으로 출력합니다.-a, --all숨김 파일을 포함합니다.-t, --time수정 시간 기준으로 내림차순 정렬합니다.-R, --recursive하위 디렉터리를 재귀적으로 나열합니다.
경로를 생략하면 현재 작업 디렉터리를 사용합니다.
또한 경로 인자에서 *, ? 같은 단순 wildcard 패턴도 지원합니다.
사용 예시
/work > ls
/work > ls -la
/work > ls -t /lib
/work > ls -R src
/work > ls *.jsmkdir
하나 이상의 디렉터리를 생성합니다.
사용 형식
mkdir [OPTION]... DIRECTORY...옵션
-p, --parents필요한 상위 디렉터리까지 함께 생성합니다.-v, --verbose생성한 디렉터리마다 메시지를 출력합니다.-h, --help도움말을 표시합니다.
-p 없이 이미 존재하는 디렉터리를 만들면 에러를 반환합니다.
-p를 사용하면 이미 존재하는 디렉터리는 허용됩니다.
사용 예시
/work > mkdir data
/work > mkdir -p logs/app/2026
/work > mkdir -pv build/outputpwd
현재 작업 디렉터리를 출력합니다.
사용 형식
pwd사용 예시
/work > pwd
/workrm
파일이나 디렉터리를 삭제합니다.
사용 형식
rm [OPTION]... FILE...옵션
-r, -R, --recursive디렉터리와 그 하위 내용을 재귀적으로 삭제합니다.-d, --dir, --directory빈 디렉터리를 삭제합니다.-f, --force존재하지 않는 경로를 무시하고 missing operand 오류도 억제합니다.-v, --verbose삭제한 경로마다 메시지를 출력합니다.-h, --help도움말을 표시합니다.
주요 동작은 다음과 같습니다.
-r,-d없이 디렉터리를 삭제하려 하면Is a directory오류가 발생합니다.-d는 빈 디렉터리만 삭제할 수 있습니다.-R은-r과 동일하게 처리됩니다.--directory는--dir과 동일하게 처리됩니다.
사용 예시
/work > rm old.txt
/work > rm -rf cache
/work > rm -d empty-dir
/work > rm -fv temp.txt missing.txtsleep
지정한 초 수만큼 대기한 뒤 종료합니다.
사용 형식
sleep [options] <sec>옵션
-h, --help도움말을 표시합니다.
값은 초 단위로 해석됩니다.
사용 예시
/work > sleep 5