(23.03.20 ~ )
리눅스 명령어 정리하기
linux 명령어는 명령어를 입력하고 한칸을 띄우고 옵션을 입력한다.
한칸 띄우는 것을 토큰이라고도 한다.
exit : 로그인한 쉘 종료 (bash)
logout : 로그아웃 (bash)
passwd : 비밀번호 변경하기
who : 누가 해당 ssh 서버에 접속했는지 출력
who | wc : 접속한 총 사람 수 출력
whoami : 현재 로그인한 사용자 ID 출력
id -un : 현재 로그인한 사용자 ID 출력
tty : 현재 kernel과 연결된 가상 터미널 장치 출력
- 접속할 때마다 번호는 달라질 것
pwd : 현재 위치 출력
date : 실제 날짜와시간이 아니고, server의 날짜와 시간을 출력
time : 어떤 코드를 실행하는데 얼마나 걸렸나를 출력
man 명령어 : 해당 명령어의 옵션들을 보여줌. 상세 설명서 느낌
- man cd -> 안나옴. 왜냐? cd명령어가 bash에 빌트인 된 것이기 때문. help 명령어를 사용하면 상세 설명 나옴. 근데 help로도 안나온다면? 해당 명령어가 설치될 때 메뉴얼이 함께 설치되지 않은 것임.
which 명령어 : 해당 명령어가 어디에 있는지
- which ls -> /bin/ls
- which vi -> /usr/bin/vi
- which whoami -> /usr/bin/whoami
- which cd -> 안나옴. 왜냐? cd는 시스템 유틸리티에 있는게 아니라 bash에 빌트인된 명령어임. 즉, cd는 shell이 있어야 사용가능한 명령어임.
ls : 디렉토리 나열
ls -a : 숨김 파일도 보여줌
ls -A : .와 .. 제외하고 보여줌
ls -l : 리스트 형태로 자세하게 보여줌 (long)
ls -al : a, l 옵션 합한 것 -> 숨김파일도 함께 리스트 형태로 자세하게 보여줌
ls -R : 하위 디렉토리까지 보여줌
ls -F : 실행파일은 *, 경로는 / 등으로 뒤에 표시해준다.
(-> 파일 뒤에 / 붙어있으면 디텍토리 파일, * 붙어있으면 실행파일)
ls -d : 지정경로의 최상위 디렉토리만 보여줌
ls 디렉토리명 : 디렉토리 안에 있는 디렉토리 보여줌
ls 디렉토리명/* : 디렉토리 안에 있는 모든 디렉토리와 그 하위 디렉토리를 보여줌 (모든 것을 보여줌)
mkdir : 디렉토리 생성
rmdir : 디렉토리 삭제
(비어있는 디렉토리가 아니면 오류난다)
rm: 디렉토리 혹은 파일 삭제
rm -r : 해당 디렉토리와 그 하위의 것들 모두 삭제 (재귀적 r)
rm -d : 해당 디렉토리만 삭제하는데, 빈 디렉토리 일 경우만 가능함
(rm 명령어는 무조건 -r 이나 -d 명령어가 있어야함)
rm -f : 모든 오류를 무시하고 강제로 그냥 삭제해 버림
cd : 해당 경로로 들어가기 (bash)
echo : 텍스트 / 문자열 출력
echo ~ : ~ (tilda)에 해당하는 경로 출력
clear: 터미널 기록 지우기
cc 파일명 : c 파일 컴파일하기
.파일명 : 실행파일 실행하기
- 만약 a.out 실행하고자 하면, .a.out이 아니라 ./a.out이라고 하는 것을 추천함 (/넣기)
cp : 복붙하기
cp 파일1 파일2 : 파일1을 복사하여 파일2라는 파일 만들어서 붙여넣기
cp 파일1 디렉토리: 파일1을 디렉토리 안에 복붙
cp -a : 속성까지 그대로 복붙하는 것 (기존 파일의 modified time 이런것들)
cp -r : 디렉토리 전체 복붙
(cp -r 디렉1 디렉2)
file : file type을 식별한다.
mv : file을 옮겨주거나, 혹은 file의 이름을 바꾼다.
mv 디렉1 디렉2 : 디렉1의 이름을 디렉2로 바꿈 (디렉2가 없는 디렉토리일 경우)
mv 디렉1 디렉2 : 디렉1을 디렉2로 옮김 (디렉2가 존재하는 경우)
mv 디렉1/* 디렉2 : 디렉1의 하위의 파일들을 전부 디렉2로 옮김 (디렉1은 빈디렉으로 남아있음)
mv 파일 디렉 : 파일을 디렉으로 옮김
mv 파일1 파일2 디렉: 파일1, 파일2 두개의 파일을 디렉으로 옮김
cat : 파일의 내용 출력
- cat 명령어 사용했는데, 만약 해당 파일이 없다면, 해당 파일이 없다는 에러가 stderr에 출력됨.
- cat 명령어 사용했는데, 만약 해당 파일이 있다면, 파일의 내용이 stdout에 출력됨.
cat 파일이름1 > 파일이름2 : 파일이름1안의 내용이 파일이름2라는 파일에 적힌다.
(>가 아니라 0> , 1> , 2> 를 사용해도 된다. 0: stdin, 1:stdout, 2:stderr)
grep : 파일안에 문자 검색
grep 문자열 파일명 : 해당 파일안에 찾고자하는 문자열 검색
grep 문자열 파일명 | wc -l : 해당 파일안에 찾고자 하는 문자열의 횟수 출력
find : 파일명 검색
find . -name 파일명 : .(현재디렉토리) 밑의 디렉토리에서 해당 파일명 검색
du : 디렉토리 별 디스크 사용량 출력
du -h : 사람이 알 수 있는 단위로 출력
w : 로그인 사용자가 무엇을 하고 있는지 보여줌
ps : 현재 실행 중인 프로세스 목록과 상태를 보여줌
ps - l : 상사하게 보여줌
ps ; ls :
(PID는 프로세스 식별번호이고, PPID는 parent의 PID이다)
sleep : 실행되는 동안 foreground running 됨 (프롬포트에 아무것도 안뜨는 것)
-> 이 상태를 kill 하려면 ctrl + c (background에서도 없애는 것)
-> 이 상태를 stop 하려면 ctrl + z (background에는 남아있음)
-> foreground running 되지 않고 사용하게 하려면 괄호치고 & 사용하기
jobs : 실행한 프로그램에 대해서 확인하는 것
bg %숫자 : 숫자에 해당하는 프로그램을 background로 실행하기
fg %숫자 : 숫자에 해당하는 프로그램을 foreground로 실행하기
기타 내용
. 는 현재 디렉토리
~는 tilda 라고 한다. echo ~ 를 통해서 ~가 어떤 경로인지 확인할 수 있다.
'Coding > git & linux' 카테고리의 다른 글
[git] git 완전 정복 (--계속 업데이트--) (0) | 2023.05.08 |
---|---|
[Linux] file permission 리눅스 권한 변경하기 (chmod, chown) (0) | 2023.03.22 |
[git] git clone할 때 하위 디렉토리만 가져오는 방법 (0) | 2023.01.19 |
[linux] 자주쓰는 tmux 명령어 정리 (0) | 2023.01.19 |
[git] 깃허브 백업하기 (0) | 2021.07.19 |