상세 컨텐츠

본문 제목

[리눅스] 외울것

카테고리 없음

by esoesmio 2023. 4. 24. 09:50

본문

Ls -al 뭐잇나

 

내가 어떤 폴더에있나 pwd

Ls- al

Ls -l 파일의 리스트를 자세히 보여준다. 용량이랑

앞에 d 붙으면 디렉토리라는

 

Mkdir 

Touch

 

부모디렉터 가는방법 .. cd   cd /home/ubuntu

 

이게 상대경로, 절대경로

 

Rm empty_file.txt

Rm -r hello_linux/

 

 

 

Rm -–help

 Rm —man

 

Mkdir -p dir1/dir2/dir3/dir4

숨김파일은 앞에 점ㅇ ㅣ붙음

 

Ls -S 용량으로 

 

 

Cp 원본파일 복사할파일위치

 

Touch co.txt

 

Cp cp.txt /users/eunsukkim/dir1/cp.txt

 

Mv 원본파일 이동할위치

 

Mv rename.txt   rename2.txt

 

 

 

Nano hello.html

 

Whiteout

Writeout

 

 

 

 

Sudo Apt-get update

프로그램업데이트 할게 이쓴ㄴ지 최신상태로 유지

 

Sudo apt-get update;

Sudo apt -cache search htop

설치하고픈 프로그램이 있는지찾는거

 

Top

 

 Sudo apt-cache search htop

Sudo apt-get

 Sudo apt-get install htop

 htop 

 

Sudo apt-get upgrade htop

 

Sudo apt-get remove htop

 

 

 

아웃인서스트릴 데이컬잇머덜

 

모두 집중해 원쏜의 소리 파트

 

원써나헤 야메하  갈래아

 

원투

 

쓰리 투더 킵온카운트 다운

 

리하지마허리부러질라

 

판에사 날이 시퍼런 작두위를 

 

 

Brew list

 

Brew upgrade

 

Brew install htop-osx

 

Brew upgrade vim

 

Wget https://www.cyberciti.biz/faq/category/linux/

 

Mv download hello.jpeg

 

-wget -O Paris.jpeg https://unsplash.com/photos/_JJcOx7OoYk/download?ixid=MnwxMjA3fDB8MXxhbGx8Mnx8fHx8fDJ8fDE2ODIxNjg0NTg&force=true

 

GitHub.com/facebook/react

 

 

 

https://github.com/facebook/react.git

 

Git clone https://github.com/facebook/react.git

 react_src

 

ls -l> result.txt   

 

Cat result.txt

 

Rm kilkil.txt 2>error.log

 

에러정보가 error.log 출력되게됨

 

 

 

G

 

Rm kilkil.txt 2>error.log

 

Rm rename2.txt 1> result.txt 2>error.log

 

ls -l > result.txt:

    출력결과를 파일로 저장.

 

rm (없는파일).txt 2> error.log:

    숫자 '2' StdError Redirect 있도록 넘겨주는 일종의 연산자이다. (없는 파일을 Redirect하는 경우와 마찬가지)

    여태는 '1' StdOutput 생략되어 있었음.

 

Rm kilkil.txt 2>error.log

 

Rm rename2.txt 1> result.txt 2>error.log

 

 

cat 사용자가 입력ㅎㄴ걸 스탠다드 인풋으로 갖고있는거

 

Cat hello.txt

 

< 스탠다드 인풋으로

 

Cat <hello.txt

 

Head -n1 < linux.txt > one.txt

 

linux 리다이렉션 되서 head 입력이 되고 그걸 txt 저장됨

 

기본적으로 리눅스계역에서 프로그램은 스탠다드 인풋 입력하는거 스탠다드 아웃푹 출력하는거

스텐다드 에러

 

 

Ls -al >> result.txt

 

리다이렉션한 결과를 추가한다

 

 

Ls -al > /dev/null

쓰레기통에 넣는거

 

Ls;pwd;

 

내가 입력하면 쉘이 그걸 먹고 커널한테 전달해줌

 

분리한걸까? 추정하건데 쉘은 해석하는프로그램

 

Cd haha haha2

 

디렉토리 바꾸는거

Cp *.log bak

 

없다면 만들고 있으면 만들지 않고라는 의미도

 

Echo $0 내가 뭘하고있는지

 

 

 

 

 

 

Ls /bin 

 

Bash zsh 잇는곳 보는거

 

 

 

 

 

배쉬라는 스크립트를 통해서 해석해야한다

 

Nano backup

 

 

 

./backup

 

Chmod +x backup  실행기능을 추가한다.

 

Ls -l

 

Rm -rf bak 지우기 그냥

 

Nano backup

 

 

 

 

 

 

 

루트 디렉토리

 

Cd .. 상위디렉토리

 

Cd ~ 홈워프

 

Locate *.log 찾는거

 

Find. 하위디렉토리에서 찾겟다

Find / 루트에서 찾겟다

 

 

Find / -name *.log 찾겟다

 

Sudo find / -name *.log

 

Find ~ -name *.log  디렉토리 아래서 찾고싶다

