리눅스 기본 명령어

Boomerang·2021년 8월 13일
0

Linux

목록 보기
1/1
post-thumbnail

기본

pwd : 지금 경로 확인
ls : 디렉토리
ls - l : 디렉토리 + 파일명
ls - al : 디렉토리 + 숨김파일
mkdir : 폴더만들기
touch : 파일 만들기
rm -f : 파일 지우기
rm -r : 디렉토리 지우기
man 명령어 : 옵션을 말해줌
man 3 함수or라이브러리 : 함수나 라이브러리 말해줌
open -a Atom a.c : open에서 -a flag를 사용하면 원하는 에디터로 열 수 있다.

File
- rwx rwx rwx
directory
d rwx r-x r-x
Link
l rwx r-- r--

user group other
rwx rwx rwx
read, write, execute에
3bit 사용

모드 바꾸기

chmod 664 a.out -> rw- rw- r-- -> 왜? 3bit 사용하니까,

6(110) 6(110) 4(100) -> rw- rw- r-- 됨.
비트로 하기 힘들면
chmod u,g,o +- rwx
ex) chmond g-x a.out -> group의 execute권한 빼줌

경로

/ 가장 상위
/home/guest1 : 여기서 리눅스는 시작
/ 절대경로
./ 현재위치
../ 현재 위치 상위 (이전경로)
~/ Home 위치 기준

절대경로 : cd /home/guest1/dir1
현재 경로 : cd ./dir1
홈 경로 : cd ~/dir1

mv명령어

mv source destination

ex) mv myfile ./dir2/.
myfile을 현재폴더에 넣어라. 마지막에 ./은 의미없는 말이다. 하지만 그 뒤 마지막 .은 현재위치라는 뜻이고,
ex) mv myfile ./dir2/.myfile 은 숨김파일이 된다
ex) mv myfile ./dir2/myfile2 은 내 파일 이름을 바꿀 수 있게 된다

cp명령어 파일을 복사

cp file2 file3 (file2를 file3으로 복사)
cp file2 ./dir2/myfile2 (file2를 dir2 디렉토리에 복사)
cp -r dir2 dir3 (dir2를 dir3에 복사)

softlink(filesystem)&hardlink

우리가 쓰는거는 linkfile. inode로 filesytem이랑 연결해줌
linkfile과 hardlink는 inode로 연결되어있다. 그리고 filesystem에는 reference값이 있어서
원본, 복사본과 같이 몇개의 파일이 filesystem과 linkfile에 연결되어있는지 알 수 있다.

softlink는 바로가기 만들기같은거임.
그래서, softlink는 linkfile을 다시 link하는거임.

소프트링크방법

ln -s source target
ex) ln -s dir1 dir
ex) ln -s library.0.1.so library.so -> ln -s library.0.2.so library.so
이런식으로 소프트링크 할 수 있다. 그래서 개발자는 오픈소스 배포할때 library.so만 수정해도 됨.

하드링크방법

ln source target
ls -li 로 하면 왼쪽에 inode가 표현이 된다.
ex) ln file1 myfile
file1을 수정해도 myfile 바뀌고, myfile바뀌어도 file1바뀜.

cat명령어

cat 파일이름 : 파일 보여줌 (표준입력을 모니터라는 곳에 표줄출력)
cat 파일이름 | more : 좀더 보기편하게 해줌 (|이게 파이프라인인데, 병렬로사용가능)
cat source > target : 덮어써줌.(복사처럼, 없으면 만들어줌)
cat source >> target : 이어써줌
ex) cat a.c > b.c

head&tail 명령어

head filename : 앞 10라인 보여줌
tail filename : 뒤 10라인 보여줌
tail -f filename : 변화하면 나타남. 로그데이터 보여줄때 자주사용

grep 명령어

grep 문자열 파일이름 : 문자열 있는지 검색함
ex) grep test *.log
test
test2
...

ex) grep -H test *.log : -H는 파일 이름도 보여주는 옵션
system.log test
system.log test2
...

ex) grep -Hw test1 *.log : -w옵션은 정확히 그 이름 갖는거 찾는 옵션.
system.log test1

less명령어

less filename
파일내용그냥 보는용도. for memory down

system관련 명령어

tar명령어

tar cvfz target.tar.gz ... ...
ex)tar cvfz backupss.tar.gz ./dir3 ./file3 ./system.log
압축하려는 이름 , 압축하려는 파일1, 파일2 , 파일3

ex) tar cvfz target.tar.gz *
전체파일 압축

tar xvfz filename
파일 풀기

root계정 관리하기 - 슈퍼관리자

ip, networ, webserver, reboo, halt, 인증서 등에 쓰인다.
vi /etc/sudoers에서 바꾸면 됨.

chown명령어

chown 파일 directory : 소유자, 그룹명 변경시켜줌
ex) sudo chown user:group target
새로운 사용자, 그룹, 타겟파일
ex) sudo chown me:mygroup test.c

find명령어

찾고자하는 파일을 찾는데 필요한 명령어

find 경로 조건 target

ex) find . -name system.log
찾는다, 현재폴더기준으로, 파일이름을 찾을래, system.log라는 파일을

which명령어

명령어의 위치를 알아낼 수 있는 명령어
ex) which ls
ex) which python3

w, who 명령어

누가 접속했는지 알 수 있는 명령어

ping domain이름

nsloopup domain
둘다 핑, 도메인 관련 명령어

ps명령어

processor은 cpu, process는 실행파일이 메모리에 업로드된 상태. 여기서 Ps는 당연히 process고, 실행중인 명령어를 나타냄

ex) ps -ef : 전체 프로세스 검색
ex) ps -ef | grep 문자열 : 전체 프로세스중, 내가 원하는 프로세스 검색. 파이프라인 이용

kill 명령어

원하는 프로세스 킬하기.
ex) ps -ef | grep oracle : 오라클 관련된 프로세스 찾기, 핑번호 안다음
kill -9 핑이름 : kill -9까지는 옵션

adduser, deluser명령어

사용자 계정 추가, 삭제
adduser 사용자ID
ex) sudo adduser guest2
ex) sudo deluser guest2

su -l 사용자ID : 사용자 아이디로 로그인하는법
exit : 사용자 해당 계정 나가기

unname, hostname, reboot, halt

unname -a : 시스템정보
hostname : 서버 별명
sudo reboot : 재부팅
sudo halt -p : 전원까지 싹다 시스템 shutdown

환경변수 설정하기

내 컴퓨터에서 특정한 키워드가 어떠한 일을 하거나 경로를 저장할 수 있도록 만든다.
export MY_DIR="dir1"

설정된 모든 환경 변수를 보고 싶으면
env

env하면 위에 설정한 MY_DIR가 dir1이라고 설정이 된 것을 볼 수 있다.
따라서, 터미널이나 내 컴퓨터에서 MY_DIR을 사용해서 dir1을 사용 할 수 있다.
ex) cd $MY_DIR 하면 cd dir1으로 간다. (신기!)

만약 다시 환경 변수 없애고 싶으면
unset MY_DIR
면 된다 (wow!)

환경변수는 보통 대문자로 만들고, 단어사이사이에 _ (underscore)를 넣는다.

tip : 파이프라이닝과 grep을 써서 좀더 쉽게 환경변수 찾을 수 있다.
ex) env | grep 원하는이름

mac terminal 에서는 커맨드 입력시 커서가 ctrl+a가 맨 처음으로 가게하고, ctrl+e은 맨끝으로, ctrl+u는 커맨드를 다 삭제한다

참고 - 시골개발자
참고 - 드림코딩by앨리

profile
Hello World

0개의 댓글