CLI/터미널 27

[리눅스] 쉘스크립트 사칙연산, 비교연산, 논리연산

쉘 에서의 연산자 - 쉘에서는 연산자가 없으므로 외부 프로그램을 이용해야함. - awk, expr등이 있음 - expr 표현식은 다음과 같이 쓴다. a = $(expr 3 + 4) #표현식을 넣을때는 $()를 쓴다 사칙 연산자 1. 더하기 expr 2 + 2 2.빼기 expr 10 - 5 3. 곱하기 expr 4 \* 3 4. 나누기 expr 4 / 5 5. 나머지 expr 6 % 5 비교 연산자 1. 같음 a = b a -eq b 2. 같지않음 a != b a -ne b 3. 크다 (왼쪽값 > 오른쪽값) a -gt b 4. 작다 (왼쪽값 = 오른쪽값) a -ge b 6. 작거나 같다 (왼쪽값

CLI/터미널 2023.04.22

[리눅스] 쉘 스크립트 - 특수한 환경변수

특수한 환경변수 변수 설명 $ 현재 shell의 프로세스아이디 $0 현재 script의 파일이름 $n script 실행시 입력한 n번째 파라미터 $# script 실행시 입력한 파라미터의 개수 $* 모든 인자를 ""로 감싸서 반환 $@ 각 인자를 ""로 감싸서 반환 $? 마지막으로 실행된 명령어의 종료상태 $! 마지막 백그라운드 명령어의 프로세스 아이디 특수한 환경변수 사용 쉘 스크립트 예시 1. 쉘스크립트 작성 special-var.sh #!/bin/sh echo "PID: $$" echo "File Name: $0" echo "First param: $1" echo "Second param: $2" echo "Num of params: $#" echo "Quoted value : $@" echo..

CLI/터미널 2023.04.18

[리눅스] 특별한 환경변수 $PATH

$PATH - 운영체제가 명령어의 실행파일을 찾는 경로 - $PATH에 등록된 경로 안에 있는 실행파일은, 별도의 경로까지 들어가서 실행하지 않고, 단독으로 명령을 수행할 수 있다. ex) 1. cd cd라는 명령어는 어느 위치에서도 사용할 수 있다. 그 말은 cd라는 명령어가 있는 디렉토리가 $PATH에 등록되어 있다는 것이다. cd라는 명령어는 /usr/bin/에 있다. 그럼 $PATH에는 /usr/bin가 등록되어 있을 것이다. 실제로 있다. 2. echo echo라는 명령어 역시 어느 위치에서든 사용할 수 있다. echo라는 명령어는 /bin에 있다. $PATH에 /bin이 등록되어 있는지 확인한다. $PATH에 환경변수 추가방법 1. 임시 추가(다시 실행시 삭제) export PATH=$PA..

CLI/터미널 2023.04.16

[리눅스] 환경변수

환경변수 임시설정 export {환경변수명}=값 환경변수 영구설정 1. bash_profile 파일열기(bash_profile은 내 계정으로 로그인시만 적용됨. 모든 사용자들에 사용할 수 있게 하려면 sudo vi /etc/profile 에서 아래 단계 수행) vi .bash_profile 2. 환경변수 입력 3. 소스 적용(bash실행시 bash_profile을 항상 실행함) source .bash_profile 4.환경변수확인(환경변수를 불러올때는 ${환경변수이름})

CLI/터미널 2023.04.16

[리눅스] vi 단축키 및 명령

이동 단축키 단축키 설명 j 아래줄로 이동 k 윗줄로 이동 h 왼쪽으로 이동 l(엘) 오른쪽으로 이동 gg 맨 첫줄로 이동 shift+g 맨 끝줄로 이동 shift+6 줄 맨앞으로 이동 shift+4 줄 맨 뒤로 이동 명령 명령 설명 :set number 줄번호 보이기 :set nonumber 줄번호 없애기 :30 30번 줄로 가기 /word word라는 단어 찾기(n을 누르면 다음 찾기로 이동, shift n을 누르면 이전찾기로 이동) 1. 줄번호 보이기 :set number 2. 줄번호 보이기 :set nonumber

CLI/터미널 2023.04.10

[리눅스] stdout, stderror

