# vi 편집기에서 java 코드 입력
- vi .bash_profile에 환경변수 설정
- vi hello.java 들어가서 자바 코드 입력 후 저장하고 나오기
- cat hello.java로 제대로 들어갔는지 확인하지
# 컴파일하는 법 (javac)
▶ class를 만들어졌기 때문에 사용이 가능하다.
# 실행
▶ class 앞에 이름으로 실행해야 한다.
▶ java는 대소문자 구분하기 때문에 정확하게 입력해야 한다.
■ cut
- 문자열을 자르는 명령어
- cut [옵션] 파일
- -d : 필드(컬럼) 구분자
- -f : 필드 선택
before)
after) cut 사용
▶ -d: 는 :를 기준으로 cut을 하겠다. 필드는 1번 하고 3번 필드만 선택하겠다.
# 디벨로퍼에서 날짜형식 바꾸는 방법 (도구 들어가기)
▶ 컬럼 선택은 자유
▶ 데이터를 export 할 경우 많이 쓴다. 내가 뽑고 싶은 데이터를 객체 where에 입력
▶ 완료 누르고 엑셀 파일을 메모장으로 바꾸고 폴더 옵션에서 확장명 숨기기 해제하기
▶ 메모장에 내가 원하는 데이터가 뽑힌 걸 볼 수 있다.
# MobaXterm으로 emp.csv 로드 작업
- 외부에서 바로 전송해도 되고 안에서 드래그해서 전송해도 된다.
# 파일 확인
ex) cut 사용
▶ cut 명령어를 통해 내가 원하는 데이터만 추출해서 볼 수 있다.
▶ 필드 구분이 ,로 되어있기 때문에 -d, 를 쓴 것이다.
■ awk
- 특정 단어가 들어가 있는 라인에서 특정 컬럼을 출력하고자 할 때 사용하는 명령어
- awk [옵션] 컬럼 파일
- -F : 필드(컬럼) 구분자
ex)
▶ $1,$3 : 1,3 필드를 추출하라는 뜻이다.
# 조건절
▶ IT_PROG인 사원들만 추출하는 조건절을 작성한 것이다.
▶ 작은 따옴표 안에 큰 따옴표로 입력해 주면 된다.
▶ 조건절은 가장 앞에 작성해주면 된다.
ex)
▶ salary값이 15000이상인 사원들의 정보만 출력한 것이다.
▶ salary는 문자가 아니기 때문에 큰 따옴표로 구분 없이 그냥 적어주면 된다.
# 연산자
- 산술연산자 : +, -, *, /
- 비교연산자 : ==, !=, >, >=, <, <=
- 논리연산자 : && (and), || (or), ! (not)
ex)
# 파일 용량만 뽑고 싶을 경우
▶ 공백으로 나뉘어져 있기 때문에 -F를 생략하면 자동으로 공백을 기준으로 구분한다.
ex)
# 급여에 대한 total값을 다시 생성할 경우
▶ 급여에 대한 정보를 출력하고, 거기에 awk을 또 쓴다.
▶ sum (로컬변수) += $1 : 1번 행부터 반복해서 누적합을 sum에 담는다.
▶ END (print sum) : 출력하는 코드이다.
■ sort
- 특정한 컬럼을 기준으로 정렬하는 명령어
- sort [옵션]
- -k필드번호 : 정해진 컬럼을 기준으로 정렬
- -r필드번호 : 내림차순 정렬
- -u : 정렬 후 중복을 제거
■ uniq
- 중복된 라인을 제거하는 명령어
ex)
▶ uniq만 하면 정렬되어 있지 않는다. 그래서 뒤에 sort를 써서 정렬해 준다.
■ Linux shell
1. shell 역할
- 사용자 명령어 해석기
- 사용자가 프롬프트에 입력한 명령을 해석해서 운영체제(커널)에게 전달
- 사용자와 Linux 사이의 대화를 중계하는 인터페이스 역할을 담당하는 프로그램
- 사용자가 입력한 명령을 해석해 커널로 전달하거나 커널에서 처리한 결과를 사용자에게 전달하는 역할을 한다.
2. shell 종류
- Bourne shell (sh)
- C shell (csh, tcsh)
- korn shell (ksh)
- Bourn again shell (bash)
# shell 변경 (chsh 이용)
ex)
▶ hostname이 환경변수라 생각하면 된다.
# execute 하는 방법 (편한 거 사용하기)
▶ 에러가 발생한다. 그 이유는 쉘 프로그램을 만들 때 execute 권한을 주지 않기 때문에 발생한다.
# 에러 해결
- 유저에 execute 권한을 주고 다시 실행하면 정상 실행이 된다. 모든 execute 하는 거 다 해당이 됨
ex)
※ ~ : tilde
` : backtick
▶ 날짜 포맷을 예쁘게 하기 위해선 공백이 있어야 하는데 그냥 작성하면 에러가 발생한다. 그래서 날짜 포맷을 작은따옴표로 묶어준다.
▶ sh : 실행한다는 명령어이다. (SQL run과 같은 개념)
ex)
- #!/bin/bash : 셔뱅,해시뱅, 스크립트를 실행할 shell 이름을 지정
→ 쉘 프로그램에서는 해시뱅 뒤에 주석이 오면 에러가 발생한다.
→ #은 주석이지만 뒤에 !를 쓰면 배시쉘이라는 뜻이다.
→ 써주는 습관을 가지는 게 좋다.
▶ 로그인 사용자 이름과 로그인 사용자 홈 디렉터리를 뽑는 거다.
▶ ./user.sh만 하고 실행하면 에러가 발생한다. 그래서 권한을 주고 실행해야 정상 실행이 된다.
■ 변수
- 모든 변수는 문자열로 취급한다.
- 변수이름은 대소문자를 구분한다.
- 변수에 값을 대입할 때는 = 좌우에 공백이 없어야 한다.
- 변수에 값을 출력하려면 echo 명령어를 이용한다. 단, 변수이름 앞에 $ 명시하기
- 변수이름 : 문자, 숫자, _로 구성될 수 있지만 반드시 문자, _로 시작해야 한다.
ex)
ex) 변수 지우기 (unset 변수이름)
ex)
▶ 쉘은 문자형으로 되어있기 때문에 문자형으로 출력이 된다.
# expr : 값을 계산하는 명령어
▶ 처음에 그냥 쓰면 더해지지 않는다. 쉘은 공백을 포함해야 하기 때문에 밑에처럼 출력을 해야 값을 계산해서 수행이 된다.
▶ *는 에러가 발생한다. 작은따옴표로 묶어서 실행하거나 역슬래시를 써서 실행해야 한다.
ex)
▶ 변수의 값을 저장하는 변수를 지정하고 싶을 때는 ``를 이용하면 된다.
▶ 변수 지정 안 하고 그냥 계산하고 싶을 땐 expr 사용하면 된다.
ex)
▶ *가 우선순위이지만 +를 먼저 수행하고 싶을 때는 () 묶어주는데 *처럼 \를 써줘야 하고 띄어쓰기에 아주 주의해야 한다.
▶ 괄호 앞에 역슬래시로 시작해서 괄호 전에 역슬래시를 써주고, 괄호하고 변수 사이에 공백이 있어야 한다.
# 파라미터 변수
- 파라미터 변수는 순서대로 $0, $1, $2,...형태를 가진다.
- 전체 파라미터는 $*로 표현한다.
ex) vi ex1.sh
▶ $0 위치자 : ex1.sh
▶ $1 위치자 : 10
▶ $2 위치자 : 20
▶ $* 위치자 : $0을 제외한 나머지 출력
ex) vi ex2.sh
▶ vi 편집기 안에 ``표시로 연산을 해주면 된다.
ex)
▶ awk를 통해서 작업을 많이 한다.
▶ emp.csv 파일에서 3번째 필드가 $ename 값과 일치하는 행을 찾아, 해당 행의 2,7,8번째 필드의 값을 출력한다.
ex)
ex) vi dept.sh
▶ 부서id를 입력값으로 받아서 그 id에 맞은 사원들의 부서id와 급여를 출력한다.
▶ 입력값으로 받은 부서id에 있는 사원들의 급여를 누적합해서 그 결과를 출력하는데 변수 total에 담았다.
▶ 변수를 담을 때는 꼭 `` 명시해야 하고, echo를 통해 출력한다.
ex) vi ex3.sh
- 변수를 2개 받아 쓸 경우
▶ 변수를 2개 이상 받을 경우엔 awk에도 변수마다 위에처럼 작성해줘야 한다.
'Linux' 카테고리의 다른 글
2025.01.16 OS 다운 시 복구 및 Oracle startup 단계별 테스트, Oracle shutdown 4가지 테스트 (0) | 2025.01.16 |
---|---|
2025.01.15 oracle 19c 설치 및 환경설정 셋업과 listener 상태 정보 확인 및 reboot 시 복구 방법 (0) | 2025.01.15 |
2025.01.13 Linux 파일의 접근 권한 관리 및 부여, 삭제 등 사용자 환경 설정 파일 수정 (0) | 2025.01.13 |
2025.01.10 vi 환경 및 명령어, 유저 생성, group 생성, passwd 생성 및 삭제 및 변경 (2) | 2025.01.10 |
2025.01.09 Linux 명령어 및 디렉터리 이동,수정,복사,timezone 확인 및 변경 (0) | 2025.01.09 |