DataCamp Shell

Shell

Mainpulating files and directories

pwd : 현재 있는 디렉토리 위치를 절대경로로 출력

ls : 현재 디렉토리에 있는 내용을 출력

cd : 입력한 디렉토리로 이동

cd .. 부모디렉토리 ( 상위 디렉토리로 이동 )

cd ~ home으로 이동

cd .  현재디렉토리를 의미

cp : 입력한 파일을 복사

cp 복사하고싶은파일명 복사할파일명

mv : 파일 이동 + 이름변경

rm : 입력한 파일을 삭제

rmdir : 폴더를 삭제하고싶을 때

mkdir : 폴더 생성


Manipulating data

cat : 해당 파일의 내용을 출력

less 파일명 한페이지씩 보기

:n 다음페이지로
:q 종료

head : 상위 10줄 출력

tab 키 사용시 자동완성 기능

head -n (출력원하는 줄 수) 파일명
ls -R : 현재 위치의 모든 파일과 디렉터리 표시

ls -R -F : home 기존 모든 파일 디렉터리 표시
man (명령어) : 해당 명령어의 정보를 출력
tail -n +k (파일명) : k 앞에 + 가 있을 경우, k번째 줄 부터 끝 까지 출력
cut -f 2-5,8 -d , values.csv : columns 2 ~ 5 and 8
history : 지금까지 수행한 명령어 출력
grep <문자열> <파일명>
-c : 일치하는 줄 수 출력
-h : 파일명을 출력하지않음
-i : 대소문자 무시
-l : 파일의 이름 인쇄
-n : 일치하는 줄의 번호 인쇄
-v : 일치하지않는행 표시


Combining tools

tail -n 5 seasonal/winter.csv > /home/repl/last.csv : 저장히는방법

tail -n 2 seasonal/winter.csv > bottom.csv

연결하는 방법 ! | 사용

cut -d, -f 2 seasonal/summer.csv | grep -v Tooth
cut -d, -f 2 seasonal/summer.csv | grep -v Tooth | head -n 1
# wc : word count -c : characters, -w : words, -l : lines

$ grep 2017-07 seasonal/spring.csv
2017-07-10,incisor
2017-07-16,bicuspid
2017-07-23,bicuspid

$ grep 2017-07 seasonal/spring.csv | wc
      3       3      59

$ grep 2017-07 seasonal/spring.csv | wc -l
3
cut -d , -f 1 seasonal/*

cut -d , -f 1 seasonal/*.csv

cut -d , -f 1 seasonal/winter.csv seasonal/spring.csv seasonal/summer.csv seasonal/autumn.csv
cut -d , -f 2 seasonal/winter.csv | grep -v Tooth | sort -r
cut -d, -f 2 seasonal/winter.csv | grep -v Tooth | sort | uniq -c : 중복제거

Ctrl + c : 실행중인 명령 중지

wc - l seasonal/*.csv | grep -v total | sort -n | head -n 1


Batch processing

echo $OSTYPE

linux-gnu
echo $testing=seasonal/winter.csv : 뛰어쓰기없음 ! ( 변수 등록 )

head -n 1 $testing

반복문 사용

for filetype in docx odt pdf; do echo $filetype; done
for filename in people/*; do echo $filename; done
datasets=seasonal/*.csv
for filename in $datasets; do echo $filename; done
for file in seasonal/*.csv; do grep 2017-07 $file | tail -n 1; done


Creating new tools

  • Ctrl + K: delete a line.
  • Ctrl + U: un-delete a line.
  • Ctrl + O: save the file (‘O’ stands for ‘output’). You will also need to press Enter to confirm the filename!
  • Ctrl + X: exit the editor.
nano dates.sh
input > cut -d , -f 1 seasonal/*.csv
bash dates.sh