Linux

Setting

Repository 변경

sudo vi /etc/apt/sources.list
:%s/us.archive.ubuntu.com/ftp.daumkakao.com/g

# 혹은
sudo sed 's/us.archive.ubuntu.com/ftp.daumkakao.com/g' /etc/apt/sources.list

sudo apt-get update
sudo apt-get upgrade

SSH 키 충돌 날 때

ssh-keygen -R [IP]

Utility

ZSH

sudo apt-get install zsh
chsh -s `which zsh`

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

Oracle JDK 8

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

수동 설치

wget --no-cookies \
--no-check-certificate \
--header "Cookie: oraclelicense=accept-securebackup-cookie" \
http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz \ -O jdk-8-linux-x64.tar.gz

sudo mv jdk1.8.0_171 /usr/lib
sudo alternatives --install /usr/bin/java java /usr/lib/jdk1.8.0_171/bin/java 1
sudo alternatives --install /usr/bin/javac javac /usr/lib/jdk1.8.0_171/bin/javac 1
sudo alternatives --install /usr/bin/jar jar /usr/lib/jdk1.8.0_171/bin/jar 1
sudo alternatives --set java /usr/lib/jdk1.8.0_171/bin/java
sudo alternatives --set javac /usr/lib/jdk1.8.0_171/bin/javac
sudo alternatives --set jar /usr/lib/jdk1.8.0_171/bin/jar

alternatives --config java
java --version

sudo /etc/profile

JAVA_HOME=/usr/lib/jdk1.8.0_171
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH

source /etc/profile

Samba

sudo apt-get install samba samba-common-bin
sudo smbpasswd -a 사용자

sudo nano /etc/samba/smb.conf
#root계정으로 설정할 때
[root]
comment = samba server
path = /
valid user = root
writable = yes
browseable = yes

#service --status-all
service samba restart
#12.04는 smbd
##만약 안된다면
### sudo /etc/init.d/samba restart

#비밀번호 변경
smbpasswd -U 사용자계정

#등록된 user 확인
#옵션에 -v 붙이면 더 상세한 정보 확인 가능
sudo pdbedit -L

#설정 정보 확인
testparm

#Windows에서 자격증명 전체 삭제
net use /delete *

VirtualBox 게스트 확장 설치

sudo apt-get install dkms
sudo apt-get install build-essential linux-headers-`uname -r`
 
mkdir tools
sudo mount /dev/cdrom ~/tools
sudo ./tools/VBoxLinuxAdditions.run
 
# Reboot!
 
# 확인
lsmod | grep vboxvfs
 
# vboxsf 마운트 시키기 (공유 디렉토리 설정)
VBoxManage showvminfo "VM 이름"
mount -t vboxsf SHARED /mnt/vm_shared

Command

grep

# 해당 문자열이 포함된 파일 찾기
## 00 03 06 09 12 15 18 21

grep -r '00 03 06 09 12 15 18 21' ./

grep sed 를 이용해 여러 파일에 있는 문자 치환하기

grep -rl "특정문자" * | xargs sed -i 's/특정문자/바꿀문자/g'

find

# 해당 디렉토리에 있는 모든 text 파일에서 AAA를 BBB로 치환
## sed 뒤에 i는 자기 자신을 치환
find ./ -name '*.txt' -exec sed -i 's/AAA/BBB/g' {} \;

Permission 전체 변경

//777로 변경
chmod -Rf 777 DIRECTORYNAME

tar

풀기

tar -xvf FILENAME.tar

압축

tar -cvf FILENAME.tar DIRECTORYNAME/

MySQL Dump

추출

mysqldump -u USERID -p DBNAME > FILENAME.sql

입력

mysqldump -u USERID -p create database DBNAME; -- DB 생성
mysql -u USERID -p DBNAME < FILENAME.sql

Crontab

Chron(time)table

* * * * * COMMAND
# m(0 ~ 59) h(0~23) d(1~31) M(1~12) DayOfWeek(0~6, 0 : Sunday)

# 등록
crontab -e

# 삭제
crontab -r

# 1분마다 date 출력
* * * * * date >> /tmp/greet.txt
## */1 * * * * date >> /tmp/greet.txt

# 매시 15,45분 "Hello, world" 출력
15,45 * * * * echo "Hello, world!" >> /tmp/greet.txt

File Descriptor

STDIN 0
STDOUT 1
STDERR 2

# crontab 예시

## 표준 출력, 표준 오류 모두 출력
* * * * * /bin/echo "foobar" >> /file_you_own 2>&1

linux.txt · Last modified: 2021/02/07 03:15 by 127.0.0.1