books/Linux 13

[모두의 리눅스] alias와 셸 변수

alias: 별칭 붙이기alias =’’$ alias ls='ls -F' # ls 입력 시 ls -F 실행rm, cp, mv 명령어 전 확인하기 위해 -i 옵션 별칭 자주 사용type : 별칭 여부 확인unalias : 별칭 해제alias 일시적 무효화 → alias로 별칭을 붙여 놓은 상태에서 일시적으로 아무런 옵션이 지정되지 않은 명령어를 실행하고 싶은 경우전체 경로로 명령어 입력command 명령어 입력역슬래시 추가$ /bin/ls # 전체 경로로 명령어 입력$ command ls # command 명령어 입력$ \ls # 역슬래시 추가 셸 변수변수 설정=$ var1='test variable' # 값 설정$ echo $var1 # 값 확인공백 주의PS1: 프롬프트 설정$ PS1='bash> ' #..

books/Linux 2024.09.11

[모두의 리눅스] 텍스트 처리

wc 명령어: 입력 파일의 바이트수, 단어수, 행 수 세기$ wc /etc/passwd21 31 973 /etc/passwd # 21(행수), 31(단어수), 973(바이트수), /etc/passwd(파일이름)-l 옵션: 행 수만 출력$ ls / | wc -l # 루트 디렉터리에 파일과 디렉터리가 몇 개 있는지 출력-w 옵션: 단어 수만 출력-c 옵션: 바이트 수만 출력 sort 명령어: 행 단위로 정렬하여 결과 출력$ sort file1$ ps x | sort -k 5 # 원래 PID 순으로 결과를 출력하는 ps 명령어를, 5번째 필드인 COMMAND 기준으로 정렬sort는 ASCII 코드를 기준으로 정렬-n 옵션: 문자열을 숫자 값으로 인식하고 정렬-r 옵션: 역순으로 정렬-rn옵션: 숫자 값이 큰 ..

books/Linux 2024.09.03

[모두의 리눅스] Vim(vi) 사용법

명령어내용esc보통 모드로 전환:qVim 종료:w저장 (기존 파일 -> 덮어쓰기, 새 파일 -> 생성):w 파일 이름을 지정하여 저장:q!저장하지 않고 Vim 종료h왼쪽으로 이동j아래로 이동k위로 이동l오른쪽으로 이동x커서 위치에서 문자 삭제i입력 모드로 전환 (커서 왼쪽에 문자 추가)a입력 모드 전환 (커서 오른쪽에 문자 추가)w다음 단어의 첫 글자로 이동b이전 단어의 첫 글자로 이동W공백을 기준으로 다음 단어의 첫 글자로 이동B공백을 기준으로 이전 단어의 첫 글자로 이동0행의 시작으로 이동$행의 끝으로 이동G행 번호로 이동gg파일의 첫 행으로 이동G파일의 마지막 마지막 행으로 이동d커서 이동한 만큼 자르기d$현재 행의 위치에서 마지막까지 자르기d0현재 행의 위치에서 시작까지 자르기x, dl문자 한 개..

books/Linux 2024.09.02

[모두의 리눅스] 리포지터리 백업

1. 백업용 리포지터리 생성$ mkdir -p /home/ldk/share/findgrep.git$ cd /home/ldk/share/findgrep.git$ git --bare init.git 관례적으로 붙이기 2. 작업 중이던 리포지터리로 이동$ cd ~/git/findgrep 3. 커밋 이력 전송git push :보통 두 브랜치는 동일한 이름$ git push /home/ldk/share/findgrep.git master:mastermaster:master은 줄여서 master라고 써도 무방push할 리포지터리 경로는 별명 설정 가능git remote add git push origin master 4. 백업용 리포지터리에서 이력을 복원하려면 git clone git clone /home/ld..

books/Linux 2024.09.02

[모두의 리눅스] 파일 검색 및 명령어 사용법

find: 디렉터리 트리에서 파일 찾기find $ find . -name file-1.txt -print조건 지정 없으면 지정한 디렉터리 내부 모든 파일과 디렉터리를 대상으로 액션이 실행됨이름으로 찾기 (-name, -iname)-name: 대소문자 구별-iname: 대소문자 구별하지 않음파일 이름에 와일드카드로 * 나 ? 사용 가능*는 임의 문자열, ?는 임의의 한 문자 의미사용 시 작은 따옴표로 감싸줘야 함e.g. find . -name ‘*.txt’ -print파일 형식으로 찾기 (-type)지정파일 형식-type f보통 파일-type d디렉터리-type l심볼릭 링크검색 조건 여러 개 지정하기 (-a)$ find . -type f -a -name '*.txt' -print# 검색조건 1: 일반..

