2024. 11. 13. 17:12ㆍLinux
이것이 리눅스다 강의 목차
4.3 리눅스 기본 명령어
4.4 사용자 및 그룹 관리
4.5 파일의 소유권/허가권, 링크
의 내용을 축약해서 담고 있습니다.
리눅스 기본 명령어 [1]
ls # 해당(현재 위치) 디렉터리에 있는 파일의목록을 나열
cd ../etc/sysconfig # 디렉터리를 이동 상대경로/절대경로로 이동
pwd # 현재 디렉터리의 전체 (절대)경로 츨략
rm -rf abc # 파일, 디렉터리 삭제
* rm -rf의 경우 재귀적으로 해당 디렉토리 및 그 아래의 파일을 밀어버리는 무시무시한.. 명령어라
실무에서 쓸일은 없다.
리눅스 기본 명령어 [2]
cp abc.txt abcd.txt # 파일이나 디렉토리 복사, abc.txt라는 기존 파일을 abcd.txt라는 새로운 이름의 파일로 복사
touch abc.txt # 크기가 0인 새파일 생성, 존재시 수정 시간 변경
mv abc.txt cba.txt # 파일명 변경 및 파일 위치 변경
mkdir newdirectory # newdirectory 폴더 생성
touch 사용의 장점
- 파일 변경 이력 추적 용이
- 배포 버전 관리 효율화
- 팀 협업 시 파일 수정 여부 명확히 표시
주의사항
- 실제 파일 내용은 변경되지 않음
- 타임스탬프만 수정됨
- 버전 관리 시스템(예: Git)과 함께 사용 시 주의 필요
리눅스 기본 명령어 [3]
rmdir abc #디렉터리 삭제, 디렉터리가 비어있어야만 수행
cat a.txt # vi에 들어가지 않아도 해당 파일의 내용을 확인할 수 있다
head a.txt # 앞의 10행
tail a.txt # 뒤에서 10개 행
cat a.txt | more # 파일 내용이 많을 경우 페이지 딘위로 출력
less a.txt # more과 같은 기능이지만 위아래 페이지로 이동 가능
file a.txt # 어떤 종류의 파일인지 표시
clear # 명령창 지우기 (Ctrl + L)
사용자와 그룹
리눅스는 다중 사용자 시스템으로 root(수퍼 유저)와 일반 유저가 존재한다.
사용자는 /etc/passwd 파일에 정의되어있다
사용자와 그룹 관련 명령어 [1]
useradd user1 # 새로운 사용자 추가
passwd user1 # 사용자 비밀번호 지정 및 변경, 다음 라인에서 입력받는다
usermod -g root newuser #사용자 속성 변경 -g는 그룹 변경 명령어이다
userdel user1 # 사용자 삭제
사용자와 그룹 관련 명령어 [2]
change -m 2 user1 # 사용자의 암호를주기적으로 변경하도록 설정 (-m : month)
groups # 현재 사용자가 속한 그룹 보여줌
groupadd newgroup # 그룹 추가
groupmod -n newgroup mygroup # mygroup -> newgroup으로 이름 변경
groupdel newgroup # newgroup 삭제
gpasswd newgroup #사용자와 마찬가지로 그룹의 비밀번호 변경
파일의디렉터리의 소유와 허가권 [1]
첫번째 줄은.. 이상하게 출력된것같아, 2번째 줄을 가져오자면
-rw-r--r--. 1 root root 0 Nob 13 16:08 abc.txt
해당 내용을 표로 정리해보겠다
- | rw-r--r-- | 1 | root | root | 0 | Nob 13 16:08 | abc.txt |
파일 유형 | 파일 허가권 | 링크 수 | 소유자명 | 그룹명 | 파일크기(Byte) | 수정 날짜 | 파일명 |
파일 유형 : -(파일), d(디렉터리), l(링크)
허가권은 3글자씩 끊어서
rw- | r-- | r-- |
소유자 | 그룹 | 그외 |
6 | 4 | 4 |
각각 r:4 w:2 x:1로 합하여 8진수를 구할 수 있다.
파일의디렉터리의 소유와 허가권 [2]
chmod 777 sample.txt #파일 허가권을 rwxrwxrwx로 변경 (x는 실행!)
chown centos.centos sample.txt #sample.txt의 소유권을 centos라는 사람과 centos그룹으로 변경
chown centos:centos sample.txt # :(콜론)도 사용 가능!
chown centos sample.txt # 2번째 줄을 나누어 표현
chgrp centos sample.txt
링크
파일의 링크에는 하드 링크, 심볼릭 링크가 존재한다.
하드링크 : 하드링크파일 하나만 생성되며 같은 inode를 사용합니다.
심볼릭링크 : 새로운 inode를만들고, 데이터는 원본 파일을 연결합니다.
공부하다보니, 어 이거 깊은 복사와 좀 유사한데..? 싶어서 클로드의 도움을 받아 정리해봤습니다.
특성 | 깊은 복사 | 하드 링크 | 심볼릭 링크 |
독립성 | 완전 독립 | 데이터 공유 | 경로 참조 |
공간사용 | 전체 크기 | 미미함 | 매우 적음 |
원본삭제 | 영향없음 | 유지 | 깨짐 |
inode | 새로생성 | 공유 | 새로생성 |
깊은 복사는 기존 원본데이터와는 별도의 값을 가진 데이터이고,
하드링크는 노드를 공유하기 때문에 reference count 가 0이 될 때 비로소 삭제되는 데이터입니다.
'Linux' 카테고리의 다른 글
Linux manual - man 사용법 (0) | 2024.11.22 |
---|---|
리눅스 가장 위에 1줄이 안보일 때 대처법 (0) | 2024.11.18 |
[이것이 리눅스다 4-4] 네트워크 개념, 프로세스, 소켓, GRUB (0) | 2024.11.14 |
[이것이 리눅스다 4-3] RPM, YUM, cron (2) | 2024.11.14 |
[이것이 리눅스다 4-1] 시작, 종료 및 vi 편집기 (0) | 2024.11.13 |