리눅스란?
우리는 보통 windows/ios 운영체제 말고는 다른 운영체제가 무엇이 있는지 아니 어쩌면 운영체제가 무엇인지도 잘 이해하지 못하는 경우가 있다.
리눅스는 오픈소스 기반의 운영체제로, 안정성과 보안성이 뛰어나며, 다양한 하드웨어와 소프트웨어를 지원하여 개발자들에게 인기가 많다.
소프트웨어 분야를 공부하는 사람에겐 필수라 할 수 있다.
다양한 환경에서 소프트웨어를 개발할 수 있는 능력을 키울 수 있고, 오랜 시간 많은 사용자들에 의해 검증되어 시스템이 안정적으로 동작하며 보안성이 높은 리눅스는 컴퓨터 역사에서 빼놓을 수 없고 현재도 가장 많은 참여자가 관여하고 있다.
오늘은 리눅스의 필수적인 디렉토리 명령어에 대해 알아보겠다.
리눅스 디렉토리 명령어
절대경로 출력(pwd)
현재 내 디렉토리의 절대 경로명이다.
내가 디렉토리를 이동하면 바뀐다.
디렉토리 이동(cd)
cd[경로]
이런 식으로 이동할 절대 경로로 디렉토리를 이동시키는 방법도 있고
내 디렉토리를 기준으로 상대적인 디렉토리 이동에 관여하는 방법도 있다.
$ cd . # 현재 디렉토리로
$ cd .. # 상위 디렉토리로
$ cd ~ # 현재 사용자의 홈 디렉토리로
$ cd / # 루트 디렉토리로
$ cd # 홈 디렉토리로
$ cd - # 바로 이전 디렉토리로
디렉토리 or 파일 확인 (ls)
ls는 세부적으로 정말 많은 명령어가 있지만 대표적으로
$ ls # 현재 디렉토리 구성 내용
$ ls [디렉토리 이름] # 지정한 디렉토리 구성 내용
$ dir #윈도우 명령어지만 사용 가능
이렇게 디렉토리 구성 내용을 출력할 수 있다.
더 세부적인 내용으로
$ ls -a # 숨김파일까지 포함하여 모든 파일의 목록 출력 (all)
$ ls -s # 파일의 크기 순으로 정렬하여 출력 (size)
$ ls -l # 파일의 상세정보 출력 (long)
$ ls -h # 파일 크기를 단위를 사용하여 보기 좋게 출력
$ ls -F # file : 파일의 종류를 기호로 구분
$ l -> ls -CF 단축
$ ll -> ls -alF 단축
이런 명령어가 있다.
이런 식으로 모든 정보를 볼 수도 있다.
옆에 있는
이 내용은 파일 권한 문제로 추후에 다시 chmod 내용으로 돌아와서 설명하겠다.
밑의 내용은 아직 나도 정확히는 모르는 내용들이라 포스팅 하면서 다시 공부중이다..
$ ls ../ # 부모 디렉토리 표시
$ ls -R # (Recursive) : 하위 디렉토리의 목록까지 모두 출력.
$ ls -n # 소유자 및 그룹을 이름 대신 UID / GID로 출력
$ ls -d # 현재 디렉토리의 정보를 출력.
$ ls -i # 첫번째 행의 inode 번호를 출력.
$ ls -g # 소유자 정보 빼고 파일 조회
$ ls -A # (.)와 (..)를 제외한 모든 파일을 출력.
$ ls -L # 심벌릭 링크 파일의 경우 원본 파일의 정보를 출력.
$ ls -u # 파일, 디렉토리 이름을 최종 접근 시간 순으로 화면에 출력
$ ls -r # (reverse) : 거꾸로 출력(기본 출력은 알파벳 순서)
$ ls -lu # (a time) : 접근 시간을 출력
$ ls -lc # (ctime) : 변경 시간을 출력
$ ls -d */ # 파일을 제외한 디렉토리만 반환
디렉토리 생성 (mkdir)
$ mkdir [디렉토리 명]
# 디렉토리 여러개 생성
$ mkdir [디렉토리명1] [디렉토리명2] [디렉토리명3]
# 하위 디렉토리 경로대로 생성
$ mkdir -p temp/ex1/ex2
디렉토리 삭제 (rmdir)
# 디렉토리 삭제. 단 하위 디렉토리가 없는 빈 디렉토리여야지 가능하다.
$ rmdir [대상 디렉토리]
# 여러개 삭제
$ rmdir [디렉토리명1] [디렉토리명2] [디렉토리명3]
# 디렉토리 및 하위디렉토리를 같이 삭제. 단, 부모 디렉토리가 비었을 경우
$ rmdir -p 파일명/하위디렉토리
디렉터리 삭제 (디렉터리는 -r 옵션 없이 삭제 불가)
디렉토리 안에 파일이 있어도 강제 삭제!!
$ rm -r [대상 디렉토리]
(-r은 재귀라는 뜻으로 디렉토리 안에 파일이 있더라도 다 삭제)
디렉토리 or 파일 복사 (cp)
$ cp -r [복사할 디렉토리] [대상 디렉토리]
[옵션]
$ cp -a # : 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사
$ cp -b # : 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사
$ cp -d # : 만약 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사
$ cp -f # : 만약 복사할 대상이 이미 있으면 강제로 지우고 복사
$ cp -i # : 만약 복사할 대상이 이미 있으면 사용자에게 물어본다
$ cp -l # : 하드링크 형식으로 복사
$ cp -P # : 원본 파일 지정을 경로와 같이했을 경우 그 경로 그대로 복사
$ cp -p # : 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사
$ cp -r # : 원본이 파일이면 그냥 복사되고 디렉터리라면 디렉터리 전체가 복사
$ cp -s # : 파일을 심볼릭 링크 형식으로 복사. 단, 원본 파일이름을 절대 경로로 지정해야 한다.
$ cp -u # : 복사할 대상이 있을 때 이 파일의 변경 날짜가 같거나 더 최근의 것이면 복사 x
$ cp -v # : 복사 상태를 보여줌
$ cp -x # : 원본과 대상 파일의 파일시스템이 다를 경우에는 복사 x
$ cp -R # : 디렉터리를 복사할 경우 그 안에 포함된 모든 하위경로와 파일들을 모두 복사
디렉토리 or 파일 이동 (mv)
$ mv [이동할 디렉토리] [대상 디렉토리]
$ mv [원본 파일] [대상 디렉토리]
이런 식으로 가능하다.
[옵션]
$ mv -b # : 목적 경로에 같은 이름의 파일(혹은 디렉토리)가 존재하면, 기존 파일을 백업 후 이동.
$ mv -f # : 목적 경로에 같은 이름의 파일(혹은 디렉토리)가 존재하면, 덮어쓸 것인지 묻지 않고 바로 덮어쓴다.
$ mv -i # : 목적 경로에 같은 이름의 파일(혹은 디렉토리)가 존재하면, 덮얼쓸 것인지 물어본다
$ mv -v # : 이동중인 상태를 표시
chmod 권한 관리와 vi 에디터 관련 명령어도 조만간 포스팅하겠다.
'LINUX' 카테고리의 다른 글
리눅스마스터 2급 7일 합격 후기 (0) | 2025.03.11 |
---|---|
[Linux] 사용자 권한 설정과 chmod (56) | 2024.08.13 |
[Linux] vi 편집기 명령어 (32) | 2024.07.15 |