개발자 꼬부기의 성장일기
3일차 - 리눅스 OS 맛보기 본문
리눅스 운영체제의 패키지와 패키지매니저
1) 패키지 : 윈도우의 알집과 같은 압축파일을 말한다.
- 패키지는 프로그램 파일, 설치파일, 설치 설명서, 프로그램에대한 정보가 담겨있다.
- 하나의 프로그램이 작동하기위한 모든 파일이 있다.
2) 패키지 매니저 : 패키지의 설치, 변경, 삭제 등을 편하게 하게 해주는 도구 앱스토어 같은 기능이다.
- 모든 패키지의 저장소 위치를 저장.
- 설치된 모든 프로그램의 업데이트를 확인하거나, 필요 없는 프로그램을 제거하는 데에도 사용
apt 명령어 이용하기
apt : 우분투에 기본적으로 내장된 패키지 매니저.
apt install neofetch : neofetch라는 패키지매니저로 패키지를 설치한다.
환경변수
환경변수는 프로그램의 동작에 영향을 미치는 값들
CLI 기본 명령어
1) pwd - 현재 디렉터리 위치
2) mkdir - 디렉터리 만들기
3) ls - 'ls -l' 디렉터리 보기
4) cd - 이동
5) touch : 파일을 생성하거나 파일의 수정 시간을 변경하는 명령어
-a: 접근 시간만 변경합니다.
-c: 파일이 존재하지 않으면 파일을 생성하지 않습니다.
-m: 수정 시간만 변경합니다.
-d: 지정한 시간으로 파일의 수정 시간을 변경합니다.
touch file명 : 빈파일 생성
touch -m file명 / touch -d "2022-04-14 13:30:00" file명
6) cat : 파일을 출력
- cat file.txt # file.txt 파일의 내용을 화면에 출력
- cat -n file.txt # file.txt 파일의 내용을 화면에 출력하면서 각 줄에 번호를 붙임
- cat file1.txt file2.txt > merged.txt # file1.txt와 file2.txt 파일을 합쳐 merged.txt 파일로 출력
7) rm : 파일을 삭제
- rm file.txt # file.txt 파일을 삭제
- rm -rf mydir # mydir 디렉토리와 그 내용을 강제로 삭제
8) mv : 파일이나 디렉토리의 이름을 변경하거나, 파일이나 디렉토리를 다른 위치로 이동
- i: 대상 파일이 이미 존재할 경우 덮어쓸 것인지 물어봅니다.
- u: 대상 파일이 이미 존재하며 원본 파일보다 최신인 경우에만 덮어씁니다.
mv file.txt newfile.txt # file.txt 파일을 newfile.txt로 이름 변경
mv file.txt mydir/ # file.txt 파일을 mydir 디렉토리로 이동
mv -i file.txt mydir/
# file.txt 파일을 mydir 디렉토리로 이동하면서, mydir 디렉토리에 이미 파일이 존재할 경우 덮어쓸 것인지 물어봄
mv -u file.txt mydir/
# file.txt 파일을 mydir 디렉토리로 이동하면서, mydir 디렉토리에 이미 파일이 존재하며 원본 파일보다 최신인 경우에만 덮어씀
9) cp : 파일이나 디렉토리를 복사하는 명령어
- r: 디렉토리와 그 내용을 복사합니다.
- i: 대상 파일이 이미 존재할 경우 덮어쓸 것인지 물어봅니다.
- u: 대상 파일이 이미 존재하며 원본 파일보다 최신인 경우에만 덮어씁니다.
- p: 파일의 소유자, 그룹, 권한 등을 유지하고 복사합니다.
cp file.txt newfile.txt
# file.txt 파일을 newfile.txt로 복사
cp -r mydir mynewdir/
# mydir 디렉토리와 그 내용을 mynewdir 디렉토리로 복사
cp -i file.txt mydir/
# file.txt 파일을 mydir 디렉토리로 복사하면서, mydir 디렉토리에 이미 파일이 존재할 경우 덮어쓸 것인지 물어봄
cp -u file.txt mydir/
# file.txt 파일을 mydir 디렉토리로 복사하면서,
mydir 디렉토리에 이미 파일이 존재하며 원본 파일보다 최신인 경우에만 덮어씀
cp -p file.txt mydir/
# file.txt 파일을 mydir 디렉토리로 복사하면서, 파일의 소유자, 그룹, 권한 등을 유지하고 복사함
10) whoami : 현재 로그인한 사용자의 이름을 출력
11) sudo ~ : 관리자 권한으로 할때 맨앞에 붙인다.
12) nano 파일명 : nano 에디터를 사용하여 파일을 연다.
사용 권한
ls -l을 입력하고 Enter를 누르면
-rw-r--r-- 1 dajung dajung 80 Apr 13 14:42 goodjob.txt
drwxr-xr-x 4 dajung dajung 4096 Apr 13 14:36 hello
-rw-r--r-- 1 dajung dajung 102 Apr 13 14:57 hello.java
drwxr-xr-x 2 dajung dajung 4096 Apr 13 11:08 helloWorld
drwxr-xr-x 2 dajung dajung 4096 Apr 13 14:55 linux
이런식으로 출력된다.
맨앞에 d가 붙으면 폴더 이고 -로 시작하면 파일이다.
그다음부터 세자리씩 끊기는데 owner/group/other 권한을 의미한다.
사용 예:
drwxr-xr-x :
- 폴더
- owner(파일의 소유자)의 권한은 rwx : 읽기, 쓰기, 실행 가능
- group(그룹에 속한 모든 user)의 권한은 r-x : 읽기, 실행 가능
- other(파일에 대한 액세스 권한이 있는 다른 user)의 권한은 r-x : 읽기, 실행 가능
권한 변경 : chmod
Access class | Operator | Access Type |
u (소유자(사용자)) | + (add access) | r (read) |
g (그룹) | - (remove access) | w (write) |
o (다른사용자들) | = (set exact access) | x (execute) |
a (모든권한) |
사용 예:
chmod g-r filename : 그룹의 읽기 권한을 삭제한다.
chmod a+rx filename : 모든 사용자들에게 읽기, 실행 권한을 추가한다.
chmod u= filename : 사용자의 모든 권한을 없앤다. (공백이므로)
chmod a= filename : 모든 사용자들의 권한을 없앤다. (공백이므로)
기호가 아닌 숫자로도 가능함
Sum | rwx | Permission | |
7 | 4(r) + 2(w) + 1(x) | rwx | read, write, execute |
6 | 4(r) + 2(w) + 0(-) | rw- | read, write |
5 | 4(r) + 0(-) + 1(x) | r-x | read and execute |
4 | 4(r) + 0(-) + 0(-) | r— | read only |
3 | 0(-) + 2(w) + 1(x) | -wx | write, execute |
2 | 0(-) + 2(w) + 0(-) | -w- | write only |
1 | 0(-) + 0(-) + 1(x) | —x | execute only |
0 | 0(-) + 0(-) + 0(-) | —- | none |
사용예:
chmod 744 filename => u=rwx , go=r
'언어공부 > [코드스테이츠] 백엔드부트캠프' 카테고리의 다른 글
6일차 - Java 기초(1) : 연산자, 입출력, 제어문 (0) | 2023.04.18 |
---|---|
5일차 - 변수와 타입 (1) | 2023.04.17 |
4일차 - git / github 맛보기 (0) | 2023.04.14 |
2일차 - 컴퓨터 개론, 웹 이해 (0) | 2023.04.12 |
1일차 - O.T 각오 (0) | 2023.04.11 |