딩코딩코딩 2023. 8. 24. 19:09

- 현재 위치: /home/user

/    /    ../..

home  /home  ../

boot.    /boot    ../../boot

lib.    /usr/lib    ../..usr/lib

ls    /usr/bin/ls    ../..usr/bin/ls


# apt -y install ncal

 

# cal 12 9999

 

# id

 

# whoami


## Linux file time

ctime: create

mtime: modify

atime: access

 

# touch test

 

# ll

 

# mkdir dir1

 

# cat > test2

hello

^d

 

# mkdir dir2

 

# file test2

 

# cat test2

 

# file /usr/bin/passwd

 

# cat /usr/bin/passwd

 

# mkdir -p a/b/c/d/e/f/g

 

# cd /a/b/c/d/e/f/g

 

# cd

 

# cp test1 dir1

 

# cp test2 dir1/test_cp -> cp & rename

 

# cp test2 dir1/test2_mv -> cp & rename

 

# cp test2 test3

 

# cp test2 test 4

 

# ls *

 

# mv test4 dir2

 

# mv test3 dir 6 => rename

 

# mv dir6 dir2_mv => rename

 

# mv dir2_mv dir2/test3_mv => mv & rename

 

# rmdir dir5

 

# rmdir dir4

 

# rmdir dir3

 

# rmdir dir2

 

# cd dir2

 

# rm *

 

# cd ..

 

# rm -rf dir1

 

# rm -rf a test*

 

# cat > test1

hello

^d

 

# cat -< test1

 

# cat 1> test2

hello

^d

 

# cat error

 

# wc /etc/passwd

 

# wc -l /etc/passwd

 

# wc -w /etc/passwd

 

# wc -c /etc/passwd

 

# cat -n /etc/passwd

 

# grep bash /etc/passwd | cat -n

 

# clear ; cat -n /etc/passwd

 

# more /etc/passwd

 

# cp test1 test1cp

 

# mkdir dir1

 

# cp test1 dir1

 

# cp -R dir1 dir2

 

# mv dir2 dir3

 

# mv dir3 dir1

 

# ls dir1

 

# rm -rf dir1 test*

 

# mkdir /work

 

# cd /work

 

# touch test1

 

# ll > test2

 

# cat test2

 

# ls -li


###파일 시스템의 구성요소

- Boot block: booting strap code

- Super block: filesystem info

- inode list: file info

- Data block: real data


FAT

FAT32 - 4G

NTFS

Ext2, 3, 4 - Linux


# df -T

 

# ll -i

 

# cp test1 test1_cp

 

# ll -i

 

# cp test1 test1_cp

 

# ll -i

 

# cat > test1

hello

^d

 

# cat test1

 

# cat test1_cp

 

# ln test1 test1_h

 

# ll -i

 

# cat > test1

goodbye

^d

 

# cat test1

 

# cat test1_h

 

# ln -s test1 test1_s

 

# ll -i

 

# cat test1

 

# cat test1_s


Hard link vs Symbolic link

inode 원본과 같음 <> inode 원본과 다름

file size 같음 <> file size 다름(고정 5)

이름만 다른 파일 <> 바로가기

같은 파일 시스템에서만 생성 가능 <> 다른 파일 시스템에서도 생성 가능


## > vs >>

file 무 : create <> create

file 유: overwrite <> append


# rm -rf test1

 

# cat test1_h

 

# cat test1_s

 

# ln test1_h test1

 

# cat test1_s

 

# cd

 

# ln -s /var/log logs

 

# ls

 

# cd logs

 

# grep -c bash /etc/passwd

 

# grep bash /etc/passwd | wc -l

 

# grep -n bash /etc/passwd

 

# whereis passwd

 

# which passwd


##Mac Users

# cd Downloads/packages

 

# ls 

 

# mv * ~/.atom/packages

 

# cd ~/.atom/packages

 

# ls

 

## .ftpconfig

{

  "protocol": "sftp",

  "host": "192.169.1.00",

  "port": 22,

  "user": "root",

  "pass": "1234",

  "promptForPass": "false",

  "remote": "/work",

  "local": "",

  "agent": "",

  "privatekey": "",

  "passphrase": "",

  "hosthash": "",

  "ignorehost": "true",

  "connTimeout" : 10000,

  "keepalive": 100000,

  "keyboardInteractive": "false",

  "keyboardInteractiveForPass": "false",

  "remoteCOmmand": "",

  "remoteShell" : "",

  "watch": [],

  "watchTimeout" : 500

}

 

# cd /work

 

# rm -rf *


## hello.c

#include <stdio.h>

 

void main() {

  printf("Hello, World~!!");

}

 

# ls

 

# gcc -o hello hello.c

 

# ./hello

 

# !gcc

 

# ./hello

 

# mkdir c

 

# mv hello* c

 

# ls c


a++

a = a + 1


## 명령어 실행 사이클

fetch

decode

excute

save / store

f -> d -> e -> s

    f -> d -> e -> s

        f -> d -> e -> s

            f -> d -> e -> s


## 시스템의 정상적인 실행을 방해하는 요소

1. 잦은 입출력

2. 순환 / 반복문

while / for


# vi  test

i : 현재 커서 입력. 키를 누르고 family name 입력

a: 현재 커서 다음

I: 현재 라인 맨 앞

A: 현재 라인 맨 끝

o: 현재 라인 아래

O: 현재 라인 위

h

j

k

l

:w (저장)

:wq! (저장 후 종료)

dd (한 줄 삭제)

yy (한 줄 복사)

p (붙여넣기, 커서 아래)

P (붙여넣기, 커서 위)

yG: 현재라인 ~ 파일 yG 끝까지 복사

(시작) #1) 처음 yG 2) 마지막 p -> 전체 복사

x, del: 한글자 삭제

X, backspace: 한글자 삭제

:0 (0번 라인 이동)

(: 현재 문단 처음

): 현재 문단 끝

[

]

r(한글자 교체)


# cat / etc/passwd > test2

/bash 순방향 검색 

//

?? 역방향 검색

:1,$s/:/=/

:1,$s/:/=/g

:w

:%s/=/:/g

:%s/\/home/\/export\/home/g

:%s/\/export\/home/\/home/g