리눅스 기초명령어 1(cd, pwd, rmdir, mkdir, ls, 리다이렉트, cat, echo, cp, mv, rm)

2022. 10. 18. 13:28리눅스

cd

 - 디렉토리를 이동하는 명령어, 보통 옵션이 없이 사용한다.

 - # cd  [이동할 디렉토리명]

 

pwd

 - 현재 위치한 디렉토리를 절대경로 표현법으로 출력한다.

 

rmdir

 - 지정한 디렉토리를 삭제한다.

 - 디렉토리가 비워져 있는 경우만 삭제 가능하다.

 

mkdir

 - 지정한 디렉토리를 생성한다. / 생성된 디렉토리는 생성한 유저의 소유가 된다.

 

‐p, ‐‐parents  
 - 필요하다면 생성하고자 하는 상위의 디렉토리까지 생성한다.

 

‐‐version
 - 버전 정보를 보여준다.

 

실습)

[root@Linux1 ~]# pwd
/root
[root@Linux1 ~]# mkdir a
[root@Linux1 ~]# ls
a  anaconda-ks.cfg  initial-setup-ks.cfg
[root@Linux1 ~]# cd a
[root@Linux1 a]# pwd
/root/a
[root@Linux1 a]# cd ../
[root@Linux1 ~]# rmdir a
[root@Linux1 ~]# mkdir ./a/b
mkdir: `./a/b' 디렉토리를 만들 수 없습니다: 그런 파일이나 디렉터리가 없습니다
[root@Linux1 ~]# mkdir -p ./a/b
[root@Linux1 ~]# ls ./a/
b
[root@Linux1 ~]# cd ./a/b
[root@Linux1 b]#

 

tree

 - 디렉토리 구조를 출력한다.

 - ‐d : 디렉토리만 출력한다

 

실습

[root@Linux1 ~]# mkdir -p /a/b/c
[root@Linux1 ~]# mkdir a/b/d
[root@Linux1 ~]# mkdir a/c
[root@Linux1 ~]# tree
.
├── a
│   ├── b
│   │   └── d
│   └── c
├── anaconda-ks.cfg
└── initial-setup-ks.cfg

4 directories, 2 files

 


[root@Linux1 ~]# tree -d
.
└── a
    ├── b
    │   └── d
    └── c

4 directories

 

 - ls : 현재 디렉토리의 목록을 출력한다.
 - ‐a, ‐‐all  : 숨겨진 파일의 목록까지 출력
 - ‐l           : 파일에 대한 정보를 자세히 출력
 - ‐R         : 하위 디렉토리의 내용까지 출력
 - ‐h          : 사람이 이해하기 쉽도록 파일의 크기를 출력
 - ‐k          : kb단위로 파일의 크기출력
 - ‐i           : 파일의 inode 번호를 같이 출력 (고유번호)  

 

리다이렉트

표준 입출력 지시자

>   : 표준 출력 지시자
# command  >  파일 : 명령 결과를 파일로 저장
>>  : 추가 표준 출력 지시자
# command  >>  파일 : 명령 결과를 파일에 추가
<   : 표준 입력 지시자

# command  <  파일 : 파일의 내용을 명령의 입력 값으로 사용

 

cat

 - 파일의 입출력 제어
 - # cat  [옵션]  [출력 대상 파일]

 

옵션
 ‐n : 행 단위 번호
 ‐b : 공백 라인을 제외하고 행 단위 번호

 

# cat [< 입력파일 > 출력파일]
기본 입력 파일 : 키보드
기본 출력 파일 : CRT
입력 파일의 경우 < 기호 생략 가능
>> : 출력파일이 존재하는 경우 내용추가
# cat  a.txt
# cat < a.txt > b.txt   - a.txt파일을 입력받아서 b.txt로 출력한다 (복사)

 

echo

 - 환경 변수나 입력내용을 출력

 - 변수(데이터를 저장하기 위한 공간,대소문자 구문)


# echo [환경변수 | 문자열]
리다이렉트를 이용하면 파일을 생성할 수도 있다.

 

실습)

따옴표x

[root@Linux1 ~]# echo $HOME
/root

 

작은 따옴표 : 문자열 그대로

[root@Linux1 ~]# echo '$HOME'

$HOME

 

큰 따옴표 : 변수가 가진 값을

[root@Linux1 ~]# echo "$HOME"
/root

 

역 따옴표 : 안의 명령문을 실행한 결과를 반환
[root@Linux1 ~]# echo `$HOME`
-bash: /root: 디렉터리입니다

 

실습)

[root@Linux1 ~]# echo hi daba
hi daba
[root@Linux1 ~]# echo $HOME
/root
[root@Linux1 ~]# echo "$HOME"
/root
[root@Linux1 ~]# echo '$HOME'
$HOME
[root@Linux1 ~]# echo 1 > a.txt
[root@Linux1 ~]# cat a.txt
1
[root@Linux1 ~]# cat > b.txt
I am biro
compound bow
^C                              <------ ctrl+c, ctrl+d 어떤커맨드를 입력하는지에 따라 결과가 다르다.
[root@Linux1 ~]# cat b.txt
I am biro
compound bow

 

ctrl+z : 백그라운드로 작업전환
ctrl+d : 정상종료
ctrl+c : 강제 종료

 

cp

- 파일이나 디렉토리를 복사한다.
 - # cp [옵션]  원본파일 복사파일명

 

옵션
 ‐a  :  원본의 속성유지
 ‐r  : 하위 디렉토리나 파일모두 복사
 ‐f  : 강제 실행
 ‐p :  파일의 소유와 권한등을 보존한채 복사
 ‐u  : 새파일 덮어쓰기 금지

 

mv

- 파일이나 디렉토리를 이동한다.
 - # mv [옵션]  원본파일 이동파일명

 

옵션
 ‐f : 강제 실행
 ‐b : 파일이 덮어 쓰여질 경우 백업파일 생성
 ‐d : 디렉토리 삭제
 ‐i : 삭제 전 삭제여부 확인
 ‐v : 백업 파일 생성

 

rm

 - 파일이나 디렉토리를 삭제한다.
 - # rm [옵션]  대상파일

 

옵션
 ‐f  : 강제 실행
 ‐r : 대상 중에 디렉토리가 있는 경우 디렉토리도 삭제

 

실습)

[root@Linux1 ~]# cp a.txt c.txt
[root@Linux1 ~]# ls *.txt
a.txt  b.txt  c.txt
[root@Linux1 ~]# ls
a  a.txt  anaconda-ks.cfg  b.txt  c.txt  initial-setup-ks.cfg
[root@Linux1 ~]# mv c.txt a/  <---- (c.txt를 a디렉토리안으로 옮긴다) | 꼭! a뒤에/ 붙여야함 mv 명령어를 사용할때  옮기는곳에 /를 안붙이면 오류가 발생할수도있음

[root@Linux1 ~]# ls a/
b  c  c.txt
[root@Linux1 ~]# rm a
rm: cannot remove `a': 디렉터리입니다
[root@Linux1 ~]# rm -rf a
[root@Linux1 ~]# rm *.txt
rm: remove 일반 파일 `a.txt'? y
rm: remove 일반 파일 `b.txt'? y
[root@Linux1 ~]# ls *.txt
ls: cannot access *.txt: 그런 파일이나 디렉터리가 없습니다
[root@Linux1 ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg

'리눅스' 카테고리의 다른 글

VI 편집기  (0) 2022.10.18
리눅스 기초 명령어 2(ln, more, |, grep, head, tail, find)  (0) 2022.10.18
리눅스 기초(명령어 표기 및 디렉토리 표현방법)  (0) 2022.10.18
기본 설치  (0) 2022.10.18
VMware 네트워크 설정  (0) 2022.10.17