파일 또는 디렉터리의 모드를 변경하기 위해서는 chmod 명령어를 사용한다. 그 모드의 변경은 오직 파일 소유자나 super 유저만이 가능하다는 것을 명심해야 한다. chmod는 모드 변경을 표현하는 두 방법을 제공한다. 8진수의 숫자로 표현하는 법과 문자로 표현하는 법이다.
원하는 권한 형태를 설정하기 위해 8진수 표기법을 사용한다. 8진수의 각 숫자는 3자리의 2진수로 표현하기 때문에, 해당 방법은 파일 모드를 저장하기 위한 체계로 적합하다.
2진법으로 나타내는 표현의 의미는 다음과 같다.
이러한 이진수를 바탕으로 그룹의 권한을 하나의 3자리 숫자로 조합한다. 각 자리는 소유자, 그룹, 기타 사용자에 대한 권한을 나타낸다.
아래 예시를 보고 이해해 보자.
chmod 755 파일명
해당 명령어는 첫번째 자리는 소유자 권한을 나타내며, 그 권한이 rwx(읽기, 쓰기, 실행)이 가능하다는 의미이다.
두번째 자리는 그룹 사용자의 권한을 나타내며, 그 권한이 r-x(읽기, 실행)이 가능하다는 의미이다.
마지막 자리는 기타 사용자의 권한을 나타내며, 그 권한이 --x(실행)이 가능하다는 의미이다.

chmod는 파일 모드를 지정하기 위해 문자 표기법을 지원한다. 문자 표기법은 변경할 사용자, 수행할 명령, 설정할 권한으로 총 세 부분으로 나뉜다.
변경할 사용자를 지정하기 위해 아래 표의 문자 조합을 이용한다.
| 기호 | 의미 |
|---|---|
| u | user의 약자로, 파일이나 디렉터리 소유자를 의미한다. |
| g | group의 약자로, 그룹 사용자를 의미한다. |
| o | others의 약자로, 기타 사용자를 의미한다. |
| a | all의 약자로, u, g,o의 조합을 의미한다. |
아래 예시를 보고 이해해 보자.
chmod u+rwx, g+rx, o+r 파일명
위 명령은 파일 소유자에게 읽기, 쓰기, 실행 권한을 부여하고, 그룹 사용자에게 읽기, 실행 권한을 부여하며, 기타 사용자에게 읽기 권한을 부여한다.
기호 모드에서 사용할 수 있는 연산자는 다음과 같다.
프로세스를 보는 가장 일반적인 명령어는 ps다. ps 프로그램은 많은 옵션을 가지고 있지만 다음과 같이 간단한 형태로 사용할 수 있다.

위 그림에서 ps의 결과로 하나의 프로세스를 나열한다. 프로세스 31620인 -zsh를 나타낸다. 볼 수 있듯이, ps는 많은 정보를 보여주지 않는다. 단지 현재 터미널 세션과 관련된 프로세스만 보여준다.
다음과 같이 x 옵션을 추가하면 시스템 전체의 상황을 살펴볼 수 있다.

x옵션을 추가하면 ps는 그것들이 제어되는 터미널에 상관없이 모든 프로세스를 보여준더, TTY 항목에 ? 표시는 아무런 제어 터미널이 없다는 것을 가리킨다. 이 옵션을 사용하면 소유한 모든 프로세스를 보게 된다.
ps 명령어가 시스템 동작에 관한 많은 정보를 주긴 하지만 오직 ps 명령어가 실행된 순간의 상태에 대해서만 제공한다. 시스템의 활동을 좀 더 동적으로 보기 위해서는 top 명령어를 사용하면 된다.
top 프로그램은 프로세스 활동순으로 나열된 시스템 프로세스들을 지속적으로 갱신하여 보여준다.(default 3초) 그 이름은 시스템상의 "최상위" 프로세스들을 보기 위해 top 프로그램을 사용한다는 사실로부터 만들어졌다. top은 두 부분으로 나뉘어 표시한다. 최상위에 시스템 요약과 그 아래에 CPU 활동순으로 정렬된 프로세스 테이블이 표시된다.

