[Linux] 주요 명령어
auser → usergroup1
buser → usergroup1
cuser → usergroup2
a.txt auser가 생성, usergroup1
rwxrw-r— : auser는 rwx권한, buser는 rw권한, 그외는 r 권한만
cd 디렉토리 이동(cd만치면 루트디렉토리이동)
pwd 현재 경로
nano 파일명 //파일이 없으면 생성 후 접근, 존재하면 수정 : 텍스트 편집기
⇒ 내용 입력 후 ctrl+x:종료 ctrl+o:저장
chmod 777 파일명 // 권한부여
touch 파일생성
cat 파일 읽기
cp 복사
ls -al : 숨김파일을 포함하여 파일 목록 자세히 출력(권한 확인 가능)
ctrl+s누르면 입력이 잠김 → ctrl+q로 해제가능
tab : 자동완성
상하방향키 : 이전에 입력한 명령어
- 주요 쉘 명령어
- 디렉터리 관련
- pwd
- 현재 위치 경로를 출력
- mkdir
- 새로운 디렉토리를 생성
- ls명령어
- ls –l
- 자세하게 출력
- ls –al
- 숨김파일도 출력
- ls –l
- cd
- 디렉토리 이동 명령어
- 절대경로 이동 cd /root/abc/cbd
- 상대경로 이동 cd ..
- cd만 치면 홈 경로로 이동
- cd / 를 치면 root경로로 이동
- .은 현재경로를 의미, ..은 상위경로를 의미
- 자동완성과 히스토리
- tap키를 눌러 자동완성
- history명령어로 이전 명령어 조회
- 도스키 사용(상하 화살표키)
- clear
- 입력중인 명령창 깨끗하게 정리
- pwd
- 파일 관련
- rm
- 파일이나 디렉토리 삭제
- rm, rm –f, rm -rf
- cp
- 파일이나 디렉토리를 복사
- cp –r 하면 디렉토리까지 모두 복사
- mv
- 파일이나 디렉토리를 이동
- 잘라내기와 같은 기능
- touch
- 용량 0인 파일을 생성
- 이미 존재할 경우에는 수정 시간을 변경
- cat
- 텍스트로 작성된 파일을 화면에 출력
- more 명령어는 페이지 단위로 출력
- space를 통해 아래 페이지로 넘어감
- head, tail
- 텍스트로 작성된 파일의 앞 10행, 마지막 10행 출력
- n 숫자 옵션을 주어 원하는 행숫자별로 출력 가능
- 리다이렉션( >, >>, |, < 등)의 활용
- echo는 터미널 화면에 출력하는 명령어
- echo와 > : 표준 출력의 결과를 덮어쓰기로 파일로 저장하는 기능
- echo와 >> : 표준 출력의 결과를 파일에 추가모드로 저장하는 기능
- sort와 < : 파일의 내용을 전달하여 정렬 후 출력
- | 은 왼쪽 실행문의 결과값을 오른쪽 실행문의 입력값으로 전달
- grep
- 파일 내에서 특정 패턴이나 문자열을 검색
- 기본 사용법
- grep [옵션] [패턴] [파일명]
- -r옵션 : 디렉토리 내 모든 파일에서 검색
- -i옵션 : 대소문자 구분 없이 검색
- -n옵션 : 라인수 출력
- 예시)grep -rin "hello" mydir
- hello 문자열을 라인수와 함께 mydir폴더에서 대소문자 구분 없이 검색
- find
- 파일이나 디렉토리를 검색하여 위치 출력
- 기본사용법
- find [경로] [옵션] [행동]
- -name옵션 : 파일명으로 검색
- -type: 타입으로 검색 (f는 파일, d 디렉토리 등 파일타입으로 검색)
- -exec, \, {}
- exec : find로 찾은 결과에 대해 실행명령.
- \ : exec의 종료지점을 의미
- {} : find로 찾은 대상이 담기는 공간을 의미
- 사용예시
- find . -type f -name ".txt" : 현재폴더에서 파일타입 중에 .txt로 끝나는 파일명 검색
- 활용예시
- find . -name ".txt" | xargs grep -n “hello”
- |(파이프라인)을 통해 그 다음 명령어로 전달
- xargs는 입력받은 파일을 한줄씩 읽는것을 의미
- find . -name ".txt" -exec echo {} \;
- find로 찾은 파일에 대해 echo명령어 실행
- find . -name "*.txt" -exec cp {} ./testFolder/ \;
- find . -name ".txt" | xargs grep -n “hello”
- rm
- grep
파일 내에서 특정 패턴이나 문자열 검색
grep [옵션] [패턴] [파일명/디렉토리]
-r:옵션 : 디렉토리 내 모든 파일에서 검색 (하위 디렉토리가 있을 경우 계속 접근) - 거의 필
-i:옵션 : 대소문자 구분 없이 검색
-n옵션 : 라인 수 출력
⇒ grep -rni “hello” mydir : hello 문자열을 라인수와 함께 mydir폴더에서 대소문자 구분없이 검색
mydir내
first.txt: hello 작성
second,txt: hello 없이
test_folder → abc.txt → hello 넣기(대문자포함) hello/HELLO 넣은 상태
find
파일을 찾는 명령
find [경로] [옵션] [행동]
-name옵션 : 파일명으로 검색
-type옵션 : 타입으로 검색 (f는 파일, d 디렉토리 등 파일 타입으로 검색)
⇒ find . -type f -name “*.txt” : 현재포ㅗㄹ더에서 파일 타입중에 txt로 끝나는 파일명 검색
-exec, \, {}옵션
- exec: find로 찾은 결과에 대해 실행명령
- \ : exec의 종료지점
- {} : find로 찾은 대상이 담기는 공간
find . -name “*.txt” : 현재폴더에서 txt파일 이름 조회
find . -name “*.txt” | xargs grep -rni “hello” : 찾은 txt파일에서 hello문구를 찾는것 (같이 쓰면 더 빠름)
xargs는 입력받은 파일을 한줄씩 읽는 것을 의미
|(파이프라인)을 통해 그 다음 명령어로 전달
→ 앞에 find먼저 수행 후 grep 수행
⇒ grep을 exec {} \ 를 이용해서 바꾸기
find . -name “*.txt” -exec grep -rni “hello” {} \;
find . -name “*.txt” -exec echo {} \; // 역슬래쉬(\)가 있는 경우 세미콜론(;)으로 마무리
find로 찾은 파일에 대해 echo명령어 실행
find . -name “*.txt” -exec cp -r {} testFolder \; :find로 찾은 파일을 testFolder에 복사
- 실습3
- find와 grep을 사용하여 현재 폴더에서 txt로 끝나는 파일에서 hello 문자열 검색하여 어떤 파일의 몇번째 line에 해당 문자열이 있는지 결과 저장
- 결과가 저장된 파일을 cat을 이용하여 출력
- 디렉터리 관련
Uploaded by N2T