리눅스를 개인적으로 쓸 일이 많아, 필요한 명령어들을 정리해놓았습니다.
- System V 계열은 대시(-)
- BSD 계열은 대시없음
- GNU에서는 대시 두개(--)
1. 데미안 : Ubuntu(apt)
2. 레드햇 : Sentos(rpm → yum 패키지)
wget 패키지 → 웹페이지로부터 파일을 다운받는 명령어
- bin : 실행파일
' > ' → 생성
'>>' → 추가
' < ' → 입력
'<<' → 키워드
ex) 파일 생성 후 내용 입력 + 특정단어에서 종료
→ cat << end > b.txt
- : all, 모든 문자 대체
? : only, 한 문자 대체
LiSt의 약자로 해당 디렉터리에 있는 파일의 목록을 나열하는 명령입니다.
ls [옵션][파일 or 디렉토리]
# ls → 현재 디렉터리의 파일 목록을 표시
# ls /etc/sysconfig /etc/sysconfig → 디렉터리의 목록을 표시
# ls -a → 현재 디렉터리의 목록(숨김 파일 포함)을 표시
# ls -l → 현재 디렉터리의 목록을 자세히 표시
# ls *.cfg → 확장자가 cfg인 목록을 표시
# ls -[l]d → 현재 디렉토리 정보
# ls -lt → 시간정보(최신 파일 순으로 나열)
# ls -lu → 접근시간
# ls -i → 파일정보를 보관하고 있는 번지
# ls -r → 역순 출력
# ls -R → 현재 디렉토리 하위의 내용 전체 출력
# ls -S → 크기순 출력
# ls -1 → 1열로 보여줌
# ls -c → 데이터 항목을 열 우선 출력
# ls -h → KB, GB 용량 표시
# ls -l /etc/sysconfig/a* → /etc/sysconfig 디렉터리 중
앞 글자가 'a'인 것의 목록을 자세히 표시
Change Directory의 약자로 디렉터리를 이동하는 명령입니다.
cd → 현재 사용자의 홈 디렉터리로 이동
Print Working Directory의 약자로 현재 디렉터리의 전체 경로를 화면에 표시합니다.
pwd → 현재 작업 중인 디렉터리의 경로를 출력
ReMove의 약자로 파일이나 디렉터리를 삭제합니다.
# rm abc.txt → 해당 파일을 삭제(내부적으로 'rm -i'로 연결됨)
# rm -i abc.txt → 삭제 시 정말 삭제할 지 확인하는 메시지를 표시
# rm -f abc.txt → 삭제 시 확인하지 않고 바로 삭제(f는 Force의 약자)
# rm -r abc → 해당 디렉터리를 삭제(r은 Recursive의 약자)
# rm -rf abc → r 옵션과 f 옵션을 합친 것으로 abc 디렉터리와 그 아래에 있는
하위 디렉터리를 강제로 전부 삭제
CoPy의 약자로 파일이나 디렉터리를 복사합니다.
# cp abc.txt cba.txt → abc.txt를 cba.txt라는 이름으로 바꿔서 복사
# cp -r abc cda → 디렉터리 복사
크기가 0인 새 파일을 생성하거나 생성된 파일이 존재한다면 파일의 최종 수정 시간을 변경합니다.
# touch abc.txt → 파일이 없는 경우 abc.txt라는 빈 파일을 생성하고,
abc.tx 파일이 있는 경우 최종 수정 시간을 현재 시각으로 변경
conCATenate의 약자로 파일 내용을 화면에 출력합니다. 여러 파일을 나열하면 파일을 연결해서 출력합니다.
# cat a.txt → a.txt 파일의 내용을 화면에 출력
텍스트 형식으로 작성된 파일의 앞 10행 또는 마지막 10행만 화면에 출력합니다.
# head abc.txt → 해당 파일의 앞 10행을 화면에 출력
# head -3 abc.txt → 앞 3행만 화면에 출력
# tail -5 abc.txt → 마지막 5행만 화면에 출력
ex) 확장자가 .txt인 파일만 찾아내고, txt 파일 안에 있는 ‘hi’ 라는 문자열을 ‘hello’로 바꾸기
find ./ -name "*.txt" -exec sed -i 's/hi/hello/g' {} \;
ex) file.txt 이라는 파일의 모든 ‘hi’ 라는 문자열을 ‘hello’로 바꾸는 역할
sed -i 's/hi/hello/g' file.txt
:%s/bye/hello/g → g옵션으로 모든 문자열 변경
:%s/$/! → 각 줄의 맨뒤에 느낌표(!)를 추가
특정 프로세스 kill 명령어
ps -ef | grep jupyter | awk '{print $2}' | xargs kill -9
ps -ef | grep jupyter
까지만 입력하면, ‘jupyter’ 이라는 이름을 가진 프로세스가 전부 출력awk '{print $2}'
는 앞 명령어의 결과 컬럼에서 두 번째 필드만 출력하는 명령xargs kill -9
는, 앞에서 출력된 값을 인자로 kill -9
명령을 실행하라는 의미앞에서 전달받은 인자가 pid이므로, kill명령으로 이를 모두 죽임