LINUX

포스트: 487|아이템:LINUX(477)
Tags

Posts

487 posts

리눅스에서 sudo 명령 실행 권한 부여/삭제하기 (우분투 계열)

반달가면|2017년 11월 20일

루트(root) 권한으로 명령을 실행시킬 수 있는 sudo 명령에 대한 사용 권한은 해당 사용자 계정이 sudo 그룹(group)에 소속되어 있느냐에 의해 결정된다. sudo 그룹에 소속된 사용자만이 sudo 명령을 사용할 수 있다. 사용자에게 sudo 권한을 부여하거나 삭제하고 싶으면 sudo 그룹에 사용자를 추가/삭제하면 된다. 우분투 기준으로 아래의 예시와 같이 adduser 명령으로 사용자 계정을 sudo 그룹에 추가할 수 있다. # 사용자 계정 john을 sudo 그룹에 추가(adduser) sudo adduser john sudo usermod 명령에 -a(추가, append) 옵션으로도 가능하다. # 사용자 계정 john을 sudo 그룹에 추가(usermod) sudo us

[bash: sed] 16진수값(hex) 대체하기

반달가면|2017년 11월 14일

sed에서 문자열이 아니라 16진수값을 대체할 수도 있다. 따라서 텍스트 파일뿐만 아니라 바이너리 파일에 대해서도 대체 기능을 사용할 수 있다(sed를 이용한 문자열 대체의 기본은 이전 게시물을 참고하자. 여기로). 아래의 예시를 보자. # my_file.dat에서 모든 0xff를 0xf0으로 대체, my_file.mod.dat로 저장 sed 's/\xff/\xf0/g' my_file.dat > my_file.mod.dat 16진수를 나타내기 위해 'x'를 사용하는데, 문자 x를 의미하는 것이 아니므로 역슬래시(\)를 추가해 주어야 한다. 즉 \xff는 0xff를 의미하게 된다. 만약 연속되는 16진수값을 대체할 경우에는 각 값마다 \x를 붙인다. 아래의 예시를 보자. # my_fi

[bash: if, grep] 특정 문자열의 존재유무에 따른 작업 지정하기

반달가면|2017년 10월 31일

어떤 파일에 특정한 문자열이 있는 경우와 없는 경우에 각기 다른 작업을 해야 할 경우, if 조건문과 grep을 적절히 조합해서 간편하게 구현할 수 있다. 우선 if 조건문의 -z 옵션을 보자. 이것은 문자열의 길이가 0이면 참, 0이 아니면 거짓이다. 아래의 예시를 보자. string="abc" # 변수 abc에 저장된 문자열의 길이가 0인 경우 메시지 출력 if [[ -z $string ]] then echo "변수 string에 저장된 문자열의 길이는 0입니다." fi 이제 원래의 문제로 돌아가서, 예를 들어 파일 my_file.txt에 문자열 "abcd"가 존재하느냐 여부에 따라서 뭔가 다른 작업을 해야 하는 경우를 생각해 보자. if 조건에 grep을 이용한 문자열 검색의

[bash: awk] awk에서 필드 구분자를 지정할 때 "escape sequence" 관련 경고 메시지 발생

반달가면|2017년 10월 19일

awk에서 -F 옵션을 이용해서 필드 구분자(field separator)를 지정할 수 있다. 일단 관련 내용은 이전 게시물을 참고하자. [bash: awk] 특정 위치(field)에 대한 문자열 검색 [bash: awk] 여러 종류의 단어 구분자를 지정해서 단어 선택하기 알파벳이나 수자 등을 필드 구분자로 사용할 때는 크게 문제가 없는데, 만약 특수문자(|, ] 등)가 구분자에 포함되어 있을 경우에는 문제가 좀 달라질 수 있다. 아래의 예시를 보자. # example.txt 파일 내용 확인 cat example.txt john||123-456 jane||111-222 # example.txt에서 두번째 필드 출력(오동작) awk -F '||' '{ print $2 }' e