728x90

단일 작업 스케줄링

at [시간]

  • at > 실행할 명령어 Ctrl + D(종료)
  • at -l : 작업 조회할 때
  • at -r [작업 번호] : 작업 삭제할 때

반복 작업 스케줄링

작업 예약할 때

  • crontab -e

명령어 실행하면 편집기가 실행되고 편집기를 이용하여 내용을 작성

요일 명령어
0 ~ 59 0 ~ 23 1 ~ 31 1 ~ 12 0 ~ 6  

작업 삭제할 때

  • crontab -r 
  • 문서 들어가서 내용 삭제해도 된다.

스케줄링 접근제어

블랙리스트 방식

  • at.deny, cron.deny
  • 우선 모두 허용하고 리스트에 있는 특정 사용자들만 거부하는 방식

화이트리스트 방식

  • at.allow, cron.allow
  • 우선 모두를 거부하고 리스트에 있는 특정 사용자들만 허용하는 방식
  • 작업 스케줄링 접근제어 파일은 관리자가 따로 생성해주어야 한다.

블랙리스트와 화이트리스트 모두 사용하는 경우 화이트리스트 방식이 우선시된다.

728x90
728x90

디스크 추가부터 사용하기까지 과정

ex4의 파일 시스템 구조

mkfs [이름]

  • 파일 시스템 생성

마운트

특정 디렉터리와 특정 장치를 연결한다.

mount [옵션] [장치] [마운트 포인트]

[옵션]

  • -t : 특정 파일시스템의 종류를 지정

[장치]

  • 마운트 포인트와 연결할 장치를 지정, 일반적으로 파일 시스템을 생성한 파티션이 온다.

[마운트 포인트]

  • 특정 디렉터리를 지정, 해당 디렉터리로 접근 시 지정한 장치로 이동됨

마운트 해지

umount [장치] or [마운트 포인트]

 

/etc/fstab

자동 마운트 설정 파일, 재부팅하면 mount 설정한 정보들이 다 지워진다.

 

슈퍼블록 복구 명령어

fsck -b [백업 블록 번호] [복구할 장치]

ex) fsck -b 8193 -fy /dev/sdf1

728x90
728x90

사용자 관리 관련 파일

/etc/passwd

user:x:1000:1000:user:/home/user:/bin/bash

: 으로 필드를 구분한다.

user x 1000 1000 user /home/user /bin/bash
로그인명 사용x UID GID 주석(설명) 사용자 홈 디렉터리 로그인 쉘

로그인명

  • 각 사용자는 유일한 이름을 가지고 있어야 함(중복 허용 x)
  • 첫 문자는 영문자 (.-_시스템에 따라 사용 가능)

사용 x

  • (본 사용 목적 : 패스워드를 저장 부분) 현재 사용 x
  • etc/shadow 파일에 따로 저장

UID

  • 로그인명은 중복이 x, 그러나 UID는 중복이 가능
  • 시스템이 사용자를 식별하는 번호
  • (root의 권한을 가질 수도 있음)
  • 일반 사용자는 1000번 이상 사용
  • 일반적으로 1000보다 작은 UID는 예약 UID

GID

  • 해당 사용자가 속해있는 주 그룹의 GID

주석

  • 일반적으로 사용자 전체의 이름을 써준다. 또는 연락처, 부서 등 로그인명만으로 사용자의 구분이 힘들 때 자세한 설명을 쓰는 부분

사용자의 홈 디렉터리

  • 사용자의 홈 디렉터리
  • ~을 사용했을 때 참조하는 부분

로그인 쉘

  • 사용자가 로그인할 때 실행되는 쉘을 지정

계정 정보

root

  • 시스템에서 모든 권한을 가지고 있는 최고 권한 사용자
  • 시스템 내의 보호되는 파일이나 퍼미션 등의 제한 사항에 대해 대부분 영향을 받지 않는다.

bin

  • 시스템의 구동 중인 바이너리 파일을 관리하기 위한 계정

daemon

  • 백그라운드 프로세스에 대한 작업을 제어하기 위한 시스템 계정

adm

  • 시스템 로깅이나 특정 작업을 관리하는 시스템 계정

ip

  • 프린트를 위한 계정

gdm

  • Gnome Display관리 서비스 계정

