24.07.24(수) 리눅스 명령어
◎ 파일 이동 변경
mv | 파일을 이동하는 명령어 이름을 수정할 때도 사용 |
mv cal_2024 test5/ | cal_2024 파일을 test5 디렉토리 안에 이동시켜 |
mv ~/test5/cal_2024 . | 상대경로 현재~test5에 있는 cal_2024파일을 .(현재 위치)에 이동 |
mv /home/itwill/cal_2024 /home/itwill/test5 | 절대경로 |
mv -i cal_2024 ~/test5 | 이동될 파일이 존재하면 덮어 쓰기 여부 물어보기 -i: interactive |
mv -b cal_2024 ~/test5 | 이동될 파일이 존재하면 백업파일을 생성 |
mv cal_2024 cal_2024.txt | 이름 수정 |
rename cal_2024.txt cal_2024 cal_2024.txt | 파일 이름 변경 변경전파일 변경후파일 대상파일 |
rename ex ex0 ex? rename ex0 ex ex?? |
한꺼번에 파일을 변경할 때 이용할 수 있음 |
◎ 시간 변경
rdate -s time.bora.net | 시간이 맞지 않을 때 맞추기(root계정에서만 가) |
◎ vi(visual editor) 문서 편집기 ★ ★ ★ ★ ★
h | 왼쪽으로 이 |
j | 아래이동 |
k | 위로 이동 |
l | 오른쪽 이동 |
H | 화면 맨 위로 이동 |
M | 화면 중간으로 이동 |
L | 화면 맨 아래로 이동 |
G | 문서 맨 아래로 이동 |
1G | 숫자 라인으로 이동 |
gg | 제일 첫 라인으로 이동 |
^ | 그 줄의 맨 앞으로 이동 |
$ | 그 줄의 맨 뒤로 이동 |
:n | n번째 숫자 라인으로 이동 |
+ | 커서를 다음행의 처음으로 이동 |
- | 커서를 앞 행의 처음으로 이동 |
w | 커서를 다음 단어 첫글자로 이동 |
b | 커서를 앞 단어 첫글자로 이동 |
e | 커서를 다음 단어 마지막글자로 이동 |
:set nu | 라인번호 출력 |
:set nonu | 라인번호 해제 |
/문자 | 문자 검색 n을 누르면 검색된 다음 문자로 이동 shift+n을 누르면 검색된 앞 문자로 이동 |
:noh | 검색된 문자열의 블록처리 해지 |
i | 커서의 왼쪽부터 입력 |
a | 커서의 오른쪽부터 입력 |
l | 커서의 줄 맨 앞에서부터 입력 |
A | 커서의 줄 맨 뒤에서부터 입력 |
o | 커서의 다음줄부터 입력 |
0 | 커서의 윗줄에 입력 |
s | 커서 위치 한 글자를 지우고 입력 |
S | 커서 위치 한줄을 지우고 입력 |
cw | 커서 위치의 단어를 지우고 입력 |
x | 글자 하나 삭제 |
dd | 한 행 삭제 |
dw | 커서에 있는 단어 삭제 |
:5 d | 5번째 행 삭제 |
:5,6 d | 5번째 6번째 행 삭제 |
D | 커서 오른쪽 행 삭제 |
u | 방금 수행한 작업 취소 |
yy | 커서의 행 복사 |
nyy | 커서부터 숫자 행만큼 복사 |
yG | 현재부터 파일 끝까지 복사 |
p | 복사한 내용을 현재행 이후 붙여넣기 |
P | 복사한 내용을 현재 행 이후에 붙여넣기 |
:1,2 co 3 | 1,2행을 복사해서 3행 다음으로 붙여넣기 |
:1,2 m 3 | 1,2행을 3행 다음으로 이동하기 |
:s/기존문자/변경할문자 | 지금 커서가 있는 위치에서 첫번째로 나오는 기존문자를 변경할문자로 변경 |
:s/기존문자/변경할문자/g | 지금 커서가 있는 행에서 기존문자를 변경할 문자로 모두 변경 |
:%s/기존문자/변경할문자/g | 문서 전체에서 기존문자를 변경할 문자로 모두 변경 |
:q! | 저장하지 않고 종료 |
:wq | 저장하고 종료 |
:w | 저장(save 시킴) |
:w filename | 파일 이름을 변경해서 저장 |
:wq filename | file이름으로 변경해서 저장하고 종료 |
◎ 사용자 계정 관리
cat /etc/passwd | 사용자 계정 정보 |
useradd, adduser | 유저 생성하는 명령어 |
tail -1 /etc/passwd | 생성 후 유저 확인하기 |
tail -1 /etc/group | 생성 후 그룹 확인하기 |
passwd 유 | 사용자의 비밀번호를 지정하거나 변경하는 명령어 |
passwd -l user2 | 사용자 계정 lock걸기 l : lock |
passwd -u user2 | 사용자 계정 락 풀기 u : unlock |
passwd -d user2 | 패스워드 제거 d : delete |
userdel -r user1 | 계정 삭제하는 명령어 -r : remove : 유저에게 할당된 모든 파일, 디렉터리 삭제 |
userdel -rf user1 | 유저가 리눅스에 잡속을 했을 경우 kill시킨 후 삭제 |
w | 현재 접속한 유저들 확인 |
groups | 현재 사용자 그룹 확인 |
groupadd 그룹이 | 그룹을 생성하는 명령어 |
groupadd -g 2000 dba | 그룹번호를 지정해서 그룹 생성 -g : --gid gid는 그룹 ID (GID)를 지정하는 데 사용 |
groupmod | 그룹이름, 그룹번호를 변경하는 명령어 |
groupmod -n dbaoper oper | oper그룹의 이름을 dbaoper로 변경 |
groupmod -g 1004 dba | dba의 그룹번호를 1004로 변경 |
useradd -g oinstall -G dba,dbaoper oracle | 그룹과 함께 유저 생성 -g : 1차원 그룹을 의미 -G : 2차원 그룹을 의미 |
id oracle | 계정정보 확인 |
usermod | 계정 정보를 변경하는 명령어 |
usermod -g itwill user1 | 1차원 그룹 정보 변경 |
usermod -G user2 user2 | user2 계정의 보조 그룹중에 user2만 남기고 다 삭제 |
usermod -aG user10 user2 | 그룹 추가 -a: --append |
gpasswd -d user2 user10 | 그룹 삭제 user2 계정의 user10그룹을 삭제 |
groupdel 그룹이 | 그룹을 삭제 |
[root@linux-server ~]# groupdel oinstall groupdel: cannot remove the primary group of user 'oracle' |
참고 1차 그룹은 삭제시 오류 발생 --> 1차원 그룹은 1차원 그룹의 이름을 바꿔준 후 삭제해야 함. 그룹은 그룹 안에 아무도 없어야지 삭제가 가능. 1차원 그룹을 다른 그룹으로 바꿔주고 해당 그룹을 삭제한 다고 이해를 하는 게 좋다 |
◎유저를 만들기 전에 그룹을 먼저 생성해야 한다.
그 후 유저를 생성한다.
#사용자 계정 정보
[itwill@linux-server ~]$ cat /etc/passwd
itwill:x:1000:1000:itwill:/home/itwill:/bin/bash
1 2 3 4 5 6 7
1유저이름 / 2암호 / 3유저 ID / 4(유저 소속된)그룹 ID / 5전체이름 / 6홈 디렉토리 / 7기본셸
# 그룹 정보
[itwill@linux-server ~]$ cat /etc/group
itwill:x:1000:itwill
1 2 3 4
1그룹이름 / 2비밀번호 / 3그룹ID / 4그룹에 속한 유저
# cat /etc/shadow
user2:$6$BNlB1.8f...:19928:0:99999:7:::
1 2 3 4 5 6
1유저이름 / 2패스워드 / 3마지막으로 암호를 변경한 날까지 일수(1970년 1월 1일 기준) / 4암호 변경이 가능한 일수
5암호를 반드시 변경해야하는 날까지 남은 일수 / 6암호 유효기간 전에 경고를 표시할 일수
◎ 파일의 접근 권한 관리
권한 문자 | file | directory |
읽기(read)권한 | r 읽고, 복사 | ls |
쓰기(write)권한 | w 수정, 삭제 | 생성 |
실행(execute)권한 | x shell script 실행 | cd 접근가능 |
rw- r-- r--
1 2 3
1파일의 소유자의 권한 / 2파일소유자의 그룹의 권한 / 3기타 사용자 권한
◎ 권한
chmod | 권한 수정 u : 소유자 g : 소유자의 그룹 o : 기타 사용자 a : 전체 + : 권한 부여 - : 권한 해지(회수) |
chmod u+x passwd | 소유자에게 x 권한 주 |
chmod g+w passwd | 그룹에 대해서 w할 수 있는 권한 주기 |
chmod a+rwx passwd | 전체에게 모든 권한 주기 |
chmod a-rwx passwd | 권한 다 빼버리기(소유자 자신도) |
chmod u+rw,g+r,o+r cal.txt | 한꺼번에 권한을 주 |
소유자가 본인이라도 w권한을 해제해놓으면 실수로 삭제할 일이 없어!
권한을 바꾸는 건 소유자만 가능!
파일은 rw권한만 있으면 되지만, 디렉토리는 x권한이 있어야지 엑세스 권한이 있는거야.
★ Permission은 항상 체크를 해야해!