0. Introduction
해당 강의는 러닝스푼즈 - 나노디그리 Python & Django backed course의 Jason.Kim 강사님의 Linux 강의로부터 학습한 자료입니다.
지난 챕터에는 AWS를 사용한 Linux 명령어 학습 환경 조성을 하는데 목적을 두었다면, 이번에는 Linux 기본 명령어를 실습해보겠다.
Linux의 기본 명령어는 모두 중요하므로, 다 학습해야 한다.
이번 소챕터에서는 pwd, cd, ls, cp, mv를 학습해본다.
1. pwd, cd, ls, cp, mv
1.1 pwd
현재 경로 보기(parent working directory)
|
|
1.2 cd
원하는 디렉토리로 이동 (change directory의 약자)
인자값 | 의미 |
---|---|
. | 현재 디렉토리 |
.. | 상위 디렉토리 |
~ | 로그인 되어 있는 계정(사용자)의 Home directory |
~계정명 | 지정한 계정(사용자)의 Home directory |
|
|
1.3 ls
기본 기능: 디렉토리 목록을 확인
ls [옵션] [디렉토리 or 파일]
- 각 옵션들을 한 번에 합쳐서 입력 가능하다.
- ex) -ald, 순서는 상관 X
옵션 | 의미 |
---|---|
-a, -all | .을 포함한 경로 안의 모든 파일 및 디렉토리 |
-l, –format = long | 지정한 디렉토리의 내용을 상세하게 출력 |
-d, –directory | 지정한 디렉토리의 정보를 출력 |
-F, –classfiy | 파일 형식을 알리는 문자를 각 파일 뒤에 추가 |
-R,–recursive | 하위 경로와 그 안에 있는 모든 파일들도 같이 나열 |
- 위에 cd 명령어 실습으로부터 바로 이어진다.
디렉토리 목록 확인
|
|
숨긴 내용까지 다 확인
|
|
목록 상세히 확인
하지만, 위 명령어로는 무엇이 폴더이고, directory인지 구분할 수 없다.
- d는 최상위 디렉토리를 의미
1 2 3 4 5 6 7
[root@ip-172-31-8-107 /]# ls -l lrwxrwxrwx 1 root root 7 Aug 15 20:20 bin -> usr/bin dr-xr-xr-x 4 root root 4096 Aug 15 20:23 boot drwxr-xr-x 15 root root 2900 Aug 30 04:09 dev drwxr-xr-x 80 root root 8192 Aug 30 04:09 etc drwxr-xr-x 3 root root 22 Aug 30 04:09 home ...
옵션 합쳐서 사용하기
- 만약 숨겨진 내용까지 상세히 목록을 보고 싶으면
ls -al
로 옵션을 합쳐서 사용한다.
경로 이동 없이 목록 보기
경로 이동 없이, 찾고 싶은 경로의 목록을 보고 싶을 때:
ls -l /
1 2 3 4 5 6
# 현재 경로 [root@ip-172-31-8-107 ec2-user]# pwd /home/ec2-user [root@ip-172-31-8-107 ec2-user]# ls -l / # 그러면 위에 / 경로에서 ls -l 을 입력한 결과와 동일하다.
이번에는 경로 이동 없이, 원하는 디렉토리 정보만을 출력해보자.
1 2
[root@ip-172-31-8-107 ec2-user]# ls -ld /var/ drwxr-xr-x 19 root root 269 Aug 30 04:09 /var/
-d
옵션 없이 사용하면/var/
directory 안의 리스트를 볼 수 있다.- 하지만, 디렉토리 경로를 모르면 속성을 확인해볼 수 없다는 단점이 있다.
1 2 3 4 5 6 7 8
[root@ip-172-31-8-107 ec2-user]# ls -l /var/ total 8 drwxr-xr-x 2 root root 19 Aug 15 20:22 account drwxr-xr-x 2 root root 6 Apr 9 2019 adm drwxr-xr-x 6 root root 63 Aug 15 20:22 cache drwxr-xr-x 3 root root 18 Aug 15 20:22 db drwxr-xr-x 3 root root 18 Aug 15 20:22 empty ...
파일 형식 자세히 알기
-F
를 사용하니,/
가 뜬 것을 알 수 있다.이는 directory임을 의미한다.
화살표가 있는 것들은 앞에
l
임을 알 수 있다.이
l
이 의미하는 바는 symbolic link를 의미한다.- 실제로 존재하는 것이 아닌, 화살표가 가리키는 것을 가리킨다는 의미다.
- 그리고 10이란 숫자를 볼 수 있는데, 이는 10byte를 의미하며, 이 크기는 바로가기 파일의 크기와 동일하다.
|
|
또한, 아래 출력을 보면
*
이 명칭 뒤에 붙어 있고, 각 출력행들의 맨 앞을 보면-
이 붙어있다. 이는 파일 을 의미한다.1 2 3 4 5 6 7 8
[root@ip-172-31-8-107 ec2-user]# ls -lF /bin/ total 153928 ... -rwxr-xr-x 1 root root 32552 Aug 17 2018 auvirt* lrwxrwxrwx 1 root root 4 Aug 15 20:20 awk -> gawk* -rwxr-xr-x 1 root root 818 Sep 28 2020 aws* -rwxr-xr-x 1 root root 1139 Sep 28 2020 aws_completer* ...
- 그리고, 아래 출력과 비교를 해보면
/
가 없는 것들은 위와 같이 파일인데, 차이점은-x
가 아니라,--
임을 알 수 있다.- 그 차이는
-x
가 붙은 건 실행파일 을 의미한다.
- 그 차이는
1 2 3 4 5 6
[root@ip-172-31-8-107 home]# ls -lF /etc/ total 1112 ... drwxr-xr-x 6 root root 100 Aug 15 20:22 yum/ -rw-r--r-- 1 root root 862 Jun 23 22:26 yum.conf drwxr-xr-x 2 root root 54 Aug 15 20:24 yum.repos.d/
- 그리고, 아래 출력과 비교를 해보면
경로의 하위 내용까지 출력하기
- 경로에 최상위 경로를 입력하면 다 출력되기 때문에, 이런 문제점으로 사용하지 않는 것이 나을 수도 있다.
|
|
1.4 cp
기본 기능: 파일 또는 디렉토리를 복사 (copy)
cp [옵션] [원본] [목적지]
옵션 | 의미 |
---|---|
-r, -R, –recursive | 하위 디렉토리와 파일을 모두 복사 |
-p, –preserve | 원본 파일의 권한과 함께 복사 |
- 디렉토리 하나를 만들어보자.
|
|
-r 사용하기
|
|
1.5 mv
기본 기능: 파일 또는 디렉토리 원본을 이동(move) mv [옵션] [원본] [목적지]
- 위에 cp 실습에서 이어진다.
|
|