[Linux] 리눅스 명령어 정리
리눅스 명령어 정리한 글이다.
Window에서 Ubuntu를 사용한다.
기본 명령어
sudo su
su: 관리자 (root) 유저로 바뀜 (switch user)
su user
user로 유저가 바뀜. 관리자 계정이므로 sudo를 칠 필요가 없음
sudo passwd user
비밀번호 재설정
ls
ls: 현재 디렉터리가 나옴(list), 뒤에 옵션을 넣을 수 있음
/etc/systemd: /etc/systemd 디렉터리의 목록을 보여줌
-l: 현재 디렉터리의 목록을 자세히 보여줌. 권한, 생성시간 등
-al: 숨김파일(.으로 시작하는 폴더)까지 보여줌
파일 권한이 표시되는 순서: [파일유형] [사용자 권한] [그룹 권한] [기타 권한]
d: 디렉터리 파일
rw: read & write 권한 부여되어 있음 (사용자 권한)
-: 권한이 없음
rw: read & write 권한 부여되어 있음 (그룹 권한)
r: read 권한만 부여되어 있음 (나머지 사용자 권한)
x: 실행 파일
=> drwxr-x--x: 디렉터리이며 사용자는 읽고 쓰고 실행할 수 있고 그룹은 읽고 실행만 가능하며 다른 사용자는 실행만 가능하다.
x은 1, w는 2, r은 4를 의미함. 예를 들어 rwx는 4+2+1 = 7이다.
*.conf: 확장자가 conf인 목록을 보여줌
/etc/systemd/*b: /etc/systemd 디렉터리에 있는 목록 중 앞 글자가 b인 것을 자세히 보여줌
cd
cd: 디렉터리를 이동함 (change directory), 뒤에 옵션을 넣을 수 있음
~user: user 사용자의 홈 디렉터리로 이동
.. : 상위 디렉터리로 이동
/etc/systemd: /etc/systemd 디렉터리로 이동 (절대 경로)
../etc/systemd: 상대 결로로 이동. 현재 디렉터리의 상위(..)로 이동한 후 /etc/systemd로 이동
/: Linux의 최상이 디렉터리인 루트 티렉터리
pwd
현재 디렉터리의 전체 경로를 출력 (print working directory)
touch abc.txt
파일이 없으면 abc.txt라는 빈 파일을 생성하고 abc.txt가 있으면 파일의 최종 수정 시간을 현재 시간으로 변경
mkdir abc
make directory, 현재 디렉터리 아래에 /abc 디렉터리 생성, 생성된 디렉터리는 명령을 실행한 사용자의 소유
-p: 부모 디렉터리가 없으면 부모 디렉터리까지 전부 자동 생성
rm abc
remove.디렉터리나 파일을 삭제. 해당 디렉터리가 비어 있고 디렉터리에 대한 삭제 권한이 있어야 함
-r: 파일이 들어 있는 디렉터리 삭제. 즉 하위 디렉터리까지 강제로 삭제함
-rf: 물어보지 않고 바로 디렉터리 삭제
-i: 삭제 확인 메시지 출력
echo
터미널에서 문자열을 출력하는 명령어
$환경변수이름: 환경변수를 출력함
"Hello" > ouput.txt: output.txt 파일을 생성해서 Hello를 저장함.
"World" >> ouput.txt: 기존 output.txt에 새로운 줄(World) 추가
export 변수이름 = 값
환경변수를 설정함
예) export PATH = $PATH:./
cat abc.txt
파일 안의 내용을 출력, 명령어 뒤에 여러 개의 파일명을 나열하면 파일을 연결하여 내용을 화면에 출력
vi
텍스트 편집기, 뒤에 파일명이 따라온다. i를 눌러서 편집 모드로 들어갈 수 있다.
:set number: 라인이 보임
:q: 나감
:wq: 저장 후 나감
cp 파일A(폴더) 파일B(폴더)
파일 A의 파일명을 파일 B로 바꿔서 복사
-r: 디렉터리 복사할 때 사용
diff A B
두 파일이 같은지 비교, 파일 내용이 같으면 아무것도 출력되지 않음
-s: 동일할 경우 동일하다는 메시지 출력
mv
move의 약자, 파일이나 디렉터리 이름을 변경하거나 다른 디렉터리로 이동할 때 사용
A.txt B: A.txt를 B 디렉터리로 이동
A B C D: A, B, C 파일을 D 디렉터리로 이동
A.txt B.txt: A.txt의 파일명을 B.txt로 변경
head
텍스트 형식으로 작성된 파일의 앞 10행만 화면에 출력
tail
텍스트 형식으로 작성된 파일의 맞지막 10행만 화면에 출력
more
텍스트 형식으로 작성된 파일을 페이지 단위로 화면에 출력, Space bar를 누르면 다음 페이지로 이동, B를 누르면 앞 페이지로 이동, Q를 누르면 종료
+10: 해당 파일의 10행부터 출력
less
more 명령어와 용도가 비슷하지만 더 확장된 기능의 명령어. more 명령어에서 사용하는 키 + 방향키 PageUp, PageDown 사용 가능
file
해당 파일이 어떤 종류의 파일인지 보여줌
clear
현재 사용 중인 터미널 화면을 깨끗이 지워 줌
wc
파일에서 라인의 개수(-l), 단어의 개수(-w), 바이트의 개수(-c)를 세서 알려줌
man
체계화된 도움말을 보여주는 명령어, 위나 아래로 이동하려면 방향키 or K/J 사용.
페이지 단위로 이동하려면 PageUP / PageDown or Space bar / B
도움말 중 특정 단어를 검색하고 싶을 때는 /단어 실행 -> space bar 누르면 다음 단어로 넘어가고 종료하고 싶으면 q 누
네트워크 확인 명령어
ifconfig
아이피 정보를 알려줌
netstat -nr
네트워크 라우팅 테이블 출력
netstat: 네트워크 상태확인 명령어
-n: IP 주소와 포트를 숫자로 출력
-r: 라우팅 테이블 출력
route
: 라우팅 테이블 확인하고 수정할 수 있음
파일 압축 명령어
xz 파일명
파일명.xz라는 압축 파일 생성 및 기존 파일 삭제
-d: 파일명.xz의 압축을 풀어 파일명이라는 파일 생성
-l: 파일명.xz에 포함된 파일 목록과 압축률 출력
-k: 압축 후 기존 파일을 삭제하지 않고 유지
bzip2 파일명
파일명.bz2라는 압축파일 생성
-d: 파일명.bz2 압축을 풀어 파일명이라는 파일 생성
-k: 압축 후 기존 파일을 삭제하지 않고 유지
gzip 파일명
파일명.gz라는 압축 파일 생성
(un)zip 새파일명.zip 파일명
새파일명.zip이라는 압축 파일 생성 및 기존 파일 유지
unzip 파일명.zip: 파일명.zip의 압축을 풀어 파일명이라는 파일 생성
tar
묶음 파일을 만들거나 풂, 아래 옵션들을 적절히 혼합해서 사용 예) tar xvfJ 파일명.tar.xz
c: 새로운 묶음 파일 생성
x: 묶음 파일 풀기
t: 묶음 파일을 풀기 전 묶인 경로를 보여줌
C: 지정된 디렉터리에 묶음 파일 풀기 or 묶음 파일이 있는 디렉터리에 풀기
f: 묶음 파일명을 지정
v: 파일을 묶거나 푸는 과정을 보여줌
J: tar+xz
z: tar+gzip
j: tar+baip2
파일 위치 검색
find 경로 옵션 조건 action
파일을 검색함
옵션: -name, -user(소유자), -newer(전, 후), -perm(허가권), -size(크기), -type(파일 타입)
action: -print(기본값), -exec(외부 명령 실행)
예) find ~ -size 0k -exec ls -l { } \; : 현재 사용자의 홈 디렉터리 하위에 있으며 크기가 0인 파일의 목록을 상세히 출
which 실행파일명
path에 설정된 디렉터리와 절대 경로를 포함한 위치 검색
whereis 실행파일명
실행 파일과 솟, man 페이지 파일까지 검색
A | B
파이프(|): 두 프로그램 연결하는 연결 통로 의미, 두 개의 명령어를 이어줌
예) ls -l /etc | less: 한 페이지씩 나누어 보겠다는 의미
A > B
A의 결과를 출력하지 않고 B에 저장. 만약 B가 있으면 덮어씀
A >> B
A의 결과를 출력하지 않고 B에 저장. 만약 B가 있으면 이어서 씀
A < B
B 파일을 A 한 후 화면에 출력
시작과 종료 명령어
poweroff
시스템을 종료
shutdown
시스템을 안전하게 종료
-P +10: 10분 후에 종료
-r: 재부팅
-c: 예약된 shutdown 취소
-k +15: 15분 후 종료된다는 메시지를 보냄, 실제로 종료되지는 않음