Linux

linux command (cat, find, grep)

cat, find, grep 관련 linux 명령어 정리

cat


cat
Copy
cat /etc/passwd | grep sh

이 명령어는 리눅스 커맨드 라인에서 실행할 수 있으며, 다음과 같은 작업을 수행합니다:

cat /etc/passwd 명령어를 실행하여 /etc/passwd 파일의 내용을 출력합니다. 이 파일은 사용자 계정 정보를 포함하고 있습니다.

| 기호를 사용하여 이전 명령어의 출력을 다음 명령어로 보냅니다.

grep sh 명령어를 실행하여 이전 명령어의 출력에서 “sh”를 포함하는 모든 행을 필터링합니다. “sh”는 셸을 나타내는 약어이므로, 이 명령어는 셸을 사용하는 모든 사용자 계정 정보를 출력합니다.

따라서 이 명령어는 셸을 사용하는 모든 사용자 계정 정보를 출력하는데 사용됩니다.


find


find
Copy
find / -name "aaa.txt" 2> /dev/null

이 명령어는 다음과 같이 해석할 수 있습니다.

find : 파일 시스템에서 파일을 찾는 유틸리티입니다.

/ : 시작 디렉토리입니다. 이 경우 파일 시스템의 루트 디렉토리를 의미합니다.

-name "aaa.txt" : 이름이 “aaa.txt”인 파일을 찾습니다.

2> /dev/null : 표준 오류 출력(STDERR)을 /dev/null로 리다이렉션합니다. 즉, 오류 메시지는 표시하지 않습니다.

따라서 이 명령어는 파일 시스템에서 이름이 “aaa.txt”인 파일을 찾고, 오류 메시지를 표시하지 않습니다.

숫자 2는 표준 오류 출력 (STDERR)을 나타내는 파일 디스크립터입니다. 리눅스/유닉스에서, 모든 입출력은 파일 디스크립터를 통해 이루어집니다. 보통 표준 출력 (STDOUT)은 파일 디스크립터 1을 사용하고, 표준 오류 출력 (STDERR)은 파일 디스크립터 2를 사용합니다.

따라서 2> /dev/null은 “표준 오류 출력을 /dev/null로 리다이렉션하라”는 의미입니다.

/dev/null은 아무것도 버리는 특수한 파일로, 여기로 출력을 리다이렉션하면 출력이 사라지게 됩니다. 따라서 2> /dev/null은 오류 메시지를 표시하지 않는 효과를 낼 수 있습니다.


grep


grep
Copy
grep -r aaa{

이 명령어는 현재 디렉토리와 하위 디렉토리의 모든 파일에서 aaa{ 문자열을 찾아 출력하는 기능을 수행합니다.


여기서 grep은 검색을 수행하는 명령어이며, -r 옵션은 현재 디렉토리와 하위 디렉토리를 재귀적으로 검색하도록 지시합니다.


aaa{은 검색할 문자열로, 중괄호({})는 일반적으로 정규 표현식을 사용할 때 사용됩니다.


결과적으로 이 명령은 aaa{ 문자열이 포함된 모든 파일의 파일 이름과 해당 문자열이 나타난 줄을 출력합니다.


scp


scp
Copy
scp /usr/share/linpeas.sh jan@10.10.169.207:/dev/shm
  • /usr/share/linpeas.sh: 로컬 시스템에서 복사하려는 파일의 경로입니다.

이 명령어에서는 /usr/share/linpeas.sh 파일을 복사하려고 합니다.

  • jan@10.10.169.207:/dev/shm: 원격 시스템과 대상 경로를 지정하는 부분입니다.

jan은 원격 시스템에 접근하기 위한 사용자 이름이며, 10.10.169.207은 원격 시스템의 IP 주소입니다.
:/dev/shm은 복사한 파일을 원격 시스템의 /dev/shm 디렉토리에 저장하려고 함을 의미합니다.

따라서, 주어진 명령어는 로컬 시스템의 /usr/share/linpeas.sh 파일을 jan 사용자가 접근할 수 있는 10.10.169.207 원격 시스템의 /dev/shm 디렉토리로 복사하라는 의미입니다.