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