wonder

정보보안 스터디 - 6주차 5일 -리눅스 기본 명령어 3 본문

Security/리눅스

정보보안 스터디 - 6주차 5일 -리눅스 기본 명령어 3

wonder12 2022. 11. 21. 22:19

☞ 리눅스의 기본 명령어

 

기본 명령어
rm -r 디렉토리
rm -rf 삭제할지 묻지않고
rm -rf * 모두 삭제
mv file1 file11
이름변경
mv file1 /etc
이동
cp
cp -p /etc/passwd file2
file2에 복사하는데 수정된 시간, 아이노드 등 속성을 유지해 옵니다.
cp -r
디렉토리 복사
mkdir
mkdir -p file1/file11/file111
디렉토리경로가 없다면 상위 디렉토리 모두 생성

rmdir
비어있는 디렉토리만 삭제가능
whereis cd
모든파일에서 파일위치를 알려줍니다.
which cd
환경변수 bin,sbin 안에서만 위치를 찾아 알려주고
명령어가 축약되었다면 알려줍니다.
touch file1
파일생성
touch -t 202310131400 file1
주기능은 생성 날짜/시간 설정입니다.
cat file1
text형식 파일읽기
file 파일명
파일 속성 보기
date ; cal
명령어 모두 실행
현재시간과 캘린더가 나옵니다
하나가 실행안되도 나머지가 실행됩니다.

date && cal

하나가 실행안되면 나머지도 실행안됩니다.


date || cal
하나가 실행되면 나머지가 안됩니다.

find /etc -name httpd (-type d/f)
/etc에서부터 하위디렉토리까지 httpd를 모두 찾습니다.
grep 
화면에 보이는 범위 내에서 단어를 찾습니다.

ps -ef | grep httpd
env | egrep "^ping|^cd"
dir*
뒤에 글자수 상관없이 어떤 글자가 와도 됩니다.
dir.
뒤에 한글자만 어떤 글자가 와도 됩니다.

^column
줄의 시작점이 column으로 시작하는 문장
column$
줄의 마지막이 column으로 끝나는 문장
wc -l
파일 라인 갯수 확인
env
환경변수 확인

rpm -qa
설치된 파일 목록

ps -ef
현재 진행중인 프로세스
echo `cd` 역따옴표
echo $(cd) $()는 명령어로 실행시킵니다.



[]
or의 개념입니다.
touch file[12]
touch file1
touch file2


touch file{1..50}
1~50개의 파일이 생성됩니다.


echo '$PATH'
$PATH
문자 그대로 출력 됩니다.
echo "$PATH"
=경로
문자 그대로 출력하지만 $, 등 예외가 있습니다. 
cat -n /etc/services
앞머리 번호를 삽입하며 읽습니다.
more /etc/services
cat file1 | more
모두 읽는 것이아니라 한페이지씩 읽습니다.
head -n 1 /etc/passwd ; tail -n 4 /etc/passwd
위에서부터 한줄만 불러오고, 밑에서부터 4줄 불러옵니다.

 

 


☞ usr/bin,sbin에 대하여

리눅스의 실행파일 usr/bin,sbin 같은 경우는 명령어 실행파일이 들어있습니다.

윈도우에는 루트디렉토리 windows/system32에 ping.exe nslookup.exe처럼 있습니다.

 

외부 명령어 - 디렉토리에 저장되어 있는 명령어입니다.
내부 명령어 - 리눅스 내부 명령어로 시작과 동시에 실행됩니다.

 

외부/내부 모두 bin, sbin폴더에 있기 때문에

whereis, which로는 구분이 어렵지만

man 명령어를 했을 때 다른 명령어가 쭉나온다면 내부 명령어 입니다.

 

 

환경변수로 지정

$a=123

export a

env

echo $a

$a 환경변수로 지정되서 확인가능합니다.

 

환경변수로 지정하면 폴더가 어디서든지 명령어 실행이 가능합니다. 예를들어 bin, sbin의 명령파일들은 환경변수 경로로 지정되어서 어디서든 명령어를 씁니다.

 

 

 

 

 

 

☞ (입력,출력,에러) 리다이렉트

 

echo 111 > file1
출력을 화면에 안하고 file에 하겠다.
덮어쓰기
echo 222 >> file1
이어쓰기

cat /root/abc 2> file2
cat /root/abc 2>> file2
abc없는 디렉토리 에러를 file2에 출력하겠다.


cat < file1.txt 
타이핑이 아니라 파일1에 의해 cat실행을 시킵니다.

cat << EOF > file1
>111
>222
>333
>EOF
EOF를 쓸 때까지 작성하고, file1에 입력합니다.

 

 

 

 

 

 

하드 링크 VS 소프트 링크 파일

 

하드 링크 파일

ln file1 file11

둘 다 원본 실행파일이며

같은 아이노드 번호를 가집니다.

 

file1, file11 각자 데이터 삽입이 가능하며

지워도 데이터가 유지됩니다.

 

소프트(심볼릭) 링크 파일

사본개념입니다.

link로 속성이되며 아이노드 번호가 다릅니다.

ln -s file2 file22

<<<<<<<<file2 <<<<<<<<<<<file22

file2는 데이터를 직접입력하지만

file22는 file2를 통해 입력합니다.

 

그리고 링크되었기 때문에

file2가 사라지면 file22도 제 기능을 못합니다.

file2의 이름으로 다른데이터가 생성된다면 file22도 같은 값을 가집니다. 

 

참고로 centos 7 이후 /bin /sbin은 심볼릭링크로 변경되었습니다.

 

 

 

프로세스 확인

 

ps -f를 했을 때

ssh 또는 telnet으로 가상 원격 접속을 한 것이고 

pts/0 는 원격 가상포트입니다.

pts/1

TTY는 본체로 접속한 것입니다.

 

su user1
전 계정의 환경변수를 유지합니다.
exit

su -user1
환경변수를 유지하지 않습니다.
logout

id
현재 권한 확인

last
현재를 포함한 로그인기록 확인

lastlog
유저별로 마지막 로그인기록

lastb
실패했던 기록 확인

w
현재 원격접속해서 뭐를하고있는지 확인

 

쉘이란 명령어 해석기입니다. 명령어를 입력하면 기계어로 해석해서 커널에게 전달해줍니다.

쉘 유형은 다양하지만 현재는 bash쉘을 이용하고 있습니다.

 

 

 

 

Comments