Whereis ls

Ls 프로그램을 실행한거

 

원래 /bin/ls인데 ls 된다

 

 

Echo $path

 

패스의 변ㅅ에 담겨있는 데이터들이 에코로 출력

 

Ps

 

Ps aux

 

Ps aux | grep apache

 

Sudo kill 22142

 

 

Sudo top

 

Sudo htop

 

컨트롤지트 하면 동시에 할수있는거

 

 

 

Stty -a 단축키

 

 

 

 

 

 

Ctrl + z : 실행 프로그램 백그라운드 보내기

 

명령어 &: 백그라운드 실행

ex) ls -alR / > result.txt 2> error.log & :

 

jobs : 백그라운드 작업 목록

 

fg: 전환

 

+: 전환순서1 / -: 전환순서2 / 공백: 전환순서3, 4, …

 

Jobs

 

Nano -z hello.html

 

 

Fg %2

 

Kill %3

 

Kill -9 %3

 

Ls -r / >result.txt 2> error.log

 

 

Ls -alR / > result.txt2>error.log &

 

다음명령도 동시에 할수 있는거

 

데몬은 항상켜져있다.

 

Cd /etc/init.d/

 

 

Ps aux | grep apache2

 

Sudo service apache2 start

 

Service apache start

 

 

sudo /usr/sbin/apachectl start

or

sudo apachectl start

Stop Apache server command:

sudo /usr/sbin/apachectl stop

or

sudo apachectl stop

Restart Apache server command:

sudo /usr/sbin/apachectl restart

or

sudo apachectl restart

 

 

 

Crontab -e

 

Date > date.log

Cat date.log

 

Date >> date.log

 

Crontab -e -z

 

 

 

Crontab -l 우리가 처리한 내용

 

 

Tail -f date.log

 

크론 나가는거 컨트롤씨

 

Crontabl -e

 

*1/ * * * * date >> date.log

 

*1/ * * * * date >> date.log 2>1

 

2 표준에러 1 표준출력

 

표준에러를 표준출력으로 리다이렉션

 

Cat date.log

 

Crontab -l

 

Job

Alias l=‘ls -al’

Alias ..=‘cd ..’

 

Nano .bashrc

 

 

Echo ‘hi,bach’

 

 

 

Id

 

Who

 

 

Ssh -p 3022 eunsukkim@localhost

 

 

Man su

 

Su - root

 

Exit

 

Sudo passwd -u root

 

Sudo passwd -l root

 

Cd /root

 

루트랑 일반사용자는 다르다. 사용하는게

 

Sudo useradd -m duru

 

Cd /home

 

Ls

 

Su - duru

 

Sudo passwd duru

 

Su - duru

 

Sudo pwd

 

Sudo adduser hduser sudo

 

 

Sudo usermod -a -g sudo hduser

 

 

 

 

 

유닉스에서는 퍼미션으로 파일 디렉토리에 어떤일을 할수있게, 할수없게 권한을 지정한다

 

파일 디렉토리 데해서 읽기 쓰기 실행

 

 

 

Touch perm.txt

 

Ls -l perm.txt

 

Echo ‘hi’ > perm.txt

 

Cat perm.txt

 

sudo sysadminctl -addUser xxx -password xxxxxxxx interactive 

 

Cat perm.txt

 

 

 

 

Chmod u-r perm.txt

 

 

 

 

 

 

Longin 해서 kim으로 바꿀수이씅ㅁ!!!!!!!!!!!!!!!!!!!!!!!

 

 

 

Chmod o-r perm.txt

Ls -l perm.txt

Cat perm.txt

 

 

 

Chmod o+r perm.txt

 

 

Nano hi-machine.sh

 

 

/bin/zsh hi-machine.sh

 

 

Chmod u+x hi-machine.sh

 

./hi-machine.sh

 

Chmod 111 perm.txt

 

Chmod 110 perm.txt

 

 

 

 

 

 

 

 

 

Chmod a+r perm.txt

 

Chmod a+w perm.txt

 

Sudo mkdir developer

 

 groupadd developer

 

Nano /etc/group

 

Sudo usermod -a -G developer egoing

Sudo usermod -a -g developer kk8805

 

 

 

 

현재디렉토리의 소유자 바꾸는거

 

Sudo chown root:developer .

 

Sudo chown Kim . 그룹은 상관핮 ㅣ않겟다

 

Sudo chmod g+w .

Echo ‘hi,’ >  egoing.txt

 

그룹으로 바꿨으니 쓰는권한

그룹이 아닌넘은 못함

 

sudo dscl . -create /Users/<user>

sudo dscl . -create /Users/<user> UserShell /bin/bash

sudo dscl . -create /Users/<user> RealName "<realName>"

sudo dscl . -create /Users/<user> UniqueID "<userID>"

sudo dscl . -create /Users/<user> PrimaryGroupID <groupID>

sudo dscl . -create /Users/<user> NFSHomeDirectory /Users/<user>

sudo dscl . -passwd /Users/<user> <passwd>