/etc/shadow

name:encrypted_password:last_password_change:minimum:maximum:warning:inactivity:expiration

name : user 이름

encrypted_password

  • $id$salt$hashed
  • 암호화에도 $로 구분이 된다.
  • $id: 해싱 알고리즘(어떤 알고리즘을 사용했는지)
  • $1$: MD5
  • $2a$: Blowfish
  • $2y$: Eksblowfish
  • $5$: SHA-256
  • $6$: SHA-512
  • $salt: 해싱에 사용된 솔트(salt) 값
  • $hashed: 해싱된 비밀번호 값
  • *LK* : 해당 사용자는 로그인할 수 없는 lock이 걸린 사용자
  • window의 암호 저장 파일 경로 : C:Windows/System32/config/SAM

last_password_change : 패스워드 바꾼 날짜 1970/1/1일 기준으로 날짜까지 count

minimum : password 변경 후 최소 사용 기간

maximum : 최대 사용 기간

warning : 패스워드 만기일(expiration)부터 며칠 전부터 경고를 해줘라

inactivity : 얼마 기간 동안 로그인을 안 하면 잠금 계정으로 바꿀지 날짜를 지정해주는 필드

expiration : 패스워드 만기일 시간이 지나면 잠금 계정(locking)이 된다. 관리자가 해제를 해야 로그인을 할 수 있다.

Reserved : 예약 필드, 현재는 사용 안 함

/etc/group

root:x:0:

  • root : 그룹 이름
  • x : 패스워드
  • 0 : GID
  •  : 사용자 목록, 해당 그룹을 보조 그룹으로써 참조하는 사용자들의 로그인명을 작성

사용자 및 그룹 관리 명령어

useradd

useradd [옵션] [아규먼트] [사용자 이름]

  • -u : UID를 지정
  • -g : 주 그룹의 GID 설정
  • -G : 보조 그룹의 GID 설정
  • -d : 홈 디렉터리
  • -m : 홈 디렉터리 지정 시 홈 디렉터리가 존재하지 않는 경우 해당 디렉터리를 자동으로 생성하도록 하는 옵션
  • -s : 로그인 쉘 설정
  • -c : 주석(사용자에 대한 설명)
  • -f : 휴면 계정 전환 날짜 지정
  • -e : 만료일 지정

usermod

usermod [옵션] [아규먼트] [사용자 이름]

  • -u : UID를 지정
  • -g : 주 그룹의 GID를 설정
  • -G : 보조 그룹의 GID를 설정
  • -d : 홈 디렉터리
  • -s : 로그인 쉘 설정
  • -c : 주석(사용자에 대한 설명)
  • -f : 휴먼 계정 전환 날짜 지정
  • -e : 만료일 지정

userdel

userdel [옵션] [사용자 이름]

  • -r : 해당 사용자가 사용하던 홈 디렉터리도 같이 삭제

group 관련 명령어

groupadd

  • -g : 그룹의 GID 지정
  • -o : GID 중복 설정 가능하게 하는 옵션

groupmod

  • -g : 그룹의 GID 지정
  • -o : GID 중복 설정 가능하게 하는 옵션

groupdel

  • 그룹을 제거할 때 사용하는 명령어
728x90
728x90

부모 프로세스

다른 프로세스를 생성할 수 있는 프로세스

자식 프로세스

부모 프로세스로부터 만들어지는 프로세스

정상적으로 자식프로세스 종료 후 부모 프로세스 종료

데몬 프로세스

일반적으로 사용자가 실행시키지 않고 커널에 의해 구동, 백그라운드로 동작

특정 서비스를 제공하기 위해 구동

파일 이름 끝에 ‘d’를 붙여서 사용하는 것이 일반적

‘Window’의 서비스와 같은 존재

고아 프로세스

일반적으로 자식 프로세스는 종료되면 부모 프로세스로 되돌아 가는데 부모 프로세스가 먼저 종료된 경우에 자식 프로세스를 고아 프로세스라고 한다.

고아 프로세스는 init 프로세스가 처리해준다.

좀비 프로세스

정상적으로 프로세스를 종료했지만 자원을 반납하지 않은 상태로 계속 남아있는 상태(자원을 점유한 상태에서 동작하지 않는 프로세스)

