Shell Workshop

lesson 1이 끝인건가?

echo

echojavascriptconsole.log()pythonprint()같은 콘솔에 텍스트를 보여주는 명령어이다.

$ echo $COLUMNS x $LINES
# 터미널 사이즈를 보여줌. (shell에서 `$`는 변수를 뜻한다.)

;

; 는 js와 마찬가지로 문장의 끝을 뜻한다. 아래와 같이 한가지 커맨드를 끝낸뒤 다음 커맨드를 실행할 수도 있다.

$ ls; cd DEV

ls

lsList라는 뜻으로 현재경로 혹은 특정경로에 있는 파일 및 디렉토리들을 보여준다.

ls -l l은 long이라는 뜻이다. 파일의 최근 수정날짜 까지 확인 할 수 있다.

mkdir

디렉토리를 만들 수 있는 명령어 이다.

mv

파일 및 디렉토리를 특정 위치로 이동 시킬 수 있다.

cd

cd 는 특정 디렉토리로 이동할 수 있는 명령어이다.

pwd

현재 path를 보여준다.

curl

curl은 see url이란 뜻이다. 이명령어로 특정페이지를 다운받을 수 있다.

$ curl -o google.html -L "http://google.com"

cat, less

cat(catenate) 파일을 읽을 수 있다. less파일을 읽어 한페이 분량씩 보여준다. q를 눌러 나갈 수 있다.

rm , rmdir

파일이나 디렉토리를 삭제할 수 있다. 명령어 옆에 -i 옵션을 쓰면 지우기 전에 의사를 물어본다.

$ rm -i index.html
# remove index.html? (YES/NO)

grep

파일내에서 특정한 패턴이나 문자열을 찾은후, 그 패턴을 포함하는 모든 행을 출력한다. 디렉토리내에서 지정한 패턴을 포함하는 파일을 찾을 수도 잇따.

-c : 패턴이 일치하는 행의 수를 출력
-i : 비교시 대소문자를 구별 안함
-v : 지정한 패턴과 일치하지 않는 행만 출력
-n : 행의 번호를 함께 출력
-l : 패턴이 포함된 파일의 이름을 출력
-w : 패턴이 전체 단어와 일치하는 행만 출력

Environment variable

아래는 shell의 변수 사용법이다.

$ name='minwoo' #띄어쓰기를 하면 안된다.
$ echo $name
#minwoo

환경변수는 shell에서 어마어마하게 중요하다. 엄청나게 많은 프로그램들이 환경변수들에 묶여 있기 때문에 자칫 잘못 수정하면 프로그램 자체가 안돌아 갈수도 있다.

echo $PATH #대표적으로 이런거.
# /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:

이게 지정되어 있기 때문에 위의 많은 커맨드들을 /bin/ls처럼 사용하지 않고 단순하게 ls로 사용할 수 있다.

PATH를 커맨드라인으로 수정하면 터미널을 다시 켰을 경우에는 리셋되어 효과가 없다. 만약 꼭필요한 프로그램에 접근하기 위해 편리한 패스를 저장해두고 계속 쓰고 싶다면, .bash_profile(혹은 .bashrc)파일에 저장해 준다. 매번 shell을 시작할때 적용된다. (내용 저장후 source .bash_profile 하면 바로 적용된다.)

mac, windows : .bash_profile
linux : .bash_profile (log-in session) / .bashrc (non-log-in session)
# .bash_profile
date
echo 'Hello!'

2017년 7월 9일 일요일 01시 09분 56초 KST

Hello

Controlling the shell prompt

man bash로 bash에 대한 매뉴얼을 확인할수있다. 이 매뉴얼들을 적절히 사용해서 zsh비스무리한걸 만들 수도 있다.(http://bashrcgenerator.com/\)

Aliases

아래와 같이 **긴 커맨드를 짧게 줄여** 주거나, 오타가 자주나는 sl 을 ls로 자동으로 바꿔 줄 수도 있다. 자주사용하는 npm관련 설치 커맨드 같은것을 줄여줄수도 있을것 같다.

alias ll='ls -al'
alias sl='ls'
alias ..='cd ..'
alias now='date'

results matching ""

    No results matching ""