stdout을 지정된 파일에 저장 1> : stdout을 지정된 파일에 저장 ex) 현재디렉토리(.)에서 파일이름이 my로 시작하는 것들의 결과값을 stdout.log에 저장 find . -name "my*" 1>~/stdout.log stderr을 지정된 파일에 저장 2> : stderror를 지정된 파일에 저장 ex) 현재디렉토리(.)에서 파일이름이 my로 시작하는 것들의 결과값을 stdout.log에 저장, 에러값을 stderror.log에 저장 find . -name "my*" 1>~/stdout.log 2>~/stderror.log 표준입출력과 에러 둘다 저장 &> : 출력값과 에러값을 모두 저장 ex) 표준입출력과 에러 둘도 both.log에 저장 find . -name "my*" &>~/b..

CLI/터미널 2023.04.09

[리눅스] 터미널 명령어

1. 기본 명령어 설명 {명령} --help 특정 명령어의 파라미터들 및 설명 확인 gedit {파일경로} GUI환경 텍스트 에디터 수정 vi {파일경로} 파일 내용 출력 및 수정 ctrl+shift+c 복사 ctrl+shift+v 붙여넣기 pwd 현재 디렉토리 위치 print 폴더, 파일 이동 mv /folderName /home/tmp/folderName (mv 현재위치 옮기고싶은 위치) $(pwd) 현재디렉토리 ( ex. 현재디렉토리의 a폴더? -> $(pwd)/a cd / 최상위 디렉토리로 이동 cd /{folder}/... 절대경로를 사용할때는 / 부터 입력 cd {folder}/ 상대경로를 사용할때는 파일이름부터 입력 du -h 리눅스 전체 디스크 용량 df -h 현재 디렉토리 디스크 용량 u..

CLI/터미널 2023.04.09

[리눅스] 파일 소유주, 권한, 권한변경 (chmod)

개요 ls -al을 하면 앞에 소유자에 따른 권한 정보가 나온다. 이는 파일의 소유자에 따른 권한을 의미한다. 이를 구체적으로 알아본다. 파일의 소유자와 권한 - 파일타입 : 파일(-), 디렉토리(d) - 파일권한 범위 : 파일소유자(u, user), 그룹(g, group), 사용자(o, other)가 있고, 이 모든것을 포함하는 모든 사용자(a, all)가 있다 - 파일 권한의 종류 : r(read), w(write), x(excute) chmod(CHange MODe)를 이용한 권한변경 - (+,-) 를 이용한 권한변경(모든 소유자에 대하여 실행권한을 부여한다 혹은 박탈한다) //모든 소유자에 x권한 부여 chmod +x hi.txt - 특정 유저에의 권한변경 //u유자의 x권한 박탈 chmod u..

CLI/터미널 2023.04.05

linux(centOS)특정 버전 pip설치하기

보통의 경우, python을 설치하면 그에 따른 pip는 자동으로 설치된다. 하지만 환경설정등의 실수로 pip를 사용할 수 없을 경우 수동으로 pip를 설치해야한다. 특정버전 pip설치하기 1. pip설치 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3.X get-pip.py 2. pip확인 위에서 설치한 파이썬 버전 3.x에 대한 pip가 설치된다. pip3.X로 필요한 패키지A를 설치하고, python3.X로 파이썬을 실행하면 패키지A가 실행된다. * 패키지 A를 설치하지 않은 다른 파이썬 버전 python3.Y로 파이썬을 실행하면 패키지 A가 실행되지 않음 pip3.X -V

CLI/터미널 2023.01.28

centos에 python 설치

yum update yum update 리눅스 개발환경 세팅 yum groupinstall "Development Tools" 파이썬 설치 //파이썬 설치 압축파일 다운(다른 버전을 다운받을 시 3.9.7대신 다른 버전을 넣으면 된다) wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz //압축파일 압축 해제 tar xvfz Python-3.9.7.tgz //설치된 파이썬 디렉토리로 이동 cd Python-3.9.7 빌드 및 환경설정 - 파이썬관련 라이브러리나 프로그램 설치시 다시 빌드 및 환경설정을 수행해주어야 한다. //파이썬 소스파일 환경설정 ./configure //소스 컴파일 make //설치파일 실행 make altinstall 설치확..

CLI/터미널 2023.01.28