프로세스 관련 명령어

ps : 윈도우의 작업관리자와 비슷하다.

  • -ef : 좀 더 상세하게 나타내주고 내가 실행하지않은 운영체제가 자동으로 실행해준 프로세스도 나온다.
  • -e : 시스템 상의 모든 프로세스 정보를 출력
  • -f : 상세한 정보를 출력
  • UID : 프로세스 소유자 아이디
  • PID : 프로세스 아이디
  • PPID : 부모 프로세스 아이디
  • C : 스케줄링을 위한 CPU 사용량, 별도 의미 없는 필드
  • STIME : 프로세스 시작 시간
  • TTY : 장치 번호
  • TIME : 프로세스에 대한 누적 실행 시간
  • CMD : 명령 옵션 + 아규먼트

pstree : 프로세스 부모 자식 관계를 트리 형태로 나타난다.

pgrep : PID만 뽑을 수 있다.

프로세스 제어 명령어

시그널 번호 (시그널은 프로세스를 제어하기 위해서 프로세스에게 전달하는 신호값)

1 SIGHUP(Sig Hang Up)
프로세스 종료 없이 프로그램을 새로 초기화
2 SIGINT
Interrupt
Ctrl + c 명령어 실행 중 중단 명령어 
9 SIGKILL
kill 무시할 수 없는 종료(Strongest)
15 SIGTERM
terminate
무시할 수 있는 종료

kill : PID로 프로세스를 제어

pkill : 프로세스 이름으로 제어 :: 이름에 해당하는 프로세스 모두 down가능

아카이브

  • 아카이브는 여러가지 목적이 있지만 전통적으로 사용된 용도는 파일의 저장용도로 사용되었다.
  • 테이프 장치에 파일을 보관하여 백업하거나 여러 파일을 하나의 파일로 묶어서 보관
  • 현재는 파일을 저장할 때뿐 아니라 단순히 여러 파일을 하나의 파일로 묶을 때도 사용
  • 일반적으로 프로그램을 tar 아카이브 후 gzip 압축한 형태로 배포하는 경우가 많다.

아카이브 관련 명령어

tar [기능] [아카이브 파일] [묶을 파일 1] [묶을 파일2] [묶을 파일3] ….

기능

  • c : 새로운 아카이브 파일을 생성
  • x : 아카이브 파일에서 여러 파일을 해제
  • t : 아카이브 파일에서 안의 내용을 조회
  • v : verbose, 명령어 수행과정을 자세히 출력
  • f : 아카이브 장치 지정(파일 또는 백업 장치를 지정)

아카이브 생성

tar cvf fruits.tar banana apple kiwi

아카이브 해제

tar xvf fruits.tar

압축

  압축 해제
zip zip [압축 파일 이름] [압축 파일 이름] … unzip [압축 파일 이름]
gzip gzip [압축 파일 이름] gunzip [압축 파일 이름]
bzip2 bzip2 [압축 파일 이름] bunzip2 [압축 파일 이름]

tar로 묶은 파일을 gzip으로 압축했을 때 한번에 풀려면 tar zxvf [파일 이름]

728x90
728x90

특수권한

일반적인 권한과는 조금 다른 특수한 권한

종류는 다음과 같이 3가지가 있다.

SetUID

  • 나머지 사용자가 파일을 실행할 때 소유자의 권한으로 접근할 수 있게 해주는 권한
  • root admin rws rwx rwx
  • ls -l 명령어를 이용해서 확인했을 때 특수권한이 부여된 파일은 소유자의 권한 부분 중 실행 권한 부분이 x가 아닌 s로 나타난다.
  • chmod 4xxx [파일 이름] 또는 chmod u+s [파일 이름] 명령어로 설정할 수 있다.

SetGID

  • 나머지 사용자가 파일을 실행할 때 관리 그룹의 권한으로 접근할 수 있게 해주는 권한
  • ls -l 명령어를 이용해서 확인했을 때 특수권한이 부여된 파일은 관리 그룹의 권한 부분 중 실행 권한 부분이 x가 아닌 s로 나타난다.
  • chmod 2xxx [파일 이름] 또는 chmod g+s [파일 이름] 명령어로 설정할 수 있다.

