리눅스
https://wikidocs.net/book/2370
프로세스 확인
| 를 하나씩 이어 붙이게 되면 앞선 명령어의 output 값을 뒤에 이어진 명령어에 input 값으로 사용하게 한다.
ps -ef | grep user01 | grep ssh
프로세스 죽이기
sudo kill [Id]
종료 상태 코드 확인
echo $?
0은 정상 완료
126은 명령을 실행할 권한이 없음
127은 명령을 찾을 수 없음
130은 Ctrl + C 로 명령이 종료됨
리다이렉션
// 오류 발생 내용 날짜 이용하여 파일생성
data 2>> $(date +%y%m%d).err
변수를 만드는방법
// 일시적인 변수
name2=asdf
echo $name2
>>asdf
// 모든 변수 확인
set | grep name2
>>name2=asdf
// 전역번수 생성
export name=asdf
echo $name
// 전역변수 확인
env
// 삭제
unset name2
// 환경변수로 저장하는 방법
nano .bashrc
// .bashrc 파일을 열어 아래 코드 추가
export name2=asdf
//보통은 부팅할 때 한번만 읽는 그런 파일들을 갱신하고 적용할 때 사용
source .bashrc
경로 확인
echo $PATH
bash 활용
#!/bin/bash
echo fname?
read fname
javac $fname.java
java $fname
#!bin/bash
# ./ex02 a aa aaa
echo 'arguments' #arguments
echo $0 #./ex02
echo $1 # a
echo $2 # aa
echo $# # 3
echo $$ # processId
echo $* # a aa aaa
// 날짜 포맷
mydate=$(date +%Y년%m월%d일)
echo $mydate
// 프로세스 id조회
ps -ef | grep $$
// printf 활용가능
printf "$s:$i\n" "name" 20
// 연산 expr
expr 5 + 1
>> 6
//*은 와일드 문자이기때문에 문자열 처리를 해줘야한다. 연산자는 다 문자열 처리해주는게 좋다.
expr 5 '*' 3
>> 15
// 변수 let
let su1=5+1
//비교 연산자 - 꺽쇠의 경우는 리다이렉트로 사용되기 때문에 다른 명령어를 사용해야한다.
lt(<), gt(>), le(<=), ge(>=), eq(==), ne(!=)
// file 체크 명령어
-r (readable) -w (wrtitable) -x (runnable) -d (isDir) -a (isExist)
[ 5 -eq 5 ] 의 형태로도 비교 가능하다 다만 [] 시작과 끝을 무조건 띄워야한다.
// if 문
#!bin/bash
read mypath
if [ -e $mypath ]
then
prinf 'exist '
if [ -d $mypath ]
then
echo 'is dir'
else
echo 'is file;
fi
else
printf 'fail'
fi
// case 문
#!bin/bash
read val
case $val
yes) echo 'say Yes!';;
no) echo 'say No!';;
*) echo 'what?';;
esac
exec - 프로세스를 새로 생성하지 않고 현재 프로세스에서 실행하는 방식으로 자원을 아낄 수 있다.
crontab - 스케쥴링
'회고록(TIL&WIL)' 카테고리의 다른 글
TIL 2023.01.09 ~ 2023.01.11 MySQL (0) | 2023.01.16 |
---|---|
2023.01.10 Java Socket I/O - 마피아게임 (KPT 회고) (0) | 2023.01.16 |
WIL 2023.01.05 ~ 2023.01.06 통신, 네트워크 (0) | 2023.01.16 |
WIL 2023.01.02 ~ 2023.01.05 java 공부 (1) | 2023.01.09 |
WIL 2022.12.26 ~ 2022.12.30 java 공부 (0) | 2023.01.02 |