-
리눅스 자주 사용하는 명령어 모음Linux 2023. 2. 27. 02:17반응형
* 명령어 뒤에 --help를 입력하면 해당 명령어의 사용 방법과 옵션을 알 수 있음.
원격 접속 (ssh)
0. 설치가 안 되어 있다면 아래 명령어로 설치
sudo apt install openssh-server
1. 접속을 위해 방화벽 허용
sudo ufw enable && sudo ufw allow 22/tcp
2. 연결하고자 하는 pc의 id와 ip주소 확인 (ifconfig)
3. 아래 명령어 참고하여 연결 시도 (-Y : yes)
ssh -Y {아이디}@{ip 주소}
e.g. ssh -Y candyz@19.94.7.284. 비번 입력
5. exit(or ctrl+c) 입력하여 연결 해제
원격 파일 전송 (scp)
cp와 비슷하게 사용 가능
sudo scp {파일 이름} {아이디}@{ip 주소}:{옮길 디렉토리}
e.g. sudo scp windy_day.txt candyz@19.94.7.28:/home/candyz/downloads파일을 저장하고자 하는 디렉토리(위에서는 /home/candyz/downloads)는 모든 사용자가 읽고 쓸 수 있는 권한을 가지고 있어야 함.
권한 없을 경우 Permission denied 에러 발생하면서 실패함.
이전 명령어 검색 (history)
history | grep '{검색할 명령어}'
e.g. history | grep 'cp'
319 roslaunch practice_cpp test.launch
394 gedit ../eye-tracking.cpp
507 cp --help이전에 입력했던 명령어 중 cp가 포함된 명령어를 출력함
grep 옵션
-n : 줄번호 출력
-r : 하위 항목 포함 검색
-E {regexp} : 정규표현식 사용하여 검색
-B {num} : 앞으로 num줄 더 출력 (Before)
-A {num} : 뒤로 num줄 더 출력 (After)파일 압축 (zip/unzip)
zip {압축할 파일 이름} {압축할 파일1} {압축할 파일2} …
e.g. zip candyz.zip candy*
현재 디렉터리에서 candy로 시작하는 모든 항목을 candyz.zip으로 압축함 (파일과 디렉터리 껍데기 포함)
e.g. zip pics.zip *.png
현재 디렉터리에서 png 확장자를 가진 모든 항목을 pics.zip으로 압축함
단, 하위 항목까지 같이 복사하려면 recursive 옵션을 줘야 함 (빼고 할 경우 디렉터리 껍데기만 압축됨)
e.g. zip -r candyz.zip candy*
현재 디렉터리에서 candy로 시작하는 모든 항목을 candyz.zip으로 압축함 (파일과 디렉터리, 디렉터리 내 하위 항목까지 모두 포함)
unzip {압축 해제할 파일 이름}
e.g. unzip candyz.zip
candyz.zip 파일을 현재 디렉터리에 압축 해제함.
다른 위치에 풀고 싶을 경우 -d 옵션을 줘야 함.
e.g. unzip candyz.zip -d ../garden
candyz.zip 파일을 현재 디렉터리의 이전 디렉터리에 포함된 garden 디렉터리에 압축 해제함.
파일 검색 (find)
find {경로} {표현식}
상당히 많은 표현식이 존재하지만.. 요즘 자주 쓰는 건 name, empty, delete, size 정도.
e.g. find . -name 'candy*'
현재 디렉터리에서 candy로 시작하는 이름을 가진 모든 항목을 찾음
e.g. find . -name '.txt'
현재 디렉터리에서 txt 확장자를 가진 모든 항목을 찾음
e.g. find . -empty
현재 디렉터리에서 사이즈가 0인 모든 항목을 찾음 (파일, 디렉터리 포함)
e.g. find . -empty -delete
현재 디렉터리에서 사이즈가 0인 모든 항목을 찾아서 삭제함
e.g. find . -size +5k
현재 디렉터리에서 사이즈가 5kb보다 큰 항목을 모두 찾음.
e.g. find . -size +5k -size -10k
현재 디렉터리에서 사이즈가 5kb보다 크고, 10kb보다 작은 항목을 모두 찾음.
파일 복사 (cp)
e.g. cp temp.txt candyz
temp.txt 파일을 candyz 디렉터리 안으로 복사
e.g. cp temp.txt candyz/temp2.txt
temp.txt 파일을 candyz 디렉터리 안에 temp2.txt라는 이름으로 바꾸어 복사
단, 하위 항목까지 같이 복사하려면 recursive 옵션을 줘야 함.
e.g. cp -r candyz ./candyz2
candyz 디렉터리에 포함된 하위 항목들을 현재 디렉터리 안에 candyz2라는 이름으로 바꾸어 통째로 복사
파일 이동 (mv)
cp와 마찬가지. mv는 recursive 옵션 안 줘도 하위 항목까지 같이 옮겨짐.
파일 삭제 (rm)
cp와 마찬가지. recursive 옵션 줘야 디렉터리 삭제 가능.
e.g. rm -r candyz
권한 관리 (chmod)
chmod {대상} {연산자} {권한 종류}
대상 : u(user), g(group), o(others), a(all)
연산자 : +(추가), -(제거), =(지정)
권한 종류 : r(read), w(write), e(execute)
e.g. chmod +x nonstop.txt
모든 사용자에 대해 nonstop.txt 실행 권한 부여
e.g. chmod o-x nonstop.txt
그 외 사용자에 대해 nonstop.txt 실행 권한 제거
그 외
pwd 현재 디렉터리 출력 (print working directory)
clear 터미널 클리어
cd {dir} 디렉터리 이동 (뒤에 아무것도 입력하지 않을 시 홈 디렉터리로 이동)
mkdir {dir} 디렉터리 생성
kill {pid} 프로세스 중지
shutdown 종료
reboot 재시작 (원격 접속일 경우 sudo reboot)
ls 현재 디렉터리 내 파일 리스트 출력
ls 옵션
-l : 권한 포함 상세 정보
-a : 숨김 파일 표시
-h : K, M, G 단위로 사이즈 표시 (human-readable)
-t : 시간순 출력
-F : 파일 종류 구분 (/:디렉터리, @:심벌릭링크, *:실행파일, 그외:일반파일)
반응형'Linux' 카테고리의 다른 글
셸 스크립트 작성하기 (1) 2024.11.19 udev rules 심볼릭링크 설정 - USB 장치 포트 이름 고정하기 (0) 2023.03.01 cat 명령어 - 파일 내용 출력, 연결 (0) 2023.03.01