sudo dscl . -append /Groups/admin GroupMembership <user>

 

 

Ping google.com

 

curl ifconfig.me

 

$ifconfig | grep inet

 

$ipconfig getifaddr en0

 

 

 

 

sudo apachectl start

sudo vim /etc/apache2/httpd.conf

 

ServerRoot “/usr"

sudo apachectl -k stop

 

Elinks

 

Elinks http://118.220.129.171/

 

brew services start httpd

 

 

 

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

실행하기

 

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

종료하기

 

Mv 이름바꾸기, 이동하기

 

 

 

Elinks http://localhost/haha.html

 

Pwd

 

sudo vim /etc/apache2/httpd.conf

 

 

 

/Library/WebServer/Documents

cd /var/log/apache2

 

ls -al

 

Tail /var/log/apache2/access.log

Tail -f /var/log/apache2/access_log

 

 

curl http://localhost

 

 

 

 

 

서버에는 ssh 깔려있고

 

클라이언트에는 ssh client 깔려있으여됨

 

그걸 클라이언트 컴에서 rm ls pwd 이런 명령어 조작하면 서버컴에서 그걸 실행해서 클라이언트에 보여줌

 

 

 

 

 

Brew install openssh-server

 

Sudo service ssh start

 

Sudo ps aux | grep ssh

 

$ ssh [username]@[hostname]

 

 

[user@localhost ~]$ ssh user@myhost

 

 

Exit

 

 ssh -p 22 eunsukkim@localhost

ssh 기본적으로 포트를 22 쓰는구나 하고 생각

 

웹서버는 기본적으로 80 포트를 쓰는구나 생각

 

 

 

 

 

웹브라우저도 80번으로 찾아감 웹서버가 80번에서 만나기로 약속했으니까

 

 

 

 

sudo nano /etc/ssh/sshd_config

 

 

 

 

Ssh -p 22 eunsukkim@localhost

 

 

 

 

공유기 안쪽에서만 통용되는 ip defaultgateway라고 한다.

 

curl ifconfig.me

 

$ifconfig | grep inet

 

$ipconfig getifaddr en0

 

 

 

Curl http://ipinfo.io/

 

 

내부아이피랑 공유기 아이피 다름. 공유기에서 흘러나와서 컴까지 가고 아이피를 정해줌

 

118.220.129.171

 

 

google.com으로 들어간다고 구글로 들어가는게 아니라

 

아이피로 들어가는거임

 

이미 알고있는 dns서버에서 아이피로 접속을

 

어떤 마법으로 dns에서 google.com 아이피 어드레스가 뭐인지 컴에 알려주고

 

그걸 내가 연결할수 있는거임

 

 

 

 

 

 

 

Sudo nano /etc/hosts

 

인터넷에 참여하는 각각의 컴퓨터를 호스트

 

호스트를 묶은거를 네트워크라고함

 

전체를 인터넷

 

 

호스트들의 아이피들을 적어놓는게 호스트파일

 

자기컴퓨터에 호스트파일 적어놓고 만듬

어떤아이피는 어떤아이피다

고대의방식

 

도저히 적을수가 없다. 호스트가 너무 없어서

그래서 거대한 이름을 관리하기 위해 dns 만듬

 

 

cat /etc/resolv.conf  

 

dns 서버 이름이다

 

dns서버에서 아이피를 알아와서 접속하는거

 

 

dns egoing.ga서버를 

 

 

Host gogole.com

 

freemon.com

 

Dig +trace egoing.ga

 

Mkdir src

Mkdir dest

Touch text{1..10}

 

Resync -a src dest

 

Rm -rf dest/src

Rsync -a src/dest

Ls -al dest

 

Src/ 밑에 있는 아이들

 

Rsync -av src/ dest

 

Rsync -azP ~/rsnc/src/ k8805@192.168.0.65:~/rsync/dest

 

 

 

Ssh-keygen 

 

Cd .ssh

Ls -al

 

 

 

 

Cd ~/ .ssh

 

 

ssh-copy-id kim@localhost  

 

 

 

rsync -avz . kim@localhost:~/haha

 

 

공개 비공개키로 자동 로그인을 해놓은거임

 

그리고 크론을 써서 편하게 쓴다.

 

 

Rsa

 

Encrypt

 

암호화, 복호화

Decrypt

Key 키를 이용해서 암호화를 하고, 키를 이용해서 복호화를 있다.

 

그럼 가진사람만이 암호화 있음

대칭적인 방식

 

키를 이용해서 암호화하고 복호화하니까 대칭

 

 

 

 

 

 

 

 

프라이빗키로 암호화됨. 복호화할때는 퍼블릭키로씀

 

이걸 비대칭적이라고

이거 대표주자가 RSA이다

 

 

 

 

내꺼는 프라이빗키 퍼블릭키

 

 

저기는 퍼블릭키

 

퍼블릭키를 가지고 있는 사람은 컴퓨터에 접속하는걸 허용하겟다

 

 

 

https://opentutorials.org/module/2538/15818

 

 

 

 

https://dvlpr-chan.tistory.com/66

댓글 영역