리눅스 시스템
쉘 : 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층, 키보드로 입력받은 명령어를 운영체제의 내부(커널)로 전달하여 그 명령어를 실행하게 하는 프로그램
명령어 :
pwd (print working directory) : 현재 작업의 디렉토리 경로 출력
cd : 절대 경로의 시작은 /로 시작해야 하는대 이는 루트 디렉토리를 의미
ls : 현재 작업 디렉토리의 내용 출력
ls -a : 모든 파일 보기, 숨김 파일도 표시
ls -d : 디렉토리 내용이 아닌 디렉토리 자체를 출력함
ls -l : 좀 더 자세한 정보 출력
ls -t : 파일 수정 시간순으로 정렬
ls -s : 파일 크기순으로 정렬
ls -r : 출력 결과를 역순으로 표시, 일반적인 ls는 알파벳 오름차순으로 표시
cat : 텍스트 파일 전체를 확인할면 cat 명령어를 사용하면 됨
cat -n: 줄 번호 붙임
cat -b : 텍스트가 있는 줄에만 번호 붙임
cat -t : 탭 문자가 표시되는 것을 원치 않을 경우 사용
less : 텍스트 파일을 볼 때 사용하는 프로그램
head : 파일의 첫 10줄만 출력
tail : 파일의 마지막 10줄만 출력
-n 옵션을 사용하여 출력할 행의 개수를 조정할 수 있음
tail -n 3 world.txt
tail -f file, -f옵션은 추가되는 것이 있으면 동기화하여 출력
file : 파일 종류 확인 명령어
와일드카드
* - 0개 이상의 문자
? - 한개의 문자
[a-z0-9A-Z]
[!a-z0-9A-Z]
문자 클래스
[:alnum:] : 모든 알파벳과 숫자 문자
[:alpha:] : 모든 알파벳 문자
[:digit:] : 모든 숫자
[:lower:] : 모든 소문자
[:upper:] : 모든 대문자
디렉토리 생성
mkdir
파일 및 디렉토리 복사
cp file1 file2 : file1을 file2로 복사, file2라는 파일이 존재한다면 file1의 내용으로 덮어쓰고 없으면 생성한다.
cp file1 file2 dir1 : file1과 file2를 dir1로 복사, dir1은 미리 존재하여야 함
cp dir1/* dir2 : dir1 디렉토리에 있는 모든 파일을 dir2로 복사, dir2는 미리 존재하여야 한다.
cp -r dir dir2 : dir1 디렉토리와 그 안에 있는 모든 내용들을 dir2 디렉토리로 복사한다. dir2가 없으면 새로 생성된 다음 dir1 디렉퇴에 있는 모든 내용들이 복사된다.
파일 이동 및 이름 변경 - cp와 로직은 동일한대 복사한 파일을 삭제하는 것이 다름
mv file1 file2 - file1을 file2로 이름 변경
mv file1 file2 dir1 - file1과 file2를 dir1안으로 이동시킨다.
mv dir1 dir2 - dir1을 dir2로 이동시킨다
파일 및 디렉토리 삭제
-r : 재귀적으로 디렉토리를 삭제한다. 즉 삭제된 디렉토리에 하위 디렉토리들이 있다 해도 모두 삭제된다는 뜻이다.
-f : 존재하지 않는 파일에 대하여 확인 메시지 없이 무시하라는 옵션이다.
rm file1: file1삭제
rm -r file1 dir1 : file1과 dir1 디렉토리 및 하위 내용까지 모두 삭제하라는 뜻
rm -fr file1 dir1 : file1이나 dir1이 존재하지 않더라도 rm 명령아가 실행된다.
명령어의 종류
: 파일로 존재하는 실행 프로그램을 말한다.
명령어 타입 출력
type 명령어
실행하려는 프로그램의 위치를 확인하려면
which ls (bin폴더 안에 있는 명령어에만 동작)
uniq : 입력된 파일에 대하여 중복된 행이 연속되어 있을 때 한 해만 남기고 삭제하는 명령어
-c : 중복된 행의 갯수 출력
-d : 중복된 행에 대하여 한 행만 출력
-D : 중복된 행에 대하여 모든 행을 출력
-u : 중복된 행이 아닌 것만 출력한다.
sort : 지정한 파일을 정렬할 때 사용
sort 파일명
-f : 영어를 정렬할 때, 대소문자 구별안함
-r : 출력 순서를 역순으로
-o : 저장할 파일명을 명시, 명시하지 않으면 화면에 출력