Infra, DevOps/Linux, Shell

리눅스 뉴렉쳐님 강의록 find, grep, ls, cmp, tar, nano, $PATH

philo0407 2021. 3. 15. 00:35

find ./ -name *.java
현 dir에서 이름으로 모두 찾기
./ 에서 / 생략가능

find . -name *.java -size +1
사이즈 1*512byte 이상인 것 찾기

find . -name *.java -size +1c
이래야.. 1byte임

 

 

head -n2 Hello.java

: 앞 두줄만 보기

tail -n2 Hello.java

: 뒤 두줄만 보기

 

grep class Hello.java

"class"란 단어를 hello.java에서 찾기

 

grep --help
man과 비슷.. 좀더 심플

ls H?.java
ls Hello[12].java
: 규식이랑 비슷

 

cmp Hello.java Hello1.java

: 내용 차이있는가? 

diff Hello.java Hello1.java

: 어디서 차이?

 

file Hello
이 파일이 무슨파일인지 힌트를 알려준다. (정확하진 않아보인다.)

 

 


history
: 내 명령어 로그
!숫자
해당명령어 실행
redirection
history > historyText
파일로옮김

echo
화면에 글자 출력하고플떄

echo "3+4" > historyText
: 묻지 않고 덮어쓰기

echo "Ok" >> historyText
: 추가

cat test | grep He
: 1의 결과를 읽어와서 2의 결과에 저장한다.
: test를 읽어와서 He를 찾겠다

 

 

ls -l | less
:끊어서 보기 (/bin 같이 목록 긴 곳에서 좋음)
:q 나가기

cat test | sort -r
역정렬

cat test | sort -r | grep el
...


touch test1; echo "okay~" >> test1; cat test1
단순히 문장 구분 짓기

 

 

타르골
tar
묶는다. 압축은 압션
-v 진행과정 보기위함

 

tar -cvf test.tar H*.java

-z옵션을 사용하지 않으면 용량이 크다

줄이려면 -z를 추가하자

 

tar -czvf test.tar.gz H*.java

 

tar -xzvf test.tar.gz

:풀기

 

wget www.newlecture.com/resource/course/12/jdk-8u161-linux-x64.tar.gz

:jdk 받아오기

 

echoecho $PATH
이곳에 있어야 .. 실행댐

jdk밑의 bin 폴더내에서
./java -version
: 이 경로에 잇더라도 이리 해야함..

 

ln -s test.txt test.ln

: symbolic Link

ln test.txt testln.txt

: hard Link : cp랑 똑같아 보임

 

심볼과 하드 모두 해당 파일을 변경하면 원본과 같이 변경됨

 

원본을 지우면

심볼은 못읽고

하드는 여전히 읽을 수 있음

 

/home/philz/download/jdk1.8.0_161/bin

 

본셸에 없으면 환경변수PATH를 찾는다.. 없으면 없는걸로 안다.

PATH=$PATH:/home:/var
:환경변수 지정

nano에서복붙 ctrl+6, alt+6, ctrl+u


~/bin 에서 ln -s ~/download/jdk1.8.0_161/bin/java java랑 c도 같이
그럼 만들어진다. 이제 java -vesrion 해도 만들어짐