스터디 노트 - Udacity Shell Workshop

Posted on March 10, 2019
티스토리로 블로그 이사중입니다.
http://kminito.tistory.com/ ×

쉘 커맨드 참조 싸이트 https://ss64.com/bash/


echo

echo는 print 같은 함수
echo Hello! 와 echo Hello!! 는 다르다

느낌표는 특별한 기능을 하기 때문. 이러한 기능을 가진 문자들이 정해져 있다.
이런 문제를 방지하려면 따옴표로 감싸서 사용한다
echo 'Hello!!'

문자 앞의 $ 달러사인은 shell variable 을 나타내기 위해 사용된다.

echo $COLUMNS x $LINES 요로코롬 해보면 쉘 윈도우의 사이즈가 나온다


ls, cd, mv

ls = List cd = Change Directory
pwd = Print Working Directory

디렉토리 이름에 공백이 있을 경우 따옴표를 사용한다
cd 'My Pictures'

Path를 표현할 때는 포워드슬래시를 사용한다

ls -a 는 detailed listing of files

ls -l Documents/*.pdf
확장자가 pdf인 모든 파일들을 자세히 보여줌

ls bear*
bear로 시작하는 모든 파일들을 리스팅

mv Documents/*.epub Documents/Books 모든 epub 파일을 옮기기

cd Documents; mv Books/*.epub . .은 current directory로
cd Docuemnts/Books; mv * .. ..은 parent directory로

mv 'Documents/Books/\*' Documents
‘Documents/Books/*’ <-이렇게 생긴 파일 이름을 찾으려고 하니까 당연히 없다.


curl, cat, rm

curl is used in command lines or scripts to transfer data.
curl = C Url = See URL (언어유희)

curl -L 'https://google.com'
-L 옵션은 follow web redirects
curl -o google.html -L 'https://google.com'
google.html 파일로 다운로드
퍼센트 사인이나 앤드 사인 같은 특수문자가 있을 수 있으니 따옴표를 사용하는 게 좋음

cat은 파일을 읽기

cat = catenate 혹은 concatenate

cat 말고 less는 한 페이지부터 보여줌
스페이스바로 페이지씩 내림. b 키는 back, 슬래시는 검색을 위해 사용

rm -> remove

휴지통이 없음 -> 파일 바로 삭제하므로 조심

불안하면 -i 옵션을 사용. i는 인터렉티브. 모든 파일을 삭제 전에 물어봄.
rm -i abc.text

예시 rm *'Bad F'* 파일 이름에 ‘Bad F’가 포함된 것들을 삭제

rmdir 리무브 디렉토리


grep, wc

grep: “global regular expression print,” processes text line by line and prints any lines which match a specified pattern

wc: “short for word count” reads either standard input or a list of files and generates one or more of the following statistics: newline count, word count, and byte count

grep shell dictionary.txt | less
-> 딕셔너리.txt에서 ‘shell’을 그랩해서 레스로 파이프함

curl -L url | grep fish
-> url에다가 -L 한 내용에서 fish를 찾음

숫자 세기
curl -L url | grep fish | wc -l fish가 있는 줄 숫자 세기

wc의 옵션

-c : Print only the byte counts.
-l : Print only the newline counts.


Shell Variable 과 Environment Variable

shell variable와 environemnt variable

echo $PATH
치면 환경변수가 등록된 곳이 나옴

PWD는 환경변수일까 쉘변수일까? -> 환경변수
echo $PWD 해보라는 데 이해 안됨

$LOGNAME 은 현재 로그인한 게정의 유저네임


Alias

Aliases - 명령어 간단하게 만들기

alias: Allows you to create short names for commands.

예시 :
alias ll='ls -la'


추가 학습 자료 The Bash Academy http://www.bash.academy/
Bash Beginners Guide http://www.tldp.org/LDP/Bash-Beginners-Guide/html/
Bash Programming HOWTO http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
Regexr — Learn Regular Expressions http://regexr.com/