StickyBit

  • 디렉터리에 부여하는 권한, 디렉터리를 마치 자유게시판처럼 사용할 수 있게 해주는 권한 일반적으로 /tmp 디렉터리에 부여
  • ls -l 명령어를 이용해서 확인했을 때 특수권한이 부여된 파일은 나머지 사용자의 권한 부분 중 실행 권한 부분이 x가 아닌 t로 나타난다.
  • chmod 1xxx [파일 이름] 또는 chmod o+t [파일 이름] 명령어로 설정할 수 있다.
  • StickyBit는 디렉터리에 부여한다.
  • 대표적인 예로 /tmp
  • StickyBit가 부여된 디렉터리 내에서는 누구나 자신의 파일을 생성하거나 수정, 삭제가 가능하다.
  • 하지만 다른 사용자의 파일을 수정하거나 삭제할 수는 없다.(관리자는 가능)
  • 해당 디렉터리는 마치 인터넷 자유게시판처럼 사용된다.

쉘이란

  • 터미널에 입력한 명령을 해석하고 관리하는 프로그램을 쉘이라고 한다.
  • 쉘은 사용자 커널 사이에 연결시켜주는 역할을 하며 사용자가 입력한 명령을 해석하여 운영체제가 해당 명령을 알아들을 수 있게 해 준다.
  • 쉘은 여러 가지 종류가 있으며 가장 많이 사용되는 쉘은 Bash쉘이다.

경로 이름 메타 문자

  • ~ : 현재 로그인 한 사용자의 홈 디렉터리 (사용자 정보를 저장하고 있는 /etc/passwd 파일의 6번째에 설정된 디렉터리)
  • - : 이전 작업 디렉터리 (CentOS의 Bash 쉘 기준 바로 이 전의 디렉터리만 기억)