books/Linux 2024.08.21

[모두의 리눅스] 파일과 디렉터리

리눅스의 주요 디렉터리/├── bin├── dev├── etc├── home│ ├── user1│ └── user2├── sbin├── tmp├── usr│ ├── bin│ ├── lib│ ├── local└── var/bin일반 사용자 및 관리자가 사용하는 명령어의 실행 파일이 배치되어 있는 디렉터리특히 시스템과 관련된 중요도가 높은 명령어 포함/dev디바이스 파일이 배치되어 있는 디렉터리디바이스 파일: 디스크나 키보드 등 하드웨어를 다루기 위한 특수 파일/etc리눅스에서 돌아가는 다양한 애플리케이션의 설정 파일/home사용자별로 할당되는 개인용 디렉터리/sbin/bin과 비슷하게 실행 파일을 포함하는 디렉터리관리자용 명령어 포함/tmp임시 파일이 들어 있는 디렉터리정기적으로 이 디렉..

books/Linux 2024.08.21

[모두의 리눅스] 소프트웨어 패키지

yum 명령어: 패키지 관리 (CentOS)RPM은 CentOS 패키지 관리 시스템의 근간에 해당하지만 rpm 명령어는 단순한 조작만 가능하여 많이 불편함그래서 rpm 명령어를 쉽게 사용할 수 있도록 만든 yum이 많이 사용됨기본적인 사용법yum [옵션] [명령어] [패키지 이름]패키지 설치yum install [패키지 이름]-y 옵션 지정 시 설치 중간에 y/d/N을 입력해야 하는 상황에서 자동으로 y가 입력됨패키지 삭제yum erase [패키지 이름] 혹은 yum remove [패키지 이름]의존하는 패키지 함께 삭제됨-y 옵션 사용 가능패키지 검색yum search [검색 키워드]install과 달리 슈퍼 사용자 권한 없이 실행 가능패키지 정보 표시yum info [패키지 이름]슈퍼 사용자 권한 필요..

books/Linux 2024.08.21

[모두의 리눅스] 셸 스크립트 (4) 검색 명령어

xargs : 표준 입력으로 전달받은 리스트를 인자로 실행# find 명령으로 출력된 파일 리스트에 대해 ls -l을 실행$ find . -type f -name '*.txt' | xargs ls -l# 현재 디렉터리 아래의 모든 파일에 대해 grep을 실행$ find . -type f | xargs grep ldk findgrep.sh#!/bin/bashpattern=$1directory=$2name=$3# 두 번째 인자가 빈 문자열이면 기본값으로 현재 디렉터리를 설정if [ -z "$directory" ]; then directory='.'fi# 세 번째 인자가 빈 문자열이면 기본값으로 '*' 설정if [ -z "$name" ]; then name='*'fi$ find"$directory" -type..

books/Linux 2024.08.09

[모두의 리눅스] 셸 스크립트 (3) IFS

IFS : 내부 필드 구분 문자tree.sh#!/bin/bashlist_recursive (){ local filepath=$1 local indent=$2 # 들여쓰기를 적용하고 파일 이름만 추출하여 출력 echo "${indent}$filepath##*/}" if [ -d "$filepath" ] ; then local fname for fname in $(ls "$filepath") do # 들여쓰기를 위한 공백을 추가하여 재귀 호출 list_recursive "${filepath}/${fname}" " $indent" done fi}list_recursive "$1" ""파일 이름에 공백이 포함된 경우# (1)$ ls -l ~/testlist.txtspace file..

books/Linux 2024.08.09

[모두의 리눅스] 셸 스크립트 (1)

셸 스크립트 작성 방법신규 파일 생성$ vim homesize.sh파일 내용 작성#!/bin/bashdu -h ~ | tail -n 1#!로 시작하는 행: 셔뱅주석으로 간주이 셸 스크립트는 /bin/bash를 사용한다고 명시적으로 선언실행 권한 부여 및 실행# 실행 권한 부여$ chmod +x homesize.sh# 현재 디렉터리에 있는 homesize.sh를 실행$ ./homesize.sh  source 명령어셔뱅 없는 파일 ./homesize-hochebang.sh를 실행 권한 부여 없이 source ./homesize-noshebang.sh나 . ./homesize-noshebang.sh로 실행 가능현재 셸에서 실행되기 때문에 주의source 명령어 대신 파일 이름으로 실행하는 것이 좋음셔뱅에 지정..

books/Linux 2024.08.08