https://coding-factory.tistory.com/
https://miniminis.github.io/2020/05/30/linux/linux-thisislinux06/
기본 명령어
- ls : 디렉토리에 있는 내용(디렉토리, 파일) 리스트 출력
- 옵션
-l : 파일들 자세히 출력
-a : 경로 안의 모든 파일 출력 (숨김파일 포함)
-al : 숨김파일까지 포함하여 리스트 형태로 출력
-R : 위치한 디렉토리 하부 디렉토리의 파일까지 모두 출력
-h : 파일크기를 해석하기 편하게 출력
-r : 출력 결과를 내림차순 정렬
-t : 출력 결과를 파일이 수정시간을 기준 정렬
- ex
ls / : root에 있는 파일 목록 출력
ls /project : /project 경로의 디렉토리에 있는 파일 목록 출력
- cd : 경로 이동
//절대경로
cd /home/centos : 해당 경로로 이동
//상대경로
cd .. : 상위 디렉토리로 이동
cd . : 현재 위치한 폴더로 이동 (새로고침)
cd - : 이전에 위치했던 폴더로 이동 (뒤로 가기)
cd / : ROOT 디렉토리로 이동
cd ~ : 홈 디렉토리로 이동
- pwd : 현재 위치 확인
- rm : 삭제
- 옵션
-f : 강제로 파일/디렉토리 삭제, 대상이 없는 경우 메시지 출력 X
-r : 디렉토리 내부의 모든 내용 삭제
-d : 비어있는 디렉토리들만 제거
-i : 매번 삭제할 때마다 사용자에게 삭제할 것인지 확인
-l : 3개 이상의 파일 삭제 or 디렉토리 내부가 비어있지 않을 때 => 삭제할 것인지 확인
-v : 삭제되는 대상의 정보를 출력
- ex
rm test1.txt test2.txt test3.txt //세 파일 삭제
rm -rf * //현재 위치의 모든 파일 제거
rm *.txt //현재 위치의 .txt로 끝나는 모든 파일 제거
- cp : 복사
cp [옵션] [복사할 디렉토리/파일명] [복사 결과물명]
- 옵션
-i : 복사될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부를 물음
-b : 복사될 파일이 이름이 이미 존재할 경우, 백업파일 생성
-f : 복사 될 파일이 이름이 이미 존재 할 경우, 강제로 덮어쓰기
-r : 하위 디렉토리까지 모두 복사
-a : 원본 파일의 속성, 링크 정보까지 모두 복사
-p : 원본 파일의 소유자, 그룹, 권한 등의 정보까지 모두 복사
-v : 복사 진행 상태 출력
- ex
cp /user/jtaewu/test.txt new_test.txt //test.txt 파일을 new_test.txt라는 이름으로 현재 위치에 복사
cp /user/jtaewu/test.txt /user/guest/new_test.txt
// /user/jtaewu 경로의 test.txt 파일을 new_test.txt라는 이름으로 /user/guest에 복사
- 파일 내용 확인, 출력
touch : 파일 생성(크기 0) or 갱신(최종 수정시간 변경)
cat : (conCATenate) 파일 내용 보여줌 (여러 파일 이어서 보여주기 가능)
head : 앞 10행
head -5 파일 이름 //앞 5행 출력
tail : 마지막 10행
more : 파일 읽음 (화면 단위로 끊어 출력)
// Enter 키 => 한 줄씩 출력 / Space bar => 다음 화면 / b => 이전 화면 / q => 종료
more +100 파일명 //100행부터 출력
less : more + 방향키로 페이지 이동 가능
file 파일명//해당 파일 종류 표시
clear //터미널 화면 기록 지움
man 명령어이름 //매뉴얼 보기
사용자 관리
리눅스 => 여러 사용자가 하나의 OS를 사용하는 다중 사용자 시스템(Multi-User System)
=> 사용자 관리, 사용자 그룹 관리 중요
super user : 모든 권한 有 (일반적으로 root 유저)
사용자는 반드시 특정 그룹에 소속됨
- 사용자 정보 관리
gedit /etc/passwd
=> centos:x:1000:1000:centos:/home/centos:/bin/bash //해당 행 전까지는 리눅스 표준 사용자
사용자이름:암호:사용자ID:사용자 소속 그룹ID:전체이름:홈디렉터리:기본셀
- 그룹 정보 관리
gedit /etc/group
그룹이름:비밀번호:그룹ID:그룹에 속한 사용자 이름
1. 사용자 관리 명령어
- useradd : 사용자 생성
- 옵션
-g : 그룹 지정
-d : 디렉토리 지정
-s : 쉘(shell) 지정
-p : 패스워드(암호) 지정
-u : uid 지정
- ex
//사용자 생성
useradd gildong
useradd -u 111 chulsu //사용자 uid정보 변경
groupadd mygroup
useradd -g mygroup chanho
useradd -d /myhome jisung
//비밀번호 설정
passwd 사용자명
※ root 권한이 있는 유저만 사용자 계정 생성, 삭제 가능
※ 그룹 먼저 생성 -> 사용자 생성 권장
- usermod : 사용자 변경
- 옵션
-l : 사용자 계정명 변경
-L : 계정을 lock상태로 바꿈 (비밀번호를 입력해도 그 계정으로 접속 X)
-p : 사용자의 패스워드 변경
-u : 사용자의 UID를 변경
-U : lock 되었던 계정을 unlock
-g : 사용자의 GID를 변경(그룹 변경)
-G : 사용자에게 추가 그룹을 지정(a옵션과 함께 사용)
-c : 사용자에게 설명 부여
-d : 사용자의 홈 디렉터리의 위치 변경 //tail 명령어로 확인 시 실제로 옮겨지진 않음 //m옵션과 같이 사용하면 실제로 옮겨짐
-s : 사용자의 쉘 변경
- ex
usermod -g mygroup gildong //gildong의 그룹을 mygroup으로 변경
- userdel : 사용자 삭제
- 옵션
-f : 강제 삭제
-r : 계정 삭제 시 모든 정보 삭제
- ex
userdel gildong //그룹은 남아있음
- groupdel : 그룹 삭제
- chage : 패스워드 만기 정보 관련
- 옵션
-l (소문자 l) : 지정한 계정의 정보 표시
-d : 최근 패스워드 수정일자 변경 ('YYYY-MM-DD' 형식 / 1970년 1월 1일부터의 경과일 수)
-E : 계정의 만료일 설정
-m : 패스워드 최소 의무 사용일수 지정
-M : 패스워드 변경 없이 사용할 수 있는 최대 일수 설정
-I : 패스워드 미변경 시 별도 유예기간 지정
-W : 패스워드 만료 며칠 전부터 사용자에게 경고 메시지를 보낼지 설정
- ex
chage -E 2023/12/12 사용자명 //해당 날짜에 암호 만료, 그때까지 사용 가능
chage -W 사용자명 //사용자에게 만료 전 경고메시지 보냄
2. 그룹 관리 명령어
groups 사용자명 //사용자가 소속된 그룹 출력
groupadd 그룹명 //새 그룹 생성
groupmod //그룹 속성 변경
groupmod -n ezen mygroup //mygroup 그룹명을 ezen으로 변경
groupwd 그룹명 // 그룹 암호를 설정, 관리
groupwd -a gildong ezen //gildong을 ezen그룹 사용자로 추가
groupwd -d gildong ezen //gildong을 ezen그룹 사용자에서 제거
groupwd -A abc mygroup //abc를 mygroup 그룹 관리자로 지정
※ /etc/skel : 해당 디렉터리의 모든 내용을 사용자 홈 디렉터리에 복사
[root@localhost ~]# ls -a /home/user1
=>
. .. .bash_logout .bash_profile .bashrc .mozilla
[root@localhost ~]# ls -a /etc/skel //앞으로 생성하는 사용자에게 특정 파일 전달 희망시 해당 디렉터리에 저장하면 됨
=>
. .. .bash_logout .bash_profile .bashrc .mozilla
https://gocoder.tistory.com/1793
https://miniminis.github.io/2020/05/30/linux/linux-thisislinux07/
파일의 허가권, 소유권
ls로 파일 목록 조회 시 보이는 맨앞 문자열
drwxr-xr-x 2 root root 38 10월 19 17:41 jsp
-rw-r--r-- 1 root root 0 10월 19 20:57 memo.txt
=> 1 3 3 3 음절 단위 분석
- / d / b / c / l : 파일 / 디렉토리 / 블럭디바이스 / 문자디바이스 / 링크
1번째 rwx : 소유자 권한
2번째 rwx : 그룹 권한
3번째 rwx : 그 이외 사용자 권한
※ - : 해당 권한 없음
※ 그 뒤 문자열들
링크 수 / 파일 소유자명 / 파일 소유자 그룹 / 파일 크기 / 마지막 변경 날짜,시간 / 파일명
- 퍼미션(권한 정보) 종류
r(읽기) : 파일의 읽기 권한
w(쓰기) : 파일의 쓰기 권한
x(실행) : 파일의 실행 권한
'Programming > 국비학원' 카테고리의 다른 글
221021 - 리눅스 - 작업 스케줄링, 네트워크 명령어, 파이프/필터/리디렉션, 프로세스, 응급 복구, GRUB (0) | 2022.10.22 |
---|---|
221020 - 리눅스 - 권한/소유권, 링크, 마운트, 패키지, 파일 압축 (0) | 2022.10.21 |
221018 - 리눅스 - 텍스트모드, 명령어, vi 에디터 (0) | 2022.10.19 |
221017 - 리눅스 환경설정 (0) | 2022.10.18 |
221013 - JSTL(fmt/fn 라이브러리, 등록/조회 구현) & 서블릿(URL 패턴,파일 다운로드/업로드) (0) | 2022.10.15 |