[LINUX] LINUX 명령어 정리2
< 지난 포스팅 정리 >
[LINUX] LINUX 명령어 정리
< 지난 포스팅 정리 > 절대경로: /(root) 상대경로: 현재 작업 위치(pwd) /../ . 현재 작업 위치 - 프롬프트 (사용자 아이디 @ 호스트: 현재위치) 프로그램 소스 에디터 visualstudio code vi / nano(디폴트) 명령
thstnqls.tistory.com
Unix / Linux
사용자
패스워
허가권 / 소유권 => 보안
root
ubuntu - x - 사용자(설치 시 생성되는 사용자)
- sudo
contos - su
su 사용자 아이디 : 권한
su - 사용자 아이디 : 재로그인
sudo su - root
chmod 기호(상대) / 숫자(절대)
chown 소유자.그룹
프로세스 / 프로그램
프로그램 설치 / 모니터링
압축파일
tar.gz / tgz
tar
gz
tar.bz
* eclipse / apache-tomcat
인스톨 파일
배포판
debian - dpkg
VisualStudio code
javaprogram
ps - 과거
top - 현재 진행 중인
processbuilder (클래스 사용)
비주얼 스튜디오 코드 다운로드
$ sudo dpkg -i code_(tab)
apt / apt-get
파일질라 다운로드 받기
$ sudo apt-get install filezilla
<!--SwingFilezilla.java-->
<!-- 버튼으로 Filezilla 실행시키기-->
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
public class JButtonEx01 extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JButtonEx01 frame = new JButtonEx01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public JButtonEx01() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 800);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btn1 = new JButton("버튼1");
btn1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("버튼 1 클릭!");
}
});
btn1.setForeground(Color.RED);
btn1.setBackground(Color.BLUE);
btn1.setBounds(12, 10, 97, 23);
contentPane.add(btn1);
JButton btn2 = new JButton("New button");
btn2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("버튼 2 클릭!");
}
});
btn2.setIcon(new ImageIcon("C:\\Users\\KITCOOP\\Downloads\\Icon.png"));
btn2.setBounds(12, 43, 281, 127);
contentPane.add(btn2);
}
}
주기적인 업데이트 필요
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt list --installed : 설치된 패키지 목록 확인
$ sudo apt list --installed | grep openjdk- : 설치된 목록 중 jdk와 관련된 패키지 확인
$ sudo apt-cache show openjdk-17-jdk : jdk 정보 확인
프로그램 작업
- 주기적인 작업
1. 프로그램 스케줄링
2. 시스템에서 제공하는 스케줄링
데몬 - 시스템 백그라운드에서 계속 실행되는 프로그램
1. at 데몬(d - atd) - 정해진 시간에 한번 실행
실행 결과 내부 메
2. crontab 데몬 - 규칙적인 시간에 반복 실행
mail -> 1(메일내용 확인) -> q(종료)
$ systemctl start 프로그램이름 : 프로그램을 실행한다 (active상태)
$ systemctl stop 프로그램이름 : 프로그램을 정지한다 (stop상태)
$ systemctl status 프로그램이름 : 프로그램의 실행상태를 확인할 수 있다.
at => 일회성 작업을 특정시간에 실행시킬 수 있도록 만든다
$ at 특정 시간 am/pm
내용작성 (명령어)
$ at -l -> 작업목록
2가지 이상의 작업을 하고싶을 때
at > ls -l /home/master > /home/master/list1.txt -> 마스터에 list1.txt생성하기
at > ls -al /home/master > /home/master/list2.txt
..
..
batch 작업(일괄처리) - shell script
#!/bin/bash
ls -l /home/master > /home/master/list1.txt
ls -al /home/master > /home/master/list2.txt
echo -n "실행완료"
crontab
* * * * * 수행할 명령어
1. 분
2. 시
3. 일
4. 월
5. 요일
매시 40분에 /home/master/java/ --- => /home/master/java.tar.gz
$ crontab -e
nano에서 40 * * * * /usr/bin/ls -l /home/master/java > /home/master/java.tar.gz 작성
system
마운트(mount) / 유마운트(umount)
자동 (마운트)
수동(예전)
block device
hdd
usb
cdrom
df : 연결된 파티션 별로 용량
파티션
하드디스크 일정 부분으로 분할
파티션을 중심으로 포맷
window : c드라이브 / d드라이브
du
서버(프로그램)
클라이언트의 요청을 처리해주는 프로그램
1. Web Server - html문서를 제공
2. Application Web Server(WAS) - 프로그램의 처리 결과인 html 문서를 제공
WAS + Web Server
대용량 처리
Web Server + WAS
WAS - apache - tomcat
톰캣 종료
./shutdown.sh
가상 디렉토리
1. apache-tomcat-9.0.56/webapps/디렉토리명
2. 아무디렉토리/디렉토리명 + 디렉토리명.xml
localhost:7070/website3/hello.jsp
=> /home/master/website3/hello.jsp
가상화
1. vmware
2. hyper-v
hyper -v
빨리만들기 -> ubuntu 22.04 LTS선택 -> 가상컴퓨터 만들기 (다운로드)
다운로드 끝나면 연결 누르기