개발놀이터
리눅스 alias로 파일, 폴더 휴지통으로 이동시키기 본문
리눅스에선 rm 명령어를 이용해서 파일이나 폴더를 삭제합니다.
rm -f deploy.sh
파일 삭제
rm -rf deploy
폴더 삭제
근데 문제는 이제 진짜 컴퓨터에서 완전히 삭제된다는 것입니다.
개인적으로 너무 위험해보여서 윈도우처럼 휴지통으로 이동하는 기능이 있으면 좋겠다싶었습니다.
찾아보니까 alias라고 별칭을 만들어주는 기능이 있어서 그 기능을 이용해서 그 기능을 한번 적용해서 안전장치를 하나 둬보겠습니다.
Alias
리눅스에선 자신이 많이 사용하는 명령어를 alias로 만들 수 있습니다. alias를 사용하는 방법은 두가지 방법이 있습니다.
- 현재 사용자만 alias 등록
- 모든 사용자의 alias 등록
먼저 현재 사용자의 alias를 등록해보겠습니다.
현재 사용자 alias 등록
현재 사용자가 cat이라는 사용자이고 이 사용자는 developer라는 그룹에 속해있습니다. 이 사용자로 들어가봅시다.
사용자를 만들고 권한을 부여하는 것은 앞선 포스팅에서 했으니 넘어가도록 하겠습니다.
아래의 링크에서 자세히 볼 수 있습니다!
https://coding-review.tistory.com/507
https://coding-review.tistory.com/509
먼저 현재 사용자로 로그인하고 /home/{user 이름} 폴더로 이동합니다.
그리고 아래의 명령어를 입력합니다.
ls -a
이 명령어를 치면 .bashrc 라는 파일을 발견할 수 있습니다.
vi ~/.bashrc
vim 편집기로 .bashrc를 열어서 alias를 등록합니다.
alias rm='mv -t /home/cat/.local/trash/files'
그리고 아직 폴더가 없어서 작동을 안할겁니다. 폴더를 만들어줍시다.
mkdir .local
cd .local
mkdir trash
cd trash
mkdir files
그리고 마지막으로 우리가 등록한 alias를 등록해주면 됩니다.
cd /home/cat
source ~/.bashrc
자 이제 사용해볼까요?
그리고 휴지통에 가보면?
그런데 문제가 있습니다. 휴지통을 비워야할 땐 진짜 삭제해줘야하는데 이미 rm이 alias로 mv명령이 되거든요. 진짜 삭제는 어떻게 해야할까요?
저는 새로운 alias를 만들어줬습니다. 바로 rr 이라는 alias입니다. 제가 만든겁니다. real remove의 약자입니다. 자 이제 alias를 추가해봅시다!
cd /home/cat
vi ~/.bashrc
추가) ~/ 이 명령어는 현재 로그인한 사용자의 폴더로 가라는 얘기입니다.
alias rr='rm -i'
이렇게 하면 문제가 생깁니다. rr 에서 사용한 rm은 실제 리눅스의 rm이 아니고 우리가 설정했던 alias입니다. 그래서 mv 명령어가 호출되는거죠.
그럼 rm은 못쓴다...가 아닙니다.
리눅스에는 이런 방법이 있습니다. /usr/bin 폴더에 들어가면 리눅스의 명령어가 들어가있습니다. 이걸 직접 호출해줌으로써 명령어를 사용할 수 있습니다. 즉, 이렇게요.
$ /usr/bin/rm -rf {파일,폴더 이름}
이렇게 바로 호출하면 rm 명령어를 사용할 수 있습니다. 이제 우리의 alias인 rr을 이렇게 변경하면 됩니다.
alias rr='/usr/bin/rm -i'
이렇게 정하고 다시 등록해주면 됩니다.
source ~/.bashrc
그리고 rr을 사용해보면?
이렇게 사용할 수 있습니다.
하지만 이 방법의 문제는 현재 cat 사용자만 이 alias를 사용할 수 있다는 것입니다. 모든 사용자에게서 사용하게 하려면 어떻게 해야할까요?
모든 사용자의 alias 등록
방법은 동일합니다. 다만 ~/.bashrc 에서 /etc/bash 파일로 바뀔 뿐입니다.
ec2-user로 들어가서 /etc/bash파일을 열어줍니다.
alias rm='mv -t /home/developer/.local/trash/files'
alias rr='/usr/bin/rm -i'
이렇게 alias를 등록해준 다음 source 명령어로 다시 초기화해주면 끝!
마치며
리눅스는 정말 위험하면서도 매력적인 운영체제인 것 같네요. 위험한만큼 안정방지책을 두면 더 안전하게 사용할 수 있을 것 같네요. 단점을 약화시키고 장점만 돋보이게 할 수 있겠습니다.
이렇게 alias를 이용해서 휴지통 만들기 포스팅은 여기까지 해보겠습니다. 긴 글 읽어주셔서 감사합니다. 오늘도 즐거운 하루 되세요~
'CS 지식 > 운영체제' 카테고리의 다른 글
리눅스 기본 명령어 동작 원리 : 디렉토리 구조편 (cd, ls, rm, mv, cp) (0) | 2024.10.29 |
---|---|
데이터베이스 쿼리를 실행하면 내부적으로는 어떤 일이 벌어질까? (0) | 2024.10.27 |
리눅스 파일, 폴더 권한 부여 (0) | 2024.06.03 |
리눅스 커널 (0) | 2024.06.02 |
리눅스 사용자, 그룹 추가 (부제 : 리눅스 카테고리 출범!) (0) | 2024.05.30 |