1. mkdir(make directory)
: 빈 디렉터리 생성 명령어
mkdir "옵션" "만들고 싶은 디렉터리의 이름과 경로"
2. mkdir와 * 예제
1) 빈 디렉터리 생성
mkdir /test
2) * 예제
cp /home/test/d/ini* /test/
cp /home/test/d/*cfg /test/
cp /home/test/d/*gi* /test/
[실습] samadal에 test1 디렉터리를 만들기
mkdir /home/samadal/test1/
3. [잊지말자...!] 디렉터리일 때, 끝에 /가 붙고 파일은 뒤에 /가 붙지 않는다.
[그러나...!] 경로 상 마지막에 오는 디렉터리는 / 생략 가능
4. 옵션 -p를 이용, 필요하다면 경로에 없는 디렉터리까지 생성 가능
mkdir -p /home/samadal/test1/test2/test3/
5. rmdir(remove directory)
: 빈 디렉터리를 삭제하는 명령어
rmdir "옵션" "삭제하고 싶은 디렉터리의 경로"
6. rmdir 예제
rmdir /home/samadal/test1/test2/test3/
7. 옵션 -p를 이용, 오른쪽에서 왼쪽 순으로 경로에 있는 빈 디렉터리를 순차적으로 삭제
순차적으로 삭제 작업 진행 중에 빈 디렉터리가 아닌 디렉터리를 발견하면 에러와 함께 명령어 종료
rmdir -p /home/samadal/test1/test2/
8. rm(remove)
: 파일이나 디렉터리를 삭제하는 명령어
rm "옵션" "삭제하고 싶은 디렉터리나 파일의 경로"
9. rm 예제
rm ./inittab
10. rm 명령어를 이용하여 디렉터리를 삭제하고 싶다면 옵션 -r을 이용해야 한다.
(옵션 -r : 디렉터리나 파일 상관없이 삭제 가능하게 하는 옵션)
rm -r /home/test/
11. -f 옵션 추가 사용하여, 파일이나 디렉터리를 삭제할 때 물어보지 않고 바로 강제 삭제 가능
rm -r -f /home/samadal/a/
rm -rf /home/samadal/*
12. 원래 /home/samadal/a/를 삭제해야하는데 사용자 계정 디렉터리를 삭제해버려서
그로 인해 사용자 계정 로그인이 안되는 상황 발생했다.
따라서 로그인이 가능하도록 사용자 계정 디렉터리를 만들었다.
1) 방법
$ sudo mkdir /home/USER
$ cd /home/USER
$ sudo cp -r /etc/skel/. .
$ sudo chown -R USER.USERGROUP .
2) 방법에 대한 해석
$ : 유저 의미
# : 루트 의미
sudo : admin 권한 있는 유저를 일컫는다, 실무에서는 root에서 작업하는 것을 권장하지 않기 때문에 sudo를 사용
3) 사용자 계정 디렉터리 생성시 실제로 사용한 명령어
mkdir /home/samadal
cd /home/samadal
cp -r /etc/skel/. .
chown -R samadal:samadal ./
[cp -r옵션] 원본이 파일이면 파일 복사되고 디렉터리라면 디렉터리 전체 복사
[/etc/skel] 유저에 필요한 환경 파일
[chown] 폴더 권한 설정
13. 새롭게 다시 만든 사용자 계정 디렉터리를 실습과 동일한 환경으로 만들었다.
rm -rf /home/samadal/*
14. *을 이용하여 삭제했지만 숨겨진 파일은 지워지지 않았다.
만약, 숨겨진 파일도 함께 지우고 싶다면 .*을 이용하여 삭제하면 되나 아래의 명령어는 실행해서는 안된다!
(숨겨진 파일까지 모두 삭제하면 samadal 로그인이 안됨!)
rm -rf /home/samadal/.*
15. skel 디렉터리는 사용자를 생성할 때 그 사용자의 뼈대를 의미
(사용자를 생성하게 되면 skel 안에 들어있는 모든 파일들이 자동적으로 사용자 계정 디렉터리에 복사)
.bash_logout .bash_profile .bashrc .mozilla
16. samadal 디렉터리에 있는 사용자의 뼈대를 삭제해보고 cp를 이용하여 skel 디렉터리 복사해보자!
cp -r etc/skel/.* /home/samadal/
[skel 디렉터리 뿐만 아니라 etc 디렉터리의 모든 것이 복사된 것을 확인할 수 있다]
Why? .으로 시작하는 모든 것은 ..도 해당되기 때문에 etc 디렉터리에 들어있던 모든 파일들과 디렉터리들도 해당
[만약 꼭 필요한 .bash_logout .bash_profile .bashrc .mozilla만 복사하고 싶다면]
cp -r /etc/skel/.b* /etc/skel/.m* /home/samadal/
15 ~ 16의 학습 내용은 사용자 계정 디렉터리 삭제로 인한 12의 학습 내용과 거의 일치!
디렉터리를 잘못 삭제하여 공부했으나 뒤이은 진도에서 강사님이 알려주셨다.
17. touch
: 빈 문서 파일을 생성하는 명령어
touch "생성하고 싶은 파일의 경로와 이름"
18. touch 예제
1) 절대경로
touch /home/samadal/testFile
2) 상대경로
cd /home/samadal/
touch ./testFile2
19. rm -rf /* : 절대 사용해서는 안되는 명령어!
[이 명령어가 뭔가요?]
최상위 디렉터리 아래에 있는 모든 것을 삭제한다.
[참고] Ctrl + C 누르면 중간에 끊긴다!
[왜 쓰면 안되나요?]
지금까지 리눅스에서 쓰고 있던 명령어는 실행 파일로 리눅스 안에 구성되어 있다.
근데 이 실행 파일들이 전부 삭제된다면 명령어를 인식을 못한다.
또한 왼쪽 상단에 있는 프로그램의 목록도 사라졌고
로그아웃 후 로그인도 안되는 앞으로 리눅스를 쓸 수 없는 상황이 오니
절대로 실수로 사용하지 않도록 조심하자!(실제로 실수하는 경우가 많다고 함)
'IT공부' 카테고리의 다른 글
[IT 통합 기초] vmwareTools 설치, IP 수동 설정, Ping, DNS (0) | 2020.09.22 |
---|---|
[IT 통합 기초] 윈도우 서버 설치 (0) | 2020.09.17 |
[IT 통합 기초] 리눅스 명령어(cp, mv) (0) | 2020.09.14 |
[IT 통합 기초] 경로(절대경로와 상대경로), 리눅스 명령어(cd, ls, sp) (0) | 2020.09.09 |
[IT 통합 기초] 프티 설치 및 설정, 기초 명령어 (0) | 2020.09.04 |