리눅스 명령어별 자주쓰는 옵션 모음

리눅스는 꾸준히 사용하면서 되새기는게 중요하다고 생각해서 기본적으로 자주쓰는 명령어들과

추가적으로 시스템 엔지니어들이 사용하는 명령어들의 옵션과 정리하고,

다음 포스팅에서 시스템설정등 변경하면서 사용해야할 명령어들을 정리하고자한다.

 

실무에서 자주쓰이는 명령어와 옵션조합은 굵음처리


ls: 디렉토리 내용을 나열
-l: 자세한 정보(퍼미션, 소유자, 그룹, 크기, 수정 날짜 등)를 표시합니다.
-a: 숨겨진 파일과 디렉토리까지 모두 표시합니다.
-t: 수정 시간순으로 정렬하여 표시합니다.

 

*ls -lah: 디렉토리 내용을 자세하게 리스트하고, 숨김 파일 및 디렉토리를 포함한 

모든 파일의 크기를 사람이 읽기 쉬운 형식으로 표시합니다.


cd: 디렉토리 변경
~: 홈 디렉토리로 이동합니다.
-: 이전 작업 디렉토리로 이동합니다.


pwd: 현재 작업 중인 디렉토리 경로 출력


mkdir: 디렉토리 생성
-p: 중간 경로도 함께 생성합니다.


rm: 파일 또는 디렉토리 삭제
-r: 디렉토리와 그 내용을 재귀적으로 삭제합니다.
-f: 강제로 삭제합니다. 경고 없이 삭제됩니다.


cp: 파일 또는 디렉토리 복사
-r: 디렉토리 복사를 허용합니다.
-i: 대상 파일이 이미 존재할 경우 덮어쓸지 여부를 묻습니다.
-u: 원본 파일보다 수정 시간이 더 최신인 경우에만 복사합니다.


mv: 파일 또는 디렉토리 이동 또는 이름 변경
-i: 대상 파일이 이미 존재할 경우 덮어쓸지 여부를 묻습니다.


touch: 빈 파일 생성 또는 파일 시간 변경
-c: 파일이 존재하지 않을 때에만 파일을 생성합니다.
-d: 지정한 날짜와 시간으로 파일 수정 시간을 변경합니다.


cat: 파일 내용 출력


grep: 텍스트 검색
-i: 대소문자를 구분하지 않고 검색합니다.
-n: 검색 결과에 줄 번호를 표시합니다.
-r: 디렉토리 내에서 재귀적으로 검색합니다.

 

* grep -r "keyword" /path: 지정한 키워드를 포함하는 파일 내용을 재귀적으로 검색합니다.


find: 파일/디렉토리 검색
/path: 시작 디렉토리 경로를 지정합니다.
-name filename: 지정된 이름의 파일을 검색합니다.
-type d: 디렉토리만 검색합니다.

 

*find /path -type f -mtime -7: 지정한 경로에서 7일 이내에 수정된 파일을 검색합니다.


chmod: 파일 권한 변경
u+x: 사용자에게 실행 권한을 부여합니다.
+r: 읽기 권한을 추가합니다.
+w: 쓰기 권한을 추가합니다.

 

*chmod -R 755 /path: 지정한 디렉토리 및 그 하위 파일과 디렉토리의 권한을 재귀적으로 변경합니다.


chown: 파일 소유자 변경
user:group: 사용자와 그룹 소유자를 변경합니다.

 

*chown -R user:group /path: 지정한 디렉토리 및 그 하위 파일과 디렉토리의 소유자와 그룹을 재귀적으로 변경합니다.


ps: 실행 중인 프로세스 목록 표시
aux: 모든 사용자의 모든 프로세스를 보여줍니다.

 

*ps aux: 모든 사용자의 모든 프로세스를 자세하게 표시합니다.


kill: 프로세스 종료
-9: 강제로 프로세스를 종료합니다.

 

*killall process_name: 프로세스 이름으로 모든 해당 프로세스를 종료합니다.


tar: 파일 압축/해제
-c: 아카이브 생성(압축)
-z: gzip으로 압축
-v: 처리 과정을 자세히 표시
-f: 파일 이름을 지정

 

*tar -czvf archive.tar.gz files/: 파일과 디렉토리를 압축하여 아카이브 파일을 생성합니다.

*tar -xvzf archive.tar.gz: tar로 압축된 파일을 압축 해제합니다.

 


df: 디스크 사용량 표시
-h: 사람이 읽기 쉬운 형식으로 표시

 

*df -h: 디스크 사용량을 사람이 읽기 쉬운 형식으로 표시합니다


du: 디렉토리 용량 확인
-s: 사이즈를 합산하여 출력
-h: 사람이 읽기 쉬운 형식으로 표시

 

*du -sh /path: 디렉토리의 총 사이즈를 사람이 읽기 쉬운 형식으로 표시합니다.


ssh: 원격 서버 접속
user@hostname: 호스트에 사용자로 로그인합니다.

 

ssh-keygen: SSH 키 생성을 위한 명령어로, 보안 로그인을 위해 자주 사용됨


ping: 네트워크 호스트와의 연결 상태 확인

-c count: 지정된 횟수만큼 패킷을 보내고 종료합니다.
-i interval: 패킷을 보내는 간격을 지정합니다.
-w deadline: 제한 시간을 지정하여 응답을 기다립니다.
-s packetsize: 보낼 패킷의 크기를 지정합니다.
-q: 조용한(quiet) 모드로, 요약 정보만 출력합니다.
-t ttl: 패킷의 Time-To-Live (TTL) 값을 설정합니다.
-n: 호스트 이름을 IP 주소로 변환하지 않고 숫자 형태로 표시합니다.


netstat: 네트워크 상태를 확인하는 유틸리티입니다.

-t: TCP 프로토콜을 사용하는 연결을 보여줍니다.

-u: UDP 프로토콜을 사용하는 연결을 보여줍니다.

-l: 리스닝 중인 포트를 보여줍니다.

-n: 주소 및 포트 번호를 숫자로 표시합니다.

p: 연결된 프로세스를 보여줍니다.

 

*netstat -tulnp 명령어는 현재 열린 TCP/UDP 포트와 해당하는 프로세스를 보여줍니다.


SCP: SSH 프로토콜을 이용하여 안전하게 로컬 시스템과 원격 서버 간에 파일을 복사하는 네트워크 프로토콜입니다.

*scp user@remote:/path/to/file local/path/: 원격 서버에서 파일을 로컬로 복사합니다.


tail -n 100 file.log: 파일의 끝에서 최근 100줄을 출력합니다.
head -n 10 file.log: 파일의 시작부터 최초 10줄을 출력합니다.

wget URL: 웹에서 파일을 다운로드합니다.

curl -O URL: 웹에서 파일을 다운로드하고 원본 파일 이름을 유지합니다.
history: 사용자의 명령어 실행 기록을 표시합니다.

sudo !!": 이전 명령어를 root 권한으로 다시 실행합니다.