개발놀이터

리눅스 alias로 파일, 폴더 휴지통으로 이동시키기 본문

배포/리눅스

리눅스 alias로 파일, 폴더 휴지통으로 이동시키기

마늘냄새폴폴 2024. 6. 6. 18:27

리눅스에선 rm 명령어를 이용해서 파일이나 폴더를 삭제합니다. 

 

rm -f deploy.sh
파일 삭제

rm -rf deploy
폴더 삭제

 

근데 문제는 이제 진짜 컴퓨터에서 완전히 삭제된다는 것입니다. 

 

개인적으로 너무 위험해보여서 윈도우처럼 휴지통으로 이동하는 기능이 있으면 좋겠다싶었습니다. 

 

찾아보니까 alias라고 별칭을 만들어주는 기능이 있어서 그 기능을 이용해서 그 기능을 한번 적용해서 안전장치를 하나 둬보겠습니다. 

 

 

Alias

리눅스에선 자신이 많이 사용하는 명령어를 alias로 만들 수 있습니다. alias를 사용하는 방법은 두가지 방법이 있습니다. 

 

  1. 현재 사용자만 alias 등록
  2. 모든 사용자의 alias 등록

먼저 현재 사용자의 alias를 등록해보겠습니다. 

 

현재 사용자 alias 등록

현재 사용자가 cat이라는 사용자이고 이 사용자는 developer라는 그룹에 속해있습니다. 이 사용자로 들어가봅시다. 

 

사용자를 만들고 권한을 부여하는 것은 앞선 포스팅에서 했으니 넘어가도록 하겠습니다. 

 

아래의 링크에서 자세히 볼 수 있습니다!

 

https://coding-review.tistory.com/507

 

리눅스 사용자, 그룹 추가 (부제 : 리눅스 카테고리 출범!)

저는 현재 소규모 스타트업에서 일하고 있는데요. 회사에서 큼직하지 않은 잡다한 인프라 담당을 겸하고 있습니다. 사용자 권한 관리하고 서버 내리고 올리고 라우팅이나 포트 관리하고 이런

coding-review.tistory.com

 

https://coding-review.tistory.com/509

 

리눅스 파일, 폴더 권한 부여

리눅스에는 파일 혹은 폴더에 권한을 부여하고 관리할 수 있습니다. 정확히는 유닉스라고 해야겠네요.  이번 포스팅에선 파일 혹은 폴더에 권한을 부여하고 관리하는 방법에 대해서 공부한 내

coding-review.tistory.com

 

먼저 현재 사용자로 로그인하고 /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를 이용해서 휴지통 만들기 포스팅은 여기까지 해보겠습니다. 긴 글 읽어주셔서 감사합니다. 오늘도 즐거운 하루 되세요~