파일 이름 메타 문자

  • * : 하나 이상의 문자를 대체하는 문자, 일반적으로 전체를 의미 (특정 디렉터리 내의 모든 파일을 지정할 때 또는 특정 이름으로 시작할 때 등의 여러 가지로 활용)
  • ex) rm -rf ./* , rm -rt test*
  • ? : 하나의 문자만 대체

인용부호 메타 문자

  • `` : `` 안에 있는 문자를 명령어로 인식하여 실행되게 한다.
  • '' : 작은따옴표 안에 있는 메타 문자를 일반문자로 취급한다.
  • "" : 큰 따옴표 안에 있는 $, \\, ` 문자를 제외한 나머지 문자만 일반문자로 취급 
  • $는 리눅스 쉘에서 변수를 사용할 때 사용하는 문자

방향 재지정 메타문자

< : 표준 입력 재지정

> : 표준 출력 및 표준 에러를 재지정, 일반적으로 명령어의 출력을 파일로 저장 또는 네트워크로 전송

  • 파일에 저장할 때 : echo “test” > ./file
  • 정상적인 결과만 출력할 때 : find / -perm -4000 2 > /dev/null
  • 에러 결과만 출력할 때 : find / -perm -4000 1 > /dev/null
  • 정상적인 결과는 파일에 저장, 에러는 출력 X : find / -perm -4000 1 > ./setuid_file 2 > /dev/null
  • >를 한 번만 사용하면 파일의 내용을 덮어씀, >> 을 사용하면 기존의 파일의 내용에 이어서 씀

|: 파이프 문자, [명령어1] | [명령어 2]처럼 사용하며, 명령어 1의 결과를 명령어 2의 입력으로 사용

  • ex) ls /etc | grep rc ls 명령어의 결과에서 특정 문자를 포함한 라인만 뽑아 볼 때
  • ls /etc 결과 중에서 yum이 포함된 내용만 출력할 때
  • ls /etc | grep yum
  • ls /etc 결과가 너무 길어서 화면에 다 안 나와 끊어서 보고 싶을 때
  • ls /etc | more

사용자 초기화 파일

  • /etc/profile : 시스템 전역에 걸쳐 환경을 설정하는 파일, 모든 사용자가 적용되는 파일
  • ~/ .profile : 개별 사용자의 홈 디렉터리에 있는 파일, 해당 사용자의 설정을 변경할 때 사용
  • ~/ .bashrc : 개별 사용자의 홈 디렉터리에 있는 파일, 해당 사용자의 쉘 관련 설정을 변경할 때 사용
  • 환경 변수, 쉘 프롬프트 모양(명령어 앞에 붙는 내용), 별명 기능(alias), 쉘 옵션 정의 등 설정 가능

환경 변수

  • 시스템 환경에 대한 설정을 저장하고 있는 변수
  • HOME : 사용자의 홈 디렉터리
  • PATH : 실행파일을 찾는 경로
  • LANG : 프로그램 사용 시 기본 지원되는 언어
  • SHELL : 로그인해서 사용하는 쉘
  • EDITOR : 기본 편집기의 이름
  • PS1 : 명령 프롬프트 변수
728x90
728x90

링크

  • 특정 파일 또는 디렉터리에 접근을 쉽게 할 수 있도록 하는 방법
  • 파일 시스템이 물리적인 장치인 하드디스크 상에 저장되어있는 특정 파일의 위치를 가리키는 것

하드 링크

  • 하드 디스크의 특정 주소

심볼릭 링크

  • 윈도우의 바로가기 개념과 비슷하며 실질적인 디스크 상의 파일을 가리키는 것이 아니라 파일 시스템상의 특정 파일을 가리키는 것

링크 생성 명령어

  • ln [옵션] [원본] [링크]
  • 옵션을 지정하지 않고 링크 파일을 생성하면 하드 링크를 생성할 수 있다.
  • 옵션으로 -s를 지정하고 링크 파일을 생성하면 심볼릭 링크를 생성할 수 있다.

권한

  • 리눅스의 모든 파일과 디렉터리는 권한(퍼미션)을 가지고 있다.
  • 리눅스의 파일 시스템 상에 권한에 대한 정보를 저장하는 부분이 있다.
  • 퍼미션들은 시스템 상에 존재하는 파일들에 대한 읽기, 쓰기, 실행에 대한 접근 여부 결정
  • ls -l 명령어로 확인 가능
  • 이러한 퍼미션은 다중 사용자의 환경을 제공하는 리눅스 환경에서는 가장 기초적인 접근 통제 방법

drwxr-xr--. 3 root root 18 9월 28 22:07 .config

  • 총 10개의 문자, 첫 번째 문자는 해당 파일의 종류
  • 앞에 root는 소유자 뒤에 root는 그룹
  • 두 번째 ~ 열 번째 문자는 권한
  • 두 번째부터 열 번째 문자를 세 개씩 끊어서 읽는다.
  • rw- : 소유자 권한
  • r-x : 관리 그룹 권한
  • r-- : 나머지 권한
  • 소유자 : 일반적으로 파일이나 디렉터리를 생성한 사용자, 명령어로 변경 가능
  • 관리 그룹 : 파일이나 디렉터리를 생성한 사용자가 속한 그룹, 명령어로 변경 가능
  • 나머지 : 소유자도 아니고 관리 그룹에 속한 사용자도 아닌 경우
  • r : 읽기 권한이 있음
  • w : 쓰기 권한이 있음
  • x : 실행 권한이 있음
  • -: 권한이 없음

권한 설정 방법

  • chmod [권한] [파일 또는 디렉터리 이름]
  • [권한] : 권한을 입력할 때는 심볼릭 모드와 옥텟(8진수) 모드 2가지 방식을 이용하여 입력 가능하다.
  • [파일 또는 디렉터리 이름] : 파일, 디렉터리를 지정할 때는 절대 경로 또는 상대 경로 모두 가능하다.

심볼릭 모드

대상 권한 권한 부여 여부

소유자, u 읽기, r 권한부여, +
관리 그룹, g 쓰기, w 권한 회수, -
나머지 사용자, o 실행, x  

ex) 소유자에게 쓰기 권한을 준다.

chmod u+w file

옥텟 모드

---  --x -w- -wx r-- r-x  rw- rwx
0 1 2 3 4 5 6 7

r : 4, 읽기 권한이 있음

w : 2, 쓰기 권한이 있음

x : 1, 실행 권한이 있음

umask

파일 또는 디렉터리를 생성할 때 권한 값을 결정한다.

  기본 권한(8진수) 기본 권한(문자)
파일 644 rw-r- -r- -
디렉터리 755 rwxr-xr-x
  • 파일이나 디렉터리 생성할 때 기본적으로 권한 값은 파일의 경우 644 디렉터리의 경우 755로 설정된다.
  • 이 값은 umask 값에 의해서 결정되는 값으로 파일은 666에서 umask값을 not 연산을 수행 후 둘을 and 연산, 디렉터리는 777에서 같은 방식으로 구해진다.
  • umask 값은 umask 명령어를 이용해서 변경 가능하며 재부팅하면 초기화된다. umask의 기본값은 022이다.
  • 재부팅 후에도 적용을 시키려면 사용자 초기화 파일에 설정해야 한다.

권한에 따라 영향받는 파일 및 디렉터리 명령어

명령어 파일 디렉터리
읽기 more, cat, head, tail ls
쓰기 vi 편집기로 내용 수정 touch, mkdir, mv, cp, rm
실행 파일 이름 cd
728x90
728x90

파일 관련 명령어

touch : 내용에 아무것도 없는 빈 파일을 생성

rm : 파일을 제거하는 명령어

  • 일반적으로 -rf 옵션과 같이 사용 -r은 디렉터리 삭제 -f는 강제 삭제

mv : 파일 이름 변경

  • mv [현재 파일 이름] [변경할 파일 이름]

mv : 파일 이동

  • mv [원본 경로] [이동할 경로]

cp : 파일 복사

  • cp[원본 이름] [복사할 이름]

cat, head, tail, more : 파일 내용 확인

cat : 파일의 내용을 전부 확인

  • -n : 파일 내용의 줄 을 같이 출력해준다.

head : 파일의 내용을 시작부터 몇 줄만 확인, 기본적으로 10줄, 옵션으로 보고 싶은 라인 수 지정

tail : 파일의 내용을 끝에서 몇 줄만 확인, 기본적으로 10줄, 옵션으로 보고 싶은 라인 수 지정

  • -f : 실시간으로 내용의 변경사항을 확인할 수 있다.

more : 파일의 내용을 화면에 맞춰서 확인, space는 한 페이지씩 확인, enter는 한 줄 더 확인

  • 보통 head 명령어를 안쓰고 cat /etc/passwd | head 이렇게 쓴다.

vi 편집기

command 모드

가장 기본이 되는 모드, 복사, 붙여 넣기, 다른 모드로 전환, 커서 이동, 삭제 등

(1) 커서 이동

  • 방향키
  • G : 가장 마지막 줄로 이동
  • gg : 첫번째 줄로 이동
  • [n]G : n번째 줄로 이동 ex) 100번째 줄 이동 100G
  • $ : 커서가 위치한 줄의 맨 끝으로 이동
  • 숫자 0 : 커서가 위치한 줄의 맨 앞으로 이동
  • w : 커서가 한 단어씩 오른쪽으로 이동
  • b : 커서가 한 단어씩 왼쪽으로 이동
  • h : 방향키 왼쪽
  • j : 방향키 아래
  • k : 방향키 위로
  • l : 방향키 오른쪽

(2) 삭제

  • x : 한 문자 삭제, 또는 Edit모드에서 백스페이스나 delete 키로 삭제도 가능
  • dd : 커서가 위치한 한 줄 삭제 ex) 5 dd 하면 5줄 한 번에 삭제
  • d[커서이동] : 커서가 이동한만큼 삭제

(3) 수정

  • r : 커서가 위치한 부분의 문자 하나를 입력하는 문자로 대체
  • u : Ctrl + z 처럼 작업 취소

(4) 복사 및 붙여넣기

  • yy : 커서가 위치한 한 줄을 복사
  • y [커서 이동] : 커서 이동하는 만큼 복사
  • p : 커서 밑이나 커서 다음에 붙여 넣기

Last Line 모드

파일을 저장하거나, 종료하거나 저장하지 않고 그냥 종료, 검색, 바꾸기 등

(1) 편집기 상태 변경

  • :set nu : 라인 넘버 표시
  • :set nonu : 라인 넘버 표시 안 함
  • :set ic : 검색할 때 대소문자 무시
  • :set noic : 검색할 때 대소문자 적용

(2) 검색 및 변환

  • /[내용] : 검색, n 다음 검색, N 이전 검색
  • :%s/[찾을내용]/[바꿀내용]/g

(3) 저장 및 종료

  • :w : 저장
  • :q : 종료
  • :wq : 저장 및 종료
  • :w! : 강제로 저장
  • :q! : 강제로 종료
  • :wq! : 저장 및 강제 종료
728x90

'개발 > Linux' 카테고리의 다른 글

프로세스, 아카이브(tar), 압축  (0) 2022.07.29
특수권한, 쉘 명령어  (0) 2022.07.28
링크, 권한 명령어  (0) 2022.07.27
grep, fgrep, find 명령어  (0) 2022.07.26
리눅스 기초, 디렉터리 관련 명령어  (0) 2022.07.21
728x90

리눅스 기초

리눅스란?

  1. 컴퓨터 운영체제의 한 종류
  2. 윈도우와는 다르게 오픈 소스 운영체제
  3. 소스코드가 공개되어있기 때문에 다양한 리눅스 기반의 운영체제가 존재

 

특징

  1. 높은 이식성과 확장성(c언어 기반이기 때문)
  2. 안정성과 신뢰성
  3. 계층적 파일 시스템(최상의 디렉터리가 존재하고 모든 것들은 해당 디렉터리 하부에 존재)

 

프롬프트

  1. 컴퓨터가 입력을 기달리고 있음을 가리키기 위해 화면에 나타나는 표시
  2. 일반적으로 리눅스의 프롬프트는 현재 작업 디렉터리, 현재 로그인한 사용자 등에 대한 정보를 표시

 

$는 일반사용자

#은 관리자

 

man ls ls의 명령어에 대한 설명서

엔터 치면 한 줄씩, 스페이스 치면 한 페이지씩


디렉터리 관련 명령어

pwd : 현재 작업 디렉터리 확인
cd : 작업 디렉터리 변경
ls : 디렉터리 내용 확인
mkdir : 디렉터리 생성
rmdir : 디렉터리 제거
mv : 디렉터리 이름 변경
mv : 디렉터리 이동
cp : 디렉터리 복사

pwd : 현재 작업 디렉터리 확인

cd : 작업 디렉터리 변경

  • 절대 경로 : 최상의 디렉터리인 /부터 특정 파일 또는 디렉터리의 경로를 모두 입력
  • 상대 경로 : 현재 작업 디렉터리를 기준으로 특정 파일 또는 디렉터리의 경로를 입력 .은 현재 디렉터리를 의미하고, ..은 상위 디렉터리를 의미한다.

ls : 디렉터리 내용 확인

  • 일반적으로 ls는 -al 옵션과 같이 사용한다.
  • -a는 숨겨진 파일까지 모두 표시, -l 은 좀 더 자세한 결과를 출력한다.
  • -rwxr-xr-x : 파일에 대한 접근 권한
  • 1 : 하드 링크 수
  • root : 파일의 소유자 UID
  • root : 파일의 관리 그룹 GID
  • 4096 : 파일의 크기
  • .dockernev : 파일의 이름 파일 이름 앞에 . 이 붙어있으면 숨겨진 파일이다.

mkdir : 디렉터리 생성

  • -p 옵션을 사용하면 폴더 안에 폴더 안에 폴더 등 여러 폴더를 생성할 수 있다.

rmdir : 디렉터리 제거

  • rmdir은 폴더 안에 파일이 있으면 삭제가 안되고 비어 있어야 삭제가 된다.
  • 따라서 rm -r 옵션을 이용해서 파일을 삭제할 수 있다. rm은 rm -rf로 많이 사용

mv : 디렉터리 이름 변경

  • mv [현재 이름 디렉터리] [변경할 디렉터리 이름]

mv : 디렉터리 이동

  • mv [원본 경로][이동할 경로]

cp : 디렉터리 복사

  • 디렉터리를 통째로 복사할 때는 -r 옵션 사용
  • cp -r [원본 경로][이동할 경로]
728x90

'개발 > Linux' 카테고리의 다른 글

프로세스, 아카이브(tar), 압축  (0) 2022.07.29
특수권한, 쉘 명령어  (0) 2022.07.28
링크, 권한 명령어  (0) 2022.07.27
grep, fgrep, find 명령어  (0) 2022.07.26
리눅스 파일 관련 명령어, vi 명령어  (0) 2022.07.22

+ Recent posts