ps : 현재 실행 중인 프로세스 목록 출력
예시: ps -ef (전체 프로세스 목록 출력)
kill : 실행 중인 프로세스 종료
예시: kill PID (PID가 해당하는 프로세스 종료)
chmod : 파일 또는 디렉토리 권한 변경
예시: chmod 755 file.txt (file.txt 파일을 소유자는 읽기, 쓰기, 실행, 다른 사용자는 읽기와 실행만 허용)
chown : 파일 또는 디렉토리 소유자 변경
예시: chown user:group file.txt(file.txt 파일의 소유자를 user, 그룹을 group으로 변경)
tar : 파일 또는 디렉토리 압축 및 해제
예시: tar - czvf archive.tar.gz directory / (directory 디렉토리를 압축하여 archive.tar.gz 파일 생성)
curl : URL을 통한 데이터 전송 및 수신
예시: curl http://www.example.com (www.example.com으로 HTTP 요청 보내기)
wget : 웹 사이트에서 파일 다운로드
예시: wget http://www.example.com/file.txt (www.example.com에서 file.txt 파일 다운로드)
find : 파일 또는 디렉토리 검색
예시: find / home / user - name "*.txt"(user의 홈 디렉토리에서 확장자가 txt인 파일 검색)
df : 파일 시스템 사용량 확인
예시: df - h(파일 시스템의 디스크 사용량과 가용 공간 정보 출력)
grep : 파일에서 특정 패턴 검색
예시: grep "pattern" file.txt(file.txt 파일에서 "pattern"을 검색)
sed : 파일에서 특정 패턴 대체
예시: sed 's/old/new/g' file.txt(file.txt 파일에서 "old"를 "new"로 대체)
awk : 파일에서 필드 추출 및 가공
예시: awk '{print $1}' file.txt(file.txt 파일에서 첫 번째 필드 출력)
ssh: 원격 서버에 안전하게 로그인 및 명령 실행
예시: ssh user @host(host 서버에 user로 로그인)
rsync : 로컬 또는 원격 서버 간 동기화 및 파일 전송
예시: rsync - avz / local / directory / user@host: /remote/directory / (로컬 디렉토리와 원격 서버 간 디렉토리 동기화)
scp : 원격 서버와 파일 전송
예시: scp file.txt user @host: /remote/directory / (file.txt 파일을 host 서버의 / remote / directory / 디렉토리로 전송)
netstat : 네트워크 연결 및 네트워크 인터페이스 정보 확인
예시: netstat - an(네트워크 연결 정보 출력)
ifconfig : 네트워크 인터페이스 설정 확인 및 변경
예시: ifconfig eth0(eth0 네트워크 인터페이스 설정 정보 출력)
route : 라우팅 테이블 설정 및 확인
예시: route - n(라우팅 테이블 요약 정보 출력)
top : 시스템 리소스 사용량 모니터링
예시: top(실시간 시스템 모니터링)
du : 디렉토리의 디스크 사용량 확인
예시: du - sh directory / (directory 디렉토리의 크기 요약 정보 출력)
history : 사용자가 입력한 명령어 히스토리 출력
예시: history(사용자의 명령어 히스토리 출력)
ls : 현재 디렉토리 내의 파일과 디렉토리 목록 출력
예시: ls - al(상세정보 출력)
cd : 디렉토리 변경
예시: cd / home / user / Desktop(절대경로로 이동)
cd .. (상위 디렉토리로 이동)
pwd: 현재 디렉토리 경로 출력
mkdir: 디렉토리 생성
예시: mkdir new_dir(현재 디렉토리 내에 "new_dir" 디렉토리 생성)
touch : 빈 파일 생성 또는 파일의 최근 수정 시간 변경
예시: touch new_file.txt(빈 "new_file.txt" 파일 생성)
cp : 파일 또는 디렉토리 복사
예시: cp source_file.txt dest_file.txt(source_file.txt를 dest_file.txt로 복사)
mv : 파일 또는 디렉토리 이동 또는 이름 변경
예시: mv source_file.txt dest_directory / (source_file.txt를 dest_directory로 이동)
mv old_file.txt new_file.txt (old_file.txt를 new_file.txt로 이름 변경)
rm: 파일 또는 디렉토리 삭제
예시: rm file.txt (file.txt 파일 삭제)
rm -r directory/ (directory 디렉토리와 하위 파일/디렉토리 전체 삭제)
cat: 파일 내용 출력
예시: cat file.txt (file.txt 파일의 내용 출력)
ping: 네트워크 상태 확인
예시: ping google.com (google.com에 대한 핑 요청)
man: 명령어 설명서를 출력한다.
help: man 명령에서 나오지 않는 내용에 대해서 검색할 수 있다.
pwd: 현재 위치한 경로.
ls: 현재 디렉토리의 내부를 출력한다. ls -l은 ll과 같다.
cd: 디렉토리 이동
touch: 한개 이상의 파일을 생성하는 명령어.
vi: 파일 내용 수정
mkdir: 디렉토리 생성
rm: 파일, 디렉토리를 지움.
-d: 디렉토리를 삭제하기 위한 옵션.
-r: 디렉토리가 비어있지 않더라도 삭제할 수 있는 옵션.
-i: 대화형으로 파일별로 지울 것이냐는 지문이 나오게 되어 불필요한 것들만 삭제할 수 있는 옵션.
mv: 파일, 폴더 이동과 이름 변경이 가능한 명령어.
cp: 파일을 복사.
cat: 다수의 파일을 결합해서 출력이 가능한 명령어. 긴 파일을 보는데 있어 가독성이 좋지 않음.
less: /찾고싶은 단어 로 검색, 페이지 넘기기 등이 가능하다. 스페이스로 한페이지씩. f, b 가능.
head: 파일의 시작부터 출력. head -출력하고싶은 줄 숫자 (-n 출력하고싶은 줄 수) c 숫자는 해당 바이트만 출력.
tail: 파일의 끝부터 출력. 위와 마찬가지.
-f: follow. 마지막 부분을 출력하고 이후에도 계속 출력.
wc: 단어 줄 수, 문자 개수 등을 알 수 있다.
sort: 모든 줄을 알파벳 순으로 정렬.
-r: 반대로 정렬.
-n: 숫자 크기로 정렬.
-u: 중복제거정렬.
-k숫자: 숫자열 기준 정렬
locate: 문자열 일부를 전달하면, 이 문자열이 일치하는 파일 이름, 또는 경로이름을 찾아준다.
find: 단독 실행시 하위 모든 디렉토리를 보여준다.
-type d(디렉토리) or f(파일)
-name "*.txt"
-size 크기
-user 유저이름 - 소유자 검색
-mnin +30 : 생성시간
-amin +30 : 접근시간
-atime +5 : 접근일자
-cmin +30 : 변경시간
-or / not 논리연산자 사용.
-empty : 비어있는 것들 출력.
! -empty : 비어있지 않은 것을 출력.
-exec command 실행하고자하는명령어 '{}' ';' 명령어를 각각 실행한다. -exec > -ok로 바꾸면 대화형으로 할 것인지 확인한다.
-xargs : 자체적으로도 사용할 수 있는 옵션. 표준 입력으로부터 데이터를 받아 다른 명령어에 인자로서 제공이 가능.
grep: 파일 내부 내용을 찾을 수 있다.
-w "cat" : 정확히 일치하는 값("cat")을 찾는다.
-r : 재귀옵션
-i : 대소문자 구분을 하지 않는다.
디렉토리
Root Directory: /
Home Directory: ~, /home - 각각의 사용자 서브 디렉토리가 존재. 이 사용자 디렉토리에 저장되어있는 데이터는 다른 파일들처럼 모든 사람들이 이용할 수는 없다. 수퍼 사용자는 전부 사용할 수 있다.
/bin: 실행 파일들 모음. pwd, ls 등.
/etc: 설정과 관련된 파일들 모음.
/media: 이동식 미디어(DVD, USB 등)에 연결되는 디렉토리.
/var: 로그 정보, 캐시 파일, syslog
/usr: 실행파일, 라이브러리, 다운로드 받은 파일.
파이프/파이프라인
두 명령어를 연결. 앞의 내용을 수행한 후에 그 값을 통해 뒤의 명령어를 수행한다.
ps ef | grep 'tomcat'
와일드카드
* : ls *.html은 모든 html 파일들을 리스트로 출력해준다.
? : ls pic?.png은 pic1, 2, 3, 4 등 같은 패턴의 파일들을 출력해준다.
[ ] : ls [A-F]* A와 F 사이의 문자로 시작하는 것들. ls [^a]* a를 제외한 파일과 폴더들을 출력한다.
{} : touch page{1, 2, 3}.txt는 page1, 2, 3을 만듦. {2..10..2}는 2부터 10까지 2씩 늘어나는 것.
echo $((계산식))
echo $(whoami)
권한
권한(읽기, 쓰기, 실행권한) 파일소유자 그룹소유자
drwxr-xr-x 세개씩 잘라서 owner, group, world의 권한 read, write, execute. 권한이 없다면 -
chmod: 권한 변경 (대상 기호 작업내용 파일명 ex: chmod a-w file.txt)
대상: u(user)/g/o(other)/a(all)
기호: +/-/=(a = r 을 통해 모든 유저는 read 기능만을 사용할 수 있는 것)
작업: w/x/r (2진수로 rwx=111(7) --x=001(1). 그러므로 chmod 701 file.txt을 작업하면 원하는 것과 같은 결과가 도출)
su: 대체 사용/사용자 변경 (su - 사용자아이디)
exit: 사용자 로그아웃
sudo: 루트 사용자로 커멘드 사용 가능. 개별 사용자는 수퍼 사용자로 실행할 수 있는 커맨드 목록이 부여됨.
chown: 소유권 변경 명령어. ex: chown USER[:GROUP] FILE(s)
chown kim:horses file.txt
group:
group kim 유저의 그룹명 조회
addgroup movie 그룹 생성
adduser USER GROUP 사용자를 만들고 그룹에 추가
printenv: 환경변수 확인
export animal=mandrill: 환경변수 animal 작성