-
at -f [job file] now + [n] hour
execute jobs after 3 hours from now$ cat /tmp/myjobs.txt # plain text, NOT shell script file /data4/hanadmin/support_speller-master/ed1_in_session/script/extract_ed1_in_session_all_spark.sh 20161225 /data4/hanadmin/support_speller-master/ed1_in_session/script/extract_ed1_in_session_all_spark.sh 20161226 /data4/hanadmin/support_speller-master/ed1_in_session/script/extract_ed1_in_session_all_spark.sh 20161227 $ at -f /tmp/myjobs.txt now + 3 hour job 1 at 2016-12-30 03:40 Can't open /var/run/atd.pid to signal atd. No atd running? $ sudo atd $ atq 1 2016-12-30 03:40 a hanadmin
-
-
Save hyunjun/f2a15bf2de9ed8cce7a0dc87ed16d839 to your computer and use it in GitHub Desktop.
Linux command examples
- 리눅스 실무기술 300
- PART 01. 사용자와 그룹관리편
- 레벨001 : 리눅스시스템의 새로운 사용자를 생성하는 여러가지 방법들
- 레벨001-1 : 새로운 사용자를 생성하는 useradd 개론
- 레벨001-2 : useradd로 새로운 계정을 생성하는 실무적인 메커니즘의 이해
- 레벨001-3 : useradd로 새로운 계정을 생성하는 다양한 방법들
- 레벨001-4 : useradd로 조건에 맞는 새로운 계정 생성
- 레벨001-5 : 용도에 맞는 /etc/skel디렉토리의 실무 활용
- 레벨002 : 시스템 사용자생성을 지배하는 요인들을 알아야 한다.
- 레벨002-1 : useradd의 환경을 설정하는 "useradd -D"개론
- 레벨002-2 : useradd의 실행환경 확인하기
- 레벨002-3 : "useradd -D"는 /etc/default/useradd파일의 값을 변경한다.
- 레벨002-4 : useradd로 새로 생성되는 계정의 로그인쉘 지정하기
- 레벨002-5 : useradd로 새로생성되는 계정이 기본적으로 사용할 그룹 지정하기
- 레벨002-6 : useradd로 새로 생성되는 사용자의 사용종료일 지정하기
- 레벨002-7 : "useradd -D"로 변경된 값이 실제로 적용되는 예보기
- 레벨003 : 시스템 사용자 패스워드 설정이 과연 간단하기만 할까?
- 레벨003-1 : 사용자 패스워드를 변경하는 passwd개론
- 레벨003-2 : 새로운 사용자생성 후 passwd명령어로 패스워드 설정하기
- 레벨003-3 : 일반사용자의 자기자신 패스워드 변경하기
- 레벨003-4 : passwd명령어로 password에 대한 간단한 정보확인하기
- 레벨003-5 : passwd명령어로 일반계정사용자의 패스워드 락(lock)걸기
- 레벨003-6 : 패스워드 락(lock)걸린 사용자의 패스워드 락(lock) 해제하기
- 레벨003-7 : 계정사용자의 패스워드 삭제하기
- 레벨003-8 : 패스워드 aging정보 설정하기
- 레벨004 : 시스템에서 지금 나는 누구일까?
- 레벨004-1 : 시스템 계정사용자의 정보를 확인하는 id명령어 개론과 활용
- 레벨004-2 : 계정사용자의 EUID와 EGID정보 확인하기
- 레벨004-3 : 현재 사용자가 소속된 모든 그룹정보를 GID로 확인하기
- 레벨005 : 아~ 이제 시스템 사용을 종료하고 나가고 싶다.
- 레벨005-1 : 시스템 사용을 종료하고 빠져나가는 logout
- 레벨005-2 : logout명령어로 다른 계정에서 이전 계정으로 빠져나가기
- 레벨006 : 이런 사용자는 시스템에서 제거되어야 한다.
- 레벨006-1 : 시스템사용자를 삭제하는 userdel 개론과 사용법
- 레벨006-2 : userdel로 특정 사용자 삭제하기
- 레벨006-3 : userdel로 특정 계정의 모든 시스템정보 삭제하기
- 레벨006-4 : userdel로 특정 계정의 강제 삭제하기
- 레벨007 : 시스템 사용자 계정정보를 수정해야하는 여러가지 요인과 방법들
- 레벨007-1 : 사용자 계정정보를 수정하는 usermod에 대하여
- 레벨007-2 : 특정 계정사용자의 계정정보 수정하기
- 레벨007-3 : 특정 계정사용자의 홈디렉토리 위치 변경하기
- 레벨007-4 : 특정 계정사용자의 계정사용종료일 설정하기
- 레벨007-5 : 특정 계정사용자의 기본사용쉘(로그인쉘) 변경하기
- 레벨007-6 : 특정 계정사용자의 UID값 변경하기
- 레벨007-7 : 특정 계정사용자의 ID와 패스워드 변경하기
- 레벨008 : 어떤 사용자들이 시스템에서 어떤 일들을 하고 있지?
- 레벨008-1 : 현재 서버에 접속한 사용자 정보확인하는 w 사용법
- 레벨008-2 : HEAD정보를 제외한 w결과 출력하기
- 레벨008-3 : 필드정보를 제외한 w결과 출력하기
- 레벨008-4 : 접속IP주소값을 생략하고 w 결과 출력하기
- 레벨009 : 지금 시스템의 어떤 사용자들이 어떤 일들을 하고 있는가?
- 레벨009-1 : 현재 시스템에 접속한 사용자 확인하는 who 개론
- 레벨009-2 : who명령어로 현재 서버에 접속한 사용자정보 확인하기
- 레벨009-3 : who명령어로 현재 사용자의 로그인 계정 확인하기
- 레벨009-4 : who명령어 결과를 출력할 때에 결과의 각 필드제목을 함께 출력하기
- 레벨009-5 : who명령어로 현재 접속한 사용자들의 idle time 확인하기
- 레벨009-6 : who명령어로 로그인한 사용자의 수와 사용자들의 계정명 출력하기
- 레벨009-7 : who명령어로 write메시지 수신가능여부 표시하여 로그인사용자 확인하기
- 레벨009-8 : who명령어로 현재 로그인 사용자의 가능한 모든 정보 확인하기
- 레벨009-9 : who명령어로 시스템의 마지막 부팅정보 확인하기
- 레벨009-10 : who명령어로 죽어있는 프로세스 확인하기
- 레벨009-11 : who 명령어로 현재 시스템의 로그인 사용자 프로세스정보 확인하기
- 레벨009-12 : who명령어로 현재 시스템의 실행레벨(run-level)을 확인하기
- 레벨009-13 : who명령어의 여러가지 옵션들 함께 사용하는 예#1
- 레벨009-14 : who명령어의 여러가지 옵션들 함께 사용하는 예#2
- 레벨010 : 원격의 시스템 사용자들 정보는 이렇게 확인한다.
- 레벨010-1 : 로컬 또는 원격시스템의 사용자 계정정보 확인하는 finger 개론과 실무사용
- 레벨010-2 : finger명령어로 원격서버의 사용자 계정정보 확인하기
- 레벨010-3 : finger명령어로 원격서버의 특정 사용자 계정정보 확인하기
- 레벨010-4 : finger로 계정정보 확인이 가능하도록 설정하는 방법 그리고 보안
- 레벨011 : 나는 누구인가?
- 레벨011-1 : 자기자신의 UID와 접속정보 확인하는 who am i
- 레벨012 : 진짜 나는 누구인가?
- 레벨012-1 : EUID(유효사용자ID)를 확인하는 whoami 사용법
- 레벨012-2 : 로그인 사용자정보를 확인할 수 있는 3가지 명령어 비교
- 레벨013 : 시스템 사용자의 계정정보는 이렇게 변경할 수 있다.
- 레벨013-1 : 서버사용자의 계정정보 설정 및 변경하는 chfn 개론
- 레벨013-2 : root 자기자신의 계정정보 변경하기
- 레벨013-3 : 일반사용자의 자기자신의 계정정보 변경하기
- 레벨013-4 : 수퍼유저(root)가 일반사용자의 계정정보 변경하기
- 레벨013-5 : chfn으로 계정사용자의 이름 변경하기
- 레벨013-6 : chfn으로 계정사용자의 직장명 변경하기
- 레벨013-7 : chfn으로 계정사용자의 직장 전화번호 변경하기
- 레벨013-8 : chfn으로 계정사용자의 집 전화번호 변경하기
- 레벨014 : 시스템에서 쉘의 의미를 꼭 구분해야하는 걸까?
- 레벨014-1 : 로그인시에 사용하는 로그인쉘(login shell) 변경하는 chsh 기본
- 레벨014-2 : 리눅스서버에서 사용가능한 쉘의 종류들
- 레벨014-3 : 기본사용쉘(로그인쉘)과 현재 사용중인 쉘에 대한 우리들의 오류
- 레벨015 : 새로운 사용자 말고 이제 새로운 그룹을 생성하라니까?
- 레벨015-1 : 새로운 그룹을 생성하는 groupadd 명령어 개론
- 레벨015-2 : 특정이름의 새로운 그룹생성하기
- 레벨015-3 : 그룹의 GID번호를 지정하여 새그룹 생성하기
- 레벨015-4 : 새로생성되는 그룹에 시스템에서 사용하는 GID번호 할당하기 : 시스템관리용 그룹생성하기
- 레벨016 : 그래 이런 그룹은 삭제되어야 해!
- 레벨016-1 : 불필요해진 그룹 삭제하는 groupdel의 개론과 활용
- 레벨017 : 내가 소속된 그룹은 어떤 그룹일까? 그리고 그룹소속 사용자들은 누구니?
- 레벨017-1 : 현재 계정사용자가 소속되어 있는 모든 그룹들 확인하는 groups 개론
- 레벨017-2 : 한 개의 그룹에 소속된 사용자의 그룹정보확인
- 레벨017-3 : 여러 개의 그룹에 소속된 사용자의 그룹정보 확인
- 레벨018 : 소유자변경하는 것 말고 소유그룹을 변경하는 것 말이야!
- 레벨018-1 : 파일 또는 디렉토리의 소유그룹을 변경하는 chgrp 개론
- 레벨018-2 : 특정 파일의 소유그룹변경하기
- 레벨018-3 : 여러 개의 파일에 대한 소유그룹 동시에 변경하기
- 레벨018-4 : chgrp명령어로 소유그룹변경시에 GID로 지정하여 변경하기
- 레벨018-5 : 특정디렉토리내에 존재하는 모든 파일과 디렉토리의 소유그룹 동시에 변경하기
- 레벨019 : 현재 사용그룹을 변경하는 방법
- 레벨019-1 : 현재 사용그룹ID 변경하는 newgrp 개론과 사용법
- 레벨019-2 : 일반 사용자의 현재사용그룹ID 변경하기
- 레벨019-3 : 로그인 그룹ID를 현재그룹ID로 사용하기
- 레벨020 : 파일과 디렉토리들의 소유자변경은 이렇게 하는거야
- 레벨020-1 : 파일과 디렉토리의 소유자 및 소유그룹 변경하는 chown명령어 개론
- 레벨020-2 : 특정파일의 소유자 변경하기
- 레벨020-3 : 특정파일의 소유자와 소유그룹을 동시에 변경하기
- 레벨020-4 : 특정 디렉토리의 소유자와 소유그룹 동시에 변경하기
- 레벨020-5 : 특정 디렉토리내의 모든 파일과 디렉토리의 소유자와 소유그룹을 모두 한번에 변경하기
- 레벨020-6 : 파일과 디렉토리의 소유자 또는 소유그룹 변경시에 변경되는 내용에 대한 메시지 확인하기
- 레벨020-7 : 파일의 소유자와 소유그룹변경시에 UID와 GID로 지정하여 변경하기
- 레벨020-8 : 특정 디렉토리내의 모든 파일과 디렉토리의 소유자와 소유그룹을 모두 한꺼번에 변경할 때에 UID와 GID를 지정하여 변경하기
- 레벨020-9 : 특정 디렉토리내에 존재하는 일부 파일들에 대해서만 소유자와 소유그룹 변경하기
- 레벨021 : 너 어떤 ID로 로그인 했어.
- 레벨021-1 : 로그인 사용자명 확인하는 logname 개론과 사용법
- 레벨021-2 : su명령어로 다른 사용자로 변경된 경우의 logname확인하기
- 레벨022 : 디렉토리 패스워드 인증된 사용자만 웹접속 허용하는 방법
- 레벨022-1 : 웹페이지 디렉토리인증을 위한 htpasswd 개론과 사용방법
- 레벨022-2 : 웹페이지 인증에 사용되는 초기 패스워드파일과 로그인 ID, 패스워드 생성하기
- 레벨022-3 : htpasswd로 이미 존재하는 ID의 패스워드 변경하기
- 레벨022-4 : htpasswd로 ID, 패스워드 생성시에 MD5 암호화방식을 사용하여 암호생성하기
- 레벨022-5 : htpasswd로 ID, 패스워드 생성시에 일반 영문자(텍스트)로 패스워드 생성하기
- 레벨022-6 : htpasswd로 ID, 패스워드 생성시에 SHA 암호화방식으로 암호생성하기
- 레벨022-7 : htpasswd로 ID, 패스워드를 명령행에서 동시에 생성하기
- 레벨022-8 : htpasswd로 생성한 사용자 삭제하기
- 레벨022-9 : htpasswd로 ID, 패스워드를 명령행에서 동시에 생성하는 몇가지 방법들
- 레벨023 : 현재 시스템에 접속한 사용자는 누구?
- 레벨023-1 : 현재 시스템에 접속한 사용자 정보 확인하는 users 활용법
- 레벨024 : 너 aging정보가 뭔지 아니? 그건 /etc/shadow파일을 확실히 알아야 해
- 레벨024-1 : 사용자 aging정보를 설정 및 변경하는 chage개론
- 레벨024-2 : /etc/shadow파일의 구조에 대하여
- 레벨024-3 : 특정 사용자의 aging정보 확인하기
- 레벨024-4 : 특정 사용자의 aging정보 설정하기
- 레벨024-5 : 특정 사용자의 aging정보 설정하기
- 레벨001 : 리눅스시스템의 새로운 사용자를 생성하는 여러가지 방법들
- PART 02. 파일과 디렉토리 관리편
- 레벨025 : 선배님 ls로 알 수 있는 것이 이렇게나 많아요.
- 레벨025-1 : 디렉토리의 파일리스트를 확인하는 ls명령어 개론
- atime, mtime, ctime
- 레벨025-2 : ls로 특정 디렉토리의 파일리스트 확인하기
- ls
- 레벨025-3 : ls로 파일리스팅할 때 자세히 표시하여 파일용량 표시하기
- ls -l
- ls -lh: 파일의 용량 단위
- 레벨025-4 : ls로 파일리스트를 표시할 때 파일명을 기준으로 내림차순 정렬하기
- ls -lr: 파일 이름 기준 내림 차순 정렬
- 레벨025-5 : ls로 파일리스트를 표시할 때 특정 디렉토리의 모든 파일 확인하기
- ls -al: .으로 시작하는 파일을 포함하는 모든 파일
- 레벨025-6 : ls로 파일리스트를 표시할 때 콤마(,)로 파일들을 구분하기
- ls -m
- 레벨025-7 : ls결과에서 파일의 끝부분에 파일형태를 표시하는 특수문자 표시하기
- ls -lF: 각각 실행파일 *, 디렉토리 /, 심볼릭 링크 @, FIFO 파일 |, 소켓파일 = 을 붙여 표시
- 레벨025-8 : ls로 파일리스트를 표시할 때 .(현재디렉토리)와 ..(상위디렉토리)를 제외하고 표시하기
- ls -Al
- 레벨025-9 : ls로 파일리스트를 표시할 때 파일의 UID와 GID를 표시하기
- ls -n
- 레벨025-10 : ls로 파일리스트 출력시에 소유그룹정보 제외하기
- ln -lG
- 레벨025-11 : ls로 파일리스트를 표시할 때 한 줄에 한 파일씩만 나열하기
- ls -1(숫자 1)
- 레벨025-12 : ls출력결과에서 파일의 끝에 '~'가 붙은 파일(백업파일)은 출력제외하기
- ls -lB
- 레벨025-13 : ls로 파일리스트를 표시할 때 가로길이를 지정하여 표시하기
- ls -w [n]: -w option이 없는 경우 default 80(즉 -w 80과 동일)
- 레벨025-14 : ls로 파일리스트를 표시할 때 서브디렉토리내의 모든 파일들도 함께 표시하기
- ls -lR
- 레벨025-15 : ls로 파일리스트를 표시할 때 파일의 용량별로 내림차순 정렬하여 보여주기
- ls -lS
- ls -alSR: .으로 시작하는 파일들과 현재 디렉토리의 서브 디렉토리 파일들까지 모든 파일들을 대상으로 파일들의 용량을 기준으로 내림차순 정렬
- 레벨025-16 : ls로 파일리스트를 표시할 때 파일의 용량별로 오름차순 정렬하여 보여주기
- ls -lSr, ls -alSr
- ls -alSrR: .으로 시작하는 파일들과 현재 디렉토리의 서브 디렉토리 파일들까지 모든 파일들을 대상으로 파일들의 용량을 기준으로 오름차순 정렬
- 레벨025-17 : ls로 파일리스트를 표시할 때 파일 확장자순으로 정렬하여 표시하기
- ls -lX, ls -lXr
- 레벨025-18 : ls로 파일리스트를 출력할 때 디스크저장 순서대로 출력하기
- ls -lU(ls -l은 파일명 기준 오름차순 정렬)
- 레벨025-19 : ls로 파일리스트를 출력할 때 심볼릭 링크파일을 일반 파일형태로 출력하기
- ls -lL
- 레벨025-20 : ls로 파일리스트를 표시할 때 파일의 최근 변경시간을 기준으로 정렬하여 보여주기
- 레벨025-1 : 디렉토리의 파일리스트를 확인하는 ls명령어 개론
- 파일 (생성) 시간: ls -l
- 파일 사용 시간: file access time, ls -ult
- 파일 변경 시간: file ctime, ls -clt
- 레벨025-21 : ls로 파일리스트를 표시할 때 파일의 시간순서대로 표시하기
- ls -tl
- 레벨025-22 : ls로 파일리스트를 표시할 때 파일의 사용시간 순서대로 표시하기
- ls -ult
- 레벨025-23 : ls로 파일리스트를 표시할 때 시간표시를 자세히 보여주기
- ls --full-time
- 레벨025-24 : ls로 파일리스트를 표시할 때 inode값 표시하기
- ls -li: inode(index number)
- 레벨025-25 : ls로 파일리스트를 표시할 때 가로로 나열하기
- ls -x
- 레벨025-26 : ls로 파일리스트를 표시할 때 세로로 나열하기
- ls -C: -C는 기본 옵션이라 그냥 ls와 동일
- 레벨025-27 : 특정디렉토리 이하의 모든 파일을 대상으로 용량별로 정렬하기
- ls -alRSh [path]: file size로 sorting(S)한 후 size 단위로(h) 모든 sub directory까지(R) hidden file까지(a) 모든 정보를 표시(l)
- 레벨025-28 : 특정디렉토리 이하를 용량별로 정렬하여 지정한 파일에 저장하기
- ls -alRSh [path] > [file name]
- 레벨025-21 : ls로 파일리스트를 표시할 때 파일의 시간순서대로 표시하기
- 레벨026 : 이젠 어디로 갈까? 저기로 갈까. 왔던 곳으로 돌아갈까
- 레벨026-1 : 현재 작업디렉토리를 이동하는 cd명령어 개론
- 레벨026-2 : 자기자신의 홈디렉토리로 바로 이동하는 가장 간단한 방법
- 레벨026-3 : 현재 서버의 최상위 루트디렉토리(/)로 이동하기
- 레벨026-4 : 절대경로를 지정하여 특정 디렉토리로 이동하기
- 레벨026-5 : 상대경로를 지정하여 특정 디렉토리로 이동하기
- 레벨026-6 : 현재 작업디렉토리 위치의 이전위치로 바로 이동하는 간단한 방법
- cd -
- 레벨027 : 도대체 여기가 어디야!
- 레벨027-1 : 현재 작업디렉토리를 표시해주는 pwd
- 레벨028 : 파일 내용을 이렇게 확인하는 구나.
- 레벨028-1 : 텍스트파일의 내용을 확인하는 cat 명령어
- 레벨028-2 : cat명령어로 특정 파일의 내용확인시 행 번호를 붙여서 출력하기
- cat -b [file name]
- 레벨028-3 : cat명령어로 특정파일의 내용을 행번호를 붙여서 출력할 때에 빈행에도 행번호를 붙이기
- cat -n [file name]
- 레벨028-4 : cat명령어로 특정파일의 내용확인시에 두개이상의 빈행이 연속될 때에 한행만 출력하기
- cat -sn [file name]
- 레벨028-5 : cat명령어로 특정파일의 내용을 한화면단위로 확인하기
- 레벨028-6 : cat명령어로 특정파일의 내용을 다른 파일에 저장하기
- 레벨029 : 파일이든 디렉토리든 뭐든 통째로 전부 다 복사해 드립니다.
- 레벨029-1 : 파일 및 디렉토리 복사명령어 cp의 기본 사용법
- 레벨029-2 : cp명령어로 디렉토리 전체를 복사하는 방법
- cp -r [src] [dst]
- 레벨029-3 : 원본파일의 소유자, 그룹소유자, 권한, 시간정보등을 보존하면서 복사하기
- cp -rp [src] [dst]
- 레벨029-4 : 결코 무시할 수 없는 cp의 복사 방법들
- -a / --archive: source의 속성(attribute)과 링크 정보등을 그대로 유지하면서 복사. cp -cdpR과 동일
- --backup: 동일한 이름의 목적 파일이 존재하는 경우 복사 수행 후 백업본 생성
- -b: 복사하고자 하는 파일이 동일한 이름으로 이미 그 위치에 존재하는 경우, 덮어쓰기 또는 원본을 지우고 복사할 경우 원본 파일의 복사본 생성. 기본적으로는 --backup과 동일하지만, 다른 점은 인자를 받아들이지 않는다는 점
- -f: 복사 대상 파일이 이미 그 위치에 존재한다면 파일을 지우고 복사
- -i: 복사 대상 파일이 이미 그 위치에 존재한다면 덮어쓸 것인지 복사하지 않을 것인지를 사용자에게 확인
- -P: 복사 대상이 되는 원본 파일이 디렉토리 경로와 함께 지정된 경우 지정된 디렉토리 경로를 그대로 복사 ex. cp dir1/subdir1/subdir2/filename [dst]
- -u / --update: 복사되는 원본 파일의 이름과 동일한 파일이 대상 위치에 존재할 경우 원본 파일과 변경 날짜를 비교해 최신인 경우 복사하지 않는 옵션. 즉 원본 파일이 목적 파일보다 최신 파일일 경우에만 복사하는 옵션
- -r / -R / --recursive: 복사 대상이 서브 디렉토리와 서브 디렉토리의 파일들이 존재할 경우에도 모두 동일하게 복사하는 옵션
- -S / --suffix=확장자: 원본 파일과 동일한 이름의 파일이 이미 존재할 경우 백업 파일을 생성하는데, 끝에 붙여질 확장자를 원하는 형식으로 지정 ex. cp -S .bak file1 file2 -> file2가 이미 존재하는 경우 file2.bak 생성
- --preserv=[ATTR_LIST]: 복사되어 새로 생성되는 파일이 원본 파일과 동일한 속성을 가지도록 하는 옵션. 이 때 속성은 별도로 지정해야 함. 별도로 지정하지 않으면 파일 퍼미션 모드(mode), 소유자 정보(ownership), 시간정보(timestamp) 3가지 속성을 기본 적용. 이 외에 context, links등을 지정 가능하며 모두 지정하려면 all을 사용
- -p: --preserve=mode,ownership,timestamp와 동일
- 레벨030 : 파일이든 디렉토리든 뭐든 통째로 옮겨 드립니다.
- 레벨030-1 : 특정 파일 또는 디렉토리를 이동하거나 이름변경하는 mv 개론
- 레벨030-2 : mv명령어로 파일명 변경하기
- 레벨030-3 : 파일을 다른 디렉토리로 옮기기
- 레벨030-4 : mv명령어로 디렉토리명 변경하기
- 레벨030-5 : 여러개의 파일을 동시에 옮기기
- mv [path]/* [path]
- 레벨030-6 : 지정한 패턴에 해당하는 파일들만 옮기기
- mv [path]/[pattern] [path]
- 레벨030-7 : mv실행시 동일한 파일명이 존재할 경우 백업파일을 만들기
- mv -b [file or path] [file or path]: 동일한 이름 뒤에 ~가 붙은 백업 파일 생성
- 레벨030-8 : mv실행시 동일한 파일명이 존재할 경우 확인과정없이 덮어쓰기
- mv -f [file] [file]
- 레벨030-9 : mv실행시 대상파일과 동일파일명이 존재할 경우에 처리여부 확인
- mv -i [file or path] [file or path]
- 레벨030-10 : mv실행시 실행과정 자세히 보여주기
- mv -v
- 레벨030-11 : mv실행시 대상파일 존재시 최근변경시간에 따른 변경여부결정
- mv -u: modification time을 비교해 최근 것이면 옮기고 기존 파일이 더 최근 것이면 옮기지 않음
- 레벨031 : 파일이든 디렉토리든 뭐든 원하는 것, 또는 통째로 삭제해 드립니다.
- 레벨031-1 : 파일 또는 디렉토리를 삭제하는 rm명령어 개론
- rm -i: 기본적으로 rm으로 alias, 삭제하기 전에 확인
- 레벨031-2 : rm사용시 확인과정없이 바로 삭제하기
- rm -f [name]
- 레벨031-3 : rm명령어로 디렉토리 삭제하기
- rm -rf [path]
- 레벨031-4 : 두개이상의 파일을 한꺼번에 삭제하기
- 레벨031-1 : 파일 또는 디렉토리를 삭제하는 rm명령어 개론
- 레벨032 : 새로운 디렉토리 만들어 드려요.
- 레벨032-1 : 새로운 디렉토리 만드는 mkdir 개론과 기본 사용법
- 레벨032-2 : 상위디렉토리 경로를 포함하는 새로운 디렉토리 생성하기
- mkdir -p [path]/[path]/...
- 레벨032-3 : mkdir로 원하는 퍼미션을 가진 새로운 디렉토리 생성하기
- mkdir -m [permission] [path] ex. mkdir -m 777 newdir
- 레벨033 : 이런 디렉토리는 삭제되어야 합니다.
- 레벨033-1 : 디렉토리 삭제하는 rmdir개론과 사용법
- 레벨033-2 : 비어있지않는 디렉토리를 삭제하기
- rm -rf
- 레벨033-3 : rmdir명령어와 rm명령어
- 레벨034 : 파일의 확장자만을 일괄 변경하는 방법을 알고 있니?
- 레벨034-1 : 여러 개의 파일확장자를 동시에 변경할 수 있는 rename에 대하여
- 레벨034-2 : rename명령어로 파일명 변경하기
- 레벨034-3 : 동일한 형식의 파일명으로 변경하기 #1
- rename [before pattern] [after pattern] [file names to apply pattern] ex. rename test test0 test?
- 레벨034-4 : 동일한 형식의 파일명으로 변경하기 #2
- ex. rename test0 test test??
- 레벨034-5 : 동일한 형식의 파일명으로 변경하기 #3
- ex. rename test test00 test?
- 레벨034-6 : *.htm파일확장자를 가진 모든 파일들을 *.html으로 일괄 수정하기
- ex. rename .htm .html *.htm
- 레벨034-7 : *.html파일확장자를 가진 모든 파일 *.htm으로 일괄 수정하기
- ex. rename .html .html *.html
- 레벨035 : 파일 내용을 확인하는 이런 멋진 방법들도 있었네.
- 레벨035-1 : 텍스트파일 내용을 확인하는 more 개론
- 레벨035-2 : more명령어로 특정디렉토리의 파일과 디렉토리리스트 확인 및 검색하는 방법
- 레벨035-3 : more에서 사용할 수 있는 키들의 도움말 확인하기
- 레벨035-4 : more실행환경에서 한 페이지씩 뒤로, 또는 앞으로 이동하기
- 레벨035-5 : more실행환경에서 한 행씩 이동하는 방법
- 레벨035-6 : more 실행환경에서 현재 행번호 확인하는 방법
- 레벨035-7 : more 실행환경에서 파일내의 특정문자 검색하는 방법
- 레벨035-8 : more 실행환경에궼 리눅스명령어 실행하는 방법
- 레벨035-9 : more로 특정파일의 내용확인 도중에 바로 vi 편집하기
- 레벨035-10 : more실행 종료하기
- 레벨036 : 파일 내용을 앞부분을 기준으로도 확인가능 하구나.
- 레벨036-1 : 텍스트파일의 앞부분 내용을 확인하는 head 사용법
- 레벨036-2 : head명령어로 파일의 지정한 앞부분행만 확인하기
- 레벨036-3 : head명령어로 파일의 앞부분 확인시에 바이트단위로 지정하여 확인하기
- 레벨037 : more나 head 외에도 이런 방법들로 파일내용을 확인한다.
- 레벨037-1 : 텍스트파일의 내용을 한 화면씩 확인하는 less개론
- 레벨037-2 : less로 텍스트파일 문서 확인하는 방법
- 레벨037-3 : less명령어로 특정 디렉토리의 파일리스트 확인하기
- 레벨037-4 : 텍스트파일이 아닌 특수파일이나 장치파일을 less로 강제 확인하기
- 레벨038 : 시스템관리자의 필수도구 tail은 이렇게 활용한다.
- 레벨038-1 : 파일의 끝부분을 확인하는 tail 개론과 사용법
- 레벨038-2 : 파일의 마지막행에서부터 지정된 행의 수까지만 보여주는 예
- 레벨038-3 : 파일의 내용을 byte단위로 마지막내용부터 표시하기
- 레벨038-4 : tail을 이용하여 시스템로그파일 실시간 모니터링하기
- 레벨039 : 파일의 내용을 행단위로 거꾸로 출력하는 rev
- 레벨039-1 : 파일의 내용을 행단위 거꾸로 출력하는 rev 사용법
- 레벨040 : 너 expand라고 들어나 봤니? 탭을 공백문자로 처리한다.
- 레벨040-1 : 탭(TAB)문자를 스페이스(SPACE) 처리하는 expand 개론과 실무활용
- 레벨041 : touch가 만만해 보이니? touch가 해킹도구로도 사용된다는 건 몰랐지?
- 레벨041-1 : 파일의 날짜시간정보를 변경하는 touch 개론과 실사용법
- 레벨041-2 : 시스템의 현재 시간으로 특정 파일의 시간정보 수정하기
- 레벨041-3 : 특정 파일의 날짜시간정보를 원하는 시간으로 변경하기
- 레벨041-4 : 지정한 파일의 시간정보를 특정파일의 날짜시간과 동일하게 변경하기
- 레벨042 : 이 파일에 들어있는 단어수, 행수가 몇 개인지 어떻게 알지?
- 레벨042-1 : 특정 파일의 바이트수, 단어수, 행수를 카운트하는 wc 기본사용법
- 레벨042-2 : wc로 특정 파일의 바이트수만 카운트하기
- 레벨042-3 : wc로 특정 파일의 문자(character)만 카운트하기
- 레벨042-4 : wc로 특정 파일의 행(lines)갯수 카운트하기
- 레벨042-5 : wc로 특정 파일 내에서 가장 긴 행의 길이 확인하기
- 레벨042-6 : wc로 특정 파일의 단어(words)수만 카운트하기
- 레벨042-7 : 두개이상의 파일의 행수, 단어수, 바이트수를 각각 확인하고 합한 결과까지 확인하기
- 레벨042-8 : 특정디렉토리내에 존재하는 전체 디렉토리개수 확인하는 간단한 방법
- 레벨043 : 뭐든 정렬해 주는 sort는 이렇게 사용한다.
- 레벨043-1 : 파일내용을 정렬하는 sort 개론과 사용법
- 레벨043-2 : sort로 정렬한 결과를 지정한 파일에 저장하기
- 레벨043-3 : 특정파일의 내용을 내림차순(역순)으로 정렬하기
- 레벨043-4 : 특정파일내용을 지정한 열을 기준으로 정렬하기
- 레벨043-5 : 특정파일내용을 지정한 열을 기준으로 내림차순(역순)정렬하기
- 레벨043-6 : 특정파일 정렬시 중복된 내용을 유일하게 정렬하기
- 레벨043-7 : 특정파일 정렬시 중복된 내용을 유일하게 역순정렬하기
- 레벨043-8 : 특정파일 정렬시 지정한 열을 기준으로하여 유일정렬하기
- 레벨043-9 : 현재 디렉토리내의 파일들을 용량기준으로 오름차순 정렬하기
- 레벨043-10 : 현재 디렉토리내의 파일들을 용량기준으로 내림차순 정렬하기
- du -h --max-depth=1 | sort -h -r -k 1 # -h human numeric sort -r reverse -k key
- 레벨043-11 : 현재디렉토리에 존재하는 파일명을 기준으로 오름차순 정렬하기
- 레벨043-12 : 현재디렉토리에 존재하는 파일명을 기준으로 내림차순 정렬하기
- sort -t'[CTRL + v i]' -k 4 -n -r
- -t'[CTRL + v i]' field separator로 tab 사용
- -k 4 4번째 field로 정렬
- -n 숫자로 정렬
- -r 거꾸로 정렬
- 한글 정렬이 안 되는 경우 LC_COLLATE=ko_KO.UTF8 사용
$ cat unsorted 가 다 나 라 바 마 a z c d b $ cat unsorted | sort -k1 가 다 나 라 바 마 a b c d z $ export LC_COLLATE=ko_KR.UTF8 $ cat unsorted | sort -k1 a b c d z 가 나 다 라 마 바
- 레벨044 : 뭐든 uniq한 것이 좋아요. 이것이 uniq이다.
- 레벨044-1 : 파일내의 연속되는 문장 확인하는 uniq
- 레벨044-2 : uniq명령어로 지정한 파일에서 연속되어 동일한 행을 한번만 출력하기
- 레벨044-3 : uniq명령어로 동일한 문장이 몇 번 연속되었는가를 확인하기
- 레벨044-4 : uniq명령어로 동일한 문장이 연속되는 문장들만 하나씩 출력하기
- 레벨044-5 : uniq명령어로 동일한 문장이 연속되는 문장들 모두 출력하기
- 레벨044-6 : uniq명령어로 지정한 파일의 내용을 유일하게 출력하기
- 레벨044-7 : uniq명령어로 겹치지 않는 유일한 행들만 출력하기
- 레벨044-8 : uniq명령어로 각 문장들의 처음부터 n번째 문자까지 비교대상으로 하여 결과를 출력하기
- 레벨044-9 : uniq명령어로 각 문장들의 맃번째 문자부터 N번째 문자까지는 비교대상에서 제외하여 결과를 출력하기
- 레벨044-10 : uniq명령어로 N필드(fields)를 비교대상에서 제외하기
- 레벨045 : 대문자는 소문자로, 소문자는 대문자로 바꿔드립니다.
- 레벨045-1 : 파일내의 영문자를 소문자 또는 대문자로 변경하거나 지정한 대로 변경하는 tr에 대하여
- 레벨045-2 : 지정한 파일의 모든 영문자를 대문자로 바꾸기
- 레벨045-3 : 지정한 파일의 모든 영문자를 소문자로 바꾸기
- 레벨045-4 : 지정한 파일내의 특정 문자 삭제하기
- 레벨046 : cut으로 이런 작업들이 모두 가능하나요?
- 레벨046-1 : cut명령어 개론과 사용시 적용되는 출력자릿수 적용방법들
- 레벨046-2 : 파일내의 각 행들의 특정 바이트에 해당하는 문자만 출력하기
- 레벨046-3 : 파일내의 각 행들의 특정 바이트들에 해당하는 여러문자들 출력하기
- 레벨046-4 : 파일내의 각 행들의 처음부터 특정 바이트문자까지 출력하기
- 레벨046-5 : 파일내의 각 행들의 특정 바이트부터 행의 끝 문자까지 모두 출력하기
- 레벨046-6 : 파일내의 각 행들의 N바이트부터 M바이트까지의 문자만을 출력하기
- 레벨046-7 : /etc/passwd파일에서 ID, 패스워드자리, UID만을 출력하기
- 레벨046-8 : /etc/passwd파일에서 ID와 ID의 홈디렉토리만을 출력하기
- 레벨046-9 : /etc/shadow파일에서 ID와 암호화된 패스워드만을 출력하기
- 레벨047 : 자! 이제 파일을 나누어서 저장해 봅시다.
- 레벨047-1 : 특정 파일을 나누어 저장하는 split 개론과 활용예
- 레벨047-2 : split명령어로 파일을 지정한 행수로 나누어서 저장하는 방법
- 레벨047-3 : split명령어로 특정 파일을 지정된 용량별로 나누어 저장하는 방법
- 레벨047-4 : split명령어로 특정 파일을 나눌 때에 자동생성되는 파일명의 길이 지정하기
- 레벨048 : 두파일을 비교하는 cmp의 다양한 사용법들
- 레벨048-1 : 두 파일을 비교하는 cmp명령어에 대하여
- 레벨048-2 : 두개의 파일 단순비교하기
- 레벨048-3 : 두 파일비교시 틀린문자의 갯수와 틀린문자의 8진수값을 각각 출력하기
- 레벨048-4 : 두 파일비교시 틀린부분에 대한 결과를 출력하지 않도록 하기
- 레벨048-5 : 두 파일 비교시 처음부터 지정된 위치까지는 무시하고 비교하기
- 레벨049 : 선배님! 파일의 종류는 어떻게 확인하나요?
- 레벨049-1 : 파일의 종류를 확인하는 file 실무활용
- 레벨049-2 : 파일의 종류를 확인하는 file명령어 기타옵션들
- 레벨050 : 선배님! 리눅스 명령어의 종류는 어떻게 확인하나요?
- 레벨050-1 : type명령어로 리눅스 명령어의 종류를 확인하기
- 레벨051 : 밑줄문자 표시의 진수를 보여주마.
- 레벨051-1 : 밑줄문자 표시하는 colcrt명령어 기본 사용법
- 레벨051-2 : 밑줄문자를 모두 억제하여 밑줄표시
- 레벨051-3 : 밑줄속성이 없는 행도 한행씩 띄워서 출력하기
- 레벨052 : 행이 아닌 열단위 삭제는 이렇게 하는 거야.
- 레벨052-1 : 표준입력 내용의 특정열을 삭제하는 명령어 colrm에 대하여
- 레벨052-2 : 특정 파일의 각행에서 지정된 열 뒷부분을 모두 삭제하고 출력하기
- 레벨052-3 : 특정 파일의 각행에서 시작열과 끝열을 생략하고 출력하기
- 레벨052-4 : 표준 입력된 내용의 각 행에서 특정 열 뒤를 모두 제외하고 출력하기
- 레벨052-5 : 표준 입력된 내용의 각 행에서 시작열과 끝열을 삭제하고 출력하기
- 레벨053 : 너! 가로본능 아니 가로정렬이라고 들어봤어?
- 레벨053-1 : 특정파일 또는 표준입력되는 텍스트를 가로정렬하는 column 사용법
- 레벨053-2 : 표준입력되는 문자열들을 가로->세로순으로 정렬하여 출력하기
- 레벨053-3 : 표준입력되는 문자열들을 특정문자를 기준으로 가로정렬하여 출력하기
- 레벨054 : 두파일의 행단위 비교의 달인 comm
- 레벨054-1 : 두 파일의 행과 행을 비교하는 comm명령어 개론
- 레벨054-2 : 첫번째 파일과 다른 부분의 두번째 파일내용과 공통된 내용만을 출력하기
- 레벨054-3 : 두번째 파일과 다른 부분의 첫번째 파일내용과 공통내용을 출력하기
- 레벨054-4 : 두파일 모두 존재하는 부분을 생략하고 두파일의 행비교하기
- 레벨055 : 이것이 진정한 블록(block)단위 복사의 마법이다.
- 레벨055-1 : 블록단위 파일복사 및 변환명령어 dd의 실무활용
- 레벨055-2 : dd로 파일복사하기
- 레벨055-3 : dd로 부팅디스켓 제작하는 방법
- 레벨055-4 : dd로 파일복사시 다양한 옵션들 함께 사용하기
- 레벨056 : 두 파일의 진정한 달인 diff는 이렇게 사용한다.
- 레벨056-1 : 파일 두개를 비교하는 diff명령어 개론
- 레벨056-2 : diff로 간단히 두파일의 차이점을 비교하기
- 레벨056-3 : diff로 보다 간단한 두 파일 비교하기
- 레벨056-4 : diff로 정의된 포맷으로 두파일의 차이점 출력하기
- 레벨056-5 : diff로 자세한 두 파일비교하기
- 레벨056-6 : diff로 두개의 디렉토리 차이점 비교하기(재귀적 비교)
- 레벨056-7 : diff로 두파일이 동일할 경우에만 결과를 출력하기
- 레벨056-8 : diff로 큰 파일비교시 속도를 빠르게 하기
- 레벨057 : 어라! 파일 3개도 한번에 비교가 되네.
- 레벨057-1 : 세개의 파일을 비교할 수 있는 diff3 명령어 개론
- 레벨057-2 : 모든 파일을 텍스트파일로 간주하여 3개의 파일 비교하기
- 레벨058 : 이 파일내에 존재하는 특정 문자열은 이렇게 검색하라.
- 레벨058-1 : 지정한 파일내에서 특정문자열에 해당하는 문자열 검색하기
- 레벨058-2 : 지정된 파일내에서 특정문자 찾기
- 레벨058-3 : 지정된 파일내에서 특정문자를 포함한 행의 개수 출력하기
- 레벨058-4 : 지정된 파일내에서 특정문자가 존재하지 않는 행만 검색하기
- 레벨058-5 : 지정된 파일 내에서 대소문자 구분없이 특정문자 검색하기
- 레벨058-6 : 특정 디렉토리내에서 디렉토리리스트만 확인하기
- 레벨058-7 : 특정 디렉토리내에서 일반파일리스트만 보기
- 레벨058-8 : 특정디렉토리 내에 존재하는 파일들 한번에 편집하는 명령어만들기
- 레벨059 : awk의 화려한 사용법은 무죄이므로 이런 방법 맘껏 활용하세요.
- 레벨059-1 : 특정 패턴의 문자들을 원하는 포맷으로 처리하는 강력한 유틸리티 awk 개론
- 레벨059-2 : /etc/passwd파일에서 계정명(ID)만 출력하기
- 레벨059-3 : /etc/passwd파일에서 각각의 ID와 홈디렉토리만을 출력하기
- 레벨059-4 : /etc/passwd 파일을 이용한 /etc/group 파일내용 만들기
- 레벨059-5 : /etc/passwd파일을 이용한 /etc/shadow 파일내용 만들기
- 레벨059-6 : /home디렉토리의 각 계정별로 압축하는 명령어 만들기
- 레벨059-7 : 각각 다른 여러디렉토리 내에 동일한 파일을 vi로 수정하는 명령어 만들기
- 레벨059-8 : 아파치 웹로그파일(access_log)에서 유일방문자수 카운트하기(유일 IP주소 카운트)
- 레벨060 : 파일내에서 지정한 문자열로 시작하는 행을 찾아드립니다.
- 레벨060-1 : 특정 파일내에서 지정한 문자열로 시작하는 행을 찾는 look 개론
- 레벨060-2 : 기본 사전파일에서 문자열 검색하기
- 레벨060-3 : 지정된 파일내에서 특정문자열로 시작하는 행 검색하기
- 레벨060-4 : 지정된 파일내에서 대소문자 구분없이 특정문자로 시작하는 행 검색
- 레벨061 : 특정 파일의 내용을 역순으로 출력한다.
- 레벨061-1 : 특정파일의 내용을 역순으로 출력하는 tac
- 레벨062 : 어라 expand와는 반대네. 공백을 TAB문자 처리하는 unexpand
- 레벨062-1 : 공백을 TAB문자로 대체하는 unexpand 사용법
- 레벨063 : 하드링크파일, 심볼릭링크파일 어떤 링크파일이든 생성해 드립니다.
- 레벨063-1 : 링크파일을 생성하는 ln명령어 개론
- 레벨063-2 : ln명령어로 하드링크파일의 생성, 활용, 삭제
- 레벨063-3 : ln명령어로 심볼릭링크파일의 생성, 활용, 삭제
- 레벨063-4 : 링크파일 생성시 대상파일이 존재할 경우에 백업파일 생성하기
- 레벨063-5 : 링크파일 생성시 대상파일이 존재할 경우에 삭제후 링크파일 생성하기
- 레벨063-6 : 링크파일 생성시 대상파일이 존재할 경우에 삭제여부 확인하기
- 레벨063-7 : 디렉토리 링크 생성하기
- 레벨063-8 : 다른위치의 링크파일 생성하기
- 레벨064 : 기본 명령어에 대한 심볼릭링크 관리기 alternatives
- 레벨064-1: 기본 명령어들의 심볼릭링크를 관리하는 alternatives
- 레벨064-2: alternatives시스템이 사용하는 두개의 디렉토리
- 레벨064-3: alternatives시스템이 사용하는 옵션과 액션(action)들
- 레벨064-4: alternatives 실제 사용예 보기
- 레벨065 : 파일의 내용을 2진수, 8진수, 16진수로 원하는 대로 표시하기
- 레벨065-1 : 특정 파일의 내용을 8진수로 표시하는 od 사용법
- 레벨065-2 : 특정 파일의 내용을 1byte 아스키(ASCII)문자로 표시하기
- 레벨065-3 : 특정 파일의 내용을1byte ASCII문자와 백슬래쉬()ESCAPES로 표시하기
- 레벨065-4 : 특정 파일의 내용을 1byte 부호없는 8진수로 표시하기
- 레벨065-5 : 특정 파일의 내용을 2바이트 부호없는 10진수로 표시하기
- 레벨065-6 : 특정 파일의 내용을 4바이트 부동소수점수로 표시하기
- 레벨065-7 : 특정 파일의 내용을 2바이트 부호없는 16진수로 표시하기
- 레벨065-8 : 특정 파일의 내용을 2바이트 부호있는 10진수로 표시하기
- 레벨065-9 : 특정 파일의 내용을 4바이트 부호있는 10진수로 표시하기
- 레벨065-10 : 특정 파일의 내용을 2바이트 부호없는 8진수로 표시하기
- 레벨065-11 : 특정 파일의 내용을 2바이트 16진수로 표시하기
- 레벨066 : 파일동기화 및 파일 변경여부를 확인하자.
- 레벨066-1 : 여러 시스템들 사이의 파일동기화 및 파일 변경여부 확인하는 rdist 사용법
- 레벨067 : 표준 입력으로 읽고 표준 출력으로 내보낸다.
- 레벨067-1 : 표준입력으로 읽어 표준출력으로 내보내는 tee 사용법
- 레벨025 : 선배님 ls로 알 수 있는 것이 이렇게나 많아요.
- PART 03. 파일찾기 및 명령어 검색편
- 레벨068 : 이것이 진정한 파일검색의 마법사 find 사용법이다.
- 레벨068-1 : 파일검색 유틸리티 find 개론
- 레벨068-2 : find에서 사용하는 PATH, OPTION, ACTION, OPERATOR 지정방법
- 레벨068-3 : 비어있는 파일 찾기
- 레벨068-4 : 지정한 UID 소유의 모든 파일찾기
- 레벨068-5 : 특정 사용자의 ID 소유로된 모든 파일 찾기
- 레벨068-6 : 특정 사용자의 홈디렉토리 내에서 특정 파일 찾기
- 레벨068-7 : 시스템내의 특정파일들을 검색하여 자동삭제하는 방법
- 레벨068-8 : 불필요한 파일들 한번에 모두 삭제하기
- 레벨068-9 : 특정용량 이상되는 파일들 모두 찾기(용량단위로 파일검색)
- 레벨068-10 : 특정 퍼미션을 가지고 있는 파일들 모두 찾기
- 레벨068-11 : 최근 몇분에 변경된 적이 있는 파일 검색
- 레벨068-12 : 최근 몇시간 이전(후)에 사용된 적이 있는 파일 검색
- 레벨068-13 : 최근 몇시간 이전에 변경된 적이 있는 파일 검색
- 레벨068-14 : 지정한 특정 파일보다 더 최근에 사용된 적이 있는 파일 검색
- 레벨068-15 : 지정한 특정 파일보다 더 최근에 변경된 적이 있는 파일 검색
- 레벨068-16 : 실행가능한 파일, 읽기 가능한 파일, 쓰기 가능한 파일들을 검색하기
- 레벨068-17 : 원하는 파일타입의 파일들 검색하기
- 레벨068-18 : root소유의 SetUID파일 찾기 (서버 보안점검시 사용)
- 레벨068-19 : 서버내부의 .rhosts 파일 찾아서 확인하기(서버 보안점검시 사용)
- 레벨068-20 : 서버내부에서 .bash_history 파일을 모두 찾아서 확인하기(서버보안점검시 사용)
- 레벨068-21 : 소유자가 없는 파일 또는 소유그룹이 없는 무적파일 찾기(서버 보안점검시 사용)
- 레벨068-22 : 특정문자를 포함하는 파일찾기와 그 문자가 속한 행 찾기
- e.g. 디렉토리의 모든 서브 디렉토리나 파일의 권한을 한 번에 바꾸기
find [YOURDIR] -type d -exec chmod 755 {} \;
find [YOURDIR] -type f -exec chmod 644 {} \;
- 이틀 이상 된 파일 삭제하기
find /some/directory/ -type f -mtime +2 -exec /bin/rm -f {} \;
- 레벨069 : 이 명령어는 어디에 있을까? 명령어의 절대경로를 확인하자.
- 레벨069-1 : 특정명령어의 위치를 찾아주는 which 활용
- 레벨070 : 이 명령어는 어떤 명령어일까? 간단히 답하세요.
- 레벨070-1 : 특정 명령어의 간략한 도움말 확인하는 whatis 사용법
- 레벨071 : 실행파일, 소스파일 및 맨페이지파일의 위치를 찾는다.
- 레벨071-1 : 실행파일, 소스, man페이지파일의 위치를 찾는 whereis 활용
- 레벨071-2 : 실행파일, 소스, man페이지파일의 위치를 찾는 whereis의 옵션들
- 레벨072 : 이런 패턴에 해당하는 파일은 어디에 있을까?
- 레벨072-1 : 특정패턴에 해당하는 파일을 찾는 locate 개론
- 레벨072-2 : 특정 패턴에 맞는 파일 가운데 지정한 개수만큼만 찾기
- 레벨072-3 : 특정 패턴에 해당하는 파일 가운데 특정 문자열을 가진 파일만 찾기
- 레벨068 : 이것이 진정한 파일검색의 마법사 find 사용법이다.
- PART 04. 하드디스크 관리편
- 레벨073 : 이것은 단순한 df가 아니다. 디스크 사용량 점검은 주기적으로 하라.
- 레벨073-1 : 현재 서버의 파일시스템별 디스크사용량 점검하는 df실무
- 레벨073-2 : 현재 서버의 디스크사용량을 파티션별로 확인하기
- 레벨073-3 : 현재 서버의 디스크사용량을 파티션별로 확인할 때에 용량을 Kbyte단위로 표시하기
- 레벨073-4 : 현재 서버의 디스크사용량을 파티션별로 확인할 때에 용량을 Mbyte단위로 표시하기
- 레벨073-5 : 현재 서버의 디스크사용량을 파티션별로 확인할 때에 표시되는 용량을 가장 알기쉬운 용량단위(byte, Kbyte, Mbyte, Gbyte등)로 표시하기
- 레벨073-6 : df로 디스크용량 확인시에 모든 파일시스템을 대상으로 점검하기
- 레벨073-7 : 파티션별로 디스크용량 점검시에 inode사용정보를 표시하기
- 레벨073-8 : df로 ?스크사용량을 출력할 때에 파일시스템의 종류와 함께 표시하기
- 레벨073-9 : df로 특정 파일시스템의 종류만을 대상으로 디스크사용량 조사하기
- 레벨073-10 : df로 특정 파일시스템의 종류를 제외한 디스크사용량 조사하기
- df 용량이 실제하고 안 맞을 때
- 상황: du로는 사용량이 맞지 않은데 df로는 거의 100%인 경우
- 원인: 보통 특정 프로세스가 file descriptor를 열고 해당 파일은 지워진 채 프로세스는 여전히 file write을 하는 경우 발생
- 해결: 1) lsof 명령(i.e. lsof /data1처럼 disk full인 파티션)으로 SIZE/OFF column의 값이 비정상적으로 큰 process를 찾아 kill
-
- lsof -n | grep deleted로 삭제된 것 처럼 보이지만 실제로는 삭제되지 않은 파일 확인해 process를 찾아 kill
- 그 외 디스크 언마운트/마운트, 서버 재부팅 등
- 레벨074 : 디렉토리별, 사용자별 디스크 사용량 점검은 이렇게 하라.
- 레벨074-1 : 특정 디렉토리의 용량을 확인하는 du
- 레벨074-2 : 특정 디렉토리의 전체 사용량 점검하기
- 레벨074-3 : 특정 디렉토리의 전체 사용량을 용량단위를 붙여서 점검하기
- 레벨074-4 : 일반 계정사용자의 홈디렉토리 전체 디스크 사용량 점검하기
- e.g. 현재 디렉토리에 포함된 디렉토리들만 사용량을 역순으로 정렬
- du -h --max-depth=1 | sort -h -r -k 1
- 레벨075 : 하드디스크의 속도 체크는 어떻게 하지.
- 레벨075-1 : hdparm로 SATA와 ATA장치에 대한 파라미터 설정 및 확인
- 레벨075-2 : hdparm로 디스크의 기본 설정정보 확인하기
- 레벨075-3 : hdparm명령어로 버퍼링되어 있지않은 데이터의 디스크 ACCESS 속도 체크하기
- 레벨075-4 : hdparm명령어로 버퍼링되어 있는 데이터와 되어있지않는 데이터의 ACCESS 속도 비교하기
- 레벨075-5 : hdparm명령어로 CD-ROM드라이브의 읽는속도 테스트하기
- 레벨075-6 : IDE 하드디스크 휴지 또는 준비상태로 전환하기
- 레벨076 : 하드디스크 배드블록 점검, 이젠 이렇게 점검하세요.
- 레벨076-1 : 하드디스크의 물리적인 장애발생과 시스템관리자의 책무
- 레벨076-2 : badblocks로 하드디스크에 배드블록의 존재유무 점검하기
- 레벨076-3 : CD-ROM과 DVD에 대한 배드블록의 존재유무 점검하기
- 레벨076-4 : USB스틱메모리에 대한 배드블록의 존재유무 점검하기
- 레벨076-5 : 플로피디스크의 배드블록 존재유무 점검하기
- 레벨076-6 : 배드블록 점검시 결과를 파일에 저장하기
- 레벨076-7 : badblocks으로 배드블록점검시 한번에 점검할 블록수 지정하기
- 레벨076-8 : badblocks으로 read/write모드로 배드블록 점검하기
- 레벨077 : 디스크 파티셔닝의 마법사 fdisk는 이렇게 다루어라.
- 레벨077-1 : 디스크파티션 설정, 관리를 위한 fdisk 개론
- 레벨077-2 : 현재 모든 디스크의 파티션 설정현황 파악하기
- 레벨077-3 : 특정 파티션을 대상으로한 fdisk 시작과 종료
- 레벨077-4 : 해당 디스크장치가 존재하지 않을 경우의 fdisk실행
- 레벨077-5 : fdisk모드에서 현재 설정된 디스크 파티션정보 확인하기
- 레벨077-6 : fdisk로 하드디스크 파티션 설정하기
- 레벨077-7 : 파티션 타입(types) 확인하기
- 레벨077-8 : 스왑영역으로 사용할 파티션 설정하기
- 레벨077-9 : 리눅스 부팅파티션 설정하기
- 레벨077-10 : 특정 파티션 삭제하기
- 레벨078 : 대용량 디스크 파티션관리자 parted 실무
- 레벨078-1: 대용량 디스크 파티션 관리자 parted 활용법
- 레벨078-2: 대용량 파티션 설정을 위한 parted 전용명령어 활용법
- 레벨078-3: parted 로 대용량 디스크 파티션을 마음대로 설정해 보자.
- 레벨073 : 이것은 단순한 df가 아니다. 디스크 사용량 점검은 주기적으로 하라.
- PART 05. 파일시스템 관리편
- 레벨079 : /etc/fstab파일을 모르면 리눅스를 안다고 절대 말하지 말라.
- 레벨079-1 : 리눅스 파일시스템 마운트 설정정보파일 /etc/fstab
- 레벨079-2 : /etc/fstab파일의 두가지 표현방법
- 레벨079-3 : /etc/fstab파일의 구조를 알아야 한다.
- 레벨080 : 파일시스템을 만들어라. 포맷을 하라. 난 mke2fs로 한다.
- 레벨080-1 : 리눅스 파일시스템을 생성하는 mke2fs 개론
- 레벨080-2 : mke2fs로 ext4타입으로 파일시스템 포맷하기
- 레벨080-3 : mke2fs로 ext3타입으로 파일시스템 포맷하기
- 레벨080-4 : mke2fs로 ext2타입으로 파일시스템 포맷하기
- 레벨080-5 : mke2fs로 파일시스템 생성(포맷)시에 파일시스템 레이블지정하기
- 레벨080-6 : 파일시스템생성시 블록크기(Block size) 지정하기
- 레벨080-7 : mke2fs로 파일시스템생성하기 전에 배드블록(bad block) 검사하기
- 레벨080-8 : mke2fs로 파일시스템 생성시 프레그먼트(Fragment)크기를 지정하기
- 레벨080-9 : mke2fs로 파일시스템 생성시 아이노드 당 바이트수를 지정하기
- 레벨080-10 : 파일시스템 생성시에 예비블록 크기를 지정하기
- 레벨081 : mke2fs만 있니. mkfs도 있다.
- 레벨081-1 : 리눅스 파일시스템 포맷하는 mkfs 실무
- 레벨081-2 : mkfs를 이용하여 ext4타입의 파일시스템 생성하기
- 레벨081-3 : mkfs를 이용하여 ext3타입의 파일시스템 생성하기
- 레벨081-4 : mkfs로 생성된 파일시스템 마운트하여 파일저장하기
- 레벨082 : 파일시스템 점검을 제대로 안하면 큰 욕본다. 제대로 점검하라.
- 레벨082-1 : 리눅스 파일시스템의 점검과 복구를 하는 e2fsck 개론
- 레벨082-2 : e2fsck명령어로 특정 파일시스템의 점검 및 복구하는 방법
- 레벨082-3 : e2fsck로 특정 파일시스템 강제 점검 및 복구하기
- 레벨082-4 : ext3(저널링)파일시스템의 점검 및 복구하기
- 레벨082-5 : e2fsck로 특정 파일시스템 강제 점검 및 상세 작업내역보기
- 레벨082-6 : 백업수퍼블록을 이용한 파일시스템 복구하기
- 레벨082-7 : e2fsck로 배드블록 마킹하기
- 레벨082-8 : e2fsck로 파일시스템 점검시 버퍼캐쉬의 내용을 디스크에 저장하기
- 레벨082-9 : e2fsck로 손상된 파일시스템 자동복구하기
- 레벨082-10 : e2fsck로 파일시스템 점검시 모든 질문항목에 Yes라고 자동입력하기
- 레벨083 : e2fsck만 있을까? fsck도 있다.
- 레벨083-1 : 파일시스템을 체크하고 복구하는 fsck 개론과 실무활용
- 레벨083-2 : fsck로 특정 파일시스템 점검하기 #1
- 레벨083-3 : fsck로 특정 파일시스템 점검하기 #2
- 레벨083-4 : fsck로 현재 시스템에 존재하는 모든 파일시스템을 점검하기
- 레벨083-5 : fsck로 특정 파일시스템의 타입을 지정하여 점검하기
- 레벨083-6 : fsck로 파일시스템 복구시에 복구여부 확인하기
- 레벨083-7 : fsck로 파일시스템 복구작업시 확인여부없이 자동복구하기
- 레벨083-8 : fsck의 실행 시뮬레이션하기
- 레벨084 : 파일시스템의 구조를 직접 확인하자. 이렇게.
- 레벨084-1 : 특정 파일시스템의 상세정보를 확인하는 dumpe2fs 개론
- 레벨084-2 : 특정 파일시스템의 상세정보와 그 사용내역 확인하기
- 레벨084-3 : 특정 파일시스템의 수퍼블록만 확인하기
- 레벨084-4 : 수퍼블록과 백업수퍼블록 저장위치 확인하기
- 레벨085 : 파일시스템 구조변경은 어떻게 할까? 이렇게
- 레벨085-1 : 파일시스템 튜닝명령어 tune2fs 개론
- 레벨085-2 : tune2fs로 특정 파일시스템의 수퍼블록정보 확인하기
- 레벨085-3 : tune2fs로 특정 파일시스템의 최대 마운트횟수 설정하기
- 레벨085-4 : tune2fs로 특정 파일시스템의 예비블록갯수 변경하기
- 레벨085-5 : tune2fs로 파일시스템의 예비블록 퍼센트 설정하기
- 레벨085-6 : tune2fs로 특정 파일시스템의 예비블록 사용자 설정하기
- 레벨085-7 : tune2fs로 특정 파일시스템의 예비블록 사용그룹 설정하기
- 레벨085-8 : tune2fs로 특정파일시스템의 레이블명 설정하기
- 레벨086 : 파일시스템 조작의 마법사, 파일시스템 디버깅의 화려한 기법들
- 레벨086-1 : 리눅스 파일시스템 디버거 debugfs의 실무사용과 삭제파일 복구하기
- 레벨086-2 : 파일시스템 디버거 debugfs의 실행과 종료하는 방법
- 레벨086-3 : 파일시스템 디버거 debugfs전용명령어의 사용도움말 보기
- 레벨086-4 : 파일시스템 디버거 debugfs모드에서 대상 파일시스템 오픈하기
- 레벨086-5 : 파일시스템 디버거 debugfs모드에서 열려진 파일시스템 닫기
- 레벨086-6 : 파일시스템 디버거 debugfs 읽기전용모드로 실행, 그리고 종료하기
- 레벨086-7 : 파일시스템 디버거 debugfs 쓰기모드로 실행, 그리고 종료하기
- 레벨086-8 : 파일시스템 디버거 debugfs모드에서 현재 작업디렉토리 출력하기
- 레벨086-9 : 파일시스템 디버거 debugfs 모드에서 디렉토리리스트 확인하기
- 레벨086-10 : 파일시스템 디버거 debugfs의 실행옵션에 대한 파라미터 보기
- 레벨086-11 : 파일시스템 디버거 debugfs모드에서 새로운 디렉토리 생성하기
- 레벨086-12 : 파일시스템 디버거 debugfs모드에서 현재 작업디렉토리 변경하기
- 레벨086-13 : debugfs를 실행하기 전의 디렉토리 원위치 변경하기
- 레벨086-14 : debugfs모드에서 파일시스템 내부의 특정디렉토리 삭제하기
- 레벨086-15 : 파일시스템 디버거 debugfs모드에서 파일시스템 내부의 특정 파일 삭제하기
- 레벨086-16 : debugfs모드에서의 파일복사하기
- 레벨086-17 : 리눅스에서 삭제된 파일들의 inode목록을 확인하기
- 레벨086-18 : 특정 파일시스템의 수퍼블럭의 정보 및 상태 확인하기
- 레벨086-19 : 특정파일시스템내에 존재하는 특정파일의 INODE 상세정보 확인하기
- 레벨086-20 : 현재상태에서 사용가능한 debugfs명령어 확인
- 레벨086-21 : 특정 파일시스템 내부의 현재위치에서 가장 가까운 빈 블록찾기
- 레벨086-22 : 특정 파일시스템 내부의 현재위치에서 빈 inode찾기
- 레벨086-23 : 파일시스템 디버거 debugfs모드에서 파일링크 삭제하기
- 레벨086-24 : 파일시스템 디버거 debugfs모드에서 파일링크 생성하기
- 레벨086-25 : debugfs를 이용한 삭제된 파일복구하기
- 레벨079 : /etc/fstab파일을 모르면 리눅스를 안다고 절대 말하지 말라.
- PART 06. 데몬과 프로세스 관리편
- 레벨087 : 쇇로세스 실행 우선순위는 어떻게 설정하나요? NICE값을 알고 nice를 알자.
- 레벨087-1 : 프로세스 실행우선순위 설정을 위한 nice
- 레벨087-2 : 일반적인 방법으로 실행한 명령어의 우선순위와 NICE값은?
- 레벨087-3 : NICE값을 지정하여 가장 높은 우선순위로 특정 명령어 실행하기
- 레벨087-4 : NICE값을 지정하여 가장 낮은 우선순위로 특정 명령어 실행하기
- 레벨088 : 프로세스의 실행 우선순위는 어떻게 변경하나요? renice를 알자.
- 레벨088-1 : 실행중인 프로세스의 우선순위 변경할 수 있는 renice 개념이해
- 레벨088-2 : renice 실행시에 특정 프로세스지정하는 몇가지 옵션들
- 레벨088-3 : renice로 실행중인 특정 프로세스의 우선순위 변경하기
- 레벨088-4 : renice로 실행중인 특정 프로세스에 최상위 우선순위 설정하기
- 레벨088-5: renice로 실행중인 특정 프로세스에 최하위 우선순위 설정하기
- 레벨089 : 아하 드뎌 나오셨군. 프로세스 확인하는 ps로군
- 레벨089-1 : 시스템 프로세스를 확인하는 가장 대표적인 ps 사용법
- 레벨089-2 : 특정 프로세스가 실행되어있는가 확인하기
- ps - eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -size | head -n 11
- ps -A -o comm,pmem,pid (memory 확인, http://www.fedoraforum.org/forum/showthread.php?p=903678)
- http://jmnote.com/wiki/리눅스_스왑_메모리_사용량순_프로세스_보기
- ps -eLf; 모든 thread 확인
- 레벨090 : 프로세스들의 실행구조는 이렇게 확인한다.
- 레벨090-1 : 실행중인 프로세스들을 트리(tree)구조로 확인하는 pstree사용법
- 레벨090-2 : 각 프로세스 명령행 옵션들까지 pstree로 확인하기
- 레벨090-3 : 현재 프로세스와 그의 조상프로세스를 강조하여 pstree 결과 출력하기
- 레벨090-4 : 각 프로세스들의 PID를 함께 표시하여 pstree 결과 출력하기
- 레벨090-5 : 프로세스의 이름으로 정렬하여 pstree결과 출력하기
- 레벨090-6 : pstree의 결과를 긴 출력문이 있더라도 그대로 출력하기
- 레벨090-7 : 특정 사용자 소유의 프로세스들 tree구조로 확인하기
- 레벨091 : 프로세스 모드전환은 이렇게 하라. 이유있는 bg사용법
- 레벨091-1 : 특정 프로세스를 백그라운드 실행모드로 전환시키는 bg명령어 개론
- 레벨091-2 : bg를 이용하여 백그라운드로 프로세스 실행하기
- 레벨091-3 : 명령실행시 백그라운드모드로 실행하기
- 레벨092 : 프로세스 모드전환은 이렇게 하라. 이유있는 fg사용법
- 레벨092-1 : 백그라운드 프로세스를 포그라운드(foreground)로 전환하는 fg개론과 사용법
- 레벨093 : 이런 프로세스는 죽여주세요. 프로세스 시그널 마법사 kill의 파워
- 레벨093-1 : 특정 프로세스에게 특정 시그널을 보내는 kill명령어 개론
- 레벨093-2 : kill명령어로 특정 프로세스 죽이기(시그널번호사용)
- 레벨093-3 : kill명령어로 특정 프로세스 죽이기(시그널기호사용)
- 레벨093-4 : kill명령어로 특정프로세스를 재시작하는 시그널 보내기
- 레벨093-5 : kill명령어에서 사용가능한 시그널들 모두 확인하기
- 레벨093-6 : kill명령어로 segmentation fault된 프로세스 종료하기
- 레벨093-7 : kill명령어로 특정프로세스에게 interrupt 시그널로 강제 중지하기
- kill -9 isn't enough; http://www.bravenewgeek.com/sometimes-kill-9-isnt-enough/
- 레벨094 : kill은 몰랐다. 한방에 해결하는 killall이 있다는 사실을.
- 레벨094-1 : 특정 프로세스를 모두 종료시키는 killall 개론
- 레벨094-2 : 아파치프로세스(httpd) 모두 종료하기
- 레벨094-3 : killall 실행으로 프로세스 종료시 종료여부 확인하기
- 레벨094-4 : killall실행에서 가능한 시그널목록을 확인하기
- 레벨094-5 : killall 실행으로 프로세스 종료시 세부정보 보여주기
- 레벨094-6 : killall 실행으로 지정한 프로세스 완전히 종료될 때까지 지속적인 종료시도하기
- 레벨094-7 : killall로 특정 프로세스를 재시작하는 시그널을 보내기
- 레벨094-8 : killall로 특정 프로세스들에게 종료시그널 번호(-9)를 보내기
- 레벨095 : 제발 말아주세요. killall5
- 레벨095-1 : 모든 프로세스에게 특정 시그널을 보내는 killall5 개론
- 레벨095-2 : killall5명령어를 사용하는 halt스크립트 확인하기
- 레벨095-3 : killall5명령어로 모든 프로세스 종료시그널 보내기
- 레벨096 : 시스템 부팅시에 시작할 서비스 설정은 ntsysv로 하면 편리하겠군.
- 레벨096-1 : 리눅스 부팅시에 실행할 서비스 설정 유틸리티 ntsysv 사용법
- 레벨096-2 : 특정 런레벨에서 부팅시 자동실행 할 서비스 설정하기
- 레벨096-3 : 동시에 여러 개의 런레벨에서 부팅시 자동실행 할 서비스 설정하기
- 레벨097 : 이것 모르면 절대 고수 못된다. 화려한 chkconfig의 사용법들
- 레벨097-1 : 부팅시 자동실행할 서비스 설정하는 chkconfig 사용법 사용법
- 레벨097-2 : chkconfig로 관리되는 전체 리스트 껈인하기
- 레벨097-3 : 특정 서비스를 chkconfig관리항목에 등록 및 등록제거
- 레벨097-4 : chkconfig로 특정 서비스 부팅시 자동실행 설정하기
- 레벨097-5 : chkconfig로 특정 서비스 부팅시 자동실행 되지 않도록 설정하기
- 레벨097-6 : chkconfig로 특정 서비스에 대하여 2개 이상의 런레벨에서 자동실행 설정하기
- 레벨098 : 절대 몰랐다. fuser가 이런 명령어라는 사실을.
- 레벨098-1 : 특정 파일을 사용하고 있는 PID를 확인하는 fuser 개론과 실무활용
- 레벨098-2 : fuser의 버전 확인하기
- 레벨098-3 : 현재 fuser에서 가능한 signal을 확인한다.
- 레벨098-4 : 특정 파일이나 디렉토리를 사용하는 프로세스의 PID확인하기
- 레벨098-5 : 특정파일이나 특정 디렉토리를 사용하고있는 프로세스 모두 죽이기
- 레벨098-6 : 특정 데몬(프로세스)파일이 사용하고 있는 상세정보 확인
- 레벨098-7 : 가능한 모든 프로세스들의 상세 정보확인하기
- 레벨099 : 프로세스 리스트 확인을 쉽게하는 방법
- 레벨099-1 : 실행시킨 프로세스리스트 확인하는 jobs의 개론과 활용
- 레벨099-2 : jobs로 실행중인 프로세스들의 PID 확인하는 방법들
- 레벨100 : 특정 프로세스의 PID 확인은 이렇게 하라.
- 레벨100-1 : 특정 프로세스의 PID를 출력하는 pidof 사용법
- 레벨100-2 : vsftpd프로세스의 PID만을 출력하기
- 레벨100-3 : 여러 개의 프로세스가 있을 경우에 하나의 PID만을 출력하기
- 레벨100-4 : 지정된 PID는 생략하고 출력하기
- 레벨101 : 시스템 자원을 사용한 시간통계를 확인하자.
- 레벨101-1 : 실행한 프로그램의 시스템자원 사용시간 통계를 확인하는 time 사용법
- 레벨101-2 : top을 실행하면 시스템자원은 얼마나 사용할까?
- 레벨102 : 프로세스 사용시간을 확인하자.
- 레벨102-1 : 프로세스 사용시간을 확인하는 times
- 레벨087 : 쇇로세스 실행 우선순위는 어떻게 설정하나요? NICE값을 알고 nice를 알자.
- PART 07. 시스템 관리도구편
- 레벨103 : 마운트(mount)라는 이름부터 실사용법까지 화려한 마운트의 사용법
- 레벨103-1 : 마운트(mount)란 무엇을 의미하며 왜 사용하는가? 그, 실질적인 의미
- 레벨103-2 : 리눅스에 장착된 CD-ROM데이터 사용하기 실무
- 레벨103-3 : 특정 파일시스템을 읽기만 가능하도록 마운트하기(쓰기금지 마운트)
- 레벨103-4 : 읽기,쓰기 가능하도록 마운트하기
- 레벨103-5 : 현재 마운트된 정보 자세히 살펴보기
- 레벨103-6 : 다양한 파일시스템 유형에 맞는 여러가지 마운트 방법
- 레벨103-7 : ext3 타입의 파일시스템 마운트하기
- 레벨103-8 : ext2 타입의 파일시스템 마운트하기
- 레벨103-9 : iso9660파일시스템 타입으로 마운트하기
- 레벨103-10 : vfat 윈도우파일시스템 마운트하여 윈도우디스크 사용하기
- 레벨103-11 : MSDOS 파일시스템으로 포맷된 디스켓을 마운트하여 사용하는 방법
- 레벨103-12 : 원격서버의 파일시스템 마운트하여 사용하기(NFS마운트하는 방법)
- 레벨103-13 : 리눅스시스템에서 USB 메모리 스틱 사용하기
- 레벨103-14 : 윈도우 시스템에서 사용하던 USB 메모리스틱을 리눅스에서 사용하기
- 레벨104 : 마운트는 umount를 싫어한다.
- 레벨104-1 : 마운트한 장치 해제하는 umount에 대하여
- 레벨104-2 : CD-ROM마운트 해제하기
- 레벨104-3 : USB 스틱메모리 마운트 해제하기
- 레벨104-4 : 하드디스크의 특정 파일시스템 마운트 해제하기
- 레벨104-5 : /etc/mtab파일에 저장된 모든 파일시스템 언마운트하기
- 레벨105 : 시스템메모리 사용현황을 파악하는 방법
- 레벨105-1 : 시스템 메모리 현황을 확인하는 free
- 레벨105-2 : free명령어로 시스템 메모리 사용현황 확인하기
- 레벨105-3 : free명령어로 메모리사용현황을 byte단위로 확인하기
- 레벨105-4 : free명령어로 메모리사용현황을 kilo byte단위로 확인하기
- 레벨105-5 : free명령어로 메모리사용현황을 mega byte단위로 확인하기
- 레벨105-6 : free명령어로 메모리사용현황 확인시 total용량 보여주기
- 레벨105-7 : free명령어로 메모리사용현황 확인시 버퍼라인 생략하기
- 레벨105-8 : free명령어로 메모리사용현황정보를 초단위 갱신하여 확인하기
- 레벨106 : 시스템 부하율을 점검하는 방법
- 레벨106-1 : 시스템 부하율을 점검하는 uptime 사용법
- 레벨107 : MS윈도우의 작업관리자가 리눅스에도 있었네. 화려한 top의 마법
- 레벨107-1 : 전체적인 시스템 운용상태 실시간 점검하는 top 개론
- 레벨107-2 : 시스템 모니터링 유틸리티top의 도움말 확인하기
- 레벨107-3 : 시스템 관리 top 유틸리티의 실행과 제공정보 분석 및 활용방법
- 레벨107-4 : top으로 확인되는 시스템 운영상황의 refresh시간을 조정하여 모니터링하기
- 레벨107-5 : top으로 확인되는 시스템운영상황을 지연시간없이 실시간으로 계속 refresh하여 모니터링하기
- 레벨107-6 : top의 결과에서 실행중인 프로세스들의 전체명령행으로 확인하기
- 레벨107-7 : top화면에서 여러가지 작업들 수행하기
- 레벨107-8 : top의 결과를 CPU사용율이 많은 프로세스 순서대로 정렬하여 보기
- 레벨107-9 : top의 결과를 메모리 사용율이 높은 프로세스 순서대로 정렬하여 보기
- 레벨107-10 : top의 결과를 실행시간이 오래된 프로세스 순서대로 정렬하기
- 레벨107-11 : top의 결과를 idle프로세스들을 모두 감추고 간단히 확인하는 방법
- 레벨107-12 : top실행상태에서 특정 프로세스 죽이기
- 레벨107-13 : top실행결과화면에 프로세스들의 우선순위 조정하기
- 레벨107-14 : top실행결과의 프로세스들 중 특정 사용자가 실행한 프로세스만 확인하기
- 레벨107-15 : top의 결과로 출력되는 필드(Field)순서를 지정하기
- 레벨107-16 : top의 결과로 출력되는 필드(Field)를 추가 또는 제거하기
- 레벨107-17 : top의 설정파일(/root/.toprc) 활용
- top 실행 -> shift + O -> P, [enter]
- http://jmnote.com/wiki/리눅스_스왑_메모리_사용량순_프로세스_보기
- top은 mmap등으로 memory를 공유하는 경우를 구분하지 못함. 이 경우 pmap -d [pid]를 실행하면 해당 process가 홀로 사용하는 메모리와 공유하는 메모리를 볼 수 있음
- 레벨108 : 누가 언제 로그인했을까를 확인하는 최고의 방법
- 레벨108-1 : 각 계정사용자들의 서버 접속정보 확인하는 last 개론
- 레벨108-2 : 시스템 계정사용자의 접속정보 확인하는 가장 기본적인 방법
- 레벨108-3 : 특정 계정사용자의 시스템 접속정보 확인하기
- 레벨108-4 : last의 결과중 일부만 확인하기
- 레벨108-5 : 접속정보 중 IP주소정보를 제외한 나머지 정보만 확인하기
- 레벨108-6 : last로 접속정보 확인시 IP주소를 행의 마지막 열에 표시하기
- 레벨108-7 : 외부에서 접속한 정보와 재부팅 정보만을 확인하기
- 레벨108-8 : 특정일 이전에 시스템에 접속한 계정사용자 정보 확인하기
- 레벨108-9 : 시스템의 재부팅 정보만을 확인하기
- 레벨109 : 각 사용자별 최근 접속정보만을 확인하자.
- 레벨109-1 : 시스템 각 계정의 최근 접속정보를 확인하는 lastlog 개론
- 레벨109-2 : 시스템 각 계정의 최근 접속정보 확인하기
- 레벨109-3 : 특정 계정사용자의 시스템 최근 접속정보 확인하기
- 레벨109-4 : 지정한 몇일 이전에 접속한 마지막 접속정보만 확인하기
- 레벨109-5 : 최근 몇일 전부터 현재까지의 마지막 접속정보만 확인하기
- 레벨110 : 자주 사용하는 명령어는 원하는 이름의 별칭으로 사용하자.
- 레벨110-1 : 리눅스 명령어 별칭만들어 간편하게 사용하는 alias 개론
- 레벨110-2 : 현재 설정되어 있는 alias들 확인하기
- 레벨110-3 : 현재위치에서 디렉토리정보만 확인하는 alias명령어 만들기
- 레벨110-4 : 숨긴파일과 디렉토리까지 모두 확인하는 alias만들기
- 레벨110-5 : 파일삭제시 확인과정없이 간편히 삭제하기
- 레벨110-6 : 자주사용하는 ssh명령어 alias 설정으로 간편하게 사용하기
- 레벨110-7 : 자주사용하는 서버의 ncftp명령어 alias 설정으로 간편하게 사용하기
- 레벨110-8 : 아파치 (재)시작,종료명령어 alias 설정으로 간소화하기
- 레벨111: 불필요한 별칭명령어를 해제하자.
- 레벨111-1 : 별칭(alias) 설정을 해제하는 unalias에 대하여
- 레벨111-2 : unalias로 특정 alias설정 해제하기
- 레벨111-3 : 현재 사용자의 모든 alias설정 해제하기
- 레벨112 : 휴대용 시스템의 전원관리 정보확인
- 레벨112-1 : 휴대용시스템의 전원관리 정보를 확인하는 apm
- 레벨113 : 시스템을 일정시간동안 정지시키는 apmsleep
- 레벨113-1 : 전원을 이용하여 시스템을 일정시간동안 정지시키는 apmsleep
- 레벨114 : 시스템 플랫폼 확인하기
- 레벨114-1 : 리눅스가 설치된 기계의 아키텍쳐(플랫폼) 확인하기
- 레벨115 : 화면정리의 달인 clear
- 레벨115-1 : 지저분한 화면정리하는 clear 활용법
- 레벨116 : 시스템이 부팅할 때 우리에게 전달한 메시지 확인
- 레벨116-1 : 시스템 부팅메시지를 확인하는 dmesg
- 레벨116-2 : 시스템 부팅메시지 전체를 확인하기
- 레벨116-3 : 시스템 부팅메시지 중 CPU정보만 확인하기
- 레벨116-4 : 시스템 부팅메시지 중 MEMORY정보만 확인하기
- 레벨116-5 : 시스템 부팅메시지 중 하드디스크정보만 확인하기
- 레벨116-6 : 시스템 부팅메시지 중 커널정보만 확인하기
- 레벨116-7 : 시스템 부팅메시지 중 NIC정보만 확인하기
- 레벨116-8 : 시스템 부팅메시지 중 플로피디스크정보만 확인하기
- 레벨117 : 이런 것도 있었나. CD와 DVD를 명령어로 배출하기
- 레벨117-1 : 현재 사용중인 장치, 특히 DVD eject(배출) 시키기
- 레벨117-2 : eject의 다양한 옵션들 사용하기
- 레벨118 : 명령어 히스토리파일의 활용을 위한 이전 사용명령어 편집하는 방법
- 레벨118-1 : 히스토리파일에 저장되어있는 명령어들의 선택과 사용했던 명령어를 편집하는 fc명령어 개론
- 레벨118-2 : 히스토리파일(.bash_history)에 저장된 최근 명령어리스트 확인하기
- 레벨118-3 : 히스토리파일(.bash_history)에 저장된 명령어리스트 중 지정범위의 리스트 출력하기
- 레벨118-4 : 히스토리파일(.bash_history)의 리스트를 확인하면서 명령어 번호없이 확인하기
- 레벨118-5 : 히스토리파일(.bash_history)의 리스트를 확인하면서 역순으로 명령어 확인하기
- 레벨118-6 : 히스토리파일(.bash_history)의 내용중 지정된 문자열에 해당하는 가장 최근의 명령어 실행하기
- 레벨118-7 : 가장 최근에 사용했던 명령어를 지정된 편집기로 편집한 다음 실행하기
- 레벨119 : 아직도 플로피디스크를 사용하나.
- 레벨119-1 : 플로피디스크를 포맷하는 fdformat 개론
- 레벨119-2 : fdformat명령어로 플로피디스크 포맷하기
- 레벨120 : 입력내용을 기본컬럼에 맞추어 출력하기
- 레벨120-1 : 입력내용을 기본컬럼에 맞추어 출력하는 fold 개론과 응용
- 레벨121 : 키보드 매핑테이블을 확인하자.
- 레벨121-1 : 현재 사용중인 키보드 매핑테이블 확인하는 getkeycodes
- 레벨122 : 사용했던 명령어들의 절대경로를 확인하기
- 레벨122-1 : 사용했던 명령어들의 절대경로를 확인하는 hash 개론과 기본사용법
- 레벨122-2 : hash table에서 기억하고 있던 특정명령어만 지우기
- 레벨123 : 명령어 재사용의 필수코스 history 활용법
- 레벨123-1 : 명령어리스트의 확인과 재사용을 할 수 있는 history 개론
- 레벨123-2 : history명령어의 기본 사용예
- 레벨123-3 : 최근에 사용했던 명령어를 지정한 개수만큼 확인하기
- 레벨123-4 : 사용했던 명령어들 가운데 특정 문자와 관련된 명령어리스트 확인하기
- 레벨123-5 : 사용했던 명령어들의 리스트를 특정 파일로 저장하는 방법
- 레벨123-6 : 가장 최근에 사용했던 명령어 재실행하는 가장 간단한 방법
- 레벨123-7 : 사용했던 명령어를 차례대로 탐색하면서 재사용하기
- 레벨123-8 : 사용했던 명령어의 번호를 지정하여 재실행하기
- 레벨123-9 : 사용했던 명령어 가운데 특정문자열에 가장 가까운 명령어 재사용하기
- 레벨124 : 시스템 호스트ID를 확인하자.
- 레벨124-1 : 현재 시스템의 호스트ID를 확인하는 hostid
- 레벨125 : 시스템의 호스트네임을 확인하자.
- 레벨125-1 : 호스트네임을 확인하는 hostname명령어 개론
- 레벨125-2 : 현재 시스템의 호스트네임 변경하기
- 레벨125-3 : 현재 시스템의 호스트명만을 확인하기
- 레벨125-4 : 현재 시스템의 DNS도메인네임 확인하기
- 레벨125-5 : 현재 시스템의 호스트명과 DNS도메인네임을 함께 확인하기
- 레벨125-6 : hostname으로 IP주소 및 NIS/YP 도메인네임 확인하기
- 레벨126 : 시스템 키보드모드 확인 및 설정하기
- 레벨126-1 : 시스템 키보드모드 확인과 설정하는 kbd_mode 개론과 활용
- 레벨126-2 : 키보드모드를 UTF-8모드로 변경하기
- 레벨126-3 : 키보드모드를 KEYCODE모드로 변경하기
- 레벨126-4 : 키보드모드를 ASCII모드로 변경하기
- 레벨126-5 : 키보드모드를 SCANCODE모드로 변경하기
- 레벨127 : 키보드의 키반복율과 지연시간을 설정할 수 있을까.
- 레벨127-1 : 시스템 키보드의 키반복율과 지연시간을 설정하는 kbdrate 실무활용
- 레벨127-2 : 시스템 플랫폼별 키반복율과 지연시간의 기본값 설정하기
- 레벨127-3 : 키보드의 키반복율(repeat rate)과 지연시간(delay time)을 설정하기
- 레벨127-4 : 키보드의 키반복율(repeat rate)과 지연시간(delay time)의 설정범위
- 레벨128 : 아하! sendmail에서 makemap을 모르면 안되지.
- 레벨128-1 : sendmail 데이터베이스 맵파일 갱신하기 makemap
- 레벨129 : 아직도 부팅디스크가 필요하나. 부팅CD만 있으면 되지.
- 레벨129-1 : mkbootdisk로 리눅스 부팅디스크 제작하기
- 레벨130 : 터미널 초기화 명령어 reset
- 레벨130-1 : 터미널 초기화명령어 reset 사용법
- 레벨131 : 후배들은 선배들의 서버작업내용을 모두 알고싶어한다.
- 레벨131-1 : 서버작업내용을 지정한 파일에 자동저장하기
- 레벨131-2 : 터미널에 작업중인 내용을 텍스트형태로 모두 저장하기
- 레벨131-3 : 터미널에 작업중인 내용을 지정한 특정 파일에 모두 저장하기
- 레벨131-4 : 터미널에 작업중인 내용을 지정한 파일에 추가 저장하기
- 레벨132 : 가장 기본적인 리눅스 설정유틸리티 setup
- 레벨132-1 : 리눅스 설정유틸리티 setup 에 대하여
- 레벨133 : 특정파일에서 문자와 숫자들만 확인하는 방법
- 레벨133-1 : 바이너리파일내의 영숫자문자들을 확인하는 strings 활용
- 레벨134 : 단일사용자모드를 지정하는 sulogin
- 레벨134-1 : 단일사용자 모드를 지정하는 sulogin에 대하여
- 레벨135 : 이거 모르면 시스템관리 절대 못한다. 가끔씩 심심하면 sync하라.
- 레벨135-1 : 디스크에 저장되어 있지 않은 메모리 버퍼의 데이터를 디스크에 저장하는 sync 활용
-
cache memory를 해제해 free memory를 늘리려면
# free && sync && echo 3 > /proc/sys/vm/drop_caches && free total used free shared buffers cached Mem: 37140848 18258316 18882532 0 148296 15631864 -/+ buffers/cache: 2478156 34662692 Swap: 2097144 1476432 620712 total used free shared buffers cached Mem: 37140848 2400644 34740204 0 744 27684 -/+ buffers/cache: 2372216 34768632 Swap: 2097144 1476432 620712
-
- 레벨135-1 : 디스크에 저장되어 있지 않은 메모리 버퍼의 데이터를 디스크에 저장하는 sync 활용
- 레벨136 : 일정기간이상 사용되지 않은 파일은 자동삭제되도록 하라.
- 레벨136-1 : 일정기간이상 사용되지않은 파일 자동삭제하는 tmpwatch 사용법
- 레벨137 : 특정 쉘과 특정 프로세스에 대한 시스템자원 사용을 제한하는 ulimit
- 레벨137-1 : 쉘과 사용자의 프로세스에 대한 시스템 자원사용을 제한하는 ulimit 개론
- 레벨137-2 : ulimit으로 현재 시스템 자원의 모든 제한사항을 확인하기
- 레벨137-3 : ulimit으로 core파일 크기제한 및 생성되지 않도록 설정하기
- 레벨137-4 : ulimit으로 쉘이 생성가능한 파일의 최대크기 제한하기
- 레벨137-5 : ulimit으로 한 사용자의 사용가능한 프로세스의 최대갯수 제한하기
- 레벨137-6 : ulimit으로 쉘이 사용할 수 있는 가상메모리의 최대량 제한하기
- 레벨137-7 : ulimit으로 오픈가능한 FD(File Descriptor)의 최대갯수 제한하기
- 레벨137-8 : ulimit명령어로 스택의 최대크기 제한하기
- 레벨137-9 : ulimit명령어로 초당 사용가능한 CPU시간 제한하기
- 레벨137-10 : ulimit명령어로 메모리에 상주가능한 최대 크기 제한하기
- cf. ulimit 설정 http://golmong.tistory.com/223
- 레벨138 : 시스템 정보를 확인하자. uname을 알자.
- 레벨138-1 : 시스템정보를 확인하는 uname에 대하여
- 레벨138-2 : 시스템의 가능한 모든 정보확인하기
- uname -s
- 레벨138-3 : 현재 운영체제 이름만 확인하기
- uname -a
- 레벨138-4 : 네트웍노드 호스트이름에 대한 정보 확인하기
- 레벨138-5 : 운영체제 버전 확인하기
- 레벨138-6 : 커널(운영체제) 배포버전 확인하기
- 레벨138-7 : 시스템의 하드웨어타입(type)정보 확인하기
- 레벨138-8 : 운영체제정보를 확인하기
- 레벨138-9 : 시스템의 하드웨어 플랫폼(platform)정보 확인하기
- 레벨138-9 : uname으로 필요한 시스템정보만 출력하기
- http://www.cyberciti.biz/faq/linux-get-number-of-cpus-core-command/
- nproc, lscpu, see "/proc/cpuinfo" i.e. grep -i --color "model name" /proc/cpuinfo
- cf) http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/system.html
- http://coffeenix.net/board_view.php?bd_code=111
- 레벨139 : 우리는 시스템 장치파일도 만들어서 사용한다.
- 레벨139-1 : 리눅스 특수파일 및 장치파일 생성하는 mknod 개론
- 레벨139-2 : mknod로 주번호가 3번인 Character 특수파일 생성하기
- 레벨139-3 : mknod로 주번호가 5번인 Block 특수파일 생성하기
- 레벨139-4 : mknod로 특수파일 생성시 파일퍼미션 설정하기
- 레벨140 : 얼마나 편리한지 몰라요. 쉘에서 사용하는 시스템 계산기
- 레벨140-1 : 리눅스 시스템 전용계산기 bc에 대하여
- 레벨140-2 : 10진법으로 리눅스 계산기 사용하기(bc)
- 레벨140-3 : 리눅스 계산기 bc에서 계산결과를 2진수로 출력하기
- 레벨140-4 : 리눅스 계산기 bc에서 결과를 8진수로 출력하기
- 레벨140-5 : 리눅스 계산기 bc에서 결과를 16진수로 출력하기
- 레벨140-6 : 리눅스 계산기 bc에서 다시 10진수로 출력하는 설정하기
- 레벨140-7 : 리눅스 계산기 bc에서 입력값을 2진수로 받아들여 결과를 10진수로 출력하기
- 레벨140-8 : 리눅스 계산기 bc에서 출력결과 소수점 자리수 지정하기
- 레벨103 : 마운트(mount)라는 이름부터 실사용법까지 화려한 마운트의 사용법
- PART 08. 시스템시작과 종료 및 재부팅 편
- 레벨141 : 시스템 종료와 재부팅의 마술사 shutdown
- 레벨141-1 : 시스템 종료와 재부팅 명령어 shutdown 사용법
- 레벨141-2 : shutdown으로 시스템 즉시 종료하기
- 레벨141-3 : 지정된 메시지를 알리고 일정시간 후에 시스템 종료하기
- 레벨141-4 : shutdown명령어로 시스템 재부팅하기
- 레벨141-5 : 시스템 종료명령어 취소하기
- 레벨141-6 : 시스템종료없이 종료메시지만 알리기
- 레벨142 : 시스템 재부팅은 간단히 reboot이라고 하세요.
- 레벨142-1 : 시스템 재부팅하는 reboot 사용법
- 레벨143 : 시스템을 종료하려면 이것은 꼭 알아야 한다.
- 레벨143-1 : 시스템을 종료하는 halt명령어 개론과 활용
- 레벨143-2 : halt명령어로 시스템 종료하기
- 레벨143-3 : sync작업하지 않고 시스템 종료하기
- 레벨143-4 : 시스템 강제종료하기
- 레벨143-5 : 시스템 종료와 함께 시스템 전원 끄기
- 레벨144 : 모든 프로세스의 부모프로세스 init프로세스 파워활용
- 레벨144-1 : init프로세스의 의미와 부팅과정에서의 init프로세스의 역할
- 레벨144-2 : 시스템 부팅후의 init프로세스의 점검하기
- 레벨144-3 : init명령어와 시스템 실행레벨
- 레벨144-4 : init명령어로 실행레벨(runlevel) 0(시스템종료)으로 변경하기
- 레벨144-5 : init명령어로 실행레벨(runlevel) 1(싱글모드)로 변경하기
- 레벨144-6 : init명령어로 실행레벨(runlevel) 2로 변경하기
- 레벨144-7 : init명령어로 실행레벨(runlevel) 3로 변경하기
- 레벨145 : 시스템 실행레벨을 확인하려면 어떻게 하나요.
- 레벨145-1 : 현재 서버의 실행레벨을 확인하는 runlevel 사용법
- 레벨145-2 : utmp파일에 새로운 런레벨을 기록하기
- 레벨145-3 : utmp파일에 새로운 부팅시간을 기록하기
- 레벨145-4 : 현재 운영중인 시스템의 런레벨 변경하기
- 레벨146 : 시스템을 종료하는 또하나의 방법
- 레벨146-1 : 서버종료 명령어 poweroff 개론과 기본 사용법
- 레벨146-2 : sync작업을 하지않고 poweroff로 서버종료하기
- 레벨147 : 시스템의 가장 기본적인 매직키를 아세요.
- 레벨147-1 : 리눅스 시스템의 매직키 ctrlaltdel 활용법
- 레벨141 : 시스템 종료와 재부팅의 마술사 shutdown
- PART 09. 시스템날짜와 시간관리편
- 레벨148 : 시스템 날짜시간을 확인하고 재설정을 하려면 어떻게 하죠.
- 레벨148-1 : 시스템 날짜, 시간을 확인하고 설정하는 date명령어의 실무활용
$ date Thu Aug 21 15:28:30 KST 2014 $ date +%Y%m%d%H%M 201408211508 $ for i in {1..3}; do date -d "-$i days" +%Y%m%d%H%M; done 201408201508 201408191508 201408181508
- 레벨149 : 시스템 시간을 주기적으로 자동확인하고 맞추는 방법
- 레벨149-1 : 원격타임서버로부터 날짜시간정보 가져오는 rdate 개론과 사용법
- 레벨149-2 : 재부팅시 자동 날짜시간정보 적용하기
- 레벨149-3 : 주기적으로 cron에 의한 날짜시간정보 적용
- 레벨150 : 리눅스 시스템의 시간대를 설정하려면
- 레벨150-1 : 리눅스 시스템의 시간대 설정을 위한 timeconfig 설정법
- 레벨151 : 리눅스시스템의 시간개념이 2가지라는 것을 아시나요
- 레벨151-1 : CMOS의 시간을 설정하는 hwclock 개론
- 레벨151-2 : 하드웨어의 시간과 운영체제의 시간을 각각 확인하기
- 레벨151-3 : 운영체제의 시간을 참조하여 하드웨어 시간 재설정하기
- 레벨151-4 : 하드웨어의 시간을 참조하여 운영체제의 시간을 재설정하기
- 레벨151-5 : 운영체제 시간을 재설정후에 다시 하드웨어 시간 재설정하기
- 레벨152 : 0001년도 달력과 9999년도 달력을 내마음대로
- 레벨152-1 : 원하는 달력을 마음대로 출력하는 cal 개론
- 레벨152-2 : cal명령어로 당월 달력 확인하기
- 레벨152-3 : cal명령어로 3개월간의 달력 확인하기
- 레벨152-4 : cal명령어로 당해년도 12개월의 달력을 확인하기
- 레벨152-5 : cal명령어로 월요일을 일주일의 시작으로 달력 출력하기
- 레벨152-6 : cal명령어로 율리우스력으로 달력을 출력하기
- 레벨152-7 : cal명령어로 0001년도의 달력 확인해보기
- 레벨152-8 : cal명령어로 9999년의 달력 확인하기
- 레벨148 : 시스템 날짜시간을 확인하고 재설정을 하려면 어떻게 하죠.
- PART 10. 퍼미션과 속성 그리고 SetUID활용편
- 레벨153 : 파일과 디렉토리의 퍼미션설정, 그리고 SetUID, SetGID, Stickybit 파워활용
- 레벨153-1 : 파일과 디렉토리의 퍼미션(permission) 개념잡기
- 레벨153-2 : 8진수로 파일의 퍼미션 설정하기
- 레벨153-3 : 특정 문자로 퍼미션 설정하기
- 레벨153-4 : 여러개의 파일과 디렉토리의 퍼미션 동시에 설정하기
- 레벨153-5 : 모든파일과 디렉토리의 퍼미션 한번에 설정하기
- 레벨153-6 : 특정디렉토리내의 모든파일과 서브디렉토리퍼미션 한번에 설정하기
- 레벨153-7 : 특정파일에 SetUID Bit 설정하기
- 레벨153-8 : 특정 파일에 SetGID bit설정하기
- 레벨153-9 : 특정 디렉토리에 Sticky Bit설정하는 퍼미션 설정하기
- 레벨153-10 : 알아두면 좋은 SetUID의 대문자 S의 의미
- 레벨154 : umask를 모르고서 절대로 퍼미션을 논하지 말라.
- 레벨154-1 : 파일(디렉토리)가 생성시 퍼미션 설정을 위한 umask개론
- 레벨154-2 : 사용자의 현재 umask값을 8진수형태로 확인하기
- 레벨154-3 : 사용자의 현재 umask값을 심볼릭형태로 확인하기
- 레벨154-4 : 현재 사용자의 umask값을 022일 경우에 생성되는 파일과 디렉토리의 퍼미션
- 레벨154-5 : 현재 사용자의 umask값을 000으로 변경하여 파일과 디렉토리 생성하기
- 레벨154-6 : 현재 사용자의 umask값을 001로 변경하여 파일과 디렉토리 생성하기
- 레벨155 : 파일과 디렉토리의 퍼미션은 알아도 속성은 몰랐다. 이거 모르면 필승못한다.
- 레벨155-1 : 파일의 속성부여 및 속성제거하는 chattr명령어의 실무 이야기
- 레벨155-2 :특정파일에 삭제, 변경, 추가등을 불가능하게 하는 속성부여하기
- 레벨155-3 : 특정파일의 삭제, 변경, 추가등을 불가능하게 하는 i속성 제거하기
- 레벨155-4 : 특정 파일에 대하여 파일삭제는 불가능하지만 파일에 내용을 추가하는 것은 가능하도록 하는 속성 부여하기
- 레벨155-5 : 특정 디렉토리내의 모든 파일과 디렉토리에 대하여 한번에 속성부여하고 확인하기
- 레벨155-6 : 특정 디렉토리내의 모든 파일과 디렉토리에 부여되어있는 속성을 동시에 제거하기
- 레벨155-7 : 파일의 여러가지 속성을 한번에 설정하기
- 레벨156 : 파일과 디렉토리에 부여된 속성은 이렇게 확인하라.
- 레벨156-1 : 파일에 설정되어있는 속성을 확인하는 lsattr 개론과 활용법
- 레벨156-2 : 현재 디렉토리에 존재하는 모든 파일과 디렉토리들의 속성 확인하기
- 레벨156-3 : 현재 디렉토리에 존재하는 숨김파일(.으로시작하는 파일)까지 모든 파일과 디렉토리의 속성 확인하기
- 레벨156-4 : 디렉토리 자체속성 확인하기
- 레벨153 : 파일과 디렉토리의 퍼미션설정, 그리고 SetUID, SetGID, Stickybit 파워활용
- PART 11. 로그인과 원격접속편
- 레벨157 : 당신이 로그인하는 과정을 보여드립니다. 로그인 프로세스
- 레벨157-1 : 시스템로그인 프로세스 login 개론
- 레벨157-2 : root 사용자 콘솔(console)로 로그인하기
- 레벨157-3 : 일반사용자로 콘솔(console)로 로그인하기
- 레벨157-4 : 서버로그인 정보가 기록되는 파일 보기
- 레벨158 : 사용하는 터미널 확인하는 tty
- 레벨158-1 : 현재사용자가 사용하는 터미널 확인하는 tty
- 레벨159 : 원격서버로의 접속을 위한 대명사 telnet은 이렇게 사용한다.
- 레벨159-1 : 대표적인 원격접속도구 telnet 개론
- 레벨159-2 : 텔넷전용모드에서 특정 사이트로의 원격접속하기
- 레벨159-3 : 쉘프롬프트에서 원격서버로의 telnet 접속하기
- 레벨159-4 : telnet으로 원격로그인시에 사용자이름 지정하여 원격 접속하기
- 레벨159-5 : 원격로그인시에 현재 사용자와 동일한 계정으로 telnet 원격 접속하기
- 레벨159-6 : telnet서비스를 하기 위한 조건들
- 레벨159-7 : telnet서비스가 안될 때 무엇을 살펴보아야 하는가?
- 레벨160 : 보다 안전한 원격서버 접속방법 ssh의 완벽한 활용방법
- 레벨160-1 : 암호화 원격로그인을 위한 ssh
- 레벨160-2 : ssh를 이용한 원격서버로의 안전한 접속 : 접속계정 미지정
- 레벨160-3 : ssh를 이용한 원격서버로의 안전한 접속 : 접속계정 지정
- 레벨160-4 : ssh접속시에 프로토콜을 선택하여 접속하는 방법
- 레벨160-5 : ssh의 설정파일에 대하여
- 레벨160-6 : ssh접속시 포트번호, 계정명등을 지정하여 접속하기
- 레벨157 : 당신이 로그인하는 과정을 보여드립니다. 로그인 프로세스
- PART 12. 원격명령어편
- 레벨161 : 특명! 원격서버에 있는 파일을 복사하라.
- 레벨161-1 : 원격서버의 파일 또는 디렉토리를 복사할 수 있는 rcp 사용법
- 레벨161-2 : rcp를 이용하여 원격서버의 특정 파일 복사해 가져오기
- 레벨161-3 : rcp를 이용하여 원격서버의 특정 디렉토리 복사해 가져오기
- 레벨161-4 : rcp를 이용하여 로컬서버의 특정 파일을 원격서버의 특정 디렉토리에 복사하기(동일한 계정명 끼리의 복사)
- 레벨161-5 : rcp를 이용하여 로컬서버의 특정 파일을 원격서버의 특정 디렉토리에 복사하기(계정명이 다른 것끼리의 복사)
- 레벨161-6 : rcp를 이용하여 로컬서버의 특정 디렉토리를 원격서버의 특정 디렉토리에 복사하기
- 레벨161-7 : rcp를 이용하여 원격복사를 할 경우에 발생할 수 있는 에러와 그 원인 및 해결방법
- 레벨162 : 난 원격서버로 접속할 때에도 패스워드 없이 그냥 접속할 수 있을 뿐이고.
- 레벨162-1 : 원격서버로 신뢰받는 로그인하는 rlogin 개론
- 레벨162-2 : rlogin, rsh, rcp등의 명령어로 원격서버에 접근하기 위한 /etc/hosts.equiv 파일과 사용자 홈디렉토리 내의 .rhosts파일의 설정과 보안문제
- 레벨162-3 : r-commands(rlogin, rsh, rcp등의 명령어)와 보안문제
- 레벨162-4 : rlogin으로 원격서버 로그인하기 위한 서버설정문제
- 레벨162-5 : rlogin을 이용한 패스워드 인증절차 없이 바로 원격서버로의 로그인방법
- 레벨163 : 원격지의 다른서버에 보내는 원격명령어 실행방법
- 레벨163-1 : 원격서버로 특정 명령어 실행하는 rsh 개론과 사용법
- 레벨163-2 : rsh를 이용하여 원격지 서버의 특정 명령어 실행하기
- 레벨163-3 : rsh를 이용하여 원격서버의 특정계정으로 명령어 실행하기
- 레벨164 : 원격서버로 어떤 사용자들이 로그인해 있을까.
- 레벨164-1 : 원격서버에 로그인한 사용자 확인하는 rusers 개론과 실무사용법
- 레벨164-2 : 원격서버의 로그인 사용자 정보 확인하기
- 레벨164-3 : rusers명령어로 원격서버의 로그인사용자 확인시 에러메시지들
- 레벨165 : 이젠 URL만 알면 어디서든 바로 다운로드한다. 아하 wget
- 레벨165-1 : 원격서버에 존재하는 특정파일을 URL로 지정하여 가져오는 wget
- 레벨165-2 : wget명령어로 http형식으로 URL 지정하여 다운받기
- 레벨165-3 : wget을 이용하여 ftp로 URL 지정하여 특정 파일 가져오기
- 레벨165-4 : wget으로 IP주소를 지정하여 다운받기
- 레벨165-5 : wget으로 여러개의 파일을 한꺼번에 다운받기
- 레벨165-6 : wget으로 모든 파일과 모든 디렉토리들을 한꺼번에 가져오기
- 레벨165-7 : wget으로 특정 계정명으로 접속하여 파일들 가져오기
- wget -r -nd --ftp-user=[id] --ftp-password=[password] ftp://[ip or host]//some/path/to/file/or/directory
- -r; recursive - 어느 디렉토리의 모든 파일 받음
- -nd; no directory - 현재 디렉토리에 파일 받음
- 레벨161 : 특명! 원격서버에 있는 파일을 복사하라.
- PART 13. 압축파일 다루기편
- 레벨166 : 데이터 압축과 백업의 대명사 tar 활용법
- 레벨166-1 : 여러 개의 파일을 하나로 묶고 압축할 수 있는 tar 실무
- 레벨166-2 : tar실무를 위한 가장 알기쉬운 사용방법
- 레벨166-3 : tar로 파일 묶는 가장 기본적인 사용법
- 레벨166-4 : tar로 묶여진 파일내의 파일리스트 확인하기
- 레벨166-5 : tar로 묶여진 파일 풀기
- 레벨166-6 : tar수행시 gzip으로 압축하기를 동시에 수행하기
- 레벨166-7 : tar사용시 gzip으로 압축된 파일의 압축해제하는 작업 동시에 하기
- 레벨166-8 : tar로 원본파일의 퍼미션을 유지한채로 gzip으로 압축하기
- 레벨166-9 : tar로 원본파일 퍼미션을 유지한 채로 gzip으로 압축한 파일 풀기
- 레벨166-10 : tar사용시 bzip2를 함께 사용하여 압축하고 압축해제하기
- 레벨166-11 : tar로 압축시에 용량단위로 나누어 압축하기 그리고 풀기
- 레벨167 : 압축효율이 뛰어난 압축 유틸리티 bzip2의 파워 활용법
- 레벨167-1 : 리눅스 압축유틸리티 bzip2와 bunzip2
- 레벨167-2 : bzip2로 특정 파일압축하기와 bunzip2로 압축파일 풀기
- 레벨167-3 : bzip2와 bunzip2로 두개이상의 파일의 압축과 압축해제
- 레벨167-4 : bzip2로 압축된 파일을 bzip2로 해제하기
- 레벨167-5 : bzip2로 압축한 파일과 동일한 파일 존재하더라도 덮어쓰기
- 레벨167-6 : 압축해제결과를 표준출력으로 출력하는 bzcat의 사용
- 레벨168 : bzip2압축파일이 손상되었다면 bzip2recover로 복구한다.
- 레벨168-1 : 손상된 bzip2압축파일의 복구유틸리티 bzip2recover 사용법
- 레벨169 : 누구나 알고 있는 리눅스 표준 압축유틸리티 gzip과 gunzip
- 레벨169-1 : 리눅스 표준 압축도구 gzip과 압축해제도구 gunzip 활용
- 레벨169-2 : gunzip으로 .gz 압축파일 해제하기
- 레벨169-3 : gzip으로 두개이상의 파일을 동시에 압축하기
- 레벨169-4 : 두개이상의 압축된 파일을 동시에 압축해제하기
- 레벨169-5 : gzip으로 현재 사용중인 파일까지도 강제압축하기
- 레벨169-6 : gzip으로 압축한 후에 압축된 파일의 압축효율 확인하기
- 레벨169-7 : gzip으로 압축된 파일의 확장자를 임의대로 붙이기
- 레벨169-8 : 특정 디렉토리내의 모든 파일을 gzip으로 압축하기
- 레벨169-9 : tar사용과 함께 사용하는 gzip
- 레벨170 : 이런거 만들어 봤을까. 압축실행파일과 압축해제실행파일
- 레벨170-1 : 실행파일을 압축하여 압축실행파일을 ?성하는 gzexe 개론과 활용
- 레벨170-2 : gzexe로 압축된 실행파일을 압축해제하여 원본파일 생성하기
- 레벨171 : 이런 것은 알아두자. 압축파일 내용확인 방법들
- 레벨171-1 : gzip압축파일의 내용확인 및 압축해제를 하는 zcat 개론
- 레벨171-2 : zcat명령어로 *.gz압축파일의 내용확인하기
- 레벨171-3 : zcat명령어로 gzip으로 압축된 파일리스트와 압축정보 확인하기
- 레벨171-4 : gzip으로 압축된 파일을 zcat으로 압축해제 하기
- 레벨171-5 : zcat명령어로 압축파일 무결성 점검하기
- 레벨171-6 : zcat명령어의 라이센스정보 확인하기
- 레벨171-7 : zcat명령어의 도움말 정보 확인하기
- 레벨171-8 : zcmp로 압축파일 비교하기
- 레벨171-9 : gzip으로 압축된 압축파일에서 특정 패턴의 문자 검색하는 zgrep 실무
- 레벨171-10 : 압축파일 내용을 한화면단위로 확인하는 zmore
- 레벨171-11 : zmore로 압축파일의 내용확인 도중에 쉘명령어 실행하기
- 레벨171-12 : zmore로 압축파일의 내용확인 도중에 특정 문자 검색하기
- 레벨172 : 다운로드한 파일을 검사하자. 체크섬값을 확인하는 cksum사용법
- 레벨172-1 : 지정한 파일의 CRC(순환중복검사) 체크섬값을 확인하는 cksum
- 레벨172-2 : 특정 파일의 CRC 값과 바이트수 확인하기
- 레벨172-3 : 두 파일의 CRC값과 바이트수 비교하기 #1
- 레벨172-4 : 두파일의 CRC값과 바이트수 비교하기 #2
- 레벨166 : 데이터 압축과 백업의 대명사 tar 활용법
- PART 14. 프린터 관리편
- 레벨173 : 지정한 파일을 프린터로 인쇄하는 lpr사용법
- 레벨173-1 : 지정한 파일을 프린터로 인쇄하는 lpr 사용법
- 레벨174 : 프린트 대기열의 내용을 확인하는 lpq 사용법
- 레벨174-1 : 프린트 대기열(큐)의 내용을 확인하는 lpq 사용법
- 레벨175 : 프린트 대기열에 있는 작업을 취소하는 lprm 사용법
- 레벨175-1 : 프린트작업 취소하는 lprm 사용법 (프린트큐의 작업 삭제하기)
- 레벨173 : 지정한 파일을 프린터로 인쇄하는 lpr사용법
- PART 15. 데이터백업과 복구편
- 레벨176 : 가장 전통적인 DAT테잎 백업유틸리티 dump사용법
- 레벨176-1 : 전통적인 DAT테잎 백업유틸리티 dump
- 레벨177 : dump로 백업한 DAT테잎의 데이터는 restore로 복구한다.
- 레벨177-1 : DAT테잎에 저장된 데이터 복구하기 위한 restore 사용법
- 레벨178 : 이건 몰랐지 cpio로 백업과 복구, 그리고 내용검색까지 한다는 것을.
- 레벨178-1 : 백업용으로 사용되는 cpio명령어에 대하여
- 레벨178-2 : cpio로 백업과 복구하는 방법
- 레벨178-3 : cpio로 백업된 내용 검색 및 확인하기
- 레벨179 : sync만 안다면 50점 rsync까지 안다면 100점.
- 레벨179-1 : 원격서버와의 데이터동기화 및 복사를 위한 rsync 실무
- 레벨179-2 : 원격데이터 백업을 위한 rsync 실행방법
- 레벨179-3 : 원격 미러서버구축을 위한 rsync 사용방법
- 레벨176 : 가장 전통적인 DAT테잎 백업유틸리티 dump사용법
- PART 16. RPM 패키지 관리편
- 레벨180 : RPM패키지관리를 위한 rpm의 완벽한 활용법. 이제 이것으로 마무리하자.
- 레벨180-1 : 특정 RPM패키지 설치하는 rpm 개론
- 레벨180-2 : 동일한 패키지가 이미 설치되어있을 경우 무시하고 패키지 설치하기 : --replacepkgs 옵션 사용
- 레벨180-3 : 설치하려고 하는 패키지의 파일이 이미 설치되어있는 다른 패키지의 파일과 중복될 경우에 무시하고 설치하기 : --replacefiles 옵션 사용
- 레벨180-4 : 패키지설치시에 패키지 중복이 발생하거나 이미 설치되어있는 다른 패키지의 파일과 충돌발생시에 이를 무시하고 설치하기 : --force옵션 사용
- 레벨180-5 : 패키지 의존성문제를 무시하고 패키지 설치하기 : --nodeps옵션사용
- 레벨180-6 : 의존성문제와 덮어쓰기 문제로 인한 설치중단시에 해결방법
- 레벨180-7 : RPM패키지의 가장 일반적인 업그레이드 설치방법
- 레벨180-8 : RPM패키지 업그레이드 설치시에 이미 설치된 중복패키지 문제 해결방법 : --replacepkgs옵션 사용
- 레벨180-9 : RPM패키지 업그레이드 설치시에 다른 패키지의 파일과 충돌문제 해결 방법 : --replacefiles옵션 사용
- 레벨180-10 : RPM패키지 업그레이드 설치시에 중복과 충돌문제 발생시 강제 설치하기 : --force옵션 사용
- 레벨180-11 : RPM패키지 업그레이드시에 의존성문제 무시하고 설치하기 : --nodeps옵션 사용
- 레벨180-12 : RPM패키지 삭제의 가장 일반적인 방법
- 레벨180-13 : RPM패키지 삭제시 의존성문제 해결방법 : 의존하는 패키지 선 삭제후 삭제하기
- 레벨180-14 : RPM패키지 삭제시 의존성문제 해결방법 : --nodeps옵션으로 의존성 무시하고 삭제하기
- 레벨180-15 : 현재 시스템에 설치되어있는 모든 RPM패키지리스트를 출력하기
- 레벨180-16 : 특정 RPM패키지의 설치여부 확인하기
- 레벨180-17 : 특정 파일이 어떤 패키지에 의해 설치된 파일인가를 확인하는 방법
- 레벨180-18 : 특정 패키지에 의해 설치된 모든 파일들 확인하기
- 레벨180-19 : 특정 RPM패키지의 상세한 정보 확인하기
- 레벨180-20 : 특정 RPM패키지에 의해 설치된 파일들의 정상여부 점검하기
- 레벨180-21 : 특정 RPM패키지의 설정파일들만 확인하기
- 레벨180-22 : 설치된 특정 RPM 패키지의 문서파일위치 확인하기
- 레벨180-23 : RPM 패키지 의존성 관계 확인하기
- 레벨180-24 : 설치된 RPM패키지 변경가능성 여부 검증하기
- 레벨181 : RPM파일을 cpio포맷파일로 변환하자.
- 레벨181-1 : RPM파일을 cpio형태의 파일로 변환하는 rpm2cpio 개론과 사용법
- 레벨182 : 이젠 모든 패키지 업데이트와 패치, 그리고 모든 패키지관리는 yum으로 한다.
- 레벨182-1 : 패키지 업데이트를 위한 yum 개론
- 레벨182-2 : yum을 이용한 업데이트 가능한 패키지 리스트 확인하기
- 레벨182-3 : yum을 이용한 업데이트 가능한 패키지 리스트 확인하기
- 레벨182-4 : yum을 이용한 패키지 설치하기
- 레벨182-5 : yum을 이용한 패키지 업데이트
- 레벨182-6 : yum을 이용한 패키지 제거하기
- 레벨182-7 : yum을 이용한 패키지 검색하기
- 레벨182-8 : yum을 이용한 패키지 정보 알아보기
- 레벨182-9 : yum을 이용한 로컬패키지파일 설치 및 업데이트하기
- 레벨182-10 : yum을 이용한 패키지그룹의 리스트 확인하기
- 레벨182-11 : yum을 이용한 특정 패키지그룹 설치 및 업데이트하기
- 레벨182-12 : yum을 이용한 특정 패키지 그룹 삭제하기
- 레벨182-13 : yum으로 특정패키지그룹 정보확인
- 레벨182-14 : yum을 이용한 캐쉬정보 정리하기
- 레벨182-15 : yum 대화형 모드(shell mode) 사용하기
- 레벨180 : RPM패키지관리를 위한 rpm의 완벽한 활용법. 이제 이것으로 마무리하자.
- PART 17. 네트워크 관리편
- 레벨183 : 네트워크 인터페이스의 네트워크 설정과 설정확인을 위한 ifconfig
- 레벨183-1 : 네트워크 인터페이스(랜카드, NIC)의 네트워크 설정 및 확인하는 ifconfig 개론
- 레벨183-2 : 현재 서버에 설치되어있는 모든 NIC의 네트워크 설정 확인하기
- 레벨183-3 : 현재 서버에 장착된 특정 NIC의 네트워크 설정내용 확인하기
- 레벨183-4 : 특정 네트워크인터페이스의 사용해제 하기
- 레벨183-5 : 특정 NIC의 사용설정상태로 활성화하기
- 레벨183-6 : ifconfig로 특정 NIC의 MTU값 변경하기
- 레벨183-7 : ifconfig로 특정 NIC의 통신을 위한 네트워크설정하기
- 레벨184 : 라우팅테이블을 읽고, 해석하고, 설정하고 경로 추가하려면 연락해.
- 레벨184-1 : 라우팅설정과 라우팅테이블 확인하는 route
- 레벨184-2 : 기본 게이트웨이 설정하고 확인하기
- 레벨184-3 : 현재 시스템에 네트워크 라우팅경로 추가 설정하기
- 레벨184-4 : 시스템관리자들이 route를 이용하여 주로 하는 작업들과 작업방법들
- 레벨185 : 시스템이 어떤 곳과 어떤 서비스로 어떻게 연결이 되어 있을까. 그것이 알고싶다.
- 레벨185-1 : 리눅스시스템의 네트워크 연결 상황을 확인할 수 있는 netstat 개론
- 레벨185-2 : netstat으로 확인하는 서버 라우팅테이블 점검
- 레벨185-3 : netstat으로 현재 서버에 열려있는 포트 점검하기
- 레벨185-4 : 현재 서버에서 열려있는 포트를 사용하고 있는 프로세스 확인하기
- 레벨185-5 : netstat으로 현재 서버에서 사용하고 있는 프로토콜들의 사용통계 확인하기
- 레벨186 : 네트워크 인터페이스의 설정확인하고 재설정하는 아주 쉬운 방법
- 레벨186-1 : 랜카드(NIC)설정 확인 및 설정하는 mii-tool
- 레벨187 : 네트워크 인터페이스의 speed와 mode 설정은 이렇게 하면 된다.
- 레벨187-1 : 랜카드 속도 및 전송모드 설정하는 랜카드 설정 ethtool
- 레벨187-2 : ethtool을 이용하여 랜카드 속도 및 전송모드 확인하기
- 레벨187-3 : ethtool을 이용하여 랜카드 속도 및 전송모드 설정변경하기
- 레벨188 : 데이터 패킷을 캡쳐하는 가장 쉬운방법과 활용법
- 레벨188-1 : 송수신 데이터 패킷 캡쳐 및 모니터링하는 tcpdump
- 레벨188-2 : 특정 ethernet으로 송수신 되는 패킷헤더 덤프하기
- 레벨188-3 : 특정 ethernet으로 송수신 되는 패킷을 파일에 저장하기
- 레벨188-4 : 특정 ethernet에서 지정한 개수만큼의 네트워크 패킷 덤프하여 확인하기
- 레벨188-5 : 서버의 특정포트로 송수신되슴 모든 패킷전체를 확인하기
- 레벨189 : 너무나 잘알고 있는 ping, 그러나 정확하게 잘 몰랐던 ping. 이제 숙제를 하자.
- 레벨189-1 : 네트워크 통신이 가능한가를 확인하는 가장 대표적인 ping 사용법
- 레벨189-2 : 가장 기본적인 ping 테스트와 ping결과의 의미 이해하기
- 레벨189-3 : 특정 도메인명으로 ping테스트하기
- 레벨189-4 : 테스트횟수를 지정하여 ping테스트하기
- 레벨189-5 : 패킷사이즈를 지정하여 ping테스트하기
- 레벨189-6 : 테스트횟수와 패킷사이즈를 지정하여 ping테스트하기
- 레벨189-7 : ping테스트의 내역은 생략하고 결과만을 확인하기
- 레벨190 : 어디 어떤 경로에서 문제가 생겼을까. 경로 및 구간 통신확인하는 방법
- 레벨190-1 : 네트워크의 통신경로를 확인하는 traceroute 개론
- 레벨190-2 : 특정 도메인명의 호스트 통신경로 확인하기
- 레벨190-3 : 특정 IP주소를 가진 호스트의 통신경로 확인하기
- 레벨190-4 : 특정구간의 네트워크 장애를 확인하는 traceroute의 예
- 레벨191 : 네트워크 탐색과 보안 및 포트스캐닝의 대명사 nmap 파워 활용법
- 레벨191-1 : 네트워크 탐색 및 보안과 포트스캐너 nmap
- 레벨191-2 : nmap으로 로컬서버 스캔해보기
- 레벨191-3 : nmap을 이용한 특정 사이트를 도메인명으로 스캔하기
- 레벨191-4 : nmap을 이용한 특정 서버를 IP주소로 스캔하기
- 레벨191-5 : nmap을 이용한 UDP 사용포트 스캔하기
- 레벨191-6 : nmap을 이용한 원격지 서버의 IP Protocol 스캔하기
- 레벨191-7 : nmap을 이용한 원격지의 윈도우2000서버를 스캔하기
- 레벨191-8 : nmap으로 특정 네트워크를 대상으로 스캐닝하기
- 레벨192 : 동일 네트워크의 서버에 대한 IP와 MAC주소를 확인하자.
- 레벨192-1 : 동일한 네트워크의 호스트 정보(IP, MAC주소)확인하는 arp
- 레벨192-2 : IP주소로 MAC주소를 찾기위한 arp를 기반 이론
- 레벨192-3 : arp명령어를 이용한 동일 네트워크내의 호스트들에 대한 ethernet주소정보 확인하기
- 레벨192-4 : arp명령어를 이용한 특정 호스트의 ethernet주소정보 확인하기
- 레벨192-5 : arp명령어를 이용한 동일 네트워크내의 호스트들에 대한 자세한 ethernet주소정보 확인하기
- 레벨192-6 : arp명령어를 이용한 동일 네트워크내의 호스트들에 대한 ethernet주소정보 확인시에 지정한 타입에 맞는 정보만 확인하기
- 레벨183 : 네트워크 인터페이스의 네트워크 설정과 설정확인을 위한 ifconfig
- PART 18. 해킹과 보안관리편
- 레벨193 : 리눅스시스템 자체 방화벽을 사용하는 방법
- 레벨193-1 : 리눅스 자체 방화벽 설정 유틸리티 lokkit 사용법
- 레벨194 : 어떤 파일이 어떤 프로세스에 의해 사용되고 있을까. 열려진 포트는 어떤것일까.
- 레벨194-1 : 열려진 포트확인과 특정 파일이 어떤 프로세스에 의해 사용되고 있는가를 확인하는 lsof 개론
- 레벨194-2 : 현재 시스템에 열려있는 서비스와 포트들 점검하기
- 레벨194-3 : 특정 파일이 사용하는 서비스데몬(프로세스) 확인하기
- 레벨194-4 : 현재 열려진 포트(port)를 사용하고 있는 프로세스 확인하기
- 레벨194-5 : 현재 시스템에 열려져있는 TCP포트 점검하기
- 레벨195 : 리눅스의 인증설정 유틸리티 authconfig-tui설정과 사용법
- 레벨195-1 : 리눅스의 인증설정 유틸리티 authconfig-tui 설정 및 사용법
- 레벨196 : 쉐도우 패스워드정책을 위한 pwconv, 바꿔보자 패스워드 파일 정책
- 레벨196-1 : 리눅스시스템의 shadow패스워드정책으로 변경하는 pwconv 사용법
- 레벨197 : 다시 바꿔보자 패스워드 파일 정책
- 레벨197-1 : 리눅스 패스워드정책을 일반 패스워드정책으로 되돌리는 pwunconv
- 레벨198 : /etc/group파일의 화려한 변신, 쉐도우그룹파일로의 변환
- 레벨198-1 : 일반 그룹파일 정책에서 shadow그룹파일 정책으로 변환하는 grpconv
- 레벨198-2 : shadow그룹파일 정책에서 일반 그룹파일 정책으로 되돌리는 grpunconv
- 레벨199 : 너 그룹자체 패스워드 설정/변경/제거해 봤니. 쉽지않다 쉐도우그룹파일 관리법
- 레벨199-1 : 그룹파일(/etc/group, /etc/gshadow)관리를 위한 gpasswd
- 레벨199-2 : 특정 그룹에 새로운 그룹멤버 추가
- 레벨199-3 : 특정 그룹에 소속되어 있던 기존 그룹멤버 제거하기
- 레벨199-4 : 특정 그룹의 그룹패스워드 설정/변경/제거
- 레벨199-5 : 특정그룹멤버를 특정그룹의 그룹관리자로 설정하기
- 레벨199-6 : 특정 그룹의 그룹멤버 설정하기
- 레벨200 : 원격파일 복사를 보다 안전하게하는 방법은 없나요.
- 레벨200-1 : 원격파일복사를 위한 scp에 대하여
- 레벨200-2 : scp를 이용하? 원격서버로 파일 복사하기
- 레벨200-3 : scp를 이용하여 디렉토리전체를 원격서버로 복사하기
- 레벨200-4 : scp를 이용시 유용한 옵션들
- 레벨201 : ftp보다 안전한 암호화 전송을 하는 sftp 활용 방법
- 레벨201-1 : 암호화된 전송방식을 사용하는 sftp로 ftp 사용하기
- 레벨201-2 : sftp서버로 접속하는 방법과 접속후 사용하는 방법
- 레벨201-3 : SFTP접속 후에 사용하는 sftp명령어들
- 레벨202 : 나의 변신은 무죄로 소이다. 완벽한 변신을 위한 완벽한 방법
- 레벨202-1 : 다른 계정사용자로 교체할 수 있는 su 개론
- 레벨202-2 : su를 이용하여 일반계정에서 root로 변환하기(환경변수 미적용)
- 레벨202-3 : su를 이용하여 일반계정에서 root로 변환하기(환경변수 적용)
- 레벨202-4 : su를 이용하여 일반계정에서 다른 일반계정으로 변환하기
- 레벨202-5 : su를 이용하여 root에서 일반계정으로 변환하기
- 레벨202-6 : su를 이용하여 계정변환없이 특정명령어만 실행하기
- 레벨202-7 : su를 이용하여 다른계정으로 변환할 때에 사용할 쉘지정하여 변환하기
- 레벨203 : 나 같은 평범한 사용자도 root권한을 사용한다.
- 레벨203-1 : 특정 명령어를 다른사용자의 권한으로 실행하도록 하는sudo 개론
- 레벨203-2 : 특정 사용자에게 sudo명령어로 시스템의 모든 명령어 사용허용 설정
- 레벨203-3 : 특정그룹(wheel그룹)에 등록된 사용자의 CD-ROM마운트 허용설정
- 레벨203-4 : 특정 그룹멤버에게 모든 명령어를 허용하는 설정하기
- 레벨203-5 : 특정그룹 사용자들에게 시스템 shutdown명령어 사용허용설정
- 레벨203-6 : sudo명령어의 보안 실무사항
- 레벨193 : 리눅스시스템 자체 방화벽을 사용하는 방법
- PART 19. 쿼타설정과 용량제한편
- 레벨204 : 디스크 사용량제한을 위한 쿼타설정 방법의 파워가이드
- 레벨204-1 : 디스크사용량 제한 설정하는 edquota의 개론과 실무활용
- 레벨204-2 : 개별 사용자에게 디스크 용량제한(quota) 설정을 하기 위한 전제조건
- 레벨204-3 : 특정 그룹에게 디스크 용량제한(quota) 설정을 하기 위한 전제조건
- 레벨204-4 : 개별 사용자에게 디스크 사용량 제한을 위한 쿼타(quota)설정 및 편집하기
- 레벨204-5 : 특정그룹에게 디스크 사용량 제한을 위한 쿼타(quota)설정 및 편집하기
- 레벨205 : 디스크 사용량 즉, 쿼타 제한내용을 확인하는 기본적인 방법
- 레벨205-1 : 디스크 사용량과 사용량 제한내용을 확인하는 quota
- 레벨205-2 : 해당 파일시스템에서 쿼타(quota)를 적용하기 위한 커널컴파일시의 설정내용
- 레벨205-3 : 쿼타(quota)적용을 위한 파일시스템 수정사항
- 레벨205-4 : 사용자의 quota설정 내역을 확인하는 방법
- 레벨205-5 : 특정 그룹의 디스크용량 설정내용 확인하기
- 레벨205-6 : 시스템커널에서 쿼타(quota)지원여부 확인하기
- 레벨206 : 쿼타속성이 부여된 파일시스템의 점검과 쿼타 체크방법
- 레벨206-1 : 쿼타가 가동중인 파일시스템 점검 및 쿼타체크하는 quotacheck
- 레벨207 : 특명! 쿼타속성부여된 파일시스템의 쿼타를 가동하라.
- 레벨207-1 : 시스템에 설정되어 있는 쿼타(quota)를 가동하는 quotaon 개론
- 레벨207-2 : 시스템에서 쿼타(quota) 가동하기
- 레벨207-3 : 현재 시스템의 파일시스템들에 대한 쿼타가동여부 및 상태 확인하기
- 레벨207-4 : 시스템 부팅과정에서 quota체크및 quota구동시키기
- 레벨207-5 : 커널(kernel)에서 쿼타(quota)를 지원하지 않을 경우의 메시지
- 레벨208 : 특명! 가동중인 쿼타를 가동중지하라.
- 레벨208-1 : 현재 시스템에서 가동중인 쿼타(quota)를 중지하는 quotaoff
- 레벨209 : 특명! 디스크 제한내역 즉, 쿼타 설정내역과 사용내역을 보고하라.
- 레벨209-1 : 쿼타(quota)설정 및 용량제한 내역 확인하는 repquota 개론
- 레벨209-2 : 쿼타가 설정된 파일시스템의 모든 사용자 또는 모든 그룹에 대한 쿼타 확인하기
- 레벨204 : 디스크 사용량제한을 위한 쿼타설정 방법의 파워가이드
- PART 20. 시스템 로그파일 관리편
- 레벨210 : 시스템 로그파일 관리를 위한 logrotate의 작동원리는 이렇다.
- 레벨210-1 : 시스템로그파일 관리를 위한 logrotate의 작동원리에 대하여
- cf. log file 주기적 정리 http://heyo.net/xe/index.php?mid=prog_tip&document_srl=1984
- 레벨210-1 : 시스템로그파일 관리를 위한 logrotate의 작동원리에 대하여
- 레벨211 : 시스템의 로그파일을 분석하여 관리자에게 보고하는 가장 쉬운방법
- 레벨211-1 : logwatch의 시스템 로그분석 결과를 매일 관리자 메일로 보고받기
- 레벨210 : 시스템 로그파일 관리를 위한 logrotate의 작동원리는 이렇다.
- PART 21. 스왑파일시스템 관리편
- 레벨212 : 시스템 가상메모리 즉, 스왑메모리 증설을 위한 실무작업
- 레벨212-1 : 리눅스 시스템에 스왑영역 증설하는 실무작업
- 레벨213 : 가상메모리 즉, 스왑파일시스템을 가동하라.
- 레벨213-1 : 특정 장치파일(파티션, 스왑파일시스템)을 스왑영역으로 설정하는 swapon
- 레벨213-2 : /etc/fstab에 설정된 모든 스왑파일시스템을 스왑영역으로 사용설정하기
- 레벨214 : 스왑파일시스템의 스왑영역을 해제하라.
- 레벨214-1 : 스왑영역으로 설정된 특정 스왑파일시스템의 스왑영역 해제하는 swapoff
- 레벨214-2 : /etc/fstab에 설정된 모든 스왑파일시스템의 스왑영역 설정 해제하기
- 레벨212 : 시스템 가상메모리 즉, 스왑메모리 증설을 위한 실무작업
- PART 22. 크론과 예약작업 관리편
- 레벨215 : 크론만 제대로 알면, 시스템관리자의 업무량과 업무시간을 90% 절약할 수 있다.
- 레벨215-1 : 주기적이고 반복적인 cron설정작업을 할 수 있는 crontab 개론
- 레벨215-2 : 리눅스 시스템의 2가지 크론에 대한 이해
- 레벨215-3 : 시스템크론의 데몬(crond) 기본 동작원리 분석
- 레벨215-4 : 일반사용자의 crontab명령어 사용허가 또는 제한하는 설정
- 레벨215-5 : "분, 시, 일, 월, 요일, 실행명령"순으로 cron설정하는 방법
- 레벨215-6 : crontab으로 설정한 개별사용자의 cron설정, 파일로 확인하기
- 레벨215-7 : root권한으로 root의 사용자크론 설정하는 방법
- 레벨215-8 : root권한으로 일반 사용자의 cron설정하는 방법
- 레벨215-9 : root권한으로 root의 cron설정내용 확인하는 방법
- 레벨215-10 : root권한으로 일반 사용자의 cron설정내용 확인하는 방법
- 레벨215-11 : 일반사용자의 자기자신의 cron설정하는 방법
- 레벨215-12 : 일반사용자의 cron설정 확인하는 방법
- 레벨215-13 : root권한으로 root의 cron설정 삭제하기
- 레벨215-14 : 일반계정사용자의 자기 자신의 cron설정 삭제하기
- 레벨215-15 : root권한으로 일반계정사용자의 cron설정 삭제하기
- cf. crontab 사용법 http://lupusmaru.egloos.com/1090823
- crontab 환경 설정 http://ohgyun.com/227
$ crontab -l 0,20,40 * * * * cd /some/directory/; sh ./some/script.sh
- 레벨216 : 반복작업이 아니라면, 일회성 예약작업을 활용하자.
- 레벨216-1 : 특정 시간에 특정작업 예약설정하는 at 개론
- 레벨216-2 : at로 예약작업 설정하기
- 레벨216-3 : at 예약작업리스트 확인 및 삭제하기
- 레벨216-4 : at실행결과를 사용자의 메일로 보내기
- 레벨216-5 : at로 예약작업 실행시 날짜시각지정 방법 #1
- 레벨216-6 : at로 예약작업 실행시 날짜시각지정 방법 #2
- 레벨216-7 : at로 예약작업 실행시 날짜시각지정 방법 #3
- 레벨216-8 : at로 예약되어 있는 특정작업의 실행내용보기
- 레벨217 : 예약작업의 데몬파일 atd
- 레벨217-1 : 특정작업 실행을 예약하는 at명령어의 데몬파일 atd 활용
- 레벨218 : 언제 어떤작업들이 예약되어있는가를 확인하는 atq
- 레벨218-1 : at로 예약되어있는 작업리스트 확인하는 atq에 대하여
- 레벨219 : 예약된 작업 예약취소하는 방법
- 레벨219-1 : at로 예약된 예약작업 취소 및 삭제하는 atrm
- 레벨219-2 : at로 예약된 예약작업 동시에 여러 개 취소하기
- 레벨220 : at로 예약된 예약작업의 실행을 위한 atrun
- 레벨220-1 : at로 예약되어있는 작업 실행하는 atrun명령어
- 레벨221 : 시스템 예약작업을 설정하는 batch 사용법
- 레벨221-1 : 시스템 예약작업을 설정하는 batch 사용법
- 레벨215 : 크론만 제대로 알면, 시스템관리자의 업무량과 업무시간을 90% 절약할 수 있다.
- PART 23. 커널과 커널모듈 관리편
- 레벨222 : 커널 파라미터값을 바꾸어서 커널튜닝하는 sysctl 파워 활용
- 레벨222-1 : 커널 파라이터값을 확인, 설정하는 sysctl 사용법
- 레벨222-2 : 커널 파라미터이란 무엇인가?
- 레벨222-3 : 현재 커널의 모든 파라미터값을 확인하기
- 레벨222-4 : 커널의 특정 파라미터값 확인하기
- 레벨222-5 : 커널의 특정 파라미터값 변경하기
- 레벨222-6 : 시스템 보안을 위해 필자가 추천하는 커널 파라미터 값
- 레벨222-7 : sysctl을 이용하여 /etc/sysctl.conf 파일의 설정값 확인하기
- 레벨223 : 커널모듈관리의 마법사 modprobe 파워 활용
- 레벨223-1 : 리눅스 커널모듈관리 명령어 modprobe 개론
- 레벨223-2 : modprobe명령어로 특정 커널모듈 로드하기
- 레벨223-3 : modprobe명령어로 로드되어있는 모듈 제거하기
- 레벨223-4 : modprobe명령어로 현재 사용되고 있는 커널모듈 설정 확인하기
- 레벨223-5 : modprobe명령어로 전체(또는 특정) 커널모듈파일 확인하기
- 레벨224 : 커널모듈정보를 확인하는 lsmod 사용법
- 레벨224-1 : 커널모듈정보를 확인하는 lsmod명령어 개론과 사용법
- 레벨225 : 커널모듈을 커널이 사용할 수 있도록 설치하기
- 레벨225-1 : 필요한 커널모듈을 현재 커널이 사용할 수 있도록 설치하기
- 레벨226 : 로드된 커널모듈 메모리에서 제거하는 방법
- 레벨226-1 : 현재 로드된 커널모듈들을 메모리에서 제거하는 rmmod
- 레벨226-2 : 커널모듈 제거하는 rmmod에서 사용할 수 있는 몇가지 옵션들
- 레벨227 : 커널모듈의 의존성관계 재설정을 위한 depmod
- 레벨227-1 : 리눅스 커널모듈의 의존성관계 재설정하는 depmod
- 레벨222 : 커널 파라미터값을 바꾸어서 커널튜닝하는 sysctl 파워 활용
- PART 24. 부트로더 관리편
- 레벨228 : 리눅스 부트로더 GRUB의 전용명령어들은 이렇게 사용하라.
- 레벨228-1 : 리눅스시스템에서 GRUB과 같은 boot loader에 대한 기본지식
- 레벨228-2 : GRUB전용명령어를 사용할 수 있는 두가지 환경에 대하여
- 레벨228-3 : GRUB에서의 디스크파티션명과 리눅스에서의 디스크파티션명 구분하기
- 레벨228-4 : GRUB전용명령어 blocklist 사용법
- 레벨228-5 : GRUB전용명령어 boot 사용법
- 레벨228-6 : GRUB전용명령어 cat 사용법
- 레벨228-7 : GRUB전용명령어 chainloader 사용법
- 레벨228-8 : GRUB전용명령어 clear 사용법
- 레벨228-9 : GRUB전용명령어 color 사용법
- 레벨228-10 : GRUB전용명령어 configfile 사용법
- 레벨228-11 : GRUB전용명령어 device 사용법
- 레벨228-12 : GRUB전용명령어 displayapm 사용법
- 레벨228-13 : GRUB전용명령어 displaymem 사용법
- 레벨228-14 : GRUB전용명령어 find 사용법
- 레벨228-15 : GRUB전용명령어 geometry 사용법
- 레벨228-16 : GRUB전용명령어 halt 사용법
- 레벨228-17 : GRUB전용명령어 help 사용법
- 레벨228-18 : GRUB전용명령어 hide 사용법
- 레벨228-19 : GRUB전용명령어 initrd 사용법
- 레벨228-20 : GRUB전용명령어 kernel 사용법
- 레벨228-21 : GRUB전용명령어 makeactive 사용법
- 레벨228-22 : GRUB전용명령어 map 사용법
- 레벨228-23 : GRUB전용명령어 md5crypt 사용법
- 레벨228-24 : GRUB전용명령어 modulenounzip 사용법
- 레벨228-25 : GRUB전용명령어 pager 사용법
- 레벨228-26 : GRUB전용명령어 partnew 사용법
- 레벨228-27 : GRUB전용명령어 parttype 사용법
- 레벨228-28 : GRUB전용명령어 quit 사용법
- 레벨228-29 : GRUB전용명령어 reboot 사용법
- 레벨228-30 : 특정 장치를 루트디바이스로 지정하는 root명령어
- 레벨228-31 : GRUB전용명령어 rootnoverify 사용법
- 레벨228-32 : GRUB전용명령어 serial 사용법
- 레벨228-33 : GRUB전용명령어 setkey 사용법
- 레벨228-34 : 지정한 디스크에 GRUB을 설치하는 GRUB전용명령어 setup 사용법
- 레벨228-35 : GRUB전용명령어 terminal 사용법
- 레벨228-36 : GRUB전용명령어 terminfo 사용법
- 레벨228-37 : GRUB전용명령어 testvbe 사용법
- 레벨228-38 : GRUB전용명령어 unhide 사용법
- 레벨228-39 : GRUB전용명령어 uppermem 사용법
- 레벨228-40 : GRUB전용명령어 vbeprobe 사용법
- 레벨228-41 : GRUB보안을 위한 GRUB패스워드 설정 및 변경하기
- 레벨229 : MBR에 GRUB을 설치하는 방법
- 레벨229-1 : 새로설정된 grub정보 참조하여 MBR에 GRUB을 설치하는 grub-install
- 레벨230 : 부트이미지를 설정하는 lilo명령어 사용법
- 레벨230-1 : 부트이미지를 설정하는 lilo명령어 사용법
- 레벨228 : 리눅스 부트로더 GRUB의 전용명령어들은 이렇게 사용하라.
- PART 25. 쉘과 쉘스크립트편
- 레벨231 : bash쉘의 기초부터 실무활용, 그리고 로그인부터 로그아웃까지의 과정 이해하기
- 레벨231-1 : 리눅스 기본쉘(SHELL) BASH쉘 개론
- 레벨231-2 : 쉘(SHELL)과 쉘버전
- 레벨231-3 : 쉘의 기본적인 기능들
- 레벨231-4 : 쉘환경변수와 쉘내장변수
- 레벨231-5 : 리눅스서버로의 로그인부터 로그아웃까지의 과정이해
- 레벨232 : 사용자가 로그인 할 때마다 자동실행되는 .bash_profile은 이렇게 활용하라.
- 레벨232-1 : 사용자의 홈디렉토리에 있는 .bash_profile의 기능과 용도
- 레벨233 : 사용자가 로그아웃 할 때마다 실행되는 .bash_logout은 이렇게 사용하라.
- 레벨233-1 : 개별 사용자의 홈디렉토리에 존재하는 사용자 로그아웃시에 실행되는 .bash_logout 파일의 기능과 용도
- 레벨234 : 모든 사용자들에게 적용되는 시스템 사용환경 설정파일 /etc/bashrc의 이해와 활용
- 레벨234-1 : 리눅스의 모든 사용자들의 시스템 사용환경설정을 위한 /etc/bashrc파일의 용도와 기능
- 레벨235 : 모든 사용자들에게 적용되는 글로벌 사용환경 설정파일 /etc/profile의 활용법
- 레벨235-1 : 리눅스 서버로 로그인하는 모든 사용자들의 기본 사용환경 설정을 위한 /etc/profile의 역할과 용도
- 레벨236 : 모든 사용자의 홈디렉토리에 있는 .bashrc파일의 이해와 활용법
- 레벨236-1 : 개별사용자의 홈디렉토리에 존재하는 .bashrc파일의 기능과 용도
- 레벨237 : 쉘변수들을 확인하는 env는 이렇게 사용한다.
- 레벨237-1 : 쉘변수 확인 및 현재사용계정의 쉘변수와 쉘변수값 확인하는 env 개론과 활용
- 레벨237-2 : env로 확인하는 쉘변수들을 하나씩 확인하기
- 레벨237-3 : env로 쉘변수에 값 할당하여 변수리스트 출력하기
- 레벨238 : 쉘내부명령어 실행하는 builtin의 이해와 활용
- 레벨238-1 : 쉘내부명령어 실행할 수 있는 builtin 개론과 사용법
- 레벨238-2 : builtin명령어로 쉘내부명령어 umask 실행하기
- 레벨239 : echo사용법을 모르면 리눅스 왕초보 보다 못하다.
- 레벨239-1 : 문자출력 및 쉘변수값을 출력하는 echo명령어 개론
- 레벨239-2 : echo 명령어로 간단한 문자 출력하기
- 레벨239-3 : echo에서 문자열과 함께 만든 변수값 출력하기
- 레벨239-4 : echo문 내에서 '와 ", 그리고 `의 의미를 정확하게 사용하기
- 레벨239-5 : echo에서 사용하는 '와 "의 차이점
- 레벨239-6 : echo의 결과를 다른파일로 출력하기
- 레벨239-7 : echo에서 개행문자 출력하지않는 옵션사용(-n)
- 레벨240 : 쉘프로그램에서 키보드로부터 입력변수 받아들이는 방법
- 레벨240-1 : 쉘프로그램에서 사용자로부터 입력을 받아 변수에 저장하는 read 개론
- 레벨240-2 : 쉘프로그램내에서 read명령어로 사용자의 입력내용을 기본변수 REPLY에 받아들이기
- 레벨240-3 : 쉘프로그램내에서 사용자의 입력내용을 지정한 변수에 저장하기 #1
- 레벨240-4 : 쉘프로그램내에서 사용자의 입력내용을 지정한 변수에 저장하기 #2
- 레벨240-5 : 쉘프로그램내에서 read문에서 메시지 출력후에 입력내용 받아서 처리하기
- 레벨240-6 : 쉘프로그램내에서 read문에서 배열로 받아서 처리하기
- 레벨241 : 쉘프로그램에서 case는 어떻게 사용될까.
- 레벨241-1 : 쉘프로그램내에서 사용되는 case문의 사용방법과 실 사용예
- 레벨241-2 : case문의 실 사용예
- 레벨242 : 쉘프로그램에서 반복문의 대명사 for문의 사용은 이렇게 한다.
- 레벨242-1 : 쉘프로그램내에서 사용되는 for루프문의 사용방법과 실 사용예 #1
- 레벨242-2 : 쉘프로그램내에서 사용되는 for루프문의 사용방법과 실 사용예 #2
- 레벨242-3 : 쉘프로그램내에서 사용되는 for루프문의 사용방법과 실 사용예 #2
- 레벨243 : 모든 쉘프로그램에서 반드시 사용하는 조건문 if의 사용은 이렇게 하라.
- 레벨243-1 : 쉘프로그램내에서 사용되는 if문의 사용방법과 실 사용예
- 레벨243-2 : if문을 이용하여 root만 허용되는 쉘프로그램 만들기
- 레벨243-3 : if문을 이용하여 파일 존재여부 체크하기
- 레벨244 : 쉘프로그램에서 사용되는 if~else문의 사용은 이렇게 한다.
- 레벨244-1 : 쉘프로그램내에서 사용되는 if~else문의 사용방법과 실 사용예
- 레벨245 : 쉘프로그램에서 사용되는 if
elifelse문의 사용은 이렇게 한다.- 레벨245-1 : 쉘프로그램내에서 사용되는 if
elifelse문의 사용방법과 실 사용예
- 레벨245-1 : 쉘프로그램내에서 사용되는 if
- 레벨246 : 쉘프로그램에서 사용되는 until문의 사용은 이렇게 한다.
- 레벨246-1 : 쉘프로그램내에서 사용되는 until문의 사용방법과 실 사용예
- 레벨247 : 쉘프로그램에서 반복문은 while문을 사용한다. 이것 모르면 쉘프로그램 못한다.
- 레벨247-1 : 쉘프로그램내에서 사용되는 while반복문의 사용방법과 실 사용예
- 레벨247-2 : 아파치 웹서버 다운되었을 때 자동으로 되살리는 쉘프로그램 만들기
- 레벨248 : 쉘프로그램내에서 사용되는 test문은 이렇게 사용하라.
- 레벨248-1 : 쉘프로그램내에서 사용되는 test명령어의 활용법
- 레벨249 : 쉘프로그램에서 반복메뉴문 구현은 이렇게 하면 가장 쉽다.
- 레벨249-1 : select문을 이용하여 반복메뉴방식의 쉘프로그램 만들기
- 레벨250 : 쉘프로그램에서 루프문의 제어권을 처음위치로 되돌리는 방법
- 레벨250-1 : 쉘프로그램의 제어권를 루프문의 처음위치로 되돌리는 continue문
- 레벨251 : 쉘프로그램에서 루프문을 빠져나가가는 방법
- 레벨251-1 : 쉘프로그램에서 루프문을 ?져나가는 break문
- 레벨252 : 쉘프로그램에서 필요한 변수선언과 변수값 할당하는 방법
- 레벨252-1 : 현재 정의되어있는 쉘변수명과 변수값들 출력하는 declare의 실무활용
- 레벨252-2 : declare를 이용하여 정의된 변수 변경하기
- 레벨252-3 : declare를 이용하여 읽기전용으로 변수선언하기
- 레벨252-4 : 쉘프로그램내에서 함수이름들만 출력하기
- 레벨252-5 : declare를 이용하여 정수형 쉘변수로 선언하기
- 레벨252-6 : declare를 이용하여 배열형 쉘변수 선언하기
- 레벨252-7 : declare로 쉘변수 선언과 동시에 값을 할당하기
- 레벨253 : 쉘프로그램에서 쉘을 종료하기 위한 방법
- 레벨253-1 : 현재 실행된 쉘을 종료하는 exit 명령어 개론과 기본 사용법
- 레벨253-2 : 쉘프로그램내에서 사용된 exit의 예
- 레벨254 : 쉘프로그램내에서 실행된 명령의 결과가 참임을 알리는 방법
- 레벨254-1 : 명령의 실행이 참(0)임을 반환하는 true
- 레벨255 : 쉘프로그램내에서 실행된 명령의 결과가 거짓임을 알리는 방법
- 레벨255-1 : 항상 명령의 실패를 의미하는 1을 반환하는 false
- 레벨256 : 쉘프로그램내에서 대부분의 수치연산은 이렇게 행해진다.
- 레벨256-1 : 쉘프로그램내에서 사용되는 let명령어 개론
- 레벨256-2 : 쉘프로그램내에서 사용되는 let명령어 사용예 보기
- 레벨257 : 쉘프로그램내에서 명령행 위치인자를 설정하고 쉘옵션들을 ON/OFF시키는 방법
- 레벨257-1 : 명령행 인자설정 및 쉘옵션 ON/OFF하는 set 개론
- 레벨257-2 : 쉘스크립트 내에서의 set명령어 사용 예
- 레벨257-3 : set명령어를 옵션없이 그냥 사용하면 전체 쉘변수와 그 값을 출력하기
- 레벨258 : 쉘환경변수 설정해제하는 unset 사용법
- 레벨258-1 : 쉘환경변수 설정해제하는 unset 활용
- 레벨258-2 : 쉘프로그램 내에서 사용된 unset의 예
- 레벨259 : 쉘프로그램내에서 주로 사용되는 종료상태값을 표시하는 wait사용법
- 레벨259-1 : 프로세스종료시 종료상태값을 반환하는 wait
- 레벨260 : 쉘프로그램의 실행을 지정한 시간동안 정지시키는 sleep 사용법
- 레벨260-1 : 지정한 시간동안 쉘실행을 정지시키는 sleep 개론
- 레벨260-2 : sleep명령어에 아무런 옵션없이 숫자만 지정하면...
- 레벨260-3 : sleep명령어로 사용쉘을 초단위로 지연시키는 방법
- 레벨260-4 : sleep명령어로 사용쉘을 분단위로 지연시키는 방법
- 레벨260-5 : sleep명령어로 사용쉘을 시간단위로 지연시키는 방법
- 레벨260-6 : sleep명령어로 사용쉘을 일단위로 지연시키는 방법
- 레벨260-7 : 쉘스크립트내에서 sleep명령어로 실행되고 있는 쉘스크립트 지연시키기
- 레벨260-8 : N초마다 한번씩 지속적으로 자동실행하는 쉘스크립트
- 레벨261 : 지정한 명령어를 실행하는 command사용법
- 레벨261-1 : 지정한 명령어를 실행하는 command명령어 사용법
- 레벨262 : 스택(stack)관리를 위한 dirs, pushd 사용법
- 레벨262-1 : 스택내의 디렉토리 리스트를 출력하는 dirs명령어 개론
- 레벨262-2 : dirs와 pushd, 그리고 popd의 일반적인 사용법
- 레벨262-3 : pushd를 이용하여 자주 사용하는 디렉토리 북마크시키기
- 레벨262-4 : dirs를 이용하여 현재 디렉토리 기억스택에 기억된 북마크 확인하기
- 레벨262-5 : dirs를 이용하여 디렉토리 기억스택의 앞부분부터 출력하기
- 레벨262-6 : dirs를 이용하여 디렉토리 기억스택의 뒷부분부터 출력하기
- 레벨262-7 : 디렉토리 기억스택의 내용 출력시 긴 디렉토리경로명으로 출력하기
- 레벨262-8 : 디렉토리 기억스택의 최상단리스트를 제거하기
- 레벨262-9 : 디렉토리 기억스택의 최상단리스트중 특정항목만 제거하기
- 레벨263 : 외부명령어를 내부명령어로 사용하는 enable 사용법
- 레벨263-1 : 외부명령어를 내부명령어로 사용하는 enable 개론과 활용
- 레벨263-2 : 사용가능한 쉘내부명령어들을 확인하기
- 레벨263-3 : enable로 설정되어 있는 지정된 이름의 사용을 중지하기
- 레벨263-4 : enable로 설정되어 있는 지정된 이름의 사용을 설정하기
- 레벨264 : 새로운 쉘변수 생성과 변수에 값을 할당하는 초기화 작업하는 방법
- 레벨264-1 : 새로운 쉘변수를 생성하거나 쉘변수에 값을 할당하는 export 개론과 활용
- 레벨264-2 : export로 새로운 쉘변수 만들어 사용하기
- 레벨264-3 : 생성한 쉘변수의 export속성제거하기
- 레벨264-4 : export명령어로 사용자의 PATH추가하기
- 레벨265 : 시스템 로그파일에 원하는 메시지를 원하는 조건에서 자동기록하는 방법
- 레벨265-1 : 시스템로그 기록을 위한 logger의 기본 사용법과 사용예
- 레벨265-2 : 쉘프로그램내에서 사용되는 로그기록기 logger의 실사용예
- 레벨266 : 로그아웃한 후에도 계속실행되어야하는 쉘프로그램은 이렇게 실행하라.
- 레벨266-1 : 로그아웃 후에도 실행한 프로그램을 종료하지 않는 nohup
- 레벨266-2 : 아파치웹서버가 죽었을 경우에 자동 재실행하는 쉘프로그램
- 레벨267 : 스택(stack)관리를 위한 pushd 사용법
- 레벨267-1 : 지정한 디렉토리를 디렉토리 저장스택에 저장하는 pushd 개론과 기본사용법
- 레벨267-2 : pushd를 이용하여 여러 개의 디렉토리를 디렉토리 저장스택에 저장하기
- 레벨268 : 스택(stack)관리를 위한 popd 사용법
- 레벨268-1 : 기억스택에서 지정된 디렉토리리스트 제거하는 popd 개론
- 레벨268-2 : popd를 이용하여 디렉토리 기억스택에서 맨앞의 리스트 삭제하기
- 레벨268-3 : 현재 디렉토리 기억스택에서 지정된 내용 삭제하기 #1
- 레벨268-4 : 현재 디렉토리 기억스택에서 지정된 내용 삭제하기 #2
- 레벨269 : 현재 사용자의 쉘변수와 변수값을 확인하는 방법
- 레벨269-1 : 현재 사용자의 쉘변수와 값을 확인하는 printenv
- 레벨269-2 : 개별 쉘변수들의 값 확인하기
- 레벨269-3 : 특정 쉘변수값 변경하기
- 레벨270 : 갖고 싶은 명령어를 직접 만들어서 사용하는 방법
- 레벨270-1 : 특정 프로세스 모두 한번에 죽이기 : 제작명령어 prokill
- 레벨270-2 : 아파치프로세스(httpd) 한번에 모두 죽이기
- 레벨270-3 : 센드메일프로세스(sendmail) 한번에 모두 죽이기
- 레벨271 : 쉘프로그램을 sourcing하는 이유와 sourcing하는 방법
- 레벨271-1 : 쉘스크립트 또는 로그인 초기화파일들 적용하는 source에 대하여
- 레벨271-2 : 로그인시에 실행되는 .bashrc스크립트 수정 후 source명령어로 바로 적용하기
- 레벨271-3 : 로그아웃시에 실행되는 .bash_logout스크립트 수정 후 source명령어로 바로 적용하기
- 레벨271-4 : source를 .(점)으로 축약하여 사용하기
- 레벨272 : 쉘자체를 일시정지하는 방법
- 레벨272-1 : 쉘을 일시정지하는 suspend
- 레벨231 : bash쉘의 기초부터 실무활용, 그리고 로그인부터 로그아웃까지의 과정 이해하기
- PART 26. 컴파일러편
- 레벨273 : 리눅스시스템의 가장 대표적인 컴파일러 gcc에 대하여
- 레벨273-1 : 리눅스의 가장 대표적인 C컴파일러 gcc에 대하여
- 레벨273-2 : gcc로 간단한 C소스파일 컴파일하기
- 레벨273-3 : gcc로 컴파일과 링크작업을 각각 따로 수행하기
- 레벨273-4 : 연결된 두개의 C소스파일의 컴파일과 링크작업 수행하기
- 레벨274 : gcc컴파일러와 make 컴파일 작업
- 레벨274-1 : 리눅스 어플리케이션 컴파일을 위한 make
- 레벨275 : cp와는 완전 다른 또다른 파일복사의 강자 install 사용법
- 레벨275-1 : 특정 파일의 권한, 속성, 소유자, 그룹명등의 속성으로 지정한 위치에 복사하는 install 실무활용
- 레벨275-2 : install의 파일복사 활용예
- 레벨276 : 특정 데몬파일의 실행에 필요한 모든 라이브러리파일들을 조사하는 방법
- 레벨276-1 : 컴파일시 사용되었던 라이브러리 확인하는 ldd
- 레벨276-2 : ldd로 특정 실행파일의 컴파일시에 사용되었던 라이브러리 확인하기
- 레벨276-3 : ldd로 특정 실행파일의 컴파일시에 사용되었던 라이브러리 모두를 상세히 확인하기
- 레벨273 : 리눅스시스템의 가장 대표적인 컴파일러 gcc에 대하여
- PART 27. 네임서버 질의편
- 레벨277 : 가장 인기있는 네임서버 질의도구 nslookup의 파워 활용법
- 레벨277-1 : 네임서버 질의의 전통적인 유틸리티 nslookup 개론
- 레벨277-2 : MS윈도우에서도 nslookup을 사용한다.
- 레벨277-3 : 가장 간단한 nslookup의 실행과 종료
- 레벨277-4 : nslookup으로 특정 도메인 정보 조회하기
- 레벨277-5 : nslookup으로 특정도메인 정보를 쉘에서 바로 조회하기
- 레벨277-6 : nslookup 실행모드에서 응답할 네임서버 지정하기
- 레벨277-7 : nslookup의 현재 응답상황을 확인하기
- 레벨277-8 : nslookup으로 도메인에 대한 원하는 클래스값을 확인하는 방법
- 레벨277-9 : nslookup에서 사용할 수 있는 멋진 set옵션들
- 레벨278 : IP주소와 인터넷 Domain사용기관 정보를 확인할 수 있는 방법은
- 레벨278-1 : 특정 도메인 또는 IP의 사용기관 정보조회하는 whois 뎰론
- 레벨278-2 : whois서버에서 특정 도메인 등록정보 검색하기
- 레벨278-3 : whois서버에 특정 IP주소의 관리기관 정보 검색하기 #1
- 레벨278-4 : whois서버에 특정 IP주소의 관리기관 정보 검색하기 #2
- 레벨279 : DNS서버의 zone파일정보를 조회하는 강력한 유틸리티 dig 활용법
- 레벨279-1 : DNS 설정정보 조회하는 강력한 유틸리티 dig 개론
- 레벨279-2 : dig명령어로 DNS서버의 기본설정내용 조회하기
- 레벨279-3 : dig명령어로 특정도메인의 모든 설정내용 조회하기
- 레벨279-4 : dig명령어로 기본네임서버를 이용하여 특정도메인 설정내용조회하기
- 레벨279-5 : dig명령어로 특정도메인의 SOA레코드 조회하기
- 레벨279-6 : dig명령어로 특정도메인의 MX레코드 조회하기
- 레벨279-7 : dig명령어로 특정도메인의 NS레코드 조회하기
- 레벨279-8 : dig명령어로 특정도메인의 A레코드 조회하기
- 레벨279-9 : dig명령어로 DNS서버의 버전확인하기
- 레벨280 : DNS서버의 zone파일정보 즉, 도메인정보를 검색하는 또다른 도구 host 활용법
- 레벨280-1 : 도메인정보를 확인하기 위한 host를 이용한 네임서버 질의의 기초개념
- 레벨280-2 : 기본네임서버에 대한 질의와 특정 네임서버를 지정한 질의의 차이점
- 레벨280-3 : 특정 DNS서버에 설정된 특정도메인의 모든 정보확인하기
- 레벨280-4 : 지정한 DNS에 특정 도메인의 zone정보중 원하는 레코드만 확인하기
- 레벨281 : 시스템 DNS도메인명을 확인하는 dnsdomainname 활용법
- 레벨281-1 : 시스템 DNS도메인명을 확인하는 dnsdomainname
- 레벨277 : 가장 인기있는 네임서버 질의도구 nslookup의 파워 활용법
- PART 28. 메일사용편
- 레벨282 : 리눅스 시스템의 쉘상태에서 email을 주고 받는 방법
- 레벨282-1 : 리눅스 쉘상태에서 메일사용(보내기,읽기등)하는 mail 개론과 사용법
- 레벨282-2 : mail명령어로 동일서버 사용자에게 메일보내기
- 레벨282-3 : mail명령어로 hanmail.net사용자에게 메일보내기와 확인
- 레벨282-4 : mail명령어로 메일읽기 그리고 읽은메일 mbox에 저장하기
- 레벨282-5 : mail명령어 상태에서 사용할 수 있는 여러가지 mail명령어들
- 레벨282-6 : mail명령어 상태에서 여러명의 사용자에게 동시에 메일보내기
- 레벨282-7 : mail상태에서 사용할 수 있는 mail명령어들 도움말 확인하기
- 레벨282-8 : mail명령어상태에서 메일목록(리스트) 확인하기
- 레벨282-9 : 메일박스에 저장된 메일을 파일로 저장하기
- 레벨282-10 : mail실행상태에서 쉘명령어 사용하기
- 레벨282-11 : mail명령어로 메일 읽은 후에 답장쓰기
- 레벨282-12 : mail명령어로 메일박스에 도착한 특정 메일내용 확인하기
- 레벨282-13 : echo명령어의 출력결과를 mail명령어를 이용하여 메일로 받기
- 레벨282-14 : 특정 파일내용(시스템점검내용등) 을 mail명령어를 이용하여 메일로 보고받는 방법
- 레벨283 : 메일송수신 처리량 즉, 메일서비스에 대한 통계를 확인하는 방법
- 레벨283-1 : 서버내에서 처리되고 있는 메일서비스의 통계 확인하기
- 레벨284 : 메일 알리아스 데이터베이스 파일을 갱신하는 newaliases 사용법
- 레벨284-1 : newaliases로 메일 알리아스 데이터베이스 파일 갱신하기
- 레벨282 : 리눅스 시스템의 쉘상태에서 email을 주고 받는 방법
- PART 29. 텍스트파일 편집기편
- 레벨285 : 시스템관리자를 위한 완벽한 vi 실무지침서. 너희는 결코 vi를 가볍게 보지말라.
- 레벨285-1 : "시스템관리자의 vi 필수론"을 강조하는 필자의 vi예찬론
- 레벨285-2 : vi편집기의 3가지 사용모드와 모드전환방법
- 레벨285-3 : 아무런 인자없이 vi실행하기
- 레벨285-4 : 편집할 대상파일명을 지정하여 vi 실행하기(새로운 파일)
- 레벨285-5 : 편집할 대상파일명을 지정하여 vi 실행하기(내용이 있는 기존파일)
- 레벨285-6 : 편집할 대상파일의 지정한 행번호부터 파일 vi열기
- 레벨285-7 : 편집할 대상파일의 지정한 단어가 처음 나오는 행부터 vi열기
- 레벨285-8 : 편집할 대상파일이 손상되었을 경우 복구하면서 vi열기
- 레벨285-9 : 파일 수정(편집)할 수 없는 읽기전용으로 vi 시작하기
- 레벨285-10 : vi편집모드에서 왼쪽/오른쪽/위쪽/아래쪽으로 커서 이동하기
- 레벨285-11 : vi편집모드에서 한단어 오른쪽으로 이동하기(w)
- 레벨285-12 : vi편집모드에서 한단어 왼쪽으로 이동하기(b)
- 레벨285-13 : vi편집모드에서 현재 화면의 맨위로 이동하기(H)
- 레벨285-14 : vi편집모드에서 현재화면의 가운데행으로 이동하기(M)
- 레벨285-15 : vi편집모드에서 화면의 맨 아래로 이동하기(L)
- 레벨285-16 : vi편집모드에서 다음화면으로 이동하기(^F)
- 레벨285-17 : vi편집모드에서 반화면 다음으로 이동하기(^D)
- 레벨285-18 : vi편집모드에서 이전화면으로 이동쿇기(^B)
- 레벨285-19 : vi편집모드에서 이전 반화면으로 이동하기(^U)
- 레벨285-20 : vi편집모드에서 커서 왼쪽에 문자 삽입하기(i)
- 레벨285-21 : vi편집모드에서 커서 왼쪽, 행의 처음에 문자 삽입하기(I)
- 레벨285-22 : vi편집모드에서 커서 오른쪽에 문자 삽입하기(a)
- 레벨285-23 : vi편집모드에서 커서 오른쪽, 행의 끝에 문자 삽입하기(A)
- 레벨285-24 : vi편집모드에서 커서 아래에 새로운 행 삽입하기(o)
- 레벨285-25 : vi편집모드에서 커서 위에 새로운 행 삽입하기(O)
- 레벨285-26 : vi편집모드에서 커서가 위치한 단어 교체하기(cw)
- 레벨285-27 : vi편집모드에서 커서가 위치한 행 교체하기(cc)
- 레벨285-28 : vi편집모드에서 커서가 위치한 행의 오른쪽 교체하기(C)
- 레벨285-29 : vi편집모드에서 커서가 위치한 한문자 삭제후 글 입력하기(s)
- 레벨285-30 : vi편집모드에서 커서가 위치한 문자를 다른문자로 대체하기(r)
- 레벨285-31 : vi편집모드에서 커서위치의 행 분리하기(r-RETURN)
- 레벨285-32 : vi편집모드에서 커서위치의 현재행과 아래행 합치기(J)
- 레벨285-33 : vi편집모드에서 커서위치의 문자와 오른쪽 문자 교환하기(xp)
- 레벨285-34 : vi편집모드에서 커서위치의 문자형(대,소문자) 변경하기(~)
- 레벨285-35 : vi편집모드에서 이전 명령 취소하기(u)
- 레벨285-36 : vi편집모드에서 행의 변경사항 취소하기(U)
- 레벨285-37 : vi편집모드에서 이전의 최종작업 취소하기(:u)
- 레벨285-38 : vi편집모드에서 커서위치의 한문자 삭제하기(x)
- 레벨285-39 : vi편집모드에서 커서위치의 한단어 삭제하기(dw)
- 레벨285-40 : vi편집모드에서 커서위치의 행 삭제하기(dd)
- 레벨285-41 : vi편집모드에서 커서위치의 여러행 동시 삭제하기(Ndd)
- 레벨285-42 : vi편집모드에서 커서위치의 오른쪽 행 삭제하기(D)
- 레벨285-43 : vi편집모드에서 행번호 표시하기(:set nu)
- 레벨285-44 : vi편집모드에서 행번호 숨기기(:set nonu)
- 레벨285-45 : vi편집모드에서 지정한 행 범위의 모든 행 삭제하기(:5,10 d)
- 레벨285-46 : vi편집기에서 파일의 맨마지막 행으로 이동하기(G)
- 레벨285-47 : vi편집기에서 지정한 행번호로 이동하기(20G)
- 레벨285-48 : vi편집기에서 한 행 복사(yy)
- 레벨285-49 : vi편집기에서 여러행 복사(Nyy)
- 레벨285-50 : vi편집기에서 복사되었거나 삭제된 행을 현재 행 아래에 삽입하기(p)
- 레벨285-51 : vi편집기에서 복사되었거나 삭제된 행을 현재 행 위에 삽입하기(P)
- 레벨285-52 : vi편집기에서 선택된 행을 지정된 행 다음으로 복사하기(:1,2 co 3)
- 레벨285-53 : vi편집기에서 선택된 행을 지정된 행 다음으로 이동하기(:4,6 m 8)
- 레벨285-54 : vi편집기에서 지정한 문자열 검색하기(/string)
- 레벨285-55 : vi편집기에서 지정한 문자 역방향 검색하기(?string)
- 레벨285-56 : vi편집기에서 문자열 검색시 검색방향 바꾸기 (N)
- 레벨285-57 : vi편집기에서 커서가 위치한 행에서 문자열 교체하기(:s/str/rep)
- 레벨285-58 : vi편집기에서 파일전체를 대상으로 문자열 교체하기(:%s/str/rep)
- 레벨285-59 : HTML파일에서 각 행의 끝부분에"^M"문자 모두 제거하기(%s/^M//g)
- 레벨285-60 : vi편집기에서 파일의 처음부터 현재행까지 문자열 교체하기 (:1,.s/str/rep)
- 레벨285-61 : vi편집기에서 N행과 M행 사이의 문자열 교체하기(:N,Ms/str/rep)
- 레벨285-62 : vi를 사용하면서 지저분한 화면 깨끗하게 정리하기, 즉 화면다시표시하기(^L)
- 레벨285-63 : vi편집기에서 현재 커서위치 다음에 지정한 파일내용 삽입하기(:r 파일명)
- 레벨285-64 : vi편집기에서 특정행 다음에 지정한 파일내용 삽입하기(:20 r 파일명)
- 레벨285-65 : vi편집기에서 변경사항 저장하기(:w)
- 레벨285-66 : vi편집기에서 현재 편집중인 파일을 지정한 파일명으로 저장하기(:w 파일명)
- 레벨285-67 : vi편집기에서 현재 편집중인 파일을 저장하고 vi 빠져나오기(:wq)
- 레벨285-68 : vi편집기에서 현재 편집중인 파일을 저장하지 않고 vi 빠져나오기(q!)
- 레벨285-69 : vi편집기의 비주얼블럭 사용하기
- 레벨285-70 : vi비주얼블록의 "CTRL+V"로 블록단위 설정작업하기
- 레벨285-71 : vi비주얼블록의 "ALT+V"로 라인(행)단위 설정작업하기
- 레벨286 : /etc/passwd파일의 전용 편집명령어 vipw 사용법
- 레벨286-1 : 시스템 패스워드파일(/etc/passwd) 편집하는 vipw 활용법
- 레벨287 : /etc/group파일의 전용 편집명령어 vigr 사용법
- 레벨287-1 : 시스템 그룹파일(/etc/group) 편집하는 vigr 활용법
- 레벨285 : 시스템관리자를 위한 완벽한 vi 실무지침서. 너희는 결코 vi를 가볍게 보지말라.
- PART 30. FTP클라이언트 활용편
- 레벨288 : 시스템관리자를 위한 ftp와 lftp의 실무사용 지침서.
- 레벨288-1 : 원격서버의 파일을 업/다운캷드하는 ftp명령어 실무개론
- 레벨288-2 : FTP 실행하고 종료하기
- 레벨288-3 : 원격서버로의 FTP접속하기
- 레벨288-4 : 호스트명을 이용한 FTP 접속하는 방법
- 레벨288-5 : 도메인명을 이용한 FTP 원격접속하는 방법
- 레벨288-6 : IP주소를 이용한 FTP 원격접속하는 방법
- 레벨288-7 : FTP접속을 종료하고 빠져나가기
- 레벨288-8 : FTP접속 후의 로컬서버의 FTP 전체명령어 도움말 확인하기
- 레벨288-9 : FTP접속 후에 로컬서버의 FTP 특정명령어 도움말 보기
- 레벨288-10 : FTP접속 후에 원격서버의 FTP 전체 도움말과 개별명령어 도움말 확인하기
- 레벨288-11 : FTP접속 이전의 쉘(SHELL)상태로 잠시 빠져나가기
- 레벨288-12 : 파일전송 중일 경우 "#"표시하여 전송중임을 알리기
- 레벨288-13 : FTP 전송모드를 ASCII모드로 설정하기
- 레벨288-14 : FTP전송모드를 BINARY모드로 설정하기
- 레벨288-15 : FTP전송모드를 이미지파일모드(BINARY모드)로 설정하기
- 레벨288-16 : FTP접속 후에 원격서버의 현재 작업디렉토리 확인하기
- 레벨288-17 : FTP 원격 접속하여 원격서버에서 로컬서버로 하나의 파일가져오기
- 레벨288-18 : FTP 원격 접속하여 원격서버의 여러개의 파일을 로컬서버로 동시에 가져오기
- 레벨288-19 : FTP 접속하여 원격서버의 현재디렉토리에 존재하는 모든 파일 가져오기
- 레벨288-20 : FTP 접속하여 로컬서버에서 원격서버로 하나의 파일 올려놓기
- 레벨288-21 : FTP 원격 접속하여 로컬서버에서 원격서버로 여러개의 파일 올려놓기
- 레벨288-22 : FTP 접속하여 로컬서버의 현재 디렉토리의 모든 파일을 원격서버로 올려놓기
- 레벨288-23 : FTP 명령어 완료시 벨소리 나게 설정하기
- 레벨288-24 : FTP접속 후에 원격서버의 작업디렉토리 변경하기
- 레벨288-25 : FTP접속 후에 원격서버의 현재 디렉토리의 상위디렉토리로 이동하기
- 레벨288-26 : FTP접속 후에 로컬서버의 작업디렉토리 변경하기
- 레벨288-27 : FTP접속 후의 원격서버의 현재 디렉토리 내용 확인하기
- 레벨288-28 : FTP접속 후에 원격서버의 파일퍼미션 변경하기
- 레벨288-29 : FTP접속 후에 원격서버의 특정 파일 삭제하기
- 레벨288-30 : FTP접속 후에 원격서버내의 여러개의 파일 한꺼번에 삭제하기
- 레벨288-31 : FTP접속 후에 원격서버의 특정 디렉토리 생성하기
- 레벨288-32 : FTP접속 후의 원격서버의 특정 디렉토리 삭제하기
- 레벨288-33 : FTP접속 후의 원격서버내의 특정 파일명 변경하기
- 레벨288-34 : FTP접속 후의 원격서버내 특정 파일의 사이즈 표시하기
- 레벨288-35 : FTP로 여러 개의 파일 업/다운로드시에 전송여부 하나씩 확인하기
- 레벨288-36 : FTP접속 후의 원격서버의 시스템타입 확인하기
- 레벨288-37 : FTP로 데이터 전송시에 전송포트 사용 ON/OFF하기
- 레벨288-38 : FTP 접속 후에 원격서버의 특정 파일 변경시간 확인하기
- 레벨288-39 : FTP접속 후에 원격서버의 파일이 로컬서버파일보다 새로운 것일 때 가져오기
- 레벨288-40 : FTP접속 후에 원격서버의 특정 디렉토리 내용 확인하기
- 레벨288-41 : FTP접속 후에 파일전송시 상세정보 모드로 변환하기
- 레벨288-42 : FTP사용시 Passive모드 설정하기
- 레벨288-43 : FTP접속 후의 FTP세션 정보 확인하기
- 레벨289 : 초보 시스템관리자 딱지를 떼기위한 필수코스 ncftp 파워 활용법
- 레벨289-1 : 시스템관리자의 필수도구 ncftp 개론
- 레벨289-2 : 먼저 ncftp의 기능과 특징들에 대해서 알아보자.
- 레벨289-3 : ncftp의 소스구하는 방법과 ncftp설치하는 방법 2가지
- 레벨289-4 : ncftp 의 실행과 종료
- 레벨289-5 : ncftp를 이용한 원격서버로의 익명(anonymous) ftp 접속하기
- 레벨289-6 : NCFTP 접속후에 도움말 확인하기
- 레벨289-7 : ncftp로 원격서버의 계정사용자를 지정하여 접속하기
- 레벨289-8 : ncftp로 원격서버의 계정사용자 패스워드 지정하여 자동접속하기
- 레벨289-9 : ncftp를 이용하여 특정포트를 지정하여 원격서버 접속하기
- 레벨289-10 : ncftp를 이용하여 원격서버의 특정파일을 로컬서버로 가져오기
- 레벨289-11 : ncftp를 이용하여 원격서버의 여러개의 파일을 한번에 로컬서버로 가져오기
- 레벨289-12 : ncftp를 이용하여 원격서버의 특정 디렉토리내의 모든 파일을 한번에 로컬서버로 가져오기
- 레벨289-13 : ncftp를 이용하여 원격서버의 특정 디렉토리내의 모든 파일과 서브디렉토리를 한번에 가져오기
- 레벨289-14 : ncftp를 이용하여 원격서버의 현재 디렉토리내의 모든 파일과 서브디렉토리들을 한번에 가져오기
- 레벨289-15 : ncftp로 원격서버로 접속한 후에 원격서버내의 특정 파일 내용 확인하기
- 레벨289-16 : ncftp로 원격서버로 접속한 후에 원격서버내의 특정 파일 내용을 한 페이지씩 확인하기
- 레벨289-17 : ncftp로 원격서버로 접속한 후에 로컬서버내의 특정 파일 내용을 한 페이지씩 확인하기
- 레벨289-18 : ncftp의 설정내용 간략히 확인하기
- 레벨289-19 : ncftp로 원격서버로 접속한 후에 로컬서버의 현재 작업디렉토리 확인하기
- 레벨289-20 : ncftp로 원격서버로 접속한 후에 로컬서버의 현재 작업디렉토리 내에 파일리스트 확인하기
- 레벨289-21 : ncftp로 원격서버로 접속한 후에 로컬서버 내에 존재하는 특정파일명 변경하기
- 레벨289-22 : ncftp로 원격서버로 접속한 후에 ncftp의 북마크 설정과 사용방법
- 레벨289-23 : ncftp로 원격서버로 접속한 후에 ncftp의 북마크 설정 관리하기
- 레벨289-24 : ncftp로 원격서버로 접속한 후에 사용중인 ncftp의 버전 확인하기
- 레벨289-25 : ncftp로 원격서버로 접속한 후에 원격서버내의 특정 파일 삭제하기
- 레벨289-26 : ncftp로 원격서버로 접속한 후에 로컬서버내의 특정 파일 삭제하기
- 레벨289-27 : ncftp로 원격서버로 접속한 후에 로컬서버내의 특정 파일 퍼미션 변경하기
- 레벨289-28 : ncftp로 접속한 후에 로컬서버내의 특정 디렉토리 삭제하기
- 레벨289-29 : ncftp로 원격서버로 접속한 후에 로컬서버내의 새로운 디렉토리 생성하기
- 레벨289-30 : ncftp로 접속한 후에 특정 도메인 및 호스트정보 확인하기
- 레벨290 : 정말이야. ncftpget만으로도 훌륭한 백업솔루션을 구현할 수가 있다는 것이.
- 레벨290-1 : 한번의 명령으로 원격서버의 파일들을 동시에 가져올 수 있는 ncftpget
- 레벨290-2 : anonymous계정으로 원격서버에 접속하여 특정 파일을 가져오기(ncftpget)
- 레벨290-3 : anonymous계정으로 원격서버에 접속하여 지정한 두개이상의 파일을 한번에 가져오기(ncftpget)
- 레벨290-4 : anonymous계정으로 원격서버에 접속하여 지정한 모든 파일을 한번에 가져오기
- 레벨290-5 : anonymous계정으로 원격서버에 접속하여 특정 디렉토리의 내용을 통째로 가져오기(ncftpget)
- 레벨290-6 : 특정계정으로 원격서버에 접속하여 지정한 파일 가져오기(ncftpget)
- 레벨290-7 : 특정계정으로 원격서버에 접속하여 지정한 디렉토리의 모든 내용 통째로 가져오기(ncftpget)
- 레벨290-8 : 특정계정과 패스워드를 지정하여 원격서버에 접속하여 지정한 파일 가져오기(ncftpget)
- 레벨290-9 : 로그인정보파일을 이용하여 원격서버에 접속하여 지정한 파일 가져오기(ncftpget)
- 레벨291 : 진짜야. ncftpget과 ncftpput을 알면 웬만한 상용 백업솔루션 부럽지않다는 것이.
- 레벨291-1 : 한번의 명령으로 원격서버에 동시에 파일을 업로드할 수 있는 ncftpput
- 레벨291-2 : anonymous계정으로 원격서버에 파일 업로드하기(ncftpput)
- 레벨291-3 : 특정계정명으로 원격서버에 파일 업로드하기(ncftpput)
- 레벨291-4 : 특정 계정명과 패스워드를 지정하여 원격서버에 파일 자동업로드하기(ncftpput)
- 레벨291-5 : 로그인정보파일을 사용하여 원격서버에 자동으로 파일업로드하기(ncftpput)
- 레벨291-6 : 로그인정보파일을 사용하여 지정한 디렉토리의 모든 파일을 통째로 원격서버에
- 자동으로 업로드하기(ncftpput)
- 레벨292 : ncftpbatch도 알면 금상첨화.
- 레벨292-1 : 서버 계정사용자 개별적으로 사용하는 ncftp배치작업을 위한 ncftpbatch
- 레벨288 : 시스템관리자를 위한 ftp와 lftp의 실무사용 지침서.
- PART 31. 메시지전달과 대화하기편
- 레벨293 : 메시지 응답을 받을 것인가. 받지 않을 것인가 이것이 문제로다.
- 레벨293-1 : 메시지 응답 가능설정 및 불가 설정하는 mesg 개론
- 레벨293-2 : 메시지에 응답가능 상태인가 응답 불능상태인가를 확인하기
- 레벨293-3 : 메시지에 응답가능하지 않은 상태로 설정하기
- 레벨293-4 : 메시지에 응답가능상태로 설정하기
- 레벨294 : 시스템 로그인한 사용자끼리 조용한 대화를 가져보자.
- 레벨294-1 : 시스템사용자들과 대화할 수 있는 talk 개론
- 레벨294-2 : 동일(로컬) 서버사용자와의 대화하기 및 대화방법
- 레벨294-3 : 다른서버(원격서버) 사용자와의 대화하기 및 대화방법
- 레벨294-4 : talk명령어로 대화가 되지 않을 경우에 살펴봐야 할 점검항목
- 레벨295 : 시스템에 로그인한 모든 사용자들에게 특정 메시지를 전달하는 broadcasting방법
- 레벨295-1 : 현재 시스템에 접속한 모든 사용자들에게 특정 메시지 전달하는 wall
- 레벨295-2 : root권한으로 서버에 접속한 모든 사용자에게 메시지 뿌리기
- 레벨295-3 : 일반계정사용자가 서버에 접속한 모든 사용자에게 메시지 뿌리기
- 레벨296 : 시스템에 로그인한 사용자에게 메시지를 전달하기 위한 write 사용법
- 레벨296-1 : 다른 사용자에게 메시지 전달하기 write는 어떻게 사용하나?
- 레벨293 : 메시지 응답을 받을 것인가. 받지 않을 것인가 이것이 문제로다.
- PART 32. man페이지와 help시스템 활용편
- 레벨297 : 모든 리눅스 고수들도 man페이지는 매일 확인한다.
- 레벨297-1 : 리눅스 명령어 도움말(매뉴얼)을 확인하는 man명령어 활용
- 레벨297-2 : man페이지 파일들의 매뉴얼파일 실제 보관위치
- 레벨297-3 : man페이지의 실무 사용법과 man페이지화면에서의 사용키들
- 레벨298 : 특정 man페이지 파일이 있어야 특정 man페이지 내용을 확인할 수 있다.
- 레벨298-1 : 특정명령어의 man페이지 파일 위치를 확인하는 manpath
- 레벨299 : 내부명령어의 도움말은 어떻게 확인하나요.
- 레벨299-1 : 쉘내부명령어의 자세한 도움말을 확인하는 help 활용
- 레벨299-2 : 리눅스 쉘내부명령어와 외부명령어를 구분하는 방법
- 레벨299-3 : 모든 쉘내부명령어 리스트와 간단한 정리된 도움말 보기
- 레벨300 : 명령어 이름을 모를때에는 이렇게 찾는다.
- 레벨300-1 : 특정 문자 또는 문자열과 관련된 명령어들 찾기
- 레벨300-2 : 특정문자(열)과 관련된 두개이상의 명령어 동시에 찾기
- 레벨297 : 모든 리눅스 고수들도 man페이지는 매일 확인한다.
server1: x.y.w.z1
server2: x.y.w.z2
server3: x.y.w.z3
all servers
# yum install ntp -y
server1
# vi /etc/ntp.conf
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict x.y.w.0 mask 255.255.255.0 nomodify notrap
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server x.y.w.z1
#broadcast 192.168.1.255 key 42 # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 key 42 # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 key 42 # manycast client
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0 # local clock
#fudge 127.127.1.0 stratum 10
# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift
# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys
# Specify the key identifiers which are trusted.
#trustedkey 4 8 42
# Specify the key identifier to use with the ntpdc utility.
#requestkey 8
# Specify the key identifier to use with the ntpq utility.
#controlkey 8
# /etc/init.d/ntpd start
# chkconfig ntpd on
# ps -ef | grep ntpd
# ntpq -pn
server[n]
# ntpdate -u x.y.w.z1
http://whomwah.com/2008/10/01/setting-the-timezone-on-centos/
#
# this is not correct for me
#
$ date
Wed Oct 1 07:43:58 CDT 2008
#
# to fix it
#
$ sudo rm /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
#
# now check it's ok
#
$ date
Wed Oct 1 12:42:33 GMT 2008
-
여러가지 파일 형식에서 grep해서 한 번에 vi를 하고 싶은데 directory path에 공백이 있는 경우
-
찾기 - ok
grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u
-
하지만 공백으로 인해 그냥 vi 할 수 없음
grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u | xargs
-
앞 뒤에 quotation “ 추가
grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u | sed 's/.*/"&"/'
- 하지만 xargs를 추가하면 “가 사라짐
-
for문에 적용하면 “가 남아있지만 파일 이름을 공백기준 분리하므로 원하는 대로 vi로 볼 수 없음
for f in $(grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u | sed 's/.*/"&"/'); do echo $f; done
-
위와 마찬가지
for f in `grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u | sed 's/.*/"&"/'`; do echo $f; done
-
될 거 같았지만 vi 적용하니 실패
grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u | sed 's/.*/"&"/' | tr '\n' ' ' vi $(grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u | sed 's/.*/"&"/' | tr '\n' ' ‘)
-
xagrs -d”\n”
는 linux만 가능, os x는 불가능 -
아쉬운대로 이걸로 해결
grep -R -i --include="*.sql" --include="*.cs" firedrill . | cut -d":" -f1 | sort -u | sed 's/.*/"&"/' | xargs vi
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment