소프트웨어 관리
apt-cache [옵션] [서브 명령] : APT 캐시에서 패키지와 관련된 정보를 출력
패키지 이름, 버전, 설명, 의존성, 설치 가능 여부 확인 가능
패키지를 설치하지 않고도 미리 확인할 수 있음
| 옵션/서브 명령 | 설명 |
|---|---|
| -f | 패키지에 대한 전체 정보 출력 |
| -h | 관련 도움말 출력 |
| stats | 캐시 통계 정보(전체 패키지 이름과 단일 가상 패키지 등) 출력 |
| dump | 패키지 관리 시스템이 현재 알고 있는 모든 패키지 정보를 출력 |
| pkgnames | 사용 가능한 모든 패키지의 이름 출력 |
| search [키워드] | 키워드에 해당하는 패키지 검색 |
| show [패키지 이름] | 해당 패키지의 정보 출력 |
| showpkg [패키지 이름] | 패키지의 의존성과 역의존성에 대한 정보 출력 |
입력 예 : apt-cache stats
apt-get [옵션] [서브 명령] : 패키지 설치 및 업데이트 명령
| 옵션/서브 명령 | 설명 |
|---|---|
| -d | 패키지 다운로드 수행 |
| -f | 의존성이 깨진 패키지 수정 |
| -h | 관련 도움말 출력 |
| update | 패키지 저장소에서 새로운 패키지 정보를 가져옴 |
| upgrade | 모든 패키지를 최신 버전으로 업그레이드 |
| install [패키지 이름] | 해당 패키지 설치 |
| -y | 패키지를 설치할 때 자동으로 y 입력 |
| remove [패키지 이름] | 설치된 해당 패키지 제거(설정 파일 잔존) |
| purge [패키지 이름] | 설치된 해당 패키지와 설정 파일을 모두 삭제 |
| autoremove | 시스템에 설치된 패키지를 자동으로 정리 및 삭제 |
| download [패키지 이름] [패키지 이름] ... | 해당 패키지를 현재 디렉터리에 다운로드 |
| autoclean | 오래된 패키지 또는 불완전한 다운로드 패키지 제거 |
| check | 의존성이 깨진 패키지 확인 |
| clean | /var/cache/apt/archives 디렉터리에 캐시되어 있는 모든 패키지를 제거하여 디스크 공간 확보 |
입력 예 : sudo apt-get update
update 명령을 수행하면 /etc/apt/sources.list.d/ubuntu.sources에서 새로운 패키지 정보를 가져와서 APT 캐시를 수정
만약 이 파일을 수정하였다면 반드시 이 명령을 수행해야 함
dpkg [옵션] [패키지/파일 이름] : .deb 패키지를 직접 설치, 제거, 조회
| 옵션/명령 | 설명 |
|---|---|
| -l | 설치된 패키지 목록 전체 출력 |
| -l [패키지 이름] | 해당 패키지의 설치상태 정보 출력 |
| -r [패키지 이름] | sudo 명령을 사용하여 해당 패키지를 삭제 |
| -P [패키지 이름] | sudo 명령을 사용하여 해당 패키지와 설정 정보 모두 삭제 |
| -s [패키지 이름] | 해당 패키지의 자세한 정보 출력 |
| -L [패키지 이름] | 해당 패키지가 설치된 파일목록 출력 |
| -S [경로명] | 경로명이 포함된 패키지 검색 |
| -c [.파일 확장자] | 해당 파일 확장자를 가진 파일의 내용 출력 |
| -i [.파일 확장자] | sudo 명령으로 해당 파일 확장자를 가진 파일 설치 |
| -x [.파일 확장자] [디렉터리명] | 해당 파일 확장자를 가진 파일을 지정한 디렉터리에 풀어놓음 |
파일 아카이브
tar [기능[옵션]] [아카이브 생성 파일명] [대상 파일명]
| 구분 | 옵션 | 설명 |
|---|---|---|
| 기능 | c | 새로운 tar 아카이브 생성 |
| r | 새로운 파일 추가 | |
| t | tar 파일에 존재하는 파일 리스트 출력 | |
| u | 수정된 파일에 대해 업데이트 수행 | |
| x | tar 파일에 있는 원본 파일을 추출 | |
| 옵션 | C [디렉터리명] | 파일들을 특정 디렉터리에 풀어 놓음 |
| f [디바이스명 또는 파일명] | 아카이브 파일 또는 테이프 장치를 지정 (디바이스명을 -으로 지정하면 tar 파일 대신 표준입력에서 읽어 들임) | |
| h | 심볼릭 링크의 원본 파일 포함 | |
| j | bzip2로 압축 또는 해제 | |
| p | 파일 복구 시 원래의 접근 권한을 유지 | |
| v | 처리하고 있는 파일의 정보 출력 | |
| z | gzip으로 압축 또는 해제 | |
| Z | compress를 통해 아카이브를 필터링 |
입력 예 : tar cvf arch_test.tar arch_test
arch_test 디렉터리를 대상으로 아카이브 파일 arch_test.tar을 생성
입력 예 : tar tvf arch_test.tar
arch_test.tar 파일에 대한 상세한 정보를 출력(ls -l과 유사)
입력 예 : tar xvf arch_test.tar
아카이브 파일 arch_test.tar을 해제
입력 예 : tar uvf arch_test.tar arch_test
arch_test.tar의 내용을 arch_test의 내용으로 업데이트
입력 예 : tar rvf arch_test.tar hosts
arch_test.tar 내에 hosts 파일을 추가
입력 예 : tar cvzf arch_test.tar.gz arch_test
아카이브를 생성하는 동시에 arch_test.tar.gz(gzip 형식으로 압축) 압축 파일로 생성
입력 예 : tar cvjf arch_test.tar.bz2 arch_test
아카이브를 생성하는 동시에 arch_test.tar.bz2(bzip2 형식으로 압축) 압축 파일로 생성
tar xvzf/xvjf : 압축 해제
파일 압축과 해제
gzip [옵션] [파일명] : 파일을 gzip 형식으로 압축
| 옵션 | 설명 |
|---|---|
| -d | 파일 압축 해제 |
| -l | 압축된 파일의 정보 출력 |
| -r | 하위 디렉터리로 이동하여 파일 압축 |
| -t | 압축 파일 검사 |
| -v | 압축 정보를 화면에 출력 |
| -9 | 최대한 압축 |
입력 예 : gzip arch_test.tar arch_test
arch_test.tar 파일을 arch_test.tar.gz 파일로 압축
arch_test의 경우 디렉터리이기 때문에 압축이 불가능
zcat [파일명] : 압축 파일 내용 확인
입력 예 : zcat arch_test.tar.gz
gunzip [파일명] : 압축 파일 해제(g+un+zip)
입력 예 : gunzip arch_test.tar.gz
bzip2 : 파일을 bzip2 형식으로 압축
bzip2는 gzip에 비해 압축률은 좋지만 속도가 약간 느림
| 옵션 | 설명 |
|---|---|
| -d | 파일 압축 해제 |
| -l | 압축된 파일의 정보 출력 |
| -t | 압축 파일 검사 |
| -v | 압축 정보를 화면에 출력 |
| -best | 최대한 압축 |
입력 예 : bzip2 arch_test.tar arch_test
arch_test.tar 파일을 arch_test.tar.bz2 파일로 압축
arch_test의 경우 디렉터리이기 때문에 압축이 불가능
bzcat [파일명] : 압축 파일 내용 확인
입력 예 : bzcat arch_test.tar.bz2
bunzip2 [파일명] : 압축 파일 해제(b+un+zip2)
입력 예 : bunzip2 arch_test.tar.bz2
gcc [옵션] [파일명] : c 소스 파일에 대한 컴파일을 수행
디폴트 실행 파일명 : a.out
입력 예 : gcc ex_01.c
ex_01.c 파일을 컴파일하여 실행 파일 a.out으로 생성
a.out 실행 시 ./a.out과 같이 주소 지정 필요(경로가 설정되지 않았기 때문)
gcc -o [변경할 실행파일명] [C 프로그램 소스 파일명] : 실행파일명 지정
geany IDE를 사용하여 C 프로그래밍 환경 구성