kill 명령어는 프로세스를 종료하기 위해 사용된다. 이는 비정상적으로 동작하거나 그렇지 않으면 종료를 거부하는 프로그램의 실행이 끝나게 해준다.
하지만 kill 명령어는 프로세스를 종료하지 않는다. 프로세스에 시그널을 보낼 뿐이다. 시그널은 운영체제가 프로그램들과 통신하기 위한 여러 방법 중 하나다. Ctrl-C, Ctrl-Z의 사용에서 시그널을 본적이 있다. 터미널이 이 키 입력들 중 하나를 받을 때 포그라운드에 있는 프로세스에 시그널을 보낸다. Ctrl-C의 경우에는 INT(인터럽트) 시그널을 보내고, Ctrl-Z는 TSTP(터미널 정지) 시그널을 보낸다. 프로그램은 시그널을 listen하고 있다가 받은 시그널에 따라 행동한다.
kill 명령어의 일반적인 문법은 다음과 같다.
kill [-signal] PID ...
커맨드라인에 지정된 시그널이 없다면, 기본적으로 TERM(종료) 시그널을 보낸다.
|번호|이름|의미|
|1|HUP|Hang Up. 이 시그널은 터미널 세션 종료에 의해 나타난다. 터미널에서 실행 중인 포그라운드 프로그램은 이 시그널을 받으면 종료된다.|
|2|INT|Interrupt. 터미널에서 Ctrl-C 키를 보낸것과 동일한 기능을 한다. 프로그램은 항상 종료할 것이다.|
|9|KILL|Kill. KILL 시그널은 다른 시그널과 다르게 해당 프로그램으로 보내지지 않고, 커널이 즉시 프로세스를 종료한다. 따라서 강제 종료로 인해 프로세스는 스르로 정리하거나 진행 중인 작업을 저장할 기회가 없다.|
|15|TERM|Terminate. kill 명령어가 보내는 기본 신호다.|
|18|CONT|Continue. STOP 시그널로 정지된 프로세스를 복원한다.|
|19|STOP|Stop. 프로세스를 종료 없이 일시 정지시킨다. KILL 시그널과 마찬가지로 해당 프로세스에 직접 보내지 않는다.|
killall 명령어를 사용하면 명시된 프로그램 또는 사용자 이름과 일치하는 다수의 프로세스에 시그널을 보내는 것도 가능하다.
killall [-u user] [-signal] name ...
kill 명령어와 마찬가지로, 사용자가 소유하지 않는 프로세스들에 시그널을 보낼 때는 반드시 슈퍼유저여야 한다.
시스템 관리자가 아니라도 네트워크의 성능이나 운영 상태를 확인하는 일은 상당히 도움이 된다. 네트워크와 관련된 명령어 중 가장 기본적인 것이 바로 ping 명령어다. ping 명령어는 IMCP ECHO-REQUEST라고 하는 고유의 네트워크 패킷을 지정된 호스트로 전송한다. 이러한 패킷을 수신하는 대부분의 네트워크 장비들을 이에 응답하여 네트워크 연결을 확인시켜준다.
대부분의 네트워크 장비(리눅스 호스트를 포함하여)는 이 패킷들을 무시하도록 설정할 수 있다. 주로 안적인 이유 때문인데, 잠재적인 공격자에게 호스트를 부분적으로 알아보지 못하게 하기 위해서다. 또한 IMCP 트래픽을 차단하기 위해서 방화벽을 설정하기도 한다.
예를 들면, www.naver.com에 접속하려고하면, 다음과 같이 ping 명령어를 사용할 수 있다.
ping www.naver.com
명령이 실행되면, ping은 패킷을 중단이 없는 한 지정된 간격(기본적으로 1초)에 따라 계속 전송한다.

Ctrl-C 키를 눌러 연결을 중단하면, ping 명령어로 네트워크 성능 현황을 확인할 수 있다. 적당히 수행된 네트워크는 0%의 패킷 손실을 보인다. 성공적인 ping이란 네트워크 요소들(인터페이스 카드, 케이블, 라우팅 및 게이트웨이)이 정상적으로 잘 작동하고 있다는 것을 의미한다.
향상된 ftp
SSH (Secure Shell)는 네트워크를 통해 다른 컴퓨터에 안전하게 접속하기 위해 사용되는 프로토콜이자 프로그램이다.
SSH는 원격 호스트와 통신에 존재하는 보안 문제 중 두 가지를 해결할 수 있다. 첫째로는 원격 호스트에 대한 진위성(인증)을 입증해준다. 둘째로는 로컬과 원격 호스트 간의 모든 통신을 암호화한다.
보통 공개 키의 경우 .pub, 개인 키의 경우 .pem의 파일 형식을 띄고 있다.
Diffie-Hellman 알고리즘을 간략하게 나타낸 그림이다.
OpenSSH 패키지에는 네트워크를 통해 파일을 복사할 때, SSH로 암호화된 터널을 활용할 수 있는 두 프로그램이 있다. 첫 번째 프로그램은 파일을 복사하는 cp 프로그램과 거의 유사하게 사용 가능 한 scp(보안 복사)이다. 눈에 필만한 차이점이 있다면 바로 목적지에 대한 경로명이나 대상이 되는 정보 앞에 원격 호스트명과 콜론 기호가 나온다는 것이다. 예를 들어 remote-sys라는 원격 시스템의 홈 디렉토리에 있는 document.txt 문서를 로컬 시스템의 현재 작업 디렉토리로 복사하고 싶다면 다 음과 같이 할 수 있다.
ssh로 사용하려는 리모트 호스트 계정명이 로컬 시스템명과 맞지 않을 경우 리모트 호스트명 앞에 사용자 이름을 적용할 수 있다.
[me@linuxbox ~]$ scp bob@remote-sys:document.txt
두 번째 SSH 파일 복사 프로그램은 sftp이다. sftp란 이름은 ftp 프로그램의 보안 기능이 향상된 버전을 뜻한다. 이것 역시 ftp 프로그램과 거의 유사하게 작동하지만 평문 대신에 모든 것을 SSH 로 암호화된 터널을 사용한다. 원격 호스트에 실행할 FTP 서버가 필요하지 않다는 점에서는 ftp의 이점을 활용한다. sftp는 SSH 서버만 있으면 된다. 즉 SSH 클라이언트와 연결할 수 있는 어떠한 원격 머신이든 FTP와 같은 서버로써 사용될 수 있다는 것이다. 다음 예제 세션을 보자.
[me@linuxbox ~]$ sftp remote-sys
Connecting to remote-sys...
me@remote-sys's password:
sftp> 1s ubuntu-8.04-desktop -i386.iso
sftp> lcd Desktop
sftp> get ubuntu-8. 04-desktop-i386.iso
Fetching /home/me/ubuntu-8. 04-desktop-i386.iso to ubuntu-8. 04-desktop- i386.iso
/home/me/ubuntu-8. .04-desktop-i386.iso 100% 699MB 7.4MB/s 01:35
sftp> bye
SFTP 프로토콜은 리눅스 배포판의 그래픽 파일 관리자 형태로 지원된다. 노틸러스(GNOME)나 컹커러 (KDE) 모두, sftp://로 시작되는 URI를 주소 바에 입력할 수 있고 SSH 서버를 실행 중인 원격 시스템에 파 일을 저장하는 작업을 수행할 수 있다.