Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발자 꼬부기의 성장일기

3일차 - 리눅스 OS 맛보기 본문

언어공부/[코드스테이츠] 백엔드부트캠프

3일차 - 리눅스 OS 맛보기

다죵 2023. 4. 13. 16:45

리눅스 운영체제의 패키지와 패키지매니저

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