[root@server1 LABs]# set -o noclobber
[root@server1 LABs]# set +o noclobber
[root@server1 LABs]# chattr +i time.sh
[root@server1 LABs]# chattr -i time.sh
ps -ef
ps -f | grep ssh
단축 명령어 만들기
alias pssh='ps -ef | grep ssh'
해당 세션만 사용 가능, 해당 세션이 유지되는 동안만 사용
[root@server1 LABs]# alias pssh='ps -ef | grep ssh'
해당 사용자 설정이 영구적으로 적용됨
[root@server1 LABs]# cd
[root@server1 ~]# pwd
/root
[root@server1 ~]# vi .bashrc
> bashrc 내에
alias pssh='ps -ef | grep ssh'
[root@server1 ~]# . .bashrc
시스템 전역 영구 설정 ▶ 모든 사용자에게 적용됨
[root@server1 ~]# vi /etc/bashrc
> bashrc 내에
alias pssh='ps -ef | grep ssh'
[root@server1 ~]# source /etc/bashrc
[root@server1 LABs]# mkdir -p linux1/linux2/linux3/linux4/linux5
Shellscript를 활용해야 한다.
!
: 바로 직전에 수행한 명령 재실행
!번호
: 히스토리에서 해당 번호의 명령 재실행
!문자열
: 히스토리에서 해당 문자열로 시작하는 마지막 명령을 재실행
[root@server1 ~]#
[]
사용자 정의
root
접속 사용자 ▶ \u
@
사용자 정의
server1
호스트명 ▶ \h
~
현재 경로 (마지막 경로 / 전체 경로) ▶ \W
\#
사용자 타입 - #(root), $(일반 사용자) ▶ $
숨겨진 파일이기 때문에 파일 앞에 .을 넣어 사용해야 한다.
source
source .bashrc
source .profile
파일 및 디렉터리들의 '주소'를 저장한 '파일'
/u01/app/oracle/product/12.2.0/db_1/bin/sqlplus
경로를 열기 위해 열어야 하는 파일 개수9개
최상위 디렉토리까지 열어야 하기 때문
i/o의 주체: block
block을 주소화 한 것: inode
데이터를 저장하는데 주로 사용
원본 파일을 대신하여 다른 이름으로 파일명을 지정한 것
[root@server1 LABs]# useradd jeff
[root@server1 LABs]# adduser scott
[root@server1 LABs]# which useradd
/usr/sbin/useradd
[root@server1 LABs]# which adduser
/usr/sbin/adduser
[root@server1 LABs]# ls -l /usr/sbin/useradd
-rwxr-xr-x. 1 root root 137616 Aug 9 2019 /usr/sbin/useradd
[root@server1 LABs]# ls -l /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 Aug 31 14:24 /usr/sbin/adduser -> useradd <<< 링크 파일
Linux에서는 하드 디스크나 키보드 같은 각종 장치도 파일로 취급
root file system
..
'으로 표시.
' 기호로 표시디렉터리와 기능
dev
: 장치 파일이 담긴 디렉터리
home
: 사용자 홈 디렉터리가 생성되는 디렉터리
media
: 시디롬이나 USB 같은 외부장치 연결하는 디렉터리
opt
: 추가 패키지가 설치되는 디렉터리
root
: root 계정의 홈 디렉터리
sys
: Linux 커널과 관련된 파일이 있는 디렉터리
user
: 기본 실행 파일과 라이브러리 파일, 헤더파일 등
boot
: 부팅에 필요한 커널 파일
etc
: Linux 설정을 위한 각종 파일
lost+found
: 파일 시스템에 문제가 발생해 복구할 경우, 문제가 되는 파일이 저장되는 디렉터리
mnt
: 파일 시스템을 임시로 마운팅하는 디렉터리
proc
: 프로세스 정보 등 커널 관련 정보가 저장되는 디렉터리
run
: 실행 중인 서비스와 관련된 파일 저장
srv
: FTP나 Web 등 시스템에서 제공하는 서비스의 데이터 저장
tmp
: 시스템 사용 중에 발생하는 임시 데이터 저장, 재부팅하면 사라짐
var
: 시스템 운영 중에 발생하는 데이터나 로그 등이 저장되는 디렉터리
✔ 프로세스와 쓰레드의 차이
파일 시스템에서 디렉터리 계층 구조에 있는 특정 파일이나 디렉터리의 위치 표시
pwd
echo $PWD
cd
ls
옵션
-a
: 숨김 파일을 포함하여 모든 파일 목록 출력-d
-i
: 첫 번째 행에 inode 번호 출력-l
: 파일의 상세 정보 출력-A
-F
-L
-R
: 하위 디렉터리 목록까지 출력-t
:-h
:
mkdir
-p
하위 디렉터리를 계층적으로 생성할 때 중간 디렉터리가 없으면 생성하면서 전체 디렉터리를 생성rmdir
-p
지정한 디렉터리를 삭제한 뒤, 그 디렉터리의 부모 디렉터리가 빈 디렉터리일 경우 부모 디렉터리도 자동으로 삭제cat
cat > kubernetes.txt (파일을 생성해 연다. `>`: redirection) container pod replicaset deployment ctrl + d (저장)
more
: 매우 긴 text의 경우에는 more 사용하여 페이징
apache, nginx의 용도: 웹 서버, 웹 서비스, Proxy(전달 -> 로드 밸런싱)
1. [root@server1 LABs]# ps -ef | grep http
2. [root@server1 LABs]# systemctl status httpd.service
3. [root@server1 LABs]# netstat -nlp | grep 80
cp
-i
: 대화식 복사 방법으로 파일명2가 이미 존재할 경우 덮어쓸 것인지 물어본다.-r
: 디렉터리를 복사할 때 지정예
cp file1 file2
cp f1 f2 f3 dir1
cp -r dir1 dir2
scp
실습
[root@server1 ~]# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.101 server1 server1.kakao.com 192.168.56.102 server2 server2.kakao.com
mv
-i
파일명2/디렉터리명2가 존재하면 덮어쓸 것인지 물어본다.예
mv file1 file2
rm
-i
대화식으로 지정한 파일을 정말 삭제할 것인지 확인-r
디렉터리를 삭제할 때 지정-rf
강제 삭제예
rm file
rm -r dir
-s
: 심벌릭 링크 파일 생성[root@server1 LABs]# mkdir link_dir && cd $_
[root@server1 link_dir]# touch file1 file2
[root@server1 link_dir]# mkdir dir1 dir2
[root@server1 link_dir]# ls
dir1 dir2 file1 file2
[root@server1 link_dir]# ln -s file1 file1_s
[root@server1 link_dir]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Sep 1 16:37 dir1
drwxr-xr-x. 2 root root 6 Sep 1 16:37 dir2
-rw-r--r--. 1 root root 0 Sep 1 16:37 file1
lrwxrwxrwx. 1 root root 5 Sep 1 16:37 file1_s -> file1
-rw-r--r--. 1 root root 0 Sep 1 16:37 file2
[root@server1 link_dir]# ln file2 file2_h
[root@server1 link_dir]# ls
dir1 dir2 file1 file1_s file2 file2_h
[root@server1 link_dir]# rm -rf file1 file2
[root@server1 link_dir]# ls -li
total 0
33633216 drwxr-xr-x. 2 root root 6 Sep 1 16:37 dir1
70986604 drwxr-xr-x. 2 root root 6 Sep 1 16:37 dir2
3068471 lrwxrwxrwx. 1 root root 5 Sep 1 16:37 file1_s -> file1
3068470 -rw-r--r--. 1 root root 0 Sep 1 16:37 file2_h