Section 8.2: archive 로부터 내용물 추출하기

아래의 예제처럼 수행하여 archive 로부터 내용물을 현재 작업 디렉토리에 추출할 수 있다:

tar -xf archive-name.tar

만약, archive 의 내용물을 특정 위치에 추출하려면 다음 예제를 참고한다:

tar -xf archive-name.tar -C ./directory/destination
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 8.1: 디렉토리 압축하기

아래 명령어를 통해 간단히 디렉토리를 archive 로 만들 수 있다:

tar -cf ./my-archive.tar ./my-folder/

상세 출력 모드를 이용하면 어떤 파일과 디렉토리들이 archive 에 추가되는지를 확인할 수 있다. -v 옵션을 사용한다:

tar -cvf ./my-archive.tar ./my-folder/

'gzip' 을 통해 디렉토리를 압축하려면, -z 옵션을 사용한다:

tar -czf ./my-archive.tar.gz ./my-folder/

혹은 -j 를 사용하여 archive 를 'bzip2' 형식으로 압축할 수도 있다:

tar -cjf ./my-archive.tar.bz2 ./my-folder/

'xz' 형식의 압축을 사용하려면, -J 옵션을 사용한다:

tar -cJf ./my-archive.tar.xz ./my-folder/
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Chapter 8: 'tar' 명령어를 통한 파일 압축

일반적인 옵션들

옵션 용도
-c --create 새로운 archive 를 생성한다.
-x --extract archive 에서 파일을 추출한다.
-t --list archive 내의 내용물을 출력한다.
-f --file=ARCHIVE ARCHIVE 라는 이름을 가진 파일 혹은 디렉토리를 대상 archive 로 사용한다.
-v --verbose 처리될 파일들의 목록을 상세하게 표시한다.

압축 옵션들

옵션 용도
-a --auto-compress archive 의 확장자를 기반으로 압축 프로그램을 선택한다.
-j --bzip2 bzip2 를 통해 archive 를 처리한다.
-J --xz --lzma xz 를 통해 archive 를 처리한다.
-z --gzip gzip 을 통해 archive 를 처리한다.
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 7.2: 가장 많이 사용되는 ls 명령어의 옵션들 알아보기

ls 명령어는 현재 작업 디렉토리에 존재하는 파일들과 디렉토리들의 목록을 표시해 줄 것이다. (추가적인 파라미터가 주어지지 않은 경우) (기본적으로 . 로 시작하는 숨김 파일은 출력 결과에 포함시키지 않는다)

user@ubuntu14:/usr$ ls bin games include lib lib32 local sbin share src

모든 파일을 표시하려면 (숨겨진 파일 및 디렉토리까지 포함) ls -a 혹은 ls -all 을 입력한다.

user@ubuntu14:/usr$ ls -a . .. bin games include lib lib32 local sbin share src

일반 파일 및 디렉토리들과 심볼릭 링크, 기타 파일들을 구분해 출력하기를 원한다면, ls -F 혹은 ls --classify 를 입력한다.

user@ubuntu14:~$ ls -F bash_profile_course chat_apps/ Desktop/ Downloads/ foxitsoftware/ Public/ test/ bin/ ClionProjects/ Documents/ IDE/ Music/ Pictures/ Templates/ Videos/

예제에서 보듯, 파일 이름 마지막에 파일 및 디렉토리 등 구분을 위한 문자가 추가되어 있다.

  • “/” 는 디렉토리를 의미한다.
  • “*” 는 실행 파일을 의미한다.
  • “@” 은 심볼릭 링크를 의미한다.

파일과 디렉토리들에 대해 더욱 상세한 정보를 확인하고자 한다면, ls -l 을 입력한다.

user@ubuntu14:~/example$ ls -l total 6464 -rw-r--r-- 1 dave dave 41 Dec 24 12:19 Z.txt drwxr-xr-x 2 user group 4096 Dec 24 12:00 a_directory -rw-r--r-- 1 user group 6 Dec 24 12:01 a_file lrwxrwxrwx 1 user group 6 Dec 24 12:04 a_link -> a_file -rw-r--r-- 1 user group 6 Dec 24 12:03 a_newer_file -rw-r----- 1 user group 6586816 Dec 24 12:07 big.zip

이 예제에서, 내용물들의 전체 크기는 6460KB 정도이다.

그 다음 각각 파일 및 디렉토리에 대한 항목들이 대문자에서 소문자로의 우선 순위를 따르는 알파벳 순서로 나열되어 있다.

각 항목의 첫번째 문자는 해당 항목의 타입을 나타낸다 (예: d - 디렉토리, l - 링크).

그 다음으로 나타나는 9 개의 문자들은 각각 소유자, 그룹 사용자 및 기타 사용자에 대한 권한을 나타낸다.

이후 하드 링크의 갯수가 뒤따르고, 항목 소유자의 이름 및 그룹이 표시된다.

다음으로는 바이트 단위의 크기가 표시되어 있다. 이는 -h 옵션 사용을 통해 사람이 인식하기에 보다 편리한 형태로 표시될 수 있다 (예: 6586816 은 해당 옵션 사용시 6.3M 으로 표시된다)

뒤따르는 필드에는 타임스탬프 값이 표시된다 (주로 수정 시간이 출력된다).

마지막 필드는 항목에 대한 이름이 나타나게 된다. (유의: 링크의 경우에는 해당 링크가 가리키고 있는 대상이 같이 표시된다).

본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 7.1: ls 명령어의 옵션들

ls명령어에 대한 옵션 리스트:

옵션 용도
ls -a '.' 으로 시작하는 숨김 파일들을 포함하여 모든 파일들의 목록을 출력한다
ls --color 목록에 색상을 추가한다 [=always/never/auto]
ls -d ' */' 등과 같이 wildcard 와 함께 사용시 각 디렉토리들 내부 내용까지 표시하는 것이 아닌, 디렉토리 자체에 대한 목록만 표시한다
ls -F 각 항목에 대해 */=>@| 와 같은 문자를 추가하여 항목의 속성을 표시한다
ls -i 각 파일의 inode index 번호를 추가적으로 표시한다
ls -l 파일의 권한 정보를 포함하는 상세 정보 형식을 이용하여 파일들의 목록을 출력한다
ls -la 숨김 파일도 함께 상세 정보 형식으로 목록을 출력한다
ls -lh 사람이 인식하기 쉬운 형태의 파일 크기를 포함하는 상세 정보 형식으로 목록을 출력한다
ls -ls 블록 단위의 파일 할당 크기를 포함하는 상세 정보 형식으로 목록을 출력한다
ls -r 역순으로 정렬된 파일들의 목록을 출력한다
ls -R 디렉토리 트리 구조를 재귀적으로 탐색한다
ls -s 파일별 블록 단위의 파일 할당 크기를 출력한다
ls -S 파일 크기 순으로 정렬한다
ls -t 날짜 및 시간 순으로 정렬한다
ls -X 파일 확장자 순으로 정렬한다
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 6.5: 프로세스를 모니터링하고 정보를 수집하기

종합적으로 보았을 때, 리눅스 호스트에서는 프로세스를 모니터링하는 크게 두가지의 방법이 존재한다.

정적 (static) 모니터링

가장 널리 사용되고 있는 명령어는 바로 ps (다른 이름으로는 process status 라고 불린다) 이다. 이 명령어는 현재 실행중인 프로세스에 대해 프로세스 식별자 (PID) 를 포함하는 각종 정보를 제공하는 데에 사용된다.

아래에는 특정 정보를 수집하기 위한 몇가지 유용한 옵션들이 소개되어 있다.

프로세스들을 계층 구조로 표시하기:

$ ps -e -o pid,args --forest

프로세스들을 CPU 사용량 퍼센티지 순으로 정렬하기:

$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'

프로세스들을 메모리 사용량 (KB) 순으로 정렬하기:

$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

특정 프로세스 (예제에서는 "firefox-bin" 프로세스가 사용되었다) 의 모든 스레드들을 나열하기:

$ ps -C firefox-bin -L -o pid,tid,pcpu,state

검색하고자 하는 프로세스를 찾았다면 lsof 를 이용하여 해당 프로세스 id 가 open 한 경로 등 관련된 정보를 수집할 수 있다.

$ lsof -p $$

역주 : $$ 는 현재 bash shell 의 PID 를 의미합니다.

혹은 경로에 기반하여 해당 경로를 open 한 프로세스들의 목록을 나열할 수도 있다.

$ lsof ~

대화형 (interactive) 모니터링

동적 모니터링 방면에서 가장 널리 알려진 도구는 바로 아래에 소개된 툴이다:

$ top

이 기본적인 명령어는 필터링을 위한 수많은 옵션과 (ps 명령어에 비해) 실시간으로 정보를 표시하는 기능을 제공하고 있다.

하지만 이 이외에도, 설치를 고려해 볼만한 더욱 향상된 버전의 top 대체품들이 존재한다.

$ htop -d 5

혹은

$ atop

이들은 모든 활동들을 로그파일에 기록할 수 있는 기능을 제공한다 (atop 은 기본적으로 600 초마다 모든 활동들을 기록하게 되어 있다)

이러한 목록에는 iotop 혹은 iftop 과 같은 몇가지 전문화된 명령어도 포함된다.

$ sudo iotop
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 6.4: CPU 모델/속도 정보 확인하기

Ubuntu:

$ cat /proc/cpuinfo

출력 예제:

processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping : 11 cpu MHz : 1596.000 cache size : 4096 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority bogomips : 4800.18 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: .... .. processor : 3 vendor_id : GenuineIntel cpu family : model : 15 model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping : 11 cpu MHz : 1596.000 cache size : 4096 KB physical id : 0 siblings : 4 core id : 3 cpu cores : 4 apicid : 3 initial apicid : 3 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority bogomips : 4800.30 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

프로세서 수 확인하기 (core 갯수 포함):

$ grep -c processor /proc/cpuinfo
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

Section 6.3: 하드웨어 정보 열람하기

Ubuntu:

lshw 는 시스템 상의 하드웨어 구성에 대한 상세한 정보를 추출해 낼 수 있는 작은 도구이다. 이는 메모리 구성이나 펌웨어 버전, 메인보드 구성, CPU 버전 및 속도, 캐시 구성이나 버스 (bus) 속도 등에 대한 상세한 기록을 출력해 줄 수 있다.

$ sudo lshw | less (혹은 more) $ sudo lshw -html > myhardware.html $ sudo lshw -xml > myhardware.xml

PCI 정보를 표시하려면:

$ lspci -tv

USB 정보를 확인하려면:

$ lsusb -tv

BIOS 정보를 출력하려면:

$ dmidecode -q | less

디스크 관련 상세한 정보를 확인하기 위해서는 (sda 디스크에 대한 예제):

$ hdparm -i /dev/sda

몇가지 부가적인 유틸리티 혹은 명령어들이 추가적인 정보를 얻는데에 있어 도움을 줄 수 있다:

$ smartctl -A /dev/sda | grep Power_On_Hours # 이 디스크 (시스템) 가 가동된 총 시간을 출력해 준다 $ hdparm -tT /dev/sda # sda 디스크에 대해 읽기 속도 테스트를 수행한다 $ badblocks -s /dev/sda # sda 디스크 대해 읽기 불가능한 블럭들을 테스트한다
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

+ Recent posts