꼭 배워야 할 리눅스 명령어 60가지

coldplay.xixi
풀어 주다: 2020-08-01 15:14:19
원래의
16452명이 탐색했습니다.

Linux에서 배워야 할 60가지 명령: 1. 로그인 기능은 시스템에 로그인하는 것이며 해당 권한은 모든 사용자에게 적용됩니다. 2. shutdown 명령의 기능은 컴퓨터를 종료하는 것이며 해당 권한은 다음과 같습니다. 3. 정지 명령의 기능 해당 기능은 시스템을 종료하는 것이며 해당 권한은 슈퍼 사용자입니다.

꼭 배워야 할 리눅스 명령어 60가지

Linux는 디스크 작업, 파일 액세스, 디렉터리 작업, 프로세스 관리, 파일 권한 설정 등과 같은 많은 작업을 효과적으로 완료하는 데 사용할 수 있는 많은 명령을 제공합니다. 따라서 Linux 시스템에서 작업하는 것은 시스템에서 제공하는 명령을 사용하는 것과 분리될 수 없습니다. 리눅스 시스템을 진정으로 이해하려면 먼저 리눅스 명령어를 배우는 것부터 시작해야 하며, 기본적인 명령어 학습을 통해 리눅스 시스템을 더욱 깊이 이해할 수 있습니다.

Linux 배포판마다 명령 수는 다르지만 Linux 배포판에서 최소 명령 수는 200개 이상입니다. 여기서 저자는 더 중요하고 가장 자주 사용되는 명령을 시스템에서의 역할에 따라 다음 6가지 부분으로 나누어 하나씩 소개한다.

◆ 설치 및 로그인 명령: login, shutdown, 정지, 재부팅, 설치, 마운트, umount, chsh, 종료, last

◆ 파일 처리 명령: file, mkdir, grep, dd, find, mv, ls, diff; , cat, ln;

◆ 시스템 관리 관련 명령: df, top, free, quota, at, lp, adduser, groupadd, kill, crontab

◆ 네트워크 운영 명령: ifconfig, ip, ping, netstat, telnet, ftp, Route, rlogin, rcp, Finger, mail, nslookup;

◆ 시스템 보안 관련 명령: passwd, su, umask, chgrp, chmod, chown, chattr, sudo ps, who

◆ 기타 명령: tar, unzip; , gunzip, unarj, mtools, man, unendcode, uudecode.

이 글에서는 Mandrake Linux 9.1(Kenrel 2.4.21)을 예로 들어 Linux에서의 설치 및 로그인 명령을 소개합니다.

불멸 프레스: 이 페이지에서 특정 부분의 내용이나 특정 명령의 사용법을 찾으려면 ctrl+f를 사용하세요.

관련 학습 권장사항:
linux 비디오 튜토리얼

Linux에서 배워야 할 60가지 명령(1) - 설치 및 로그인 명령

login

1 기능

login의 기능은 시스템에 대한 액세스 권한은 모든 사용자에게 부여됩니다.

2. 형식

login [이름][-p][-h 호스트 이름]

3. 주요 매개변수

-p: 현재 환경 매개변수를 유지하도록 로그인에 알립니다.

-h: 사용자 이름을 원격 로그인으로 전송하는 데 사용됩니다.

명령줄 모드를 사용하여 Linux에 로그인하도록 선택한 경우 표시되는 첫 번째 Linux 명령은 login:입니다.

일반 인터페이스는 다음과 같습니다:

Manddrake Linux release 9.1 (Bamboo) for i586

renrel 2.4.21-0.13mdk on i686 / tty1

localhost login:root

password:

위 코드에서, 첫 번째 첫 번째 줄은 Linux 릴리스 버전 번호, 두 번째 줄은 커널 버전 번호 및 로그인을 위한 가상 콘솔입니다. 세 번째 줄에는 로그인 이름을 입력하고 "Enter" 키를 누른 다음 비밀번호 뒤에 계정 비밀번호를 입력합니다. 시스템에 로그인합니다. 보안상의 이유로 계정 비밀번호를 입력할 때 문자가 화면에 에코되지 않으며 커서가 움직이지 않습니다.

로그인하면 다음 인터페이스가 표시됩니다(슈퍼유저를 예로 들어):

[root@localhost root]#

마지막 로그인:Tue ,Nov 18 10:00:55 on vc/1

위 그림은 일, 월, 일, 시간, 사용량을 로그인하는 가상 콘솔입니다.

4. 응용 프로그램 기술

Linux

는 동시에 여러 사용자 로그인을 허용하고 한 사용자가 여러 번 로그인할 수 있는 진정한 다중 사용자 운영 체제입니다. 이는 많은 Unix 버전과 마찬가지로 Linux도 가상 콘솔에 대한

액세스를 제공하여 사용자가 동시에 콘솔에서 여러 번 로그인할 수 있기 때문입니다(시스템 콘솔은 시스템에 직접 연결된 모니터 및 키보드입니다). 각 가상 콘솔은 독립적인 워크스테이션으로 간주될 수 있으며 워크스테이션은

간에 전환될 수 있습니다. 가상 콘솔 간 전환은 Alt 키와 기능 키(보통 F1-F6)를 눌러 수행할 수 있습니다.

예를 들어, 사용자가 로그인한 후 "Alt+

F2" 키를 누르면 사용자는 위에 나타나는 "login:" 프롬프트를 볼 수 있으며 이는 사용자가 두 번째 가상 콘솔을 봤음을 나타냅니다. 그런 다음 "Alt+

F1" 키를 눌러 첫 번째 가상 콘솔로 돌아갑니다. 새로 설치된 Linux 시스템을 사용하면 사용자는 "Alt+F1" ~ "Alt+F6" 키를 사용하여 처음 6개의 가상 콘솔에 액세스할 수 있습니다. 가상 콘솔의 가장 유용한 점은 프로그램 오류로 인해 시스템이 교착 상태에 빠지면 다른 가상 콘솔로 전환하고 프로그램을 닫을 수 있다는 것입니다.

shutdown

1. 기능

shutdown 명령의 기능은 컴퓨터를 종료하는 것이며, 사용 권한은 슈퍼유저입니다.

2. 형식

shutdown [-h][-i][-k][-m][-t]

3. 중요 매개변수

-t: 다른 실행 수준으로 변경하기 전에 init 프로그램에 알리는 방법 종료하는 데 시간이 오래 걸립니다.

-k: 실제로는 종료되지 않고 로그인할 때마다 경고 신호만 보냅니다.

-h: 종료 후 전원을 끕니다.

-c: 현재 프로세스 취소 현재 실행 중인 종료 프로세스를 취소합니다. 물론 이 옵션에는 시간 매개변수가 없지만 이를 설명하는 메시지를 입력할 수 있으며 이 메시지는 각 사용자에게 전송됩니다.

-F: 컴퓨터를 다시 시작할 때 fsck를 강제 실행합니다.

-time: 종료되기 전의 시간을 설정합니다.

-m: 시스템을 단일 사용자 모드로 변경합니다.

-i: 종료 시 시스템 정보를 표시합니다.

4. 명령 설명

shutdown

명령을 사용하면 시스템을 안전하게 종료할 수 있습니다. 일부 사용자는 전원 공급 장치를 직접 차단하여 Linux 시스템을 종료하는데 이는 매우 위험합니다. Linux는 Windows와 다르기 때문에 백그라운드에서 실행되는 프로세스가 많기 때문에 강제 종료하면 프로세스의 데이터가 손실되어 시스템이 불안정해질 수 있으며 일부에서는 하드웨어 장치(하드 디스크)가 손상될 수도 있습니다. 시스템. 시스템을 종료하기 전에

shutdown 명령을 사용하세요. 시스템 관리자는 로그인한 모든 사용자에게 시스템이 종료되고 로그인 명령이 정지된다는 사실을 알립니다. 즉, 신규 사용자는 더 이상 로그인할 수 없습니다.

halt

1. 기능

halt 명령의 기능은 시스템을 종료하는 것이며, 사용 권한은 슈퍼유저입니다.

2. 형식

halt [-n] [-w] [-d] [-f] [-i] [-p]

3. 주요 매개변수 설명

-n: 동기화 시스템 호출을 방지합니다. 커널이 패치된 슈퍼 블록을 이전 버전의 슈퍼 블록으로 덮어쓰는 것을 방지하기 위해 fsck로 루트 파티션을 패치한 후 사용됩니다.

-w: 실제 재시작이나 종료가 아니며, 단지 wtmp(/var/log/wtmp) 레코드를 기록합니다.

-f: 종료가 호출되지 않지만 강제 종료 또는 다시 시작됩니다.

-i: 종료(또는 다시 시작)하기 전에 모든 네트워크 인터페이스를 끄세요.

-f: 강제 종료, 종료 명령을 호출하지 않습니다.

-p: 종료 시 전원을 끄는 동작을 수행합니다.

-d: 시스템을 종료하지만 기록을 남기지 않습니다.

4. 명령 설명

halt

은 shutdown

-h를 호출하는 것입니다. Halt가 실행되면 응용 프로그램 프로세스가 종료되고 sync(버퍼에 저장된 데이터를 하드 디스크에 강제로 쓰기) 시스템 호출이 실행됩니다. 파일 시스템 쓰기 작업이 완료된 후 커널이 중지됩니다. 시스템의

실행 수준이 0 또는 6이면 시스템을 종료하고, 그렇지 않으면 대신 shutdown 명령(및 -h 매개변수)을 사용하십시오.

reboot

1. 기능

reboot 명령의 기능은 컴퓨터를 다시 시작하는 것이며, 사용 권한은 시스템 관리자에게 있습니다.

2. Format

reboot [-n] [-w] [-d] [-f] [-i]

3. 주요 매개변수

-n: 다시 시작하기 전에 메모리 데이터를 쓰지 마십시오. 하드 드라이브.

-w: 실제로 재부팅하지 않고 /var/log/wtmp 파일에 기록을 씁니다.

-d: /var/log/wtmp 파일에 레코드를 쓰지 마세요(-n 매개변수에는 -d가 포함됨).

-i: 다시 시작하기 전에 모든 네트워크 관련 장치를 중지하세요.

install

1. 기능

install 명령은 소프트웨어를 설치하거나 업그레이드하거나 데이터를 백업하는 데 사용되며 사용 권한은 모든 사용자에게 있습니다.

2. 형식

(1)install [옵션]... 소스 대상

(2)install [옵션]... 소스... 디렉토리

(3)install -d [옵션].. . 디렉토리...

처음 두 형식에서는 여러 파일이 기존 파일에 복사되거나 복사되며 권한

모드와 소유자/그룹이 동시에 설정됩니다. 세 번째 형식에서는 지정된 모든 디렉터리와 해당 홈 디렉터리가 생성됩니다. 긴 옵션에 필요한 매개변수는 짧은 옵션을 사용할 때도 필요합니다.

3. 주요 매개변수

--backup[=제어]: 기존 대상 파일을 각각 백업합니다.

-b: --backup과 유사하지만 어떤 매개변수도 허용하지 않습니다.

-c: (이 옵션은 처리되지 않습니다).

-d, --directory: 모든 매개변수는 디렉토리로 취급되며, 지정된 디렉토리의 모든 메인 디렉토리가 생성됩니다.

-D: 생성 전의 모든 홈 디렉토리는 첫 번째 사용 형식에 유용합니다.

-g,--group=group: 현재 프로세스가 속한 그룹이 아닌 자신이 속한 그룹을 설정합니다.

-m, --mode=mode: rwxr-xr-x 대신 chmod와 같이 직접 권한 모드를 설정합니다.

-o, --owner=owner: 소유자를 직접 설정합니다(슈퍼유저에게만 해당).

-p, --preserve-timestamps: 파일의 액세스/수정 시간을 해당 대상 파일의 시간 속성으로 사용합니다.

-s, --strip: Strip 명령을 사용하여 기호 테이블을 삭제합니다. 첫 번째 및 두 번째 사용 형식에만 적용됩니다.

-S, --suffix=suffix: 백업 파일을 직접 지정합니다.

-v, --verbose: 처리 시 각 파일/디렉토리의 이름을 인쇄합니다.

--help: 이 도움말 메시지를 표시하고 떠납니다.

--version: 버전 정보를 표시하고 종료합니다.

mount

1. 기능

mount 명령은 파일 시스템을 마운트하는 데 사용되며 해당 권한은 슈퍼유저 또는 /etc/fstab에서 허용된 사용자입니다.

2. 형식

mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] 장치 dir

3. 주요 매개변수

-h: 보조 정보를 표시합니다.

-v: 정보 표시. 일반적으로 디버깅을 위해 -f와 함께 사용됩니다.

-a: /etc/fstab에 정의된 모든 파일 시스템을 마운트합니다.

-F: 이 명령은 일반적으로 -a와 함께 사용됩니다. 실행할 각 마운트 작업에 대한 트립을 생성합니다. 시스템이 많은 수의 NFS 파일 시스템을 마운트해야 할 때 로딩 속도를 높일 수 있습니다.

-f: 일반적으로 디버깅에 사용됩니다. 이는 mount가 실제 장착 작업을 수행하지 않고 전체 장착 프로세스를 시뮬레이션하도록 합니다. 일반적으로 -v와 함께 사용됩니다.

-t vfstype: 로드 중인 파일 시스템 유형을 표시합니다.

-n: 일반적으로 마운트가 마운트된 후 데이터 일부가 /etc/mtab에 기록됩니다. 시스템에 쓰기 가능한 파일 시스템이 없으면 이 옵션을 사용하여 이 작업을 취소할 수 있습니다.

4. 응용 프로그램 팁

Linux

및 Unix 시스템에서는 모든 파일이 큰 트리(/로 루트)의 일부로 액세스됩니다. CD-ROM의 파일에 액세스하려면 CD-ROM 장치를 파일 트리의 특정 마운트에 마운트해야 합니다. 배포판에 자동 마운트 패키지가 설치되어 있으면 이 단계를 자동으로 수행할 수 있습니다. Linux에서는 하드디스크나 광드라이브 등의 저장장치를 사용하려면 먼저 이를 마운트해야 합니다. 저장장치를 마운트한 후 디렉터리로 접근할 수 있습니다. mount 명령을 사용하여 장치를 마운트합니다. mount 명령을 사용할 때는 먼저 로드할 객체의 파일 시스템 유형, 로드할 객체의 장치 이름, 장치가 위치할 디렉터리 등 세 가지 유형의 정보를 먼저 알아야 합니다. 짐을 실은.

(1) Linux에서 인식되는 파일 시스템

◆ Windows 95/98에서 일반적으로 사용되는 FAT 32 파일 시스템: vfat;

◆ Win NT/2000 파일 시스템: ntfs; hpfs;

◆ Linux용 파일 시스템: ext2, ext3

◆ CD-ROM 디스크용 파일 시스템: iso9660.

vfat는 FAT 32 시스템을 나타내지만 실제로는 FAT 16 파일 시스템 유형과도 호환됩니다.

(2) 장치 이름 확인

Linux

에서 장치 이름은 일반적으로 /dev에 있습니다. 이러한 장치 이름의 명명에는 규칙이 있으며 "추론"을 통해 장치 이름을 알아낼 수 있습니다. 예를 들어 /dev/hda1은

IDE 장치, hd는 하드 디스크(하드 디스크), sd는 SCSI 장치, fd는 플로피 장치(또는 Floppy

Disk?)입니다. a는 첫 번째 장치를 나타냅니다. 일반적으로 IDE 인터페이스는 4개의 IDE 장치(예: 4개의 하드 드라이브)에 연결할 수 있습니다. 따라서 IDE 하드 드라이브를 식별하는 방법은 hda, hdb, hdc 및

hdd입니다. hda1의 "1"은 hda(파티션)의 첫 번째 하드 디스크 파티션을 나타내고, hda2는 hda의 두 번째 기본 파티션을 나타내며, 첫 번째 논리 파티션은 hda5에서 시작하는 식입니다. 또한

/var/log/messages 파일에서 컴퓨터를 켠 후 시스템이 인식한 장치 코드를 직접 확인할 수 있습니다.

(3) 마운트 지점 찾기

장치 마운트를 결정하기 전에 먼저 컴퓨터에 마운트 지점(Mount

Point) 디렉터리로 특별히 사용되는 빈 디렉터리 /mnt가 있는지 확인하세요. /mnt에 여러 개의 /mnt/cdrom, /mnt/floppy, /mnt/mo 및 기타 디렉토리를 디렉토리에 대한 특수 마운트 지점으로 생성하는 것이 좋습니다. 예를 들어, 다음 5개의 장치를 마운트하려는 경우 실행 지침은 다음과 같을 수 있습니다(모두 Linux ext2 시스템이라고 가정하고 Windows XX인 경우 ext2를 vfat로 변경하십시오).

플로피 디스크 ===> ;mount -t ext2 /dev/fd0 /mnt/floppy

cdrom ===>mount -t iso9660 /dev/hdc /mnt/cdrom

SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt /scdrom

SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr

그러나 대부분의 최신 Linux 배포판(Red Flag Linux, China Software Linux, Mandrake Linux 등 포함)은 Red Hat Linux를 제외한 파일 시스템을 자동으로 마운트합니다.

umount

1. 기능

umount 명령은 파일 시스템을 마운트 해제하는 명령으로, 사용 권한은 슈퍼유저 또는 /etc/fstab에서 허용된 사용자입니다.

2. Format

unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir

3 사용 지침

umount

명령은 반대입니다. mount 명령 동작, 매개변수 및 사용법은 mount 명령과 동일합니다. Linux는 CD-ROM을 마운트한 후 CD-

ROM 패널의 꺼내기 버튼을 사용하여 꺼낼 수 없도록 CD-ROM을 잠급니다. 그러나 디스크가 더 이상 필요하지 않은 경우 /cdrom이 심볼릭 링크로 있으면 umount /cdrom을 사용하여 마운트 해제하세요. 이 명령은 디스크를 사용하는 사용자

가 없는 경우에만 성공합니다. 이 명령에는 현재 작업 디렉터리를 디스크의 디렉터리로 사용하여 터미널 창을 여는 작업이 포함됩니다.

chsh

1. 기능

chsh 명령은 사용자 쉘 설정을 변경하는 데 사용되며 해당 사용 권한은 모든 사용자에게 있습니다.

2. 형식

chsh [-s] [-list] [--help] [-v] [사용자 이름]

3. 주요 매개변수

-l: 시스템의 모든 쉘 유형을 표시합니다.

-v: 셸 버전 번호를 표시합니다.

4. 응용 기술

앞서 언급했듯이 Linux에는 다양한 종류의 Shell이 ​​있습니다. 기본은 Bash입니다. Shell 유형을 변경하려면 chsh 명령을 사용하면 됩니다. 먼저 계정 비밀번호를 입력한 후 새 쉘 유형을 입력하십시오. 조작이 올바르면 시스템에 "쉘 변경"이 표시됩니다. 인터페이스는 일반적으로 다음과 같습니다.

Changing fihanging shell for cao

Password:

New shell [/bin/bash]: /bin/tcsh

위 코드에서 [ ]는 현재 사용되는 Shell입니다. 일반 사용자는 자신의 쉘만 수정할 수 있는 반면, 슈퍼 사용자는 모든 사용자의 쉘을 수정할 수 있습니다. 시스템에서 제공하는 쉘을 쿼리하려면 그림 1과 같이 chsh -l 명령을 사용할 수 있습니다.

그림 1 시스템에서 사용할 수 있는 쉘 종류

그림 1에서 볼 수 있듯이 저자의 시스템에서 사용할 수 있는 쉘의 종류는 bash(기본값), csh, sh, tcsh 4가지가 있다.

exit

1. 기능

exit 명령은 시스템을 종료하는 데 사용되며 사용 권한은 모든 사용자에게 있습니다.

2.Format

exit

3.Parameters

exit 명령에는 매개변수가 없습니다. 실행 후 시스템을 종료하고 로그인 인터페이스로 들어갑니다.

last

1. 기능

last 명령은 최근 사용자 또는 단말기 로그인 상태를 표시하는 데 사용되며, 사용 권한은 모든 사용자에게 있습니다. 관리자는 마지막 명령을 통해 프로그램의 로그를 보면 누가 시스템에 접속했거나 접속을 시도했는지 알 수 있습니다.

2. 형식

1ast[—n][-f 파일][-t tty] [—h 노드][-I —IP][—1][-y][1D]

3.

-n: 출력 레코드 수를 지정합니다.

-f 파일 : 해당 파일을 쿼리용 로그 파일로 지정합니다.

-t tty: 지정된 가상 콘솔에만 로그인 상태를 표시합니다.

-h 노드: 지정된 노드의 로그인 상태만 표시합니다.

-i IP: 지정된 IP의 로그인 상태만 표시합니다.

-1: IP를 사용하여 원격 주소를 표시합니다.

-y: 기록의 연도, 월, 일을 표시합니다.

-ID: 쿼리의 사용자 이름을 알 수 있습니다.

-x: 시스템 종료, 사용자 로그인 및 로그아웃 기록을 표시합니다.

실습 실습

위에 Linux 설치 및 로그인 명령이 소개되어 있습니다. 방금 언급한 명령을 연습할 수 있는 몇 가지 예가 있습니다.

1. 한 번에 여러 명령 실행

한 명령줄에서 여러 명령을 실행할 수 있습니다. 각 명령을 세미콜론으로 구분하면 됩니다. 예:

#last -x; Halt

위 코드는 다음과 같습니다. 시스템 종료 후 컴퓨터를 종료하고, 사용자 로그인 및 로그아웃 기록이 표시됩니다.

2. Windows 시스템에 액세스하려면 mount를 사용하여 파일 시스템을 마운트하세요.

많은 Linux 배포판은 이제 Windows 시스템에 액세스하기 위해 Vfat 파티션을 자동으로 로드할 수 있습니다. 그러나 모든 Red Hat 버전은 Vfat 파티션을 자동으로 로드하지 않습니다. 수동 조작이 필요합니다.

mount

Windows 파티션을 Linux의 빈 폴더에 "파일"로 마운트하여 Windows 파티션을 /mnt 디렉터리에 연결할 수 있습니다. 따라서 단순히 이 폴더에 액세스하는 것은 파티션에 액세스하는 것과 같습니다. 먼저 /mnt 아래에 winc 폴더를 생성하고 명령 프롬프트에 다음 명령을 입력합니다.

#mount -t vfat /dev/hda1 /mnt/winc

는 Windows C 파티션을 Liunx /mnt/winc에 마운트하는 것을 의미합니다. 예배 규칙서. 이때, Windows의 /mnt/winc 디렉터리에서 C 드라이브의 내용을 볼 수 있습니다. 비슷한 방법을 사용하여 Windows 시스템의 D 및 E 드라이브에 액세스합니다. Linux 시스템에 표시되는 Windows 파티션의 일반적인 순서는 다음과 같습니다: hda1은 C 드라이브, hda5는 D 드라이브,

hda6은 E 드라이브... 등입니다. 위의 방법을 사용하여 Windows 시스템을 확인하면 큰 문제가 있습니다. 즉 Windows의 모든 중국어 파일 이름이나 폴더 이름이 물음표

"?"로 표시되는 반면, 영어는 정상적으로 표시될 수 있다는 것입니다. 몇 가지 매개변수를 추가하여 중국어를 표시하도록 할 수 있습니다. 위의 작업을 예로 들어 이때 다음 명령을 입력합니다:

#mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc

이제 중국어를 정상적으로 표시할 수 있습니다.

3. mount를 사용하여 플래시 드라이브에 파일 시스템을 마운트하세요

Linux에서 플래시 드라이브를 사용하는 것은 매우 간단합니다. Linux는 USB 장치를 잘 지원합니다. 플래시 드라이브를 삽입하면 일반적으로 다음 명령을 입력합니다.

# mount /dev/sda1 /usb

플래시 드라이브를 마운트합니다. 파일 시스템.

약간의 지식

Linux 명령 및 Shell

일명 Shell은 명령 해석기로서 프로그래밍 인터페이스를 제공하며 프로그램을 사용하여 프로그래밍할 수 있습니다. Linux 초보자가 Linux 시스템을 이해하려면 Shell을 배우는 것이 매우 중요합니다.

리눅스 시스템의 쉘은 운영체제의 쉘 역할을 하며 사용자에게 운영체제를 사용할 수 있는 인터페이스를 제공합니다. 쉘은 명령 언어, 명령 해석기, 프로그래밍 언어의 총칭입니다. 사용자와

Linux 커널 사이의 인터페이스 프로그램입니다. Linux 커널을 구의 중심으로 상상한다면 Shell은 커널을 둘러싸는 외부 레이어입니다. 셸이나 다른 프로그램에서 Linux로 명령이 전달되면 커널이 그에 따라 응답합니다. Linux 시스템에서 Shell의 역할은 MS DOS의 COMMAND.COM 및 Windows 95/98의

explorer.exe와 유사합니다. 셸은 시스템 코어의 일부가 아니며 단지 시스템 코어의 확장일 뿐이지만 시스템 커널의 대부분의 기능을 호출할 수 있습니다. 따라서

Shell은 Unix/Linux에서 가장 중요한 유틸리티라고 할 수 있습니다.

Linux에는 다양한 유형의 쉘이 있으며, 가장 일반적으로 사용되는 쉘은 Bourne

Shell(sh), C 쉘(csh) 및 Korn Shell(ksh)입니다. 대부분의 Linux 배포판의 기본 셸은 Bourne

Again Shell입니다. 이는 Bash라고 하는 Bourne Shell의 확장 버전입니다. Bourne Shell과 완전히 역호환되며 Bourne

Shell을 기반으로 하는 많은 기능이 추가되어 있습니다. Bash는 /bin/bash에 위치하며 명령 완성, 명령 편집, 명령 기록 테이블과 같은 기능을 제공할 수 있습니다. 또한 유연하고 강력한 프로그래밍 인터페이스와 매우 친숙한 사용자 인터페이스를 갖춘 C

Shell 및 Korn

Shell의 많은 장점을 포함하고 있습니다. Linux 시스템의 200개 이상의 명령 중 40개는 주로

exit, less, lp, kill, cd, pwd, fc, fg 등을 포함한 bash 내부 명령입니다.

꼭 배워야 할 리눅스 명령어 60가지 (2) - 파일 처리 명령어

Linux

시스템 정보는 파일로 저장되며, 이는 일반 공식 문서와 유사합니다. 각 파일에는 고유한 이름, 내용, 저장 주소 및 파일 사용자, 파일 크기 등과 같은 기타 관리 정보가 있습니다. 파일은

일 수 있습니다.

편지, 주소록, 프로그램의 소스 설명, 프로그램의 데이터, 실행 가능한 프로그램 및 기타 텍스트가 아닌 콘텐츠.

리눅스 파일 시스템은 구조가 좋고 다양한 파일 처리 프로그램을 제공합니다. 여기에서는 일반적으로 사용되는 파일 처리 명령을 주로 소개합니다.

file

1. 기능: 파일 내용에 따라 파일 형식이 결정되며 사용 권한은 모든 사용자에게 있습니다.

2. 형식

파일은 탐지 파일

파일 [옵션] 파일 이름

3. [옵션] 주요 매개변수

-v: 표준 출력 후 버전 정보를 표시하고 종료합니다.

-z: 압축된 파일 형식을 감지합니다.

-L: 적합한 연결을 허용합니다.

-f name : 파일명file에서 분석할 파일명 목록을 읽어옵니다.

4. 간략한 설명

파일이 바이너리(ELF 형식) 실행 파일인지, 쉘 스크립트 파일인지, 아니면 다른 형식인지 확인하려면 file 명령을 사용하세요. 파일이 인식할 수 있는 파일 형식에는 디렉터리, 쉘 스크립트, 영어 텍스트, 바이너리 실행 파일, C 언어 소스 파일, 텍스트 파일 및 DOS 실행 파일이 포함됩니다.

5. 적용 예시

접미사가 없는 파일 grap이 보이면 다음 명령을 사용할 수 있습니다.

$ file grap

grap: English text

이때 시스템에서는 이것이 영어라고 표시합니다. 텍스트 파일. file 명령은 그래픽, 오디오, 비디오 등을 포함한 멀티미디어 파일 형식을 감지할 수 없다는 점에 유의해야 합니다.

mkdir

1. 기능 mkdir 명령의 기능은 dirname이라는 하위 디렉터리를 만드는 것입니다. 이는 MS DOS의 md 명령과 유사합니다.

2. 형식

mkdir [옵션] 디렉터리 이름

3. 주요 매개변수

-m, --mode= 모드: chmod와 유사하게 권한을 설정합니다.

-p, --parents: 필요할 때 상위 디렉터리를 생성하고, 해당 디렉터리가 이미 존재하는 경우 오류로 처리되지 않습니다.

-v, --verbose: 새 디렉터리가 생성될 때마다 정보를 표시합니다.

--version: 버전 정보를 표시하고 종료합니다.

4. 적용 예시

디렉토리 생성 시 해당 디렉토리의 권한을 설정할 수 있습니다. 이때 사용되는 매개변수는 "-m"입니다. 생성할 디렉터리 이름이 "tsk"이므로 모든 사용자가 rwx(읽기, 쓰기, 실행 권한)를 갖는다고 가정하면 다음 명령을 사용할 수 있습니다.

$ mkdir -m 777 tsk

grep

1 . 기능

grep 명령은 특정 콘텐츠를 검색하기 위한 파일을 지정하고 이러한 콘텐츠가 포함된 줄을 표준 출력으로 출력할 수 있습니다. grep의 전체 이름은 Global Regular Expression Print이며, 이는 전역 정규식 버전을 나타냅니다. 사용 권한은 모든 사용자에게 있습니다.

2. 형식

grep [옵션]

3. 주요 매개변수

[옵션] 주요 매개변수:

-c: 일치하는 행의 개수만 출력합니다.

-I: 대소문자를 구분하지 않습니다(단일 문자에만 적용 가능).

-h: 여러 파일을 쿼리할 때 파일 이름을 표시하지 않습니다.

-l: 여러 파일을 쿼리할 때 일치하는 문자가 포함된 파일 이름만 출력됩니다.

-n: 일치하는 줄과 줄 번호를 표시합니다.

-s: 존재하지 않거나 일치하는 텍스트가 없는 오류 메시지를 표시하지 않습니다.

-v: 일치하는 텍스트가 포함되지 않은 모든 줄을 표시합니다.

패턴 정규식 주요 매개변수:

: 정규식에서 특수 문자의 원래 의미를 무시합니다.

^: 정규식의 시작 줄과 일치합니다.

$: 정규 표현식의 끝 줄과 일치합니다.

: 정규식과 일치하는 줄의 끝으로 이동합니다.

[ ]: [A]와 같은 단일 문자, 즉 A가 요구 사항을 충족합니다.

[-]: [A-Z]와 같은 범위, 즉 A, B, C ~ Z가 모두 요구 사항을 충족합니다.

. : 모든 단일 문자입니다.

*: 문자가 있으며 길이는 0일 수 있습니다.

긍정적

정규 표현식은 Linux/Unix 시스템에서 매우 중요한 개념입니다. 정규식("regex" 또는 "regexp"라고도 함)은 문자열 유형을 설명할 수 있는 패턴입니다. 정규식으로 문자열을 설명할 수 있는 경우 해당 문자가 정규식과 일치한다고 말합니다. 이는 DOS 사용자가 와일드카드 문자

"*"를 사용하여 모든 문자를 나타내는 방법과 유사합니다. Linux 시스템에서는 정규식을 사용하여 텍스트에서 패턴을 찾을 뿐만 아니라 텍스트에서 "검색-바꾸기" 작업 및 기타 기능을 수행하는 경우가 많습니다.

4. 적용 사례

확인

DNS 서비스는 일상적인 작업 중 하나이며, 이는 다양한 네트워크를 포괄하는 수많은 IP 주소를 유지하는 것을 의미합니다. IP 주소가 2,000개가 넘는 경우도 있습니다. nnn.nnn 네트워크 주소를 보고 싶지만

의 두 번째 부분의 나머지 부분을 잊어버린 경우 nnn nn....과 같이 마침표가 두 개 있다는 것만 알 수 있습니다. 모든 nnn.nnn IP 주소를 추출하려면 [0-9]{3

}.[0-0{3}을 사용하세요. 의미는 임의의 숫자가 3번 나타나고 그 뒤에 마침표가 나오고 그 뒤에 숫자가 3번 나타나고 그 뒤에 마침표가 오는 것을 의미합니다.

$grep '[0-9]{3}.[0-0{3}' ipfile

추가 설명, grep 계열에는 fgrep 및 egrep도 포함됩니다. fgrep은 패턴 대신 문자열 검색을 허용하는 fix grep입니다. egrep은 기본 및 확장 정규식을 지원하지만 q 모드 범위 및 이에 상응하는 일부 표준화된 모드의 적용을 지원하지 않는 grep의 확장입니다.

dd

1. 기능

dd 명령은 파일을 복사하고 매개변수에 따라 데이터를 변환하고 포맷하는 데 사용됩니다.

2. 형식

dd [옵션]

3.[옵션] 주요 매개변수

bs=bytes: 강제 ibs= 및 obs=.

cbs=bytes: 변환별로 지정됩니다.

conv=keyword: 쉼표로 구분된 키워드 표현에 따라 파일을 변환합니다.

count=블록수: 지정된 입력 데이터만 복사합니다.

ibs=bytes: 읽을 때마다 지정됩니다.

if=파일: 표준 입력 데이터 대신 내용을 읽습니다.

obs=bytes: 기록될 때마다 지정됩니다.

of=파일: 표준 출력에 표시하지 않고 데이터를 씁니다.

seek=블록 수: 먼저 obs에서 지정된 출력 데이터를 건너뜁니다.

skip=블록 수: ibs에 지정된 입력 데이터를 먼저 건너뜁니다.

4. 응용 프로그램 예

dd 명령은 Linux 부팅 디스크를 만드는 데 자주 사용됩니다. 먼저 부팅 가능한 커널을 찾고 루트 장치가 올바른 루트 파티션을 가리키도록 만든 다음 dd 명령을 사용하여 플로피 디스크에 씁니다:

$ rdev vmlinuz /dev/hda

$dd if=vmlinuz of=/ dev/fd0

위 코드 설명에서는 rdev 명령을 사용하여 부팅 가능한 커널 vmlinuz의 루트 장치를 /dev/hda로 지정합니다. "hda"를 자신의 루트 파티션으로 바꾼 다음 dd 명령을 사용하여 커널을 작성하십시오. 플로피 디스크에.

find

1. 기능

find 명령의 기능은 디렉토리에 있는 파일을 검색하는 것이며 사용 권한은 모든 사용자에게 있습니다.

2. Format

find [경로][옵션][표현식]

path는 디렉터리 경로를 지정하며 시스템은 여기에서 시작하여 디렉터리 트리를 따라 아래쪽으로 파일을 검색합니다. 공백으로 구분된 경로 목록입니다. 경로를 기록하지 않으면 기본값은 현재 디렉터리입니다.

3. 주요 매개변수

[옵션] 매개변수:

-깊이: 특정 디렉터리에 있는 파일 내용을 특정 수준에서 우선적으로 검색하는 방법을 사용합니다.

-max뎁스 레벨: 시작 디렉토리의 최대 레벨 번째 하위 디렉토리를 찾았음을 나타냅니다. 레벨은 음수가 아닌 숫자입니다. 레벨이 0이면 현재 디렉터리에서만 검색한다는 의미입니다.

-minlength 레벨: 시작 디렉터리의 적어도 레벨 번째 하위 디렉터리를 찾았음을 나타냅니다.

-mount: 다른 파일 시스템(예: Msdos, Vfat 등)의 디렉터리 및 파일을 검색하지 마세요.

-version: 인쇄 버전.

[expression]은 find 명령이 허용하는 표현식인 일치 표현식입니다. find 명령의 모든 작업은 표현식을 기반으로 합니다. 여기에는 많은 매개변수가 있습니다. 여기서는 일반적으로 사용되는 몇 가지 매개변수만 소개합니다.

—이름: 와일드카드 문자 * 및 ?를 지원합니다.

-atime n: 지난 n일 동안 읽은 파일을 검색합니다.

-ctime n: 지난 n일 동안 수정된 파일을 검색합니다.

-group grpoupname: 그룹이 grpoupname인 모든 파일을 검색합니다.

-user 사용자 이름: 소유자가 사용자 이름(ID 또는 이름)인 모든 파일을 검색합니다.

-size n: 크기가 n 블록인 파일을 검색합니다.

-print: 검색 결과를 출력하고 인쇄합니다.

4. 응용 기술

find 명령을 사용하여 파일을 찾는 여러 가지 방법:

(1) 파일 이름을 기준으로 검색

예를 들어 파일 이름이 lilo.conf인 파일을 찾으려면 다음을 수행합니다. 다음 명령을 사용하십시오:

find/-name lilo.conf

find 명령 뒤의 "/"는 하드 디스크 전체를 검색한다는 의미입니다.

(2) 파일 빠르게 찾기

root

파일 이름을 기반으로 파일을 찾는 것은 실질적인 문제에 직면하게 됩니다. 즉, 특히 대용량 Linux 파일 시스템과 깊은 곳에 있는 대용량 하드 디스크 파일은 시간이 오래 걸립니다. 하위 디렉토리.

이 파일이 특정 디렉토리에 저장되어 있다는 것을 알고 있다면 이 디렉토리에서 검색하는 것만으로도 많은 시간을 절약할 수 있습니다. 예를 들어, smb.conf 파일은 파일 접미사 ".conf"를 통해 구성 파일로 판단할 수 있으며, 이 경우 다음 명령을 사용할 수 있습니다. find /etc -name smb .conf

이렇게 "빠른 파일 찾기" 방법을 사용하면 시간을 단축할 수 있습니다.

(3) 파일 이름 일부를 기반으로 한 검색 방법

때때로 특정 파일에만 abvd 4자가 포함되어 있다는 것을 알고 시스템에서 이 4자를 포함하는 모든 파일을 찾으려면 다음을 입력하면 됩니다. 명령:

find / -name '*abvd*'

이 명령을 입력하면 Linux 시스템은 abvdrmyz 및 기타와 같이 / 디렉토리(*는 와일드카드)에서 abvd 4문자를 포함하는 모든 파일을 검색합니다. 자격을 갖춘 파일을 표시할 수 있습니다.

(4) 혼합 검색 방법을 사용하여 파일 찾기

find 명령은 혼합 검색 방법을 사용할 수 있습니다. 예를 들어 /etc 디렉터리에서 500000바이트보다 크고 24바이트 이내로 수정된 파일을 찾으려는 경우입니다. 시간이 지나면 -and(and)를 사용하여 두 검색 매개변수를 하이브리드 검색 방법으로 연결할 수 있습니다.

find /etc -size +500000c -and -mtime +1

mv

1. 기능

mv 명령은 파일이나 디렉터리의 이름을 바꾸거나 한 디렉터리에서 다른 디렉터리로 파일을 이동하는 데 사용됩니다. 사용자. 이 명령은 DOS 명령의 ren과 move를 조합한 것과 같습니다.

2. 형식

mv[옵션] 소스 파일 또는 디렉터리 대상 파일 또는 디렉터리

3.[옵션] 주요 매개변수

-i: 대화형 작업입니다. mv 작업으로 인해 기존 대상 파일을 덮어쓰게 되는 경우 시스템은 다시 쓸 것인지 묻고 실수로 파일을 덮어쓰는 것을 방지하기 위해 사용자에게 "y" 또는 "n"으로 대답하도록 요구합니다.

-f: 대화형 작업을 비활성화합니다. mv 작업은 기존 대상 파일을 덮어쓸 때 어떤 지침도 제공하지 않습니다. 이 매개변수를 지정한 후에는 i 매개변수가 더 이상 적용되지 않습니다.

4. 적용 예

(1) /usr/cbu의 모든 파일을 현재 디렉터리("."로 표시)로 이동합니다.

$ mv /usr/cbu/ * .

(2) cjh.txt 파일의 이름을 wjz.txt로 변경합니다.

$ mv cjh.txt wjz.txt 

ls

1 기능

ls 명령이 사용됩니다. 디렉토리 내용을 표시하는 것은 DOS의 dir 명령과 유사합니다. 사용 권한은 모든 사용자에게 있습니다.

2. Format

ls [options][filename]

3.options 주요 매개변수

-a, --all: "." 문자로 시작하는 항목을 숨기지 마세요.

-A, --almost-all: "." 및 ".."을 제외한 모든 항목을 나열합니다.

--author: 각 파일의 작성자를 인쇄합니다.

-b, --escape: 인쇄할 수 없는 문자를 8진수 오버플로 시퀀스로 나타냅니다.

--block-size=size: 블록이 지정된 바이트에 있습니다.

-B, --ignore-backups: ~ 문자로 끝나는 항목을 나열하지 않습니다.

-f: 정렬이 수행되지 않고 -aU 매개변수가 적용되며 -lst 매개변수가 실패합니다.

-F, --classify: 파일 형식 표시기(*/=@| 중 하나)를 추가합니다.

-g: -l과 유사하지만 소유자를 나열하지 않습니다.

-G, --no-group: 그룹 정보 표시를 금지합니다.

-i, --inode: 각 파일의 inode 번호를 나열합니다.

-I, --ignore= 스타일: Shell 와일드카드 문자와 일치하는 항목을 인쇄하지 않습니다.

-k: 즉, 블록 크기=1K입니다.

-l: 정보를 더 긴 형식으로 나열합니다.

-L, --dereference: 심볼릭 링크의 파일 정보를 표시할 때 심볼릭 링크 자체의 정보가 아닌 심볼릭 링크가 가리키는 객체를 표시합니다.

-m: 모든 항목은 쉼표로 구분되며 전체 줄 너비를 채웁니다.

-n, --numeric-uid-gid: -l과 유사하지만 UID 및 GID 번호를 나열합니다.

-N, --literal: 제어 문자를 특수 처리하지 않는 등 처리되지 않은 프로젝트 이름을 나열합니다.

-p, --file-type: 파일 형식 표시기(/=@| 중 하나)를 추가합니다.

-Q, --quote-name: 프로젝트 이름을 큰따옴표로 묶습니다.

-r, --reverse: 역순으로 정렬합니다.

-R, --recursive: 모든 하위 디렉터리 수준을 동시에 나열합니다.

-s, --size: 블록 크기 순서입니다.

4. 적용 예

ls

명령은 Linux 시스템에서 가장 자주 사용되는 명령이며, Linux 명령 중에서 가장 많은 매개변수를 가지고 있습니다. ls 명령을 사용할 때 여러 가지 색상이 있습니다. 파란색은 디렉터리, 녹색은 실행 파일, 빨간색은 압축 파일, 연한 파란색은 링크 파일, 굵은 검정색은 기호 링크, 회색은 다른 형식의 파일을 나타냅니다. . 가장 일반적으로 사용되는 ls는 그림 1과 같이 ls-l입니다.

그림 1 ls-l 명령 사용

파일 형식은 10자의 문자열로 시작됩니다. 첫 번째 문자는 파일 유형을 나타내며 -(일반 파일), d(디렉토리), l(심볼 링크), b(블록 장치 파일), c(문자 장치 파일) 유형 중 하나일 수 있습니다. 다음 9개 문자는 파일 액세스 권한을 나타내며 3개 그룹으로 구분되며 각 그룹에는 3자리 숫자가 있습니다. 첫 번째 그룹은 파일 소유자의 권한을 나타내고, 두 번째 그룹은 동일한 그룹에 속한 사용자의 권한을 나타내며, 세 번째 그룹은 다른 사용자의 권한을 나타냅니다. 세 문자로 구성된 각 그룹은 파일에 대한 읽기(r), 쓰기(w) 및 실행 권한(x)을 나타냅니다. 디렉터리의 경우 액세스 권한을 나타냅니다. s는 파일이 실행될 때 파일의 UID

또는 GID가 실행 프로세스의 UID(사용자 ID) 또는 GID(그룹

ID)에 할당됨을 의미합니다. t는 플래그 비트를 설정하는 것을 의미합니다(메모리에 남아 있고 교체되지 않음). 파일이 디렉터리인 경우 해당 디렉터리의 파일은 수퍼유저, 디렉터리 소유자 또는 파일 소유자만 삭제할 수 있습니다. 실행 파일인 경우 해당 본문 세그먼트에 대한 포인터는 파일이 실행된 후에도 메모리에 남아 있습니다. 이렇게 하면 파일을 다시 실행할 때 시스템이 파일을 더 빠르게 로드할 수 있습니다. 그러면 파일 크기, 생성 시간, 파일 또는 명령 이름

이 표시됩니다.

diff

1. 기능

diff 명령은 두 파일을 비교하고 차이점을 지적하는 데 사용됩니다. 사용 권한은 모든 사용자에게 있습니다.

2.Format

diff [옵션] 원본 파일 대상 파일

3.[옵션] 주요 매개변수

-a: 모든 파일을 텍스트 파일로 처리합니다.

-b: 공백으로 인한 차이를 무시합니다.

-B: 빈 줄로 인한 차이를 무시합니다.

-c: 스키마 출력 형식을 사용합니다.

-H: 휴리스틱을 사용하여 대용량 파일 검색 속도를 높입니다.

-I: 대소문자 변경을 무시합니다.

-n --rcs: RCS 형식을 출력합니다.

cmp

1. 기능

cmp("compare"의 약어) 명령은 두 파일 사이에 차이점이 있는지 간략하게 표시하는 데 사용됩니다. 사용 권한은 모든 사용자에게 있습니다.

2. 형식

cmp[옵션] 파일 이름

3.[옵션] 기본 매개변수

-l: 10진수 형식으로 바이트를 출력하고, 두 파일의 서로 다른 바이트를 8진수 형식으로 쉽게 출력합니다.

cat

1. 기능

cat("concatenate"의 약어) 명령은 하나 이상의 지정된 파일에 대한 정보를 연결하고 표시하는 데 사용됩니다.

2. 형식

cat [옵션] 파일 1 파일 2...

3. [옵션] 주요 매개변수

-n: 첫 번째 줄부터 모든 출력 줄에 번호를 매깁니다.

-b: 빈 줄에 번호가 매겨지지 않는다는 점을 제외하면 -n과 유사합니다.

-s: 연속된 빈 줄이 2개 이상인 경우 빈 줄 1개로 바꿉니다.

4. 적용 예

(1) cat 명령의 가장 간단한 용도 중 하나는 텍스트 파일의 내용을 표시하는 것입니다. 예를 들어, 명령줄에서 README 파일의 내용을 보려면 다음 명령을 사용할 수 있습니다:

$ cat README 

(2)

때로는 여러 파일을 하나의 파일로 처리하여 저장해야 하는 경우가 있습니다. 이 처리 결과를 별도의 출력 파일로 저장합니다. cat 명령은 입력에서 하나 이상의 파일을 받아 출력에 단일 파일

으로 인쇄합니다. 예를 들어 README 및 INSTALL의 파일 내용에 줄 번호를 추가한 후(빈 줄은 추가되지 않음) 새 텍스트 파일 File1에 내용을 추가합니다.

$ cat README INSTALL File1

(3) cat에도 중요한 내용이 있습니다. 함수 즉, 그림 2와 같이 행에 번호를 매길 수 있습니다. 이 기능은 프로그램 문서 작성은 물론 법률 및 과학 문서 작성 시 매우 편리합니다. 왼쪽에 인쇄된 줄 번호는 문서의 특정 부분을 쉽게 참조할 수 있도록 하여 프로그래밍, 과학 문서 작성에 유용합니다. 연구, 사업 보고서, 심지어 입법 업무도 매우 중요합니다.

그림 2 cat 명령/etc/named.conf 파일을 사용하여 번호를 매깁니다.

줄 번호 매기기 기능에는 -b(공백이 아닌 줄만 번호를 매길 수 있음) 및 -n(모든 줄에 번호를 매길 수 있음)의 두 가지 매개 변수가 있습니다.

$ cat -b /etc/named.conf

ln

1. 기능

ln 명령은 파일 간의 링크를 생성하는 데 사용되며 해당 사용 권한은 모든 사용자에게 있습니다.

2.Format

ln [옵션] 소스파일 [링크명]

3.Parameters

-f: 링크시 소스파일을 먼저 삭제합니다.

-d: 시스템 관리자가 자신의 디렉터리를 하드 링크할 수 있도록 허용합니다.

-s: 소프트 링크(심볼릭 링크)를 수행합니다.

-b: 링크 시 덮어쓰거나 삭제될 파일을 백업하세요.

링크에는 두 가지 유형이 있습니다. 하나는 하드 링크이고 다른 하나는 심볼릭 링크입니다. 기본적으로 ln 명령은 하드 링크를 생성합니다.

Hard

연결은 인덱스 노드를 통한 연결을 말합니다. Linux 파일 시스템에서는 디스크 파티션에 어떤 종류의 파일이 저장되든 인덱스 노드 번호(Inode

Index)라는 번호가 할당됩니다. Linux에는 동일한 인덱스 노드를 가리키는 여러 파일 이름이 존재합니다. 일반적으로 이 연결은 하드 연결입니다. 하드 링크의 기능은 파일이 여러 개의 유효한 경로 이름을 갖도록 허용하여 사용자가 "우발적인 삭제"를 방지하기 위해 중요한 파일에 대한 하드 링크를 설정할 수 있도록 하는 것입니다. 그 이유는 위에서 언급한 바와 같습니다. 디렉터리의 인덱스 노드에 대한 연결이 두 개 이상 있기 때문입니다. 하나의 연결만 삭제해도 인덱스 노드 자체와 다른 연결에는 영향을 미치지 않습니다. 마지막 연결이 삭제된 경우에만 파일의 데이터 블록과 디렉터리 연결이 해제됩니다. 즉, 파일이 실제로 삭제됩니다.

하드 연결에 대응하여 Lnux 시스템에는 소프트 링크라고도 하는 심볼릭 링크(Symbilc Link)라는 또 다른 유형의 연결이 있습니다. 소프트 링크 파일은 Windows 바로 가기와 다소 유사합니다. 실제로는 일종의 특수 파일입니다. 심볼릭 링크에서 파일은 실제로 다른 파일의 위치 정보를 포함하는 텍스트 파일입니다.

실습

위에서 Linux 파일 처리 명령을 소개했습니다. 방금 언급한 명령을 연습할 수 있도록 몇 가지 예를 소개합니다.

1. 기호 링크를 사용하여 주요 디렉토리에 빠르게 액세스하세요.

기호

링크는 매우 실용적인 기능입니다. 자주 사용해야 하는 디렉터리나 파일이 있지만 Linux의 파일 및 디렉터리 구조와 기타 이유로 인해 이 파일이나 디렉터리가 깊은 하위 디렉터리에 있다고 가정해 보겠습니다. 예를 들어,

Apache

웹 서버 문서는 시스템의 /usr/local/httpd/htdocs에 있으며 매번 홈 디렉터리에서 그렇게 긴 경로를 입력하고 싶지는 않습니다(실제로 이 경로는 또한

기억하기가 매우 쉽지 않습니다).

이 문제를 해결하려면 홈 디렉토리에 심볼릭 링크를 생성하여 디렉토리에 들어가야 할 때 이 링크만 입력하면 됩니다.

웹 서버(/usr/local/httpd/htdocs) 문서가 있는 디렉터리로 쉽게 들어가려면 홈 디렉터리에서 다음 명령을 사용하면 됩니다.

$ ln -s /usr/local/httpd /htdocs gg

이렇게 하면 gg 디렉터리에 들어갈 때마다 웹 서버의 문서에 접근할 수 있다. 더 이상 웹 서버의 문서에 접근할 수 없다면 gg를 삭제하면 되고, 실제 웹 서버의 문서는 삭제하면 된다. 삭제되지 않습니다.

2 dd 명령을 사용하여 init.rd 형식의 root.ram 콘텐츠를 메모리

dd if=/dev/fd0 of=floppy.fd

dd if=root.ram of=/dev로 가져옵니다. /ram0 #

3. grep 명령 시스템 호출

grep은 Linux/Unix에서 가장 널리 사용되는 명령 중 하나이며 많은 Linux 시스템에서 내부적으로 호출할 수 있습니다.

(1) 디렉터리 목록에 있는 디렉터리를 조회하려는 경우 방법은 다음과 같습니다.

$ ls -l | grep '∧d'

(2) 디렉터리에 포함되지 않은 모든 파일을 조회하려는 경우 디렉토리에 디렉토리를 포함하는 경우 방법은 다음과 같습니다.

$ ls -l | grep '∧[∧d]'

(3) 모든 C 소스 코드에서 "Chinput"과 같은 grep을 호출하려면 find 명령을 사용하십시오. , 방법은 다음과 같습니다.

$find /ZhXwin -name *.c -exec grep -q -s Chinput {} ;-print

60 Linux에서 배워야 할 명령 (3) - 시스템 관리 명령

시스템 리눅스에서 꼭 배워야 할 관리 명령어

Linux 시스템의 경우 중앙 프로세서, 메모리, 디스크 드라이브, 키보드, 마우스, 사용자 등 모두 파일이며 Linux 시스템 관리 명령은 정상적인 작동의 핵심입니다. 본 강의에서는 Linux에서 흔히 사용되는 파일 처리 명령어에 익숙해진 후, 시스템 및 사용자 관리를 위한 명령어를 소개한다.

df

1. 기능

df 명령은 파일 시스템의 디스크 공간 사용량을 확인하는 데 사용됩니다. 사용 권한은 모든 사용자에게 있습니다.

2. 형식

df [옵션]

3. 주요 매개변수

-s: 각 Names 매개변수에 대해 점유된 총 데이터 블록 수만 제공됩니다.

-a: 지정된 디렉터리의 각 파일과 하위 디렉터리의 각 파일이 차지하는 데이터 블록 수를 반복적으로 표시합니다. -s와 -a를 모두 지정하지 않으면 Names의 각 디렉터리와 해당 하위 디렉터리가 차지하는 디스크 블록 수만 표시됩니다.

-k: 디스크 공간 사용량을 1024바이트 단위로 나열합니다.

-x: 다른 파일 시스템의 디렉터리를 건너뛰고 계산하지 않습니다.

-l: 모든 파일의 크기를 계산하고, 하드링크 파일의 경우 여러 번 계산합니다.

-i: 블록 사용 대신 inode 정보를 표시합니다.

-h: 파일 시스템 크기를 136KB, 254MB, 21GB 등 이해하기 쉬운 형식으로 인쇄합니다.

-P: POSIX 출력 형식을 사용합니다.

-T: 파일 시스템 유형을 표시합니다.

4. 설명

df 명령은 파일 시스템 사용 통계를 생성하는 데 널리 사용됩니다. 총 용량, 사용 가능한 여유 공간, 현재 마운트 지점 등을 포함하여 시스템의 모든 파일 시스템에 대한 정보를 표시할 수 있습니다.

슈퍼

레벨 권한을 가진 사용자는 df 명령을 사용할 때 특정 파티션의 용량이 100%를 초과하는 상황을 발견하게 됩니다. 이는 Linux 시스템이 수퍼유저가 단독으로 제어할 수 있도록 공간의 10%를 예약하기 때문입니다. 즉, 슈퍼유저에게 보이는 하드 드라이브 용량은 110%입니다. 이러한 배열은 시스템 관리에 좋습니다. 하드 디스크 용량이 100%에 가까워도 시스템 관리자는 정상적으로 작업할 수 있습니다.

5. 애플리케이션 예제

Linux는 JFS, ReiserFS, ext, ext2, ext3, ISO9660, XFS, Minx, vfat, MSDOS 등을 포함한 다양한 파일 시스템을 지원합니다. df -T 명령을 사용하여 디스크 공간을 볼 때 파일 시스템 정보를 얻을 수도 있습니다:

#df -T

파일 시스템 유형 용량 사용 가능 사용 % 마운트 지점

/dev/hda7 reiserfs 5.2G 1.6G 3.7 G 30% /

/dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C

/dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D

/dev/hda9 vfat 3.0G 2.4 G 566M 82% /windows/E

/dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F

/dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G

위에서 제외 In 디스크 공간의 용량 및 사용량 외에도 파티션의 파일 시스템 유형, 마운트 지점 및 기타 정보를 한 눈에 볼 수 있습니다.

top

1. 기능

top 명령은 실행 중인 프로그램 프로세스를 표시하는 데 사용되며, 사용 권한은 모든 사용자에게 있습니다.

2. 형식

top [-] [d 지연] [q] [c] [S] [s] [n]

3. 주요 매개변수

d: 초 단위로 계산되는 업데이트 간격을 지정합니다.

q: 지연 없이 업데이트됩니다. 사용자에게 슈퍼유저가 있는 경우 top 명령이 가장 높은 우선순위로 실행됩니다.

c: 프로세스의 전체 경로와 이름을 표시합니다.

S: 누적 모드는 완료되거나 사라진 하위 트립의 CPU 시간을 누적합니다.

s: 안전 모드.

i: 유휴 또는 쓸모 없는 일정을 표시하지 마세요.

n: 업데이트 수를 표시하고 완료 후 맨 위로 종료됩니다.

4. 설명

top 명령은 Linux 시스템 관리를 위한 주요 명령으로, 이를 통해 많은 정보를 얻을 수 있습니다. 여기서는 그림 1을 결합하여 제공되는 정보를 설명합니다.

그림 1 최상위 명령 표시

그림 1에서 첫 번째 줄에 표시되는 항목은 현재 시간, 시스템 시작 시간, 현재 시스템에 로그인한 사용자 수 및 평균 부하입니다. 두 번째 줄에는 시작된 모든 프로세스, 현재 실행 중인 프로세스, 일시 중지된 프로세스(잠자기) 및 쓸모 없는(좀비) 프로세스가 표시됩니다. 세 번째 줄에는 시스템 점유율, 사용자 사용율, 유휴(Idle) 비율을 포함한 현재 CPU 사용량이 표시됩니다.

네 번째 줄은 사용 가능한 총 메모리, 사용된 메모리, 사용 가능한 메모리, 버퍼가 차지하는 메모리를 포함한 실제 메모리 사용량을 보여줍니다. 다섯 번째 줄에는 총 스왑 파티션, 사용된 공간, 사용 가능한 공간 및 캐시 크기를 포함한 스왑 파티션 사용량이 표시됩니다. 6번째 행에는 가장 많은 항목이 표시되며, 자세한 설명은 아래와 같습니다.

PID(프로세스 ID): 프로세스 식별 번호입니다.

USER: 프로세스 소유자의 사용자 이름입니다.

PR: 프로세스의 우선순위 수준입니다.

NI: 프로세스의 우선순위 값입니다.

VIRT: 프로세스가 차지하는 가상 메모리 값입니다.

RES: 프로세스가 차지하는 물리적 메모리 값입니다.

SHR: 프로세스에서 사용하는 공유 메모리 값입니다.

S: 프로세스 상태. S는 절전 모드, R은 실행 중, Z는 좀비 상태, N은 프로세스의 우선 순위 값이 음수임을 의미합니다.

%CPU: 이 프로세스가 차지하는 CPU 사용량입니다.

%MEM: 이 프로세스가 차지하는 실제 메모리와 총 메모리의 비율입니다.

TIME+: 프로세스가 시작된 후 프로세스가 차지하는 총 CPU 시간입니다.

Command: 프로세스 시작을 위한 시작 명령의 이름입니다. 이 줄을 표시할 수 없는 경우 프로세스에는 완전한 명령줄이 있습니다.

top 명령을 사용하는 동안 일부 대화형 명령을 사용하여 다른 매개변수의 기능을 완료할 수도 있습니다. 이러한 명령은 바로 가기 키를 통해 실행됩니다.

: 즉시 새로고침하세요.

P: CPU 사용량을 기준으로 정렬합니다.

T: 시간순, 누적시간순으로 정렬합니다.

q: top 명령을 종료합니다.

m: 메모리 정보 표시를 전환합니다.

t: 프로세스 및 CPU 상태 정보를 표시하도록 전환합니다.

c: 명령 이름 표시를 전환하고 명령줄을 완성합니다.

M: 사용된 메모리 크기에 따라 정렬합니다.

W: 현재 설정을 ~/.toprc 파일에 씁니다. 이는 최상위 구성 파일을 작성하는 데 권장되는 방법입니다.

보시다시피 top 명령은 시스템 모니터링을 위한 매우 강력한 도구이며, 이는 시스템 관리자에게 특히 중요합니다. 그러나 시스템 리소스를 많이 소모한다는 단점이 있습니다.

5. 적용 예

지정된 사용자를 모니터링하려면 top 명령을 사용하세요. 기본값은 모든 사용자의 프로세스를 모니터링하는 것입니다. 지정된 사용자의 상태를 확인하려면 터미널에서 "U" 키를 누르고 사용자 이름을 입력하세요. 시스템은 그림 2와 같이 지정된 사용자의 프로세스 실행 인터페이스로 전환합니다.

그림 2 top 명령을 사용하여 지정된 사용자

free

1. 기능

free 명령은 메모리 사용량을 표시하는 데 사용되며 사용 권한은 모든 사용자에게 있습니다.

2. 형식

free [-b|-k|-m] [-o] [-s 지연] [-t] [-V]

3. 주요 매개변수

-b -k -m: 메모리 사용량을 바이트(KB, MB)로 표시합니다.

-s 지연: 메모리 사용량을 표시하는 시간(초)을 표시합니다.

-t: 메모리 합계 열을 표시합니다.

-o: 버퍼 조정 열을 표시하지 않습니다.

4. 적용 예

free 명령은 메모리 사용량을 확인하는 데 사용되는 주요 명령입니다. top 명령과 비교하면 사용이 간편하고 시스템 리소스를 거의 차지하지 않는다는 장점이 있습니다. -S 매개변수를 통해 free 명령을 사용하면 얼마나 많은 메모리가 사용되고 있는지 지속적으로 모니터링할 수 있어 편리한 실시간 모니터로 활용할 수 있다.

#free -b -s5

이 명령을 사용한 후 터미널은 5초마다 업데이트되는 메모리 사용량(바이트 단위)을 지속적으로 보고합니다.

quota

1. 기능

quota 명령은 슈퍼유저 권한을 사용하여 디스크 사용량 및 제한 사항을 표시하는 데 사용됩니다.

2. 형식

quota [-g][-u][-v][-p] 사용자 이름 그룹 이름

3. 매개변수

-g: 사용자가 속한 그룹의 디스크 사용량 제한을 표시합니다. 속합니다.

-u: 사용자의 디스크 사용량 제한을 표시합니다.

-v: 할당된 공간이 없는 파일 시스템의 할당을 표시합니다.

-p: 단순화된 정보를 표시합니다.

4. 응용 프로그램 예

디스크 할당량은 기업 응용 프로그램에서 매우 중요하며 일반 사용자는 자신의 디스크 사용량을 이해하는 방법을 배워야 합니다. 자신의 디스크 할당량을 쿼리하려면 다음 명령을 사용할 수 있습니다(아래 예의 사용자 계정은 caojh입니다).

#quota caojh

사용자 caojh에 대한 디스크 할당량(uid 502):

파일 시스템이 할당량 제한 유예 파일을 차단합니다. quota Limit Grace

/dev/hda3 58 200000 400000 41 500 1000

위는 caojh 계정 ID 502, 파일 개수는 500~1000, 하드 디스크 공간 제한은 200MB~로 설정된 모습입니다. 400MB. 디스크 할당량이 모두 사용되면 일부 정크 파일을 삭제하거나 시스템 관리자에게 추가 할당량을 요청해야 합니다.

at

1. 기능

at 명령은 지정된 시간에 지정된 명령 시퀀스를 실행하는 데 사용됩니다.

2. 형식

at [-V] [-q x] [-f 파일] [-m] 시간

3. 주요 매개변수

-V: 표준 오류 출력을 표시합니다.

-q: 대기열 출력이 많습니다.

-f: 파일에서 작업을 읽습니다.

-m: 작업 실행 후 사용자에게 이메일을 보냅니다.

time: 작업 실행 시간을 설정합니다. 시간 형식은 엄격한 요구 사항을 가지며 시, 분, 날짜 및 시간 오프셋으로 구성됩니다. 날짜 형식은 MM.DD.YY이고, MM은 분, DD는 날짜, YY는 연도를 나타냅니다. 오프셋의 형식은 시간 + 오프셋이며 단위는 분, 시, 일입니다.

4. 적용예

#at -f data 15:30 +2 days

위 명령은 시스템이 이틀 후 17:30에 파일 데이터에 지정된 작업을 실행하도록 한다는 의미입니다.

lp

1. 기능

lp는 파일을 인쇄하는 명령으로, 사용 권한은 모든 사용자에게 있습니다.

2. 형식

lp [-c][-d][-m][-number][-title][-p]

3. 주요 매개변수

-c: 파일을 먼저 복사한 후 인쇄하세요. .

-d: 대기열 파일을 인쇄합니다.

-m: 인쇄 후 사용자에게 이메일을 보냅니다.

-number: 인쇄할 매수입니다.

-title: 제목 인쇄.

-p: 인쇄 우선 순위 수준을 최대 100으로 설정합니다.

4. 적용 예시

(1) lp 명령을 사용하여 여러 파일 인쇄

#lp 2 3 4

요청 ID는 11(3개 파일)

여기서 2, 3, 4는 파일입니다. 이름은 각각 ; "요청 ID는 11(3개 파일)입니다."는 이것이 11번째 인쇄 명령이고 이 세 파일을 순서대로 인쇄한다는 의미입니다.

(2) 인쇄 우선순위 수준 설정

#lp lp -d LaserJet -p 90 /etc/aliases

"-p 90"을 추가하면 인쇄 작업의 우선순위가 90으로 지정됩니다. 우선순위가 설정되지 않은 작업을 포함하여 우선순위가 90보다 낮은 작업보다 먼저 인쇄됩니다. 기본 우선순위는 50

useradd

1입니다. 기능 useradd 명령은 사용자 계정을 생성하는 데 사용됩니다. , 사용 권한은 슈퍼유저입니다.

2.형식

useradd [-d 홈] [-s 쉘] [-c 주석] [-m [-k 템플릿]] [-f 비활성] [-e 만료 ] [-p passwd] [-r] 이름

3. 주요 매개변수

-c: passwd의 Remark 열에 저장되는 Remark 텍스트를 추가합니다.

-d: 사용자가 로그인할 때 시작 디렉터리를 지정합니다.

-D: 기본값을 변경합니다.

-e: 계정의 유효 기간을 지정합니다. 기본값은 영구적으로 유효함을 의미합니다.

-f: 비밀번호가 만료된 후 계정을 폐쇄할 수 있는 일수를 지정합니다.

-g: 사용자가 속한 그룹을 지정합니다.

-G: 사용자가 속한 추가 그룹을 지정합니다.

-m: 사용자의 로그인 디렉터리를 자동으로 생성합니다.

-M: 사용자의 로그인 디렉터리를 자동으로 생성하지 않습니다.

-n: 사용자 이름으로 이름이 지정된 그룹 생성을 취소합니다.

-r: 시스템 계정을 만듭니다.

-s: 로그인 후 사용자가 사용하는 쉘을 지정합니다.

-u: 사용자 ID 번호를 지정합니다.

4. 설명

useradd는 adduser 명령과 동일합니다. 계정이 생성된 후 passwd를 사용하여 계정의 비밀번호를 설정합니다. useradd 명령을 사용하여 생성된 계정은 실제로 /etc/passwd 텍스트 파일에 저장됩니다.

5. 적용 예시

새 사용자 계정을 생성하고 ID를 설정하세요:

#useradd caojh -u 544

ID 값을 설정할 때 충돌을 피하기 위해 500보다 크게 설정해야 합니다. Linux를 설치한 후에는 일부 특수 사용자가 생성되기 때문에 일반적으로 bin 및 mail과 같은 시스템 계정에는 0에서 499 사이의 값이 예약되어 있습니다.

groupadd

1. 기능

groupadd 명령은 시스템에 새 그룹을 추가하는 데 사용됩니다.

2. 형식

groupadd [-g gid] [-o]] [-r] [-f] 그룹 이름

3. 주요 매개변수

-g gid: 그룹 ID 번호를 지정합니다.

-o: 반드시 고유할 필요는 없지만 그룹 ID 번호를 허용합니다.

-r : 499 시스템 계좌번호보다 낮은 그룹 ID번호로 가입하세요.

-f: 기존 그룹에 가입하면 개발 프로그램이 종료됩니다.

4. 적용 예시

새 그룹을 생성하고 시스템에 참여하기 위한 그룹 ID 설정:

#groupadd -g 344 cjh

이때 그룹 ID(GID)가 344인 프로젝트가 생성됩니다. /etc/passwd 파일 .

kill

1. 기능

kill 명령은 프로세스를 종료하는 데 사용됩니다.

2. Format

kill [-s signal | -p] [-a] pid...

kill -l [signal]

3. 매개변수

-s: 보낼 신호를 지정합니다.

-p: 신호 전송을 시뮬레이션합니다.

-l: 신호의 이름 목록을 지정합니다.

pid: 종료할 프로세스의 ID 번호입니다.

신호: 신호를 나타냅니다.

4. 설명

프로세스는 Linux 시스템에서 매우 중요한 개념입니다. Linux는 멀티 태스킹 운영 체제이며 여러 프로세스가 시스템에서 동시에 실행되는 경우가 많습니다. 우리는 이러한 프로세스가 어떻게 할당되는지, 커널이 할당된 시간 조각을 어떻게 관리하는지에 대해서는 관심이 없습니다. 우리가 관심을 갖는 것은 이러한 프로세스가 사용자에게 잘 서비스를 제공할 수 있도록 어떻게 제어하는가입니다.

Linux

운영 체제에는 세 가지 유형의 프로세스가 포함되어 있으며 각각 고유한 특징과 속성을 가지고 있습니다. 대화형 프로세스는 셸에서 시작되는 프로세스입니다. 대화형 프로세스는 포그라운드 또는 백그라운드에서 실행될 수 있습니다.

일괄 처리는 단말기와 아무런 관련이 없으며 일련의 처리 과정입니다. 모니터링 프로세스(시스템 데몬이라고도 함)는 Linux 시스템이 시작될 때 시작되어 백그라운드에서 실행되는 프로세스입니다. 예를 들어 httpd는 Apache 서버의 유명한

모니터링 프로세스입니다.

kill 명령의 작동 원리는 시스템 작동 신호

와 특정 프로그램의 프로세스 식별 번호를 Linux 시스템의 커널로 보내는 것입니다. 그러면 시스템 커널이 프로세스 식별에 의해 지정된 프로세스에서 작동할 수 있습니다. 숫자. 예를 들어, top 명령에서 시스템이 많은 프로세스를 실행하고 있는 것을 볼 수 있습니다. 때로는 시스템 리소스를 늘리기 위해 특정 프로세스를 중지하기 위해 kill을 사용해야 합니다. 설치 및 로그인 명령을 설명할 때 시스템의 다중 가상 콘솔 기능은 프로그램 오류로 인해 시스템 교착 상태가 발생하는 경우 다른 가상 콘솔로 전환하여 프로그램을 닫을 수 있다는 점을 언급했습니다. 이때 사용하는 명령은 kill이다. 왜냐하면 kill은 대부분의 쉘 내부 명령에 의해 직접 호출될 수 있기 때문이다.

5. 응용 프로그램 예

(1) 프로세스 식별 번호가 324인 프로세스를 강제 종료(종종 종료하는 데 사용):

#kill -9 324

(2) Linux에서 Linux 시스템의 교착 상태 해제

때때로

에서는 프로그램이 충돌하고 교착 상태에 빠지는 상황이 발생합니다. 이때 일반적으로 컴퓨터를 다시 시작할 필요는 없습니다. 문제가 있는 프로그램을 종료(또는 닫기)하기만 하면 됩니다.

kill이 X-Window 인터페이스에 있을 때 기본 프로그램(충돌된 프로그램 제외)은 일반적으로 정상적으로 시작되었습니다. 이제 터미널을 열고 거기에서 문제가 되는 프로그램을 종료하십시오. 예를 들어

Mozilla 브라우저 프로그램이 잠겨 있는 경우 kill 명령을 사용하여 Mozolla 브라우저를 포함하는 모든 프로그램을 종료할 수 있습니다. 먼저 top 명령을 사용하여 프로그램의 PID를 확인한 다음 kill 명령을 사용하여 프로그램을 중지합니다.

#kill -SIGKILL XXX

여기서 XXX는 Mozolla 브라우저가 포함된 프로그램의 프로세스 식별 번호입니다.

(3) 명령을 사용하여 메모리 재활용

우리는 메모리가 시스템에 매우 중요하다는 것을 알고 있으며, 메모리를 재활용하면 시스템 리소스가 향상될 수 있습니다. kill 명령은 일부 "비정상적인" 프로그램을 즉시 종료하거나 오랫동안 해당 프로그램을 종료하지 않을 수 있습니다. 예를 들어, 쓸모 없는(좀비) 프로세스를 찾기 위해 top 명령을 사용하는 경우 다음 명령을 사용할 수 있습니다.

#kill -9 XXX

여기서 XXX는 쓸모 없는 프로세스 식별 번호입니다.

그런 다음 다음 명령을 사용하세요.

#free

사용 가능한 메모리 용량이 늘어난 것을 확인할 수 있습니다.

(4) killall 명령

Linux는 프로세스 식별 번호 대신 프로세스 이름을 직접 사용할 수 있는 killall 명령도 제공합니다. 예:

# killall -HUP inetd

crontab

1.

사용 crontab 명령은 crontab 구성 파일을 수정할 수 있으며, 적절한 시점에 cron 유틸리티에 의해 구성이 실행됩니다. 이 명령은 모든 사용자가 사용합니다.

2. 형식

crontab [ -u user ] 파일

crontab [ -u user ] { -l | -r | -e }

3. 주요 매개변수

-e: 일정 설정 , 기본 텍스트 편집기는 vi입니다.

-r: 현재 일정을 삭제합니다.

-l: 현재 일정을 나열합니다.

crontab

파일 형식은 "MHDmd

cmd" 입니다. 그 중 M은 분(0~59), H는 시(0~23), D는 일(1~31), m은 월(1~12), d는 일을 나타냅니다. 주(0~6, 0은 요일). cmd는 실행할 프로그램을 나타내며 실행을 위해 sh로 전송됩니다. 이 셸에는 USER, HOME 및 SHELL의 세 가지 환경 변수만 있습니다.

4. 설명

at 명령에 비해 crontab 명령은 고정 주기 작업을 완료하는 데 적합합니다.

5. 적용 예

예약 및 일반 시스템 프롬프트 설정:

[cao @www cao]#crontab -e

이때 시스템은 vi 편집기를 엽니다.

다음과 같이 입력하면 35 17 * * 5 wall "내일은 토요일 I will go CS" 를 입력하고 저장하고 종료합니다. 이때 /var/spool/cron/ 디렉터리에 다음 내용의 cao 파일이 생성됩니다.

# 이 파일을 편집하지 마세요. 마스터를 편집하고 다시 설치하세요.

# (/tmp/crontab.2707 Thu Jan 1 22:01:51 2004)

#(Cron 버전 --- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)

35 17 * *에 설치됨 5 wall "내일은 토요일입니다. CS를 플레이하겠습니다"

그래서 매주 금요일 17시 35분에 시스템에서 터미널에 토요일에 CS를 플레이할 수 있다는 알림이 표시됩니다! 표시된 결과는 그림 3에 나와 있습니다.

그림 3 예약되고 정기적인 시스템 프롬프트

실습

1. kill과 top 명령을 함께 사용하여 시스템 성능 변화 관찰

먼저 터미널을 시작하고 top 명령을 실행한 다음 터미널을 시작합니다. 그리고 kill 명령을 사용하십시오(그림 4 참조).

그림 4 상단 터미널에서 kill 명령의 영향 관찰

위에 소개된 kill 명령을 사용하여 일부 프로그램을 종료합니다.

#kill SIGKILL XXX

그런 다음 메모리 용량을 포함하여 상단 명령 터미널의 변경 사항을 살펴보세요. CPU 사용률, 시스템 로드 등 일부 프로세스는 종료할 수 없지만 Linux 명령을 학습하여 시스템이 어떻게 반응하는지 확인할 수 있습니다.

2. at 및 정지 명령을 사용하여 종료 예약

먼저 종료 시간을 17:35로 설정하고 다음 코드를 입력하세요.

#at 17:35

경고: 명령은 순서대로 실행됩니다. ) $ SHELL b) 로그인 쉘 c) /bin/sh

at>halt `-i -p

at>

job 6 at 2004-01-01 17:35

이때 실제로 입력한 내용은 다음과 같습니다. Linux 시스템 쉘을 사용하고 가장 간단한 프로그램인 quit -i

-p를 작성합니다. 위 셸에서 텍스트 끝 기호는 "Ctrl+D" 키 조합을 눌러 명령을 닫고 작업을 제출하여 셸을 종료한다는 의미입니다. "Job 6 at 2004-01-01

17:35"은 시스템이 6번째 at 명령을 수락하고 "2004-01-01 17:35"에 명령을 실행한다는 의미입니다. 먼저 모든 네트워크 관련 장치를 중지하고 종료합니다. 시스템 그런 다음 전원을 끄십시오.

3. crontab 명령을 사용하여 일일 예약 바이러스 검사 구현

간단한 crontab 명령 작업이 이전에 소개되었습니다.

(1) caoproject라고 가정하고 파일을 생성하고 파일 이름을 직접 설정합니다.

#crontab -e

(2) 파일 내용은 다음과 같습니다.

05 09 * * * antivir

vi로 편집하고 저장하고 종료합니다. Antivir는 Linux 바이러스를 탐지하고 죽이는 소프트웨어입니다. 물론 필요한 경우 먼저 시스템에 설치해야 합니다.

(3) crontab 명령을 사용하여 작업 목록에 추가합니다.

#crontab caoproject

이런 식으로 시스템의 모든 사용자는 매일 9시 5분에 자동으로 바이러스를 검사합니다.

4. 수정된 구성 파일을 즉시 적용하려면 kill을 사용하세요.

Windows 사용자는 일반적으로 중요한 구성 파일을 수정한 후 수정 사항을 적용하려면 컴퓨터를 다시 시작해야 하는 경우가 많다는 것을 알고 있습니다. Linux는 모듈식 설계를 채택하므로 필요에 따라 실시간으로 서비스를 설정할 수 있습니다. 여기서는 네트워크 서비스 inetd를 예로 들어 몇 가지 운영 기술을 소개합니다.

inetd

는 연결 요구 사항에 대한 인터넷 서비스 프로세스(예: rlogin, telnet, ftp, rsh)를 모니터링 및 제공하고 필요한 서비스 프로세스를 확장하는 청취 데몬 프로세스입니다. 기본적으로

inetd가 모니터링하는 데몬은 /etc

/inetd.conf 파일에 나열됩니다. /etc/inetd.conf 파일을 편집하여 inetd가 서버 데몬을 시작하는 옵션을 변경한 다음 inetd를

로 구동합니다.

SIGHUP(신호 1)은 현재 inetd 프로세스에 신호를 보내 inetd가 파일을 다시 읽도록 합니다. 이 프로세스는 kill 명령으로 구현됩니다.

vi 또는 다른 편집기로 inetd.conf를 수정한 후 먼저 다음 명령을 사용하십시오:

#ps -ef |grep inetd

위 코드는 inetd.conf의 프로세스 ID(PID)를 쿼리하라는 것을 나타냅니다. 1426으로 가정하고 다음 명령을 사용합니다:

# kill -1426 inetd

구성 파일이 적용됩니다.

이 강의에서 소개하는 시스템 관리 명령어는 모두 상대적으로 중요하며, 특히 crontab 명령어와 quota 명령어는 사용하기 어렵고 연습이 더 많이 필요합니다. 또한, kill 명령을 사용할 때 "-9" 매개변수에 주의하십시오. 연습 중에는 일부 중요한 프로그램을 실행하지 않는 것이 가장 좋습니다.

리눅스에서 꼭 배워야 할 60가지 명령어 (4) - 네트워크 동작 명령어 리눅스에서 꼭 배워야 할 60가지 명령어 : 네트워크 동작 명령어

왜냐하면

리눅스 시스템은 인터넷에서 시작되고 개발되었기 때문에 강력한 네트워크를 가지고 있다. 기능과 풍부한 네트워크 응용 소프트웨어, 특히 TCP/IP 네트워크 프로토콜 구현이 특히 성숙해졌습니다.

Linux에는 많은 네트워크 명령이 있습니다. 그 중 ping,

ftp, telnet, Route, netstat 등과 같은 명령은 다른 운영 체제에서도 볼 수 있지만 Unix/Linux 시스템에 고유한 명령도 있습니다. , ifconfig,

finger, mail 등과 같은 Linux 네트워크 작업 명령의 한 가지 특징은 명령 매개변수 옵션과 기능이 많다는 것입니다. 하나의 명령은 종종 다른 명령의 기능을 실현할 수도 있습니다.

ifconfig

1. 기능

ifconfig는 IP 주소, 네트워크 마스크, 브로드캐스트 주소를 포함한 네트워크 인터페이스의 주소와 매개변수를 보고 변경하는 데 사용됩니다.

2. 형식

ifconfig -interface [옵션] 주소

3. 주요 매개변수

-interface: eth0 및 eth1과 같은 지정된 네트워크 인터페이스 이름입니다.

up: 지정된 네트워크 인터페이스 카드를 활성화합니다.

down: 지정된 네트워크 인터페이스를 닫습니다.

브로드캐스트 주소: 인터페이스의 브로드캐스트 주소를 설정합니다.

pointopoint: 지점 간 모드를 활성화합니다.

주소: 지정된 인터페이스 장치의 IP 주소를 설정합니다.

netmask 주소: 인터페이스의 서브넷 마스크를 설정합니다.

4. 애플리케이션 설명

ifconfig는 네트워크 카드를 설정하고 구성하는 데 사용되는 명령줄 도구입니다. 네트워크를 수동으로 구성하기 위해서는 꼭 마스터해야 하는 명령어입니다. 이 명령을 사용하면 컴퓨터를 다시 시작할 필요가 없다는 장점이 있습니다. eth0 인터페이스에 IP 주소 207.164.186.2를 할당하고 즉시 활성화하려면 다음 명령을 사용하십시오:

#fconfig eth0 210.34.6.89 netmask 255.255.255.128 Broadcast 210.34.6.127

명령의 기능은 다음과 같습니다. 네트워크 카드의 IP eth0 네트워크의 주소, 넷마스크 및 로컬 브로드캐스트 주소입니다. 매개변수 없이 ifconfig 명령을 실행하면 이 명령은 머신에서 활성화된 모든 인터페이스의

정보를 표시합니다. "-a" 매개변수가 포함된 명령은 비활성 인터페이스를 포함한 모든 인터페이스에 대한 정보를 표시합니다. ifconfig 명령으로 구성된 네트워크 장치 매개변수는 시스템이 다시 시작된 후 손실됩니다.

특정 네트워크 인터페이스의 작업을 일시 중지하려면 down 매개변수를 사용할 수 있습니다:

#ifconfig eth0 down

ip

1. 기능

ip은 iproute2 소프트웨어 패키지의 강력한 네트워크 구성 도구입니다. ifconfig, Route 등과 같은 일부 기존 네트워크 관리 도구는 슈퍼유저가 사용해야 합니다. 거의 모든 Linux 배포판은 이 명령을 지원합니다.

2. 형식

ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

3. 주요 매개변수

OPTIONS는 ip의 동작을 수정하거나 출력을 변경하는 옵션입니다. 모든 옵션은 - 문자로 시작하며 긴 형식과 짧은 형식으로 구분됩니다. 현재 IP는 표 1에 표시된 옵션을 지원합니다.

OBJECT는 관리자가 정보를 얻어야 하는 객체입니다. 현재 IP로 알려진 객체는 표 2에 나와 있습니다.

표 1 ip에서 지원하는 옵션

-V,-Version ip의 버전을 출력하고 종료한다.

-s,-stats,-statistics는 더 자세한 정보를 출력합니다. 이 옵션이 두 번 이상 나타나면 출력이 더 자세히 표시됩니다.

-f,-family 이 옵션 뒤에는 inet, inet6 또는 link를 포함한 프로토콜 유형이 나타나 사용되는 프로토콜 유형을 강조합니다. 어떤 종류의 프로토콜을 사용할지 IP에 알려주는 정보가 충분하지 않은 경우 IP는 기본값 inet 또는 any를 사용합니다. 링크가 특별하다는 것은 네트워크 프로토콜이 관련되지 않음을 의미합니다.

-4는 -family inet의 약어입니다.

-6은 -family inet6의 약어입니다.

-0은 -Family Link의 약어입니다.

-o,-oneline은 레코드의 각 줄에 대해 단일 출력 줄을 사용하고 반환 줄을 문자로 바꿉니다. IP 출력을 처리하기 위해 wc 및 grep과 같은 도구를 사용해야 하는 경우 이 옵션이 사용됩니다.

-r,-resolve 도메인 이름 확인 시스템을 쿼리하고 호스트 IP 주소를 얻은 호스트 이름으로 바꿉니다.

COMMAND

개체 유형과 관련된 지정된 개체에 대해 수행할 작업을 설정합니다. 일반적으로 IP는 객체의 추가(추가), 삭제(삭제) 및 표시(표시 또는 목록)를 지원합니다. 일부

개체는 이러한 작업을 지원하지 않거나 다른 명령을 가지고 있습니다. 모든 개체에 대해 사용자는 help 명령을 사용하여 도움말을 얻을 수 있습니다. 이 명령은 이 개체가 지원하는 명령과 매개변수 구문을 나열합니다. 지정된 개체에 대한 작업 명령이 없으면 IP는 기본 명령을 사용합니다. 일반적으로 기본 명령은 list입니다. 개체를 나열할 수 없으면 help 명령이 실행됩니다.

인수

는 개체와 명령에 따라 달라지는 명령의 일부 매개변수입니다. IP는 플래그와 매개변수라는 두 가지 유형의 매개변수를 지원합니다. 플래그는 키워드로 구성되며 매개변수는

키워드와 숫자 값으로 구성됩니다. 편의를 위해 각 명령에는 무시할 수 있는 기본 매개변수가 있습니다. 예를 들어, dev 매개변수는 ip link 명령의 기본 매개변수이므로 ip link ls

eth0은 ip link ls dev eth0과 동일합니다. 각 명령어의 사용법은 뒤에서 자세히 소개하고, 명령어의 기본 매개변수는 default로 표시하겠습니다.

4. 적용 예

eth0 네트워크 카드에 IP 주소 192.168.2.2/24 추가:

#ip addr add 192.168.1.1/24 dev eth0

소스 주소가 192.168.2.0/에 속하는 모든 데이터그램을 삭제합니다. 24 네트워크 :

#ip rule add from 192.168.2.0/24 prio 32777 recognition

ping

1. Function

ping은 호스트 네트워크 인터페이스 상태를 감지하고 사용 권한은 모든 사용자에게 부여됩니다.

2. 형식

ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP 주소

3. -d: 소켓의 SO_DEBUG 함수를 사용합니다.

-c: 요청 응답을 완료하는 횟수를 설정합니다.

-f: 한계 감지.

-i: 메시지 보내기와 받기 사이의 시간(초)을 지정합니다.

-I: 네트워크 인터페이스는 지정된 네트워크 인터페이스를 사용하여 데이터 패킷을 보냅니다.

-l: 사전 로드, 필요한 정보를 전송하기 전에 전송될 데이터 패킷을 설정합니다.

-n: 숫자 값만 출력합니다.

-p: 채워진 패킷의 템플릿 스타일을 설정합니다.

-q: 시작과 끝 부분에 관련 정보를 제외하고 명령어 실행 과정을 표시하지 않습니다.

-r: 일반 라우팅 테이블을 무시하고 데이터 패킷을 원격 호스트로 직접 보냅니다.

-R: 라우팅 프로세스를 기록합니다.

-s: 패킷 크기를 설정합니다.

-t: 생존 값 TTL의 크기를 설정합니다.

-v: 명령어의 실행 과정을 자세히 표시합니다.

ping

명령은 가장 일반적으로 사용되는 네트워크 명령으로, 일반적으로 네트워크가 연결되어 있는지 확인하는 데 사용됩니다. ICMP 프로토콜을 사용합니다. 하지만 때로는 브라우저에서 웹 페이지를 볼 수는 있지만 ping을 할 수 없는 상황이 있습니다. 이는 일부 웹 사이트가 보안상의 이유로 방화벽을 설치했기 때문입니다. 또한 자신의 컴퓨터에서 시도해보고 다음 방법을 사용하여 시스템이 ping에 응답하지 않도록 할 수도 있습니다.

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

netstat

1. 기능

전체 Linux 네트워크 상태를 확인하세요.

2. 형식

netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]

3. 주요 매개변수

-a-all: 연결된 모든 소켓을 표시합니다.

-A: 이 네트워크 유형 연결에서 IP 관련 주소와 네트워크 유형을 나열합니다.

-c--continuous: 네트워크 상태를 지속적으로 나열합니다.

-C--cache: 라우터 구성의 캐시 정보를 표시합니다.

-e--extend: 네트워크의 기타 관련 정보를 표시합니다.

-F--fib: FIB를 표시합니다.

-g--groups: 멀티캐스트 기능이 있는 그룹 구성원 목록을 표시합니다.

-h--help: 온라인 도움말.

-i--interfaces: 네트워크 인터페이스 정보 양식을 표시합니다.

-l--listening: 모니터링되는 서버의 소켓을 표시합니다.

-M--masquerade: 가장무도회 네트워크 연결을 표시합니다.

-n--numeric: 도메인 네임 서버를 거치지 않고 IP 주소를 직접 사용합니다.

-N--netlink--symbolic: 네트워크 하드웨어 주변 장치의 심볼릭 링크 이름을 표시합니다.

-o--timers: 타이머를 표시합니다.

-p--programs: 소켓을 사용하고 있는 프로그램 식별 코드와 프로그램 이름을 표시합니다.

-r--route: 라우팅 테이블을 표시합니다.

-s--statistice: 네트워크 작업 정보 통계 테이블을 표시합니다.

-t--tcp: TCP 전송 프로토콜의 연결 상태를 표시합니다.

-u--udp: UDP 전송 프로토콜의 연결 상태를 표시합니다.

-v--verbose: 명령 실행 프로세스를 표시합니다.

-V--version: 버전 정보를 표시합니다.

-w--raw: RAW 전송 프로토콜의 연결 상태를 표시합니다.

-x--unix: "-A unix" 매개변수를 지정하는 것과 동일합니다.

--ip--inet: "-A inet" 매개변수를 지정하는 것과 동일합니다.

4. 응용 프로그램 예

netstat

는 주로 Linux에서 열린 포트, 서비스를 제공하는 사용자 및 서비스 상태와 같은 자체 네트워크 상태를 확인하는 데 사용됩니다. 또한 시스템 라우팅 테이블, 네트워크 인터페이스 상태 등을 표시합니다. 종합적인 네트워크 상태 보기 도구라고 할 수 있습니다. 기본적으로 netstat는 연결이 설정된 포트만 표시합니다. 수신 대기 상태의 모든 포트를 표시하려면 -a 매개변수를 사용하십시오.

#netstat -a

활성 인터넷 연결(서버만)

Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태

tcp 0 0 *:32768 *:* LISTEN

tcp 0 0 *:32769 *:* LISTEN

tcp 0 0 *:nfs *:* LISTEN

tcp 0 0 *:32770 *:* LISTEN

tcp 0 0 * :868 *:* LISTEN

tcp 0 0 *:617 *:* LISTEN

tcp 0 0 *:mysql *:* LISTEN

tcp 0 0 *:netbios-ssn *:* LISTEN

tcp 0 0 * :sunrpc *:* LISTEN

tcp 0 0 *:10000 *:* LISTEN

tcp 0 0 *:http *:* LISTEN

......

위에서는 이 호스트가 HTTP도 제공한다는 것을 보여줍니다. , FTP, NFS, MySQL 및 기타 서비스.

telnet

1. 기능

telnet은 터미널 단계 동작을 시작하고 원격 호스트에 로그인하는 것을 의미합니다. 텔넷은 Linux 명령이자 프로토콜(원격 로그인 프로토콜)입니다.

2. 형식

telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][호스트 이름 IP 주소]

3. 주요 매개변수

-8: 입력 및 출력을 포함하여 8비트 문자 데이터를 사용할 수 있습니다.

-a: 원격 시스템에 자동으로 로그인을 시도합니다.

-b: 별칭을 사용하여 원격 호스트 이름을 지정합니다.

-c: 사용자별 디렉터리에 있는 .telnetrc 파일을 읽지 마세요.

-d: 디버깅 모드를 시작합니다.

-e: 이스케이프 문자를 설정합니다.

-E: 발신 문자를 필터링합니다.

-f: 이 매개변수의 효과는 "-F" 매개변수를 지정하는 것과 동일합니다.

-F: Kerberos V5 인증을 사용할 때 이 매개변수를 추가하면 로컬 호스트의 인증 데이터를 원격 호스트에 업로드할 수 있습니다.

-k: Kerberos 인증을 사용할 때 이 매개변수를 추가하면 원격 호스트가 호스트의 도메인 이름 대신 지정된 도메인 이름을 사용할 수 있습니다.

-K: 원격 호스트에 자동으로 로그인하지 않습니다.

-l: 원격 호스트에 로그인하기 위한 사용자 이름을 지정합니다.

-L: 8비트 문자 데이터 출력을 허용합니다.

-n: 관련 정보를 기록할 파일을 지정합니다.

-r: rlogin 명령과 유사한 사용자 인터페이스를 사용합니다.

-S: 서비스 유형, 텔넷 연결에 필요한 IP TOS 정보를 설정합니다.

-x: 호스트에 데이터 암호화를 지원하는 기능이 있다고 가정하고 이를 사용합니다.

-X: 지정된 인증 양식을 닫습니다.

4. 애플리케이션 설명

사용자는 telnet 명령을 사용하여 원격으로 로그인하고 원격 컴퓨터 간에 통신할 수 있습니다. 사용자는 명령을 실행하기 위해 로컬 시스템에 로그인하는 것처럼 네트워크를 통해 원격 컴퓨터에 로그인합니다.

텔넷을 통해 원격 컴퓨터에 로그인하려면 원격 컴퓨터의 합법적인 사용자 이름과 비밀번호를 알아야 합니다. 일부 시스템에서는 원격 사용자를 위한 로그인 기능을 제공하지만 보안상의 이유로 게스트 작업을 제한해야 하므로 이 경우 사용할 수 있는 기능이 거의 없습니다.

telnet은 일반 터미널에 대한 터미널 에뮬레이션만 제공하며 X-

Window와 같은 그래픽 환경은 지원하지 않습니다. 원격 사용자의 로그인을 허용할 때 시스템은 일반적으로 악의적이거나 부주의한 사용자에 의해 시스템이 손상되는 것을 방지하기 위해 이러한 사용자를 제한된 셸에 배치합니다. 사용자는 또한 텔넷을 사용하여 원격 사이트에서 자신의 컴퓨터에 로그인하고, 이메일을 확인하고, 파일을 편집하고, 로컬로 로그인한 것처럼 프로그램을 실행할 수 있습니다.

ftp

1. 기능

원격 파일 전송을 위한 ftp 명령입니다. FTP는 ARPANet의 표준 파일 전송 프로토콜입니다. 이 네트워크는 오늘날 인터넷의 전신이므로 ftp는 프로토콜이자 명령입니다.

2. 형식

ftp [-dignv][호스트 이름 IP 주소]

3. 주요 매개변수

-d: 프로그램 실행의 문제 해결 및 분석을 용이하게 하기 위해 명령 실행 프로세스를 자세히 표시합니다.

-i: 대화 모드를 끄고 질문하지 마세요.

-g: 로컬 호스트 파일 이름에 특수 문자를 지원하는 확장 기능을 끕니다.

-n: 자동 로그인을 사용하지 마세요.

-v: 명령어 실행 과정을 표시합니다.

4. 응용 프로그램 설명

ftp

명령은 TCP/IP 네트워크 컴퓨터 간에 파일을 전송하는 간단하고 효과적인 방법입니다. . ftp

를 사용하여 파일을 전송하려면 사용자는 원격 컴퓨터의 유효한 사용자 이름과 비밀번호를 알아야 합니다. 이 사용자 이름/비밀번호 조합은 FTP 세션을 인증하고 전송되는 파일에 대한 사용자의 액세스 권한을 결정하는 데 사용됩니다.

또한 사용자는 FTP 세션이 수행되는 컴퓨터 이름의 IP 주소를 알아야 합니다.

사용자는 ftp 클라이언트 프로그램을 사용하여 다른 컴퓨터에 연결할 수 있습니다. 디렉터리에서 위아래로 이동하고 디렉터리 내용을 나열할 수 있으며, 원격 컴퓨터에서 로컬 컴퓨터로 파일을 전송할 수도 있습니다. 로컬 컴퓨터에. 72개의 ftp 내부 명령이 있습니다. 주요 내부 명령은 다음과 같습니다.

ls: 원격 시스템의 현재 디렉터리를 나열합니다.

cd: 원격 시스템의 작업 디렉터리를 변경합니다.

lcd: 로컬 컴퓨터의 작업 디렉터리를 변경합니다.

close: 현재 FTP 세션을 종료합니다.

hash: 데이터 버퍼의 데이터가 전송될 때마다 # 기호가 표시됩니다.

get(mget): 지정된 파일을 원격 시스템에서 로컬 시스템으로 전송합니다.

put(mput): 지정된 파일을 로컬 컴퓨터에서 원격 컴퓨터로 전송합니다.

quit: 원격 시스템의 연결을 끊고 ftp를 종료합니다.

route

1. 기능

route는 라우팅 테이블을 수동으로 생성하고 수정하고 보는 것을 의미합니다.

2. 형식

#route [-add][-net|-host] 대상 주소 [-netmask Nm][dev]If]

#route [-delete][-net|-host] 대상 주소 [gw Gw ] [-netmask Nm] [dev]If]

3. 주요 매개변수

-add: 라우팅을 추가합니다.

-delete: 경로를 삭제합니다.

-net: 경로가 호스트가 아닌 네트워크에 도달합니다.

-host: 경로가 호스트에 도달합니다.

-netmask Nm: 경로의 서브넷 마스크를 지정합니다.

gw: 경로의 게이트웨이를 지정합니다.

[dev]If: 라우팅 체인이 인터페이스를 지정하도록 강제합니다.

4. 응용 사례

route 명령은 다른 네트워크와의 통신을 위해 Linux 시스템의 라우팅 정보를 보고 설정하는 데 사용됩니다. 두 개의 서로 다른 서브넷 간에 통신을 수행하려면 두 네트워크를 연결하는 라우터 또는 두 네트워크에 동시에 위치한 게이트웨이가 필요합니다.

Linux 시스템에서 라우팅은 일반적으로 다음 문제를 해결하기 위해 설정됩니다. Linux 시스템은 LAN에 있고 LAN에는 기기가 인터넷에 액세스할 수 있도록 하는 게이트웨이가 있습니다. 그런 다음 IP 주소를 설정해야 합니다. 이 시스템을 Linux 시스템의 경로로 변경합니다. 기본 경로를 추가하려면 다음 명령을 사용하세요.

route add 0.0.0.0 192.168.1.1

rlogin

1 기능

rlogin은 원격 등록에 사용됩니다.

2. 형식

rlogin [ -8EKLdx ] [ -e char ] [ -k realm ] [ - l 사용자 이름 ] 호스트

3. 주요 매개변수

-8: 이 옵션은 항상 8비트 입력 데이터 채널을 허용합니다. 이 옵션을 사용하면 형식화된 ANSI 문자 및 기타 특수 코드를 보낼 수 있습니다. 이 옵션을 사용하지 않으면 원격 문자가 중지 및 시작 문자가 아닌 한 패리티 비트가 제거됩니다.

-E: 어떤 문자도 이스케이프 문자로 취급하지 마세요. -8 옵션과 함께 사용하면 완전히 투명한 연결을 제공합니다.

-K: 모든 Kerberos 확인을 끕니다. Kerberos 승인 프로토콜을 사용하여 호스트에 연결할 때만 이 옵션을 사용하십시오.

-L: rlogin 세션이 조명 모드에서 실행되도록 허용합니다. 자세한 내용은 tty 온라인 도움말을 참조하세요.

-d: 원격 호스트와 통신하는 TCP 소켓에 대한 소켓 디버깅을 켭니다. 자세한 내용은 setockopt의 온라인 도움말을 참조하세요.

-e: rlogin 세션에 대한 이스케이프 문자를 설정합니다. 기본 이스케이프 문자는 "~"입니다.

-k: krb_realmofhost(3)에 의해 결정된 원격 호스트 영역 대신 지정된 영역에 있는 원격 호스트에 대한 Kerberos 권한을 얻기 위해 rlogin을 요청합니다.

-x: rlogin 세션을 통해 전송된 모든 데이터에 대해 DES 암호화를 활성화합니다. 이는 응답 시간과 CPU 활용도에 영향을 주지만 보안은 향상됩니다.

4. 사용 지침

네트워크의 다른 시스템에 계정이 있거나 다른 시스템에서 다른 사람의 계정에 액세스할 수 있는 경우 다른 시스템의 계정에 액세스하려면 먼저 시스템에 등록한 다음 원격으로 등록해야 합니다. 네트워크를 통해 계정이 위치한 시스템으로 이동합니다. rlogin은 원격으로 다른 시스템에 등록할 수 있으며 해당 매개변수는 시스템 이름이어야 합니다.

rcp

1. 기능

rcp는 컴퓨터 간 파일 복사에 사용되는 원격 파일 복사를 의미합니다. 사용 권한은 모든 사용자에게 있습니다.

2. 형식

rcp [-px] [-k 영역] file1 file2 rcp [-px] [-r] [-k 영역] file

3. 주요 매개변수

-r: 소스 디렉터리를 반복적으로 복사합니다. 모든 내용을 대상 디렉터리에 복사합니다. 이 옵션을 사용하려면 대상이 디렉터리여야 합니다.

-p: umask를 무시하고 소스 파일의 수정 시간과 모드를 보존하려고 합니다.

-k: krb_relmofhost(3)에 의해 결정된 원격 호스트 영역 대신 지정된 영역에 있는 원격 호스트에 대한 Kerberos 권한을 얻기 위해 rcp를 요청합니다.

-x: 전송된 모든 데이터에 대해 DES 암호화를 활성화합니다.

finger

1. 기능

finger는 호스트의 로그인 계정 정보를 쿼리하는 데 사용됩니다. 일반적으로 사용자 이름, 홈 디렉터리, 데드 타임, 로그인 시간, 로그인 쉘 및 기타 정보를 표시합니다. 사용자.

2. 형식

finger [옵션] [사용자] [User@Host]

3. 주요 매개변수

-s: 사용자 등록 이름, 실제 이름, 단말기 이름, 쓰기 상태, 데드타임, 로그인 시간 및 기타 정보.

-l: -s 옵션으로 표시되는 정보 외에도 사용자의 홈 디렉토리, 로그인 셸, 이메일 상태 및 기타 정보는 물론 .plan, .project 및 .forward 파일의 내용도 표시합니다. 사용자의 홈 디렉토리에 있습니다.

-p: .plan 파일 및 .project 파일이 표시되지 않는다는 점을 제외하면 -l 옵션과 동일합니다.

4. 적용 예

컴퓨터에서 손가락 사용:

[root@localhost root]# Finger

로그인 이름 Tty 유휴 로그인 시간 사무실 사무실 전화

root root tty1 2 Dec 15 11

root root pts/ 0 1 Dec 15 11

root root *pts/1 Dec 15 11

5. 응용 프로그램 지침

원격 컴퓨터에서 사용자 정보를 쿼리하려면 사용자 이름 뒤에 "@hostname"을 사용해야 합니다. [username@ Hostname] 형식이지만 쿼리할 네트워크 호스트는 Finger 데몬에서 지원되어야 합니다.

mail

1. 기능

메일의 기능은 이메일을 보내는 것이며, 사용 권한은 모든 사용자에게 있습니다. 또한 메일은 이메일 프로그램입니다.

2. 형식

mail [-s 제목] [-c 주소] [-b 주소]

mail -f [mailbox] 메일 [-u 사용자]

3. 주요 매개변수

-b 주소: 표현 출력 메시지에 대한 익명 수신자 주소 목록입니다.

-c 주소: 출력 메시지의 CC() 수신자 주소 목록을 나타냅니다.

-f [메일함]: 수신자가 지정한 이메일 주소에서 보낸 이메일을 읽습니다.

-s 제목: 출력 정보의 제목 줄을 지정합니다.

[-u user]: 포트는 이메일 읽기에 최적화된 받은 편지함을 지정합니다.

nslookup

1. 기능 nslookup 명령의 기능은 컴퓨터의 IP 주소와 해당 도메인 이름을 쿼리하는 것입니다. 모든 사용자에게 권한을 사용합니다. 일반적으로 도메인 이름 서비스를 제공하려면 도메인 이름 서버가 필요합니다. 사용자가 도메인 이름 서버를 설정한 경우 이 명령을 사용하여 다른 호스트의 IP 주소에 해당하는 도메인 이름을 볼 수 있습니다.

2. 형식

nslookup [IP 주소/도메인 이름]

3. 적용 예

(1) 로컬 컴퓨터에서 nslookup 명령 사용

$ nslookup

기본 서버: name.cao.com.cn

주소 : 192.168.1.9

>

">" 기호 뒤에 쿼리하려는 IP 주소 도메인 이름을 입력하고 Enter를 누르세요. 이 명령을 종료하려면 "exit"를 입력하고 Enter를 누르십시오.

(2) nslookup 명령을 사용하여 명명된 테스트

다음 명령을 입력합니다.

nslookup

그런 다음 전환된 nslookup 환경으로 들어갑니다. Named가 정상적으로 시작되면 nslookup은 현재 DNS 서버의 주소와 도메인 이름을 표시합니다. 그렇지 않으면 Named가 정상적으로 시작되지 않습니다.

다음은 몇 가지 기본적인 DNS 진단에 대해 간략하게 소개합니다.

순방향 DNS 확인을 확인하고 nslookup 프롬프트에서 도메인 이름과 함께 호스트 이름을 입력합니다(예: hp712.my.com). nslookup은 호스트 이름에 해당하는 IP 주소를 표시할 수 있어야 합니다. 예를 들어 hp712만 입력하면 nslookup은 /etc/resolv.conf의 정의에 따라 my.com 도메인 이름을 자동으로 추가하고 해당 IP 주소에 응답합니다.

◆ 역방향 DNS 확인을 확인하고 nslookup 프롬프트에 IP 주소를 입력합니다(예: 192.22.33.20). nslookup은 해당 IP 주소에 해당하는 호스트 이름을 응답할 수 있어야 합니다.

◆MX 이메일 주소 기록을 확인하려면 nslookup 프롬프트에 다음을 입력하세요.

set q=mx

그런 다음 도메인 이름을 입력하고 my.com 및 mail.my.com을 입력하면 nslookup이 해당하는 질문에 응답할 수 있어야 합니다. 메일 서버 주소, 즉 support.my.com 및 support2.my.com.

실습

1. 위험한 네트워크 명령

인터넷

인터넷의 발달로 인해 Finger, ftp, rcp 및 telnet은 네트워크에 있기 때문에 본질적으로 안전하지 않습니다. 데이터는 일반 텍스트로 전송되며 스니퍼는 이러한 비밀번호와 데이터를 쉽게 가로챌 수 있습니다. 게다가 이들 서비스 프로그램의 보안 검증 방식 역시 취약점을 갖고 있어 '중간서버' 방식의 공격을 받기 쉽다. 여기에 저자는 표 3과 같이 위험 수준에 따라 안전하지 않은 몇 가지 명령을 나열합니다.

이제 SSH 명령을 사용하여 ftp 및 telnet을 포트 22에 바인딩할 수 있습니다. 연결은

협상 방법을 채택하고 RSA 암호화를 사용합니다. 신원 인증이 완료된 후 모든 후속 트래픽은 IDEA

를 사용하여 암호화됩니다. SSH(Secure Shell) 프로그램은 네트워크를 통해 원격 호스트에 로그인하여 명령을 실행할 수 있습니다. rcp 및 rlogin과 같은 원격 호출 명령은 점차 VNC 소프트웨어로 대체됩니다.

2. 여러 IP 주소를 하나의 네트워크 카드에 바인딩

Linux에서는 ifconfig를 사용하여 여러 IP 주소를 하나의 네트워크 카드에 쉽게 바인딩할 수 있습니다. 예를 들어, eth0 인터페이스의 원래 IP 주소는 192.168.0.254입니다. 다음 명령을 실행할 수 있습니다.

ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0

ifconfig eth0:1 192.168.0.252 netmask 255.255 .255.0

......

3. 네트워크 카드 MAC 주소 수정

먼저 네트워크 카드 장치를 종료해야 합니다. 명령은 다음과 같습니다:

/sbin/ifconfig eth0 down

MAC 주소를 수정합니다. 명령은 다음과 같습니다:

/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

네트워크 카드를 다시 활성화합니다:

/sbin/ifconfig eht0 up

MAC 주소 네트워크 카드가 변경되었습니다. 각 네트워크 카드의 MAC 주소는 고유하지만 수정할 수는 없습니다. 네트워크에서 MAC 주소의 고유성을 확인하세요.

4. IPv6의 초기 도입

IPv4

기술은 네트워크 발전에 큰 역할을 했지만 시간이 지날수록 네트워크 주소 제공, 서비스 품질, 보안 등의 측면에서 점점 미흡해졌습니다. 나올 예정입니다. Linux

는 모든 운영 체제 중 최초로 IPv6를 지원합니다. 일반적으로 2.4 커널 기반 Linux 배포판에서는 IPv6 모듈을 직접 로드할 수 없습니다. 슈퍼 사용자 권한이 필요합니다.

(1) IPv6 모듈 로드

명령을 사용하여 감지합니다. 여기서 inet6 addr: fe80::5054:abff:fe34:5b09/64는 eth0 네트워크 카드의 IPv6 주소입니다.

# modprobe IPv6

#ifconfig

eth0 링크 encap:Ethernet HWaddr 52:54:AB:34:5B:09

inet addr:192.168.1.2 Bcast:192.168.1.255 마스크:255.255.255.0

inet6 주소 : fe80::5054:abff:fe34:5b09/64 범위:링크

UP 브로드캐스트 실행 중 멀티캐스트 MTU:1500 측정항목:1

RX 패킷:0 오류:0 삭제:0 오버런:0 프레임:0

TX 패킷 :21 오류:0 삭제됨:0 오버런:0 캐리어:0

충돌:0 txqueuelen:100

RX 바이트:0(0.0b) TX 바이트:1360(1.3Kb)

인터럽트:5 기본 주소:0xec00

(2) ping 명령을 사용하여 네트워크 카드의 IPv6 주소가 유효한지 확인합니다.

#ping6 -I eth0 -c 2 fe80::200:e8ff:fea0:2586

IPv4와 달리 네트워크를 지정해야 합니다. ping6 명령을 사용할 때 카드 인터페이스를 사용하지 않으면 시스템은 패킷을 보낼 네트워크 장치를 알 수 없습니다. I는 인터페이스, eth0은 첫 번째 네트워크 카드, -c는 루프, 2는 ping6이 두 번 작동함을 의미합니다. 결과는 그림 1에 나와 있습니다.

그림 1 IPv6 네트워크의 ping6 명령

(3) ip 명령을 사용하여 IPv6의 eth0에 IP 주소를 추가

#ip -6 addr add 3ffe:ffff:0:f101::1/64 dev eth0

ifconfig 명령을 사용하여 두 번째 IPv6 주소가 네트워크 카드에 나타나는지 확인하세요.

리눅스 네트워크의 가장 큰 장점은 리소스와 정보를 공유할 수 있고, 사용자는 원격으로 정보에 접근할 수 있다는 점입니다. Linux는 사용자에게 서비스를 제공하는 강력한 네트워크 명령 세트를 제공합니다. 이러한 도구는 사용자가 네트워크를 설정하고, 네트워크 상태를 확인하고, 원격 컴퓨터에 로그인하고, 파일을 전송하고, 원격 명령을 실행하는 데 도움을 줍니다.

위에서는 Linux에서 더 중요한 네트워크 명령을 소개합니다. 실제로 Linux에는 배워야 할 명령이 많이 있습니다. Linux 네트워크 운영 명령의 특징 중 하나는 명령 매개변수 옵션이 많다는 점이며, 이를 모두 기억할 필요는 없습니다. 핵심은 명령의 주요 목적을 이해하고 도움말 정보를 사용하는 방법을 배우는 것입니다.

리눅스에서 꼭 배워야 할 60가지 명령어 (5) - 네트워크 보안 명령어 리눅스에서 꼭 배워야 할 60가지 명령어 : 시스템 보안 관련 명령어

리눅스는 윈도우 NT/2000 시스템과 같은 다중 사용자 시스템이지만 차이점이 있다. 여러 가지 중요한 차이점이 있습니다. Windows 시스템에 익숙한 많은 관리자에게는 Linux 운영 체제의 보안과 안정성을 보장하는 방법이 여러 가지 새로운 과제에 직면하게 됩니다. 이 기사에서는 Linux 시스템 보안을 위한 명령에 중점을 둘 것입니다.

passwd

1. 기능

passwd 명령은 원래 계정의 로그인 비밀번호를 변경하며, 사용 권한은 모든 사용자에게 있습니다.

2. 형식

passwd [옵션] 계정 이름

3. 주요 매개변수

-l: 명명된 계정 이름을 잠급니다. 슈퍼 사용자 권한을 가진 사용자만 사용할 수 있습니다.

-u: 계정 잠금 상태를 잠금 해제합니다. 슈퍼 유저 권한을 가진 사용자만 사용할 수 있습니다.

-x, --maximum=DAYS: 최대 비밀번호 사용 시간(일), 슈퍼유저 권한이 있는 사용자만 사용할 수 있습니다.

-n, --minimum=DAYS: 최소 비밀번호 사용 시간(일), 슈퍼 유저 권한을 가진 사용자만 사용할 수 있습니다.

-d: 사용자의 비밀번호를 삭제합니다. 슈퍼 유저 권한을 가진 사용자만 사용할 수 있습니다.

-S: 지정된 사용자의 비밀번호 인증 유형을 확인하세요. 슈퍼 유저 권한을 가진 사용자만 사용할 수 있습니다.

4. 적용 예

$ passwd

cao 사용자의 비밀번호 변경.

cao의 비밀번호 변경

(현재) UNIX 비밀번호:

새 UNIX 비밀번호:

새 UNIX 비밀번호 재입력:

passwd: all 인증 토큰이 성공적으로 업데이트되었습니다.

위에서 볼 수 있듯이 passwd 명령을 사용하려면 이전 비밀번호를 입력한 다음 새 비밀번호를 두 번 입력해야 합니다.

su

1. 기능

su는 사용자의 비밀번호를 입력해야 하는 슈퍼유저를 제외한 다른 사용자의 신원을 변경하는 데 사용됩니다.

2. Format

su [옵션]... [-] [USER [ARG]...]

3. 주요 매개변수

-f, --fast: 시작 파일을 읽을 필요가 없습니다(예: csh.cshrc 등), csh 또는 tcsh 쉘에만 사용됩니다.

-l, --login: 이 매개변수를 추가하면 이 사용자로 다시 로그인하는 것과 같습니다. 대부분의 환경 변수(HOME, SHELL, USER 등)는 이 사용자(USER)를 기반으로 합니다. 작업 디렉토리도 변경됩니다. USER를 지정하지 않으면 기본값은 루트입니다.

-m, -p, --preserve-environment: su 실행 시 환경 변수를 변경하지 마세요.

-c 명령어: 계정을 USER로 변경하고 명령어(command)를 실행한 후 다시 원래 사용자로 변경합니다.

USER: 변경할 사용자 계정으로 ARG는 새 셸 매개변수를 전달합니다.

4. 적용 예

계정을 슈퍼유저로 변경하고 df 명령을 실행한 후 사용자를 복원합니다. su -c df root

umask

1. Function

umask는 사용자 파일 및 디렉터리의 파일 생성에 대한 기본 보호 값을 설정합니다. 이 명령을 프로필 파일에 넣으면 이후에 생성되는 파일에 대한 액세스를 제어할 수 있습니다. 사용자. 파일을 생성할 때 액세스를 거부할 대상을 시스템에 알려줍니다. 접근 권한은 모든 사용자에게 있습니다.

2. 형식

umask [-p] [-S] [모드]

3. 매개변수

-S: 현재 umask 설정을 결정합니다.

-p: umask 설정을 수정합니다.

[모드]: 값을 수정합니다.

4. 참고

기존 유닉스의 umask 값은 ​​022로, 같은 그룹에 속한 다른 사용자나 다른 그룹의 사용자가 자신의 파일을 수정하는 것을 방지할 수 있다고 합니다. 각 사용자는 자신의 개인 그룹을 소유하고 이에 속하므로 이 "그룹 보호 모드"는 더 이상 필요하지 않습니다. 엄격한 권한 설정은 Linux 보안의 기초를 형성하며 권한 실수는 치명적입니다. umask 명령은 프로세스에서 생성된 파일의 읽기 및 쓰기 권한을 설정하는 데 사용된다는 점에 유의해야 합니다. 가장 안전한 값은 0077이며, 이는 파일을 생성한 프로세스를 제외한 모든 프로세스의 읽기 및 쓰기 권한을 닫는다는 의미입니다. -rw- ------로 표현됩니다.

~/.bash_profile에 umask 0077 명령 줄을 추가하면 셸이 시작될 때마다 프로세스의 umask 권한이 올바르게 설정될 수 있습니다.

5. 적용예

umask -S

u=rwx,g=rx,o=rx

umask -p 177

umask -S

u=rw,g=,o=

5위 Line 명령은 먼저 현재 상태를 표시한 후 umask 값을 177로 변경합니다. 결과적으로 파일 소유자만 파일을 읽고 쓸 수 있는 권한을 가지며 다른 사용자는 파일에 접근할 수 없습니다. 이것은 분명히 매우 안전한 설정입니다.

chgrp

1. 기능

chgrp는 하나 이상의 파일이나 디렉터리가 속한 그룹을 수정하는 것을 의미합니다. 액세스 권한은 슈퍼유저입니다.

2. 형식

chgrp [옵션]... 그룹 파일...

또는

chgrp [옵션]... --reference=참조 파일 파일...

각각이 속한 그룹을 설정합니다. 다음과 같이 설정합니다.

3. 매개변수

-c, --changes: --verbose와 비슷하지만 변경사항이 있는 경우에만 결과를 표시합니다.

--역참조: 기호 링크 자체가 아니라 기호 링크가 가리키는 객체에 영향을 미칩니다.

-h, --no-dereference: 기호 링크가 나타내는 대상이 아닌 기호 링크 자체에 영향을 미칩니다(이 옵션은 시스템이 기호 링크의 소유자 변경을 지원할 때만 유효합니다).

-f, --silent, --quiet: 대부분의 오류 메시지를 제거합니다.

--reference=참조 파일: 지정된 그룹이 아닌 해당 그룹이 속한 그룹을 사용합니다.

-R, --recursive: 모든 파일과 하위 디렉터리를 재귀적으로 처리합니다.

-v, --verbose: 파일을 처리할 때 정보를 표시합니다.

4. 응용 프로그램 지침

이 명령은 지정된 파일이 속한 사용자 그룹을 변경합니다. 그룹은 사용자 그룹 ID이거나 /etc/group 파일에 있는 사용자 그룹의 그룹 이름일 수 있습니다. 파일 이름은 그룹이 변경될 파일의 ​​공백으로 구분된 목록이며 와일드카드가 지원됩니다. 사용자가 파일의 소유자 또는 수퍼유저가 아닌 경우 파일 그룹을 변경할 수 없습니다.

5. 적용 예

/opt/local /book/ 및 해당 하위 디렉터리에 있는 모든 파일의 그룹 소유권을 book으로 변경합니다. 명령은 다음과 같습니다.

$ chgrp - R book /opt/local /book

chmod

1. 기능

chmod 명령은 파일이나 디렉터리의 액세스 권한을 변경하는 데 사용됩니다. 사용자는 이를 사용하여 파일이나 디렉터리의 액세스 권한을 제어할 수 있습니다.

2. 형식

chmod 명령에는 두 가지 용도가 있습니다. 하나는 문자와 연산자 표현을 포함하는 문자 설정 방법(상대 권한 설정)이고, 다른 하나는 숫자를 포함하는 숫자 설정 방법(절대 권한 설정)입니다.

(1) 문자 설정 방법

chmod [누구] [+ | - | =] [모드] 파일 이름

◆다음 문자 또는 그 조합 중 하나일 수 있는 작업 개체

u: 사용자, 파일이나 디렉터리의 소유자입니다.

g: 동일한 그룹에 속한 사용자, 즉 파일 소유자와 동일한 그룹 ID를 가진 모든 사용자를 나타냅니다.

o: 다른 사용자를 나타냅니다.

a: 모든 사용자를 나타내며 시스템 기본값입니다.

◆작업 기호

+: 특정 권한을 추가합니다.

-: 특정 권한을 취소합니다.

=: 주어진 권한을 부여하고 다른 모든 권한(있는 경우)을 제거합니다.

◆모드 설정 권한은 다음 문자

r: 읽을 수 있는 문자의 조합일 수 있습니다.

w: 쓰기 가능.

x: 실행 가능.

X: 대상 파일이 일부 사용자에 대해 실행 가능하거나 대상 파일이 디렉터리인 경우에만 x 속성을 추가합니다.

s: 파일이 실행되면 프로세스의 소유자 또는 그룹 ID가 파일의 파일 소유자로 설정됩니다. "u+s" 모드는 파일의 사용자 ID 비트를 설정하고 "g+s" 모드는 그룹 ID 비트를 설정합니다.

t: 프로그램 텍스트를 교환 장치에 저장합니다.

u: 파일 소유자와 동일한 권한을 가집니다.

g: 파일 소유자와 동일한 그룹에 속한 사용자와 동일한 권한을 갖습니다.

o: 다른 사용자와 동일한 권한을 갖습니다.

파일 이름: 권한을 변경해야 하는 파일의 공백으로 구분된 목록이 지원됩니다.

하나의 명령줄에 여러 권한 방법을 쉼표로 구분하여 지정할 수 있습니다.

(2) 숫자 설정 방법

숫자 설정 방법의 일반적인 형태는 chmod [모드] 파일명

숫자 속성의 형식은 0부터 7까지 3개의 8진수여야 하며 순서는 (u )( g)(o) 파일 이름, 권한을 변경할 파일의 공백으로 구분된 목록, 와일드카드가 지원됩니다.

숫자

로 표시되는 권한의 의미는 다음과 같습니다. 0001은 소유자의 실행 권한이고, 0004는 소유자의 읽기 권한입니다. 0020은 그룹의 쓰기 권한입니다.

권한은 그룹의 읽기 권한입니다. 0100은 다른 사람의 쓰기 권한입니다. 붙여넣기 위치는 2000은 false를 의미합니다.

이 파일을 사용할 수 있는 경우 파일이 실행되면 그룹 ID가 설정되고 그렇지 않으면 파일 잠금 비트가 설정됩니다. 4000은 파일이 실행 파일인 경우 사용자 ID가 설정됨을 의미합니다. .

3. 예

시스템 관리자가 모든 사용자가 작성할 양식(tem)을 작성하는 경우 사용자는 이 파일에 대한 읽기 및 쓰기 권한을 부여받아야 합니다. #chmod 666 tem 명령을 사용할 수 있습니다.

on

코드에서 숫자 666은 어떻게 계산되나요? 0002는 소유자의 쓰기 권한, 0004는 소유자의 읽기 권한, 0020은 그룹의 쓰기 권한, 0040은 그룹의 읽기 권한,

0200은 다른 사람의 쓰기 권한, 0400은 읽기 권한입니다. 6 이 숫자의 합은 666(위 숫자는 모두 8진수임에 유의)이며, 그 결과는 그림 1과 같습니다.

그림 1 chmod 디지털 방법을 사용하여 파일 권한 설정

그림 1에서 볼 수 있듯이 tem 파일의 권한은 -rw-rw-rw-입니다. 즉, 사용자는 이에 대한 읽기 및 쓰기 권한을 갖습니다. 파일.

문자 권한 설정을 사용하는 경우 다음 명령을 사용하세요:

#chmod a =wx tem

chown

1. 기능

하나 이상의 파일이나 디렉터리의 소유자와 그룹을 변경하세요. 액세스 권한은 슈퍼유저입니다.

2. 형식

chown [옵션] 사용자 또는 그룹 파일

3. 주요 매개변수

--dereference: 영향을 받는 것은 기호 링크 자체가 아니라 기호 링크가 가리키는 개체입니다.

-h, --no-dereference: 기호 링크가 나타내는 대상이 아닌 기호 링크 자체에 영향을 미칩니다(이 옵션은 시스템이 기호 링크의 소유자 변경을 지원할 때만 유효합니다).

--from=현재 소유자:현재 그룹 소유자 및 그룹은 각 파일의 소유자 및 그룹이 옵션에 지정된 것과 일치하는 경우에만 변경됩니다. 그 중 하나는 생략될 수 있으며, 생략된 속성은 원래 속성과 일치할 필요가 없습니다.

-f, --silent, --quiet: 대부분의 오류 메시지를 제거합니다.

-R, --recursive: 모든 파일과 하위 디렉터리를 재귀적으로 처리합니다.

-v, --verbose: 파일을 처리할 때 정보를 표시합니다.

4. 설명

chown은 지정된 파일의 소유자를 지정된 사용자 또는 그룹으로 변경합니다. 사용자는 사용자 이름 또는 그룹 ID일 수 있습니다. 파일은 권한이 있는 파일의 공백으로 구분된 목록입니다. 변경해야 하며 와일드카드가 지원됩니다. 시스템 관리자는 종종 chown 명령을 사용하여 파일을 다른 사용자의 디렉터리에 복사한 후 해당 파일을 사용할 수 있는 권한을 사용자에게 부여합니다.

5. 응용 프로그램 예제

1. shiyan.c 파일의 소유자를 wan

$ chown wan shiyan.c

2로 변경하고 그 아래의 모든 파일과 하위 디렉터리를 wan으로 변경합니다. , 그룹이 사용자로 변경됩니다.

$ chown - R wan.users /hi

chattr

1. Function

ext2 및 ext3 파일 시스템 속성(속성)을 수정하고 권한 있는 슈퍼유저를 사용합니다.

2. Format

chattr [-RV] [-+=AacDdijsSu] [-v version] 파일 또는 디렉터리

3. 주요 매개변수

-R: 모든 파일과 하위 디렉터리를 재귀적으로 처리합니다.

-V: 수정된 내용을 상세하게 표시하고 인쇄합니다.

-: 속성이 잘못되었습니다.

+: 속성을 활성화합니다.

=: 속성을 지정합니다.

A: Atime은 이 파일의 마지막 액세스 시간을 수정하지 않도록 시스템에 지시합니다.

S: 동기화. 애플리케이션이 이 파일에 쓰기 작업을 수행하면 시스템은 수정된 결과를 즉시 디스크에 씁니다.

a: 추가만 가능합니다. 시스템에서는 이 파일 뒤에 데이터를 추가하는 것만 허용하며 어떤 프로세스도 이 파일을 덮어쓰거나 자르는 것을 허용하지 않습니다. 디렉터리에 이 속성이 있으면 시스템은 이 디렉터리에서 파일을 만들고 수정하는 것만 허용하고 파일을 삭제하는 것은 허용하지 않습니다.

i: 변경할 수 없습니다. 시스템에서는 이 파일에 대한 수정을 허용하지 않습니다. 디렉터리에 이 속성이 있는 경우 모든 프로세스는 디렉터리 아래의 파일만 수정할 수 있으며 파일을 생성하거나 삭제할 수는 없습니다.

D: 압축 파일에 오류가 있는지 확인하세요.

d: 덤프 없음, 덤프 프로그램은 파일 시스템 백업을 수행할 때 이 파일을 무시합니다.

C: 압축 - 시스템이 이 파일을 투명하게 압축합니다. 이 파일에서 읽을 때, 이 파일에 데이터를 쓸 때 압축이 풀린 데이터가 반환되며, 데이터가 먼저 압축된 다음 디스크에 기록됩니다.

s: 보안 삭제를 통해 파일을 삭제할 때 시스템이 파일이 있는 영역을 0으로 채울 수 있습니다.

u: 삭제 취소, 애플리케이션이 파일 삭제를 요청하면 시스템은 나중에 파일을 복원하고 삭제할 수 있도록 데이터 블록을 유지합니다.

4. 설명

chattr

명령은 매우 유용합니다. Linux 커널 버전이 2.2 미만이면 많은 기능을 구현할 수 없습니다. 마찬가지로 압축 파일의 오류를 확인하는 -D 기능을 지원하려면 커널 2.5.19 이상이 필요합니다. 또한 chattr 명령을 통해 속성을 수정하면 시스템 보안이 향상될 수 있지만 모든 디렉터리에 적합한 것은 아닙니다. chattr 명령은 /, /dev, /tmp 및 /var 디렉토리를

보호할 수 없습니다.

5. 적용 예시

1. /root 디렉터리, 즉 하위 디렉터리의 모든 파일을 복원합니다.

# chattr -R +u/root

2. 시스템의 키 파일을 방지합니다.

Linux에서는 일부 구성 파일(passwd, fatab)이 실수로 삭제되거나 수정되는 것을 방지하기 위해 파일의 "불변 비트"를 다음과 같이 설정할 수 있습니다.

# chattr + i /etc/fstab

sudo

1. Function

sudo는 구성 파일에 있는 명령을 제한하는 명령으로 제한된 시간 내에 사용자가 사용하며 기록됩니다. 로그에 있는 권한은 모든 사용자에게 있습니다.

2. 형식

sudo [-bhHpV] [-s ] [-u ] [Command]

sudo [-klv]

3. 주요 매개변수

-b: 백그라운드에서 명령을 실행합니다.

-h: 도움말을 표시합니다.

-H: HOME 환경 변수를 새 ID의 HOME 환경 변수로 설정합니다.

-k: 비밀번호 유효기간을 종료합니다. 즉, 다음에 비밀번호를 입력해야 합니다.

-l: 현재 사용자가 사용할 수 있는 명령을 나열합니다.

-p: 비밀번호를 묻는 프롬프트 기호를 변경합니다.

-s: 지정된 쉘을 실행합니다.

-u: 지정된 사용자를 새 ID로 사용합니다. 사용하지 않을 때는 기본값이 루트입니다.

-v: 비밀번호 유효기간을 5분 연장합니다.

4. 설명:

sudo

명령의 구성은 /etc/sudoers 파일에 있습니다. 사용자가 sudo를 사용할 때 사용자의 신원을 인증하려면 비밀번호를 입력해야 합니다. 정의된 명령은 이후에도 사용할 수 있습니다. 구성

파일에 포함되지 않은 명령을 사용할 경우 알람이 기록됩니다. sudo는 시스템 관리자가 특정 사용자가 일부/모든 시스템 명령을 루트로 실행할 수 있도록 허용하는 프로그램입니다. 분명한 용도는 사이트의 보안을 강화하는 것입니다. 매일 슈퍼 사용자로서 일상적인 작업을 수행해야 하고 슈퍼 사용자로만 실행할 수 있는 몇 가지 고정 명령을 실행해야 하는 경우 sudo가 매우 적합합니다.

ps

1. 기능

ps는 인스턴트 프로세스(process)의 역학을 표시하며, 사용 권한은 모든 사용자에게 있습니다.

2. 형식

ps [옵션] [--help]

3. 주요 매개변수

ps에는 많은 매개변수가 있으며 여기에는 일반적으로 사용되는 몇 가지 매개변수만 나열되어 있습니다.

-A: 모든 프로세스를 나열합니다.

-l: 긴 목록을 표시합니다.

-m: 메모리 정보를 표시합니다.

-w: 더 많은 정보를 표시하기 위해 확대 표시합니다.

-e: 모든 프로세스를 표시합니다.

a: 다른 사용자의 프로세스를 포함하여 터미널의 모든 프로세스를 표시합니다.

-au: 더 자세한 정보를 표시합니다.

-aux: 다른 사용자가 포함된 모든 프로세스를 표시합니다.

4. 설명

프로세스를 모니터링하고 제어하려면 먼저 현재 프로세스의 상황, 즉 현재 프로세스를 살펴봐야 합니다. ps 명령은 가장 기본적이고 매우 강력한 프로세스 보기 명령입니다. 이 명령을 사용하면 실행 중인 프로세스, 실행 상태, 프로세스 종료 여부, 프로세스에 좀비가 있는지, 어떤 프로세스가 너무 많은 리소스를 차지하는지 등을 확인할 수 있습니다. 그림 2는 ps-aux 명령에 대한 자세한 설명을 제공합니다. 대부분의 정보는 이 명령을 실행하여 얻을 수 있습니다. 가장 일반적으로 사용되는 세 가지 매개변수는 u, a 및 x입니다. 다음은 이 세 가지 매개변수를 기반으로 하는 ps 명령의 역할에 대한 자세한 설명입니다. ps aux

그림 2 ps-aux 명령에 대한 자세한 설명

그림 2의 두 번째 코드 줄에서 USER는 프로세스 소유자를 나타냅니다. PID는 프로세스 식별자를 나타냅니다. %CPU는 %MEM이 차지하는 물리적 메모리 사용량을 나타냅니다. RSS는 프로세스가 차지하는 물리적 메모리 값입니다. 터미널.

STAT

는 프로세스의 상태를 나타냅니다. 여기서 D는 실행 중입니다. S는 실행을 일시 중지하지만 W는 일시적으로 제거할 수 없습니다. 충분한 메모리 페이징을

할당, N개의 낮은 우선순위 프로세스로 나눌 수 있습니다. L은 메모리 본체에 메모리 페이징을 할당하고 잠급니다(실시간 시스템 또는

I/O). START는 프로세스 시작 시간입니다. TIME은 실행 시간입니다. COMMAND는 실행되는 명령입니다.

4. 응용 사례

시스템 유지 관리를 수행할 때 메모리 사용량이 놀라울 정도로 많고, 어떤 프로세스가 많은 프로세스를 차지하고 있는지 알 수 없는 경우가 종종 있습니다. top 명령을 사용하여 메모리 사용량을 확인하는 것 외에도 다음 명령을 사용할 수도 있습니다:

ps aux | sort +5n

who

1. 시스템에 로그인하는 사용자를 표시하는 기능 표시되는 정보에는 사용자 ID, 로그인 터미널 사용, 온라인 시간, 유휴 시간, CPU 사용량 및 수행된 작업이 포함됩니다. 접근 권한은 모든 사용자에게 있습니다.

2. 형식

who - [husfV] [user]

3. 주요 매개변수

-h: 제목 열을 표시하지 않습니다.

-u: 사용자의 행동/작업을 보여주지 마세요.

-s: 표시에 짧은 형식을 사용합니다.

-f: 사용자의 온라인 위치를 표시하지 않습니다.

-V: 프로그램 버전을 표시합니다.

4. 설명

명령은 주로 현재 온라인 사용자를 보는 데 사용됩니다. 사용자가 talk 명령을 사용하는 등 다른 사용자와 즉각적인 통신을 설정하려는 경우 가장 먼저 확인해야 할 것은 사용자가 실제로 온라인인지 확인하는 것입니다. 그렇지 않으면

talk 프로세스를 설정할 수 없습니다. 또 다른 예를 들어, 시스템 관리자가 로그인한 각 사용자가 현재 무엇을 하고 있는지 모니터링하려면 who 명령도 사용해야 합니다. who 명령은 적용이 매우 간단하고 사용자의 상황을 정확하게 파악할 수 있어 널리 사용된다.

실습 연습

1. Linux 명령을 사용하여 시스템 침입자 감지

보안

Mandrake Linux 및 Red Hat

Linux를 설치한 사용자는 Linux 시스템에 세 가지 내장 레벨(표준, 높음)이 있음을 알 수 있습니다. 이상) 방화벽은 리눅스 서버를 설치하고 몇 가지 기본 설정을 하고 나면 서버는 비교적 안전할 것이지만, 시스템 관리자의 과실을 이용하여 다양한 방법을 사용하는 해커들이 시스템에 침입하는 경우도 있을 것입니다. 해커를 빠르게 찾는 방법은 매우 중요합니다. 일반적으로 명령을 사용하여 해커의 침입 여부를 확인할 수 있습니다. 표

1을 참조하세요.

표 1 해커 침입 현상을 쿼리하기 위한 명령 대응 표

예를 들어, 해커가 네트워크를 스니핑하는 경우 네트워크 카드 인터페이스를 무차별 모드로 설정해야 합니다.

#ifconfig -a

eth0 링크 encap : 이더넷 HWADDR 00:00: E8: A0: 25: 86

INet Addr: 192.168.1.7 BCAST: 192.168.1.255 Mask: 255.255.255.0

up Broadcast Running Promiscuous MTU: 1500 : 1. .. .. ..

이 명령의 출력에서 ​​위에서 언급한 개념을 볼 수 있습니다. 00:00:E8:A0:25:86 첫 번째 줄의 MAC 주소, 두 번째 줄의 192.168.1.7이 IP 주소, 네 번째 줄은 해커가 스니핑하고 있는 데이터 수신 상태를 나타냅니다. . 일반적으로 네트워크 카드에는 브로드캐스트, 멀티캐스트,

Promiscuous 등과 같은 데이터 프레임 수신을 위한 여러 상태가 있습니다. 브로드캐스트는 브로드캐스트 메시지인 모든 유형의 데이터 프레임을 수신하는 것을 의미하며, 멀티캐스트는 특정 멀티캐스트 메시지를 수신하는 것을 의미하며, 무차별

은 일반적으로 메시지의 대상 하드웨어 주소에 검사를 추가하지 않는 것을 의미합니다. 모두 작업 모드를 수신합니다.

2. su 명령의 남용을 제한하세요

우리는

슈퍼유저가 Linux에서 가장 큰 권리를 갖고 있으며 거의 ​​모든 해커가 이 목표를 원한다는 것을 알고 있습니다. Linux에서는 수퍼유저로 전환하는 데 대한 제한을 늘릴 수 있습니다. PAM

(Pluggable Authentication

Modules)을 사용하여 휠 그룹에 있는 사용자를 제외한 모든 사람이 루트가 되는 것을 금지하고, /etc/pam.d/su 파일을 수정하고, 보호 플래그 #를 제거합니다.

/usr/sbin/usermod G10 bjecadm을 사용하여 휠 그룹인 gid 10이 있는 그룹에 bjecadm 계정을 추가합니다. 명령은 다음과 같습니다:

/etc/pam.d/su # 비밀번호 확인 사용 #

auth 충분 /lib/security/pam_wheel.so debug

# 휠 그룹 사용자만 루트로 전환하도록 제한 #

auth 필수 / lib/security/pam_wheel.so use_uid

chmod -G10 bjecadm

또한 사용자가 su 명령을 사용하여 시스템 사용자를 입력하려고 할 때마다 파일에 su를 사용하려는 잘못된 작업 정보가 많이 기록되면 해당 명령은 /usr/adm/sulog 파일에 메시지를 기록합니다. 루트를 입력한다는 것은 누군가가 루트 비밀번호를 해독하려고 시도하고 있음을 나타냅니다.

Linux 명령에는 강력한 기능이 있습니다. Linux 시스템 관리자의 경우 보안 방어선을 형성하기 위해 다양한 보안 명령 기술을 결합하기만 하면 되는 경우가 많습니다. 컴퓨터 보안의 관점에서 볼 때 세상에 절대적으로 안전한 컴퓨터 시스템은 없으며 Linux 시스템도 예외는 아닙니다.

리눅스에서 꼭 배워야 할 60가지 명령들 (6) - 기타 명령들

리눅스에서 꼭 배워야 할 60가지 명령들: 기타 명령들

이전 강의에서는 리눅스 명령들을 시스템에서의 기능에 따라 여러 부분으로 나누었습니다. 소개되었습니다. 하지만 아직 분류하기 어려운 명령어도 있지만, 익히는 것도 중요하다.

tar

1. 기능

tar 명령은 Unix/Linux 시스템에서 파일을 백업하는 안정적인 방법이며 거의 모든 환경에서 작동할 수 있으며 사용 권한은 모든 사용자에게 있습니다.

2. 형식

tar [기본 옵션 + 보조 옵션] 파일 또는 디렉터리

3. 주요 매개변수

이 명령을 사용할 때 기본 옵션은 필수이며, 보조 옵션은 다음과 같습니다. 보조용으로 선택하실 수 있습니다.

주요 옵션:

-c 새 아카이브 파일을 만듭니다. 사용자가 디렉터리나 일부 파일을 백업하려면 이 옵션을 선택해야 합니다.

-r 보관 파일 끝에 보관할 파일을 추가합니다. 예를 들어, 사용자가 백업 파일을 만들었고 백업하는 것을 잊어버린 다른 디렉터리나 일부 파일이 있음을 발견한 경우 이 옵션을 사용하여 잊어버린 디렉터리나 파일을 백업 파일에 추가할 수 있습니다.

-t 아카이브 파일의 내용을 나열하고 어떤 파일이 백업되었는지 확인합니다.

-u 파일을 업데이트합니다. 즉, 원본 백업 파일이 새 파일로 교체됩니다. 업데이트할 파일이 백업 파일에 없으면 백업 파일 끝에 추가됩니다.

-x 아카이브에서 파일을 릴리스합니다.

보조 옵션:

-b 이 옵션은 테이프 드라이브에 대해 설정되며 그 뒤에 블록 크기를 나타내는 숫자가 붙습니다. 시스템 기본값은 20(20×512바이트)입니다.

-f 아카이브나 장치를 사용할 때 일반적으로 이 옵션이 필요합니다.

-k 기존 파일을 저장합니다. 예를 들어, 특정 파일을 복원하고 복원 프로세스 중에 동일한 파일이 발견되면 해당 파일을 덮어쓰지 않습니다.

-m 파일 복원 시 모든 파일의 수정 시간을 지금으로 설정하세요.

-M 여러 디스크에 저장할 다중 볼륨 아카이브 파일을 만듭니다.

-v는 tar로 처리된 자세한 파일 정보를 보고합니다. 이 옵션이 없으면 tar는 파일 정보를 보고하지 않습니다.

-w 모든 단계에서 확인을 요청하세요.

-z gzip을 사용하여 파일을 압축/압축 해제합니다. 이 옵션을 추가하면 아카이브 파일을 압축할 수 있지만 복원 시 압축을 풀려면 이 옵션도 사용해야 합니다.

4. 애플리케이션 설명

tar는 원래 테이프에 파일을 패키징하기 위해 설계된 Tape Archive의 약어입니다. Linux 소스 코드를 다운로드한 경우 tar 파일을 발견했을 수 있습니다. Linux는 대소문자를 구분합니다. 예를 들어, tar 명령은 항상 소문자로 실행되어야 합니다. 명령줄 스위치는 대문자, 소문자 또는 대문자와 소문자의 혼합일 수 있습니다. 예를 들어, -t와 -T는 서로 다른 기능을 수행합니다. 파일 또는 디렉터리 이름은 대소문자를 혼합할 수 있으며 명령 및 명령줄 스위치와 마찬가지로 대소문자를 구분합니다.

5. 적용 예

tar는 그래픽 인터페이스가 없는 명령줄 도구입니다. Konsole을 사용하여 터미널 창을 연 다음 간단한 백업 명령을 실행합니다(/usr 디렉터리의 모든 내용이 포함된 back.tar 파일을 /temp 디렉터리에 만듭니다.):

$tar cvf - /usr > temp/back.tar

또한 tar 명령은 이전 강의 3에서 언급한 crontab 명령을 지원하는데, crontab 도구를 사용하여 시간을 기준으로 정기적으로 실행되도록 설정할 수 있습니다. 예를 들어, /usr 디렉토리를 매일 밤 6시에 첫 번째 IDE 인터페이스의 기본 드라이브(항상 첫 번째 하드 디스크에 있음)인

hda에 백업하려면 루트의 crontab에 다음 명령문을 추가하면 됩니다.

$00 06 * * * tar cvf /dev/hda1/usrfiles.tar - /usr

일반적으로 다음 디렉터리를 백업해야 합니다.

◆/etc에는 네트워크 구성 및 시스템 이름을 포함한 모든 핵심 구성 파일이 포함되어 있습니다. , 방화벽 규칙, 사용자, 그룹 및 기타 전역 시스템 항목입니다.

◆ /var에는 DNS 구성, DHCP 임대, 메일 버퍼 파일, HTTP 서버 파일, dB2 인스턴스 구성 등을 포함하여 시스템 데몬(서비스)에서 사용하는 정보가 포함되어 있습니다.

◆/home에는 개인 설정, 다운로드한 파일 및 사용자가 잃어버리고 싶지 않은 기타 정보를 포함하여 모든 기본 사용자의 홈 디렉터리가 포함되어 있습니다.

◆/root 루트 사용자의 홈 디렉터리입니다.

◆/opt는 많은 비시스템 파일이 설치되는 곳입니다. IBM 소프트웨어가 여기에 설치됩니다. OpenOffice, JDK 및 기타 소프트웨어도 기본적으로 여기에 설치됩니다.

일부 디렉터리는 백업할 필요가 없습니다.

◆ /proc 이 디렉터리는 백업하면 안 됩니다. 이는 실제 파일 시스템이 아니라 전체 실행 메모리에 대한 가상 보기인 /proc/kcore와 같은 파일을 포함하여 실행 중인 커널 및 환경에 대한 가상화된 보기입니다. 이러한 파일을 백업하는 것은 리소스 낭비일 뿐입니다.

◆/dev에는 하드웨어 장치의 파일 표현이 포함되어 있습니다. 빈 시스템으로 복원하려는 경우 /dev를 백업할 수 있습니다. 그러나 설치된 Linux 시스템으로 복원하려는 경우에는 /dev를 백업할 필요가 없습니다.

unzip

1. 기능

unzip

명령은 /usr/bin 디렉토리에 있습니다. MS DOS의 pkzip, Windows의 Winzip 소프트웨어와 동일한 기능을 갖습니다. zip 파일을 사용하여 하드 디스크 공간을 절약하고 필요할 때 unzip 명령을 사용하여 압축 파일의 압축을 풉니다. 이 명령의 사용 권한은 모든 사용자로 제한됩니다.

2. 형식

unzip [-cflptuvz][-agCjLMnoqsVX][-P][.zip 파일][파일][-d][-x]

3. 주요 매개변수

-c: 압축이 풀립니다. 결과가 화면에 표시되고 문자가 적절하게 변환됩니다.

-f: 기존 파일을 업데이트합니다.

-l: 압축 파일에 포함된 파일을 표시합니다.

-p: -c 매개변수와 유사하게 압축 해제된 결과가 화면에 표시되지만 변환은 수행되지 않습니다.

-t: 압축파일이 맞는지 확인하세요.

-u: -f 매개변수와 유사하지만 기존 파일을 업데이트하는 것 외에도 압축 파일의 다른 파일도 디렉터리에 압축 해제됩니다.

-v: 실행 시 자세한 정보를 표시합니다.

-z: 압축파일의 댓글 텍스트만 표시합니다.

-a: 텍스트 파일에서 필요한 문자 변환을 수행합니다.

-b: 텍스트 파일에서 문자 변환을 수행하지 않습니다.

-C: 압축 파일의 파일 이름은 대소문자를 구분합니다.

-j: 압축 파일의 원래 디렉터리 경로를 처리하지 않습니다.

-L: 압축 파일의 모든 파일 이름을 소문자로 변경합니다.

-M: 출력 결과를 more 프로그램으로 보내 처리합니다.

-n: 압축을 풀 때 원본 파일을 덮어쓰지 마세요.

-o: 사용자에게 먼저 물어볼 필요가 없습니다. 압축 해제가 실행된 후 원본 파일을 덮어쓰게 됩니다.

-P: zip의 비밀번호 옵션을 사용하세요.

-q: 실행 중에는 정보가 표시되지 않습니다.

-s: 파일 이름의 공백 문자를 밑줄 문자로 변환합니다.

-V: VMS의 파일 버전 정보를 유지합니다.

-X: 압축을 풀 때 파일의 원본 UID/GID를 동시에 저장합니다.

[.zip 파일]: .zip 압축 파일을 지정합니다.

[파일]: .zip 압축 파일 중 어떤 파일을 처리할지 지정합니다.

-d: 압축 해제 후 파일이 저장될 디렉터리를 지정합니다.

-x: .zip 압축 파일에서 처리하지 않을 파일을 지정합니다.

-Z unzip: -Z는 zipinfo 명령을 실행하는 것과 동일합니다. Linux에서는 zip 압축 파일의 자세한 정보를 볼 수 있는 zipinfo라는 도구도 제공됩니다. unzip의 최신 버전은 5.50입니다.

gunzip

1. 기능

gunzip 명령은 파일의 압축을 푸는 데 사용되며 사용 권한은 모든 사용자에게 있습니다.

2. 형식

gunzip [-acfhlLnNqrtvV][-s ][파일...]

또는

gunzip [-acfhlLnNqrtvV][-s ][디렉터리]

3. --ascii: ASCII 텍스트 모드를 사용합니다.

-c 또는 --stdout 또는 --to-stdout: 압축이 풀린 파일을 표준 출력 장치로 출력합니다.

-f 또는 -force: 파일 이름이나 하드 링크 존재 여부, 파일이 심볼릭 링크인지 여부에 관계없이 압축된 파일의 압축을 강제로 풉니다.

-h 또는 --help: 온라인 도움말.

-l 또는 --list: 압축 파일의 관련 정보를 나열합니다.

-L 또는 --license: 버전 및 저작권 정보를 표시합니다.

-n 또는 --no-name: 압축을 풀 때 압축 파일에 원본 파일 이름과 타임스탬프가 포함되어 있으면 무시되고 처리되지 않습니다.

-N 또는 --name: 압축을 풀 때 압축 파일에 원본 파일 이름과 타임스탬프가 포함되어 있으면 압축이 풀린 파일에 다시 저장됩니다.

-q 또는 --quiet: 경고 메시지를 표시하지 않습니다.

-r 또는 --recursive: 재귀 처리, 지정된 디렉터리의 모든 파일과 하위 디렉터리를 함께 처리합니다.

-S 또는 --suffix: 압축된 접미사 문자열을 변경합니다.

-t 또는 --test: 압축 파일이 올바른지 테스트합니다.

-v 또는 --verbose: 명령 실행 프로세스를 표시합니다.

-V 또는 --version: 버전 정보를 표시합니다.

4. 설명

gunzip은 gzip으로 압축된 파일을 압축 해제하는 데 사용되는 압축 해제 프로그램입니다. 실제로 gunzip은 gzip과의 하드 연결이므로 압축이든 압축 해제든 gzip 명령만으로 완료할 수 있습니다. gunzip의 최신 버전은 1.3.3입니다.

unarj

1. 기능

unarj는 .arj 형식의 파일을 압축 해제하며, 사용 권한은 모든 사용자에게 있습니다.

2. 형식

unarj [eltx][.arj 압축 파일]

3. 주요 매개변수

e: .arj 파일을 압축 해제합니다.

l: 압축 파일에 포함된 파일을 표시합니다.

t: 압축파일이 맞는지 확인해보세요.

x: 압축을 풀 때 원래 경로를 유지하세요.

4. 설명

확장자가 .arj인 파일은 MS DOS 및 Windows용 ARJ 유틸리티로 생성됩니다. ARJ는 소스 코드를 무료로 사용할 수 없는 셰어웨어 프로그램이기 때문에

mtools

1에서 기능

mtools

는 실제로 많은 DOS를 시뮬레이션할 수 있는 DOS 파일 시스템용 명령 모음이자 도구 프로그램입니다. 이 명령은 사용하기 매우 편리합니다. 접근 권한은 모든 사용자에게 있습니다. Linux 시스템은

mtools라는 휴대용 도구 세트를 제공합니다. 이를 통해 사용자는 표준 DOS 플로피 디스크에서 파일과 디렉터리를 쉽게 읽고 쓸 수 있습니다. DOS와 Linux 환경 간에 파일을 교환하는 데 유용합니다. mtools

사용 방법은 매우 간단합니다. 플로피 디스크에 있는 모든 파일을 하드 디스크에 복사하려면 다음 명령을 실행하면 됩니다.

mcopy a:*.*

즉, 다음 명령만 실행하면 됩니다. 해당 DOS 명령 앞에 추가 문자 "m"은 해당 기능을 완료할 수 있습니다. 이 소프트웨어는 일반적으로 Linux 배포판에서 사용할 수 있습니다. 다음 명령을 사용하여 확인할 수 있습니다.

rpm -qa|grep mtools

설치되어 있지 않더라도 인터넷(http://mtools.linux.lu/)에서 최신 버전을 다운로드하여 설치할 수 있습니다. 현재 다운로드할 수 있는 최신 mtools 버전은

2입니다. 포함된 명령

mcd 디렉터리 이름: MS DOS에서 디렉터리를 변경하세요.

mcopy 소스 파일 대상 파일: MS DOS와 Unix 간에 파일을 복사합니다.

mdel 파일 이름: MS DOS에서 파일을 삭제합니다.

mdir 디렉토리 이름: MS DOS 아래의 디렉토리를 표시합니다.

mformat 드라이브 문자: 로우 레벨 포맷된 플로피 디스크에 MS DOS 파일 시스템을 생성합니다.

rn레이블 드라이브 문자: MS DOS에서 볼륨 레이블을 생성합니다.

mmd 디렉터리 이름: MS DOS 아래에 디렉터리를 만듭니다.

mrd 디렉터리 이름: MS DOS에서 디렉터리를 삭제합니다.

mren 소스 파일 대상 파일: 기존 MS DOS 파일의 이름을 바꿉니다.

mtype 파일 이름: MS DOS 파일의 내용을 표시합니다.

이 명령은 해당 MS DOS 명령과 매우 유사합니다. mtools 명령에서는 "/"와 ""를 혼합할 수 있습니다. 파일 목록은 DOS 시스템의 문서이고 대소문자를 구분하지 않기 때문에 여기에서는 "CDE"와 "cde"가 동일합니다.

3. 응용 사례

(1) 플로피 디스크를 빠르게 포맷하려면 mformat:

mformat A:

mtools

라는 명령을 사용하면 됩니다. 원래 개발 목적은 DOS 파일 시스템을 처리하는 것이었고, 따라서 FAT 파일 형식의 파티션에서만 사용할 수 있습니다. FAT16/32 파티션을 마운트하기 위해 mount 명령을 사용하는 경우 mtools 지침을 사용하여 이러한 파티션의 파일을 처리할 수 없다는 점에 유의해야 합니다. 이는 FAT16/32 파티션이 Linux 파일 디렉터리에 마운트되면 Linux는 이를 파일 시스템 자체의 일부로 간주하기 때문입니다. 이때 이를 작동하려면 Linux에 제공되는 명령 세트를 사용해야 합니다. 그 자체.

(2) DOS 디스크의 htca.c 파일을 현재 디렉터리에 복사하고 ls 명령으로 확인합니다.

$ mcopy a:htca.c

$ ls -l htca.c

-rw-r- -r- - 1 xxq xxq 27136 1월 1일 01:80 htca.c

man

1.

man 명령은 온라인 도움말을 제공하는 데 사용되며 사용 권한은 모든 사용자에게 있습니다. 사용자가 터미널에서 검색할 수 있도록 온라인 매뉴얼이 Linux 시스템에 저장되어 있습니다. 도움말 정보에 액세스하려면 man 명령을 사용하십시오. 이는 매우 편리하고 실용적입니다.

2. 형식

man 명령 이름

man [-acdfhkKtwW] [-m 시스템] [-p 문자열] [-C config_file] [-M 경로] [-P 호출기] [-S 섹션_목록] [섹션] name...

3. 매개변수

-C config_file: 설정 파일 man.conf를 지정합니다. 기본값은 /etc/man.conf입니다.

-M 경로: 온라인 매뉴얼의 검색 경로를 지정합니다. 지정하지 않으면 MANPATH 환경 변수의 설정이 사용됩니다. MANPATH를 사용하지 않으면 /usr/lib/man.conf의 설정이 사용됩니다. if MANPATH is 빈 문자열은 기본값을 사용함을 의미합니다.

-P 호출기: 사용할 호출기를 지정합니다. Man은 먼저 이 옵션을 사용한 다음 환경 변수 MANPAGER에 따라 설정하고 그 다음 환경 변수 PAGER는 기본적으로 /usr/bin/less를 사용합니다.

-S section_list man: 검색할 섹션 목록(콜론으로 구분) 이 옵션은 환경 변수 MANSECT의 설정을 재정의합니다.

-a man: 기본값은 처음 발견된 매뉴얼을 표시한 후 검색을 중지하는 것입니다. 이 옵션을 사용하면 man은 이름과 일치하는 모든 온라인 매뉴얼을 계속 표시하게 됩니다.

-c: 최신 고양이 페이지가 있더라도 온라인 매뉴얼을 계속해서 다시 입력하세요. 이 옵션은 화면의 행과 열 수가 바뀌거나 조판된 온라인 매뉴얼이 손상된 경우에 특히 의미가 있습니다.

-d: 실제로 온라인 매뉴얼을 표시하지 않고 디버깅 메시지만 표시합니다.

-D: 온라인 매뉴얼과 디버깅 메시지를 동시에 표시합니다.

-h: 도움말 메시지를 표시하고 프로그램을 종료합니다.

-K: 지정된 문자열에 대한 모든 온라인 설명서를 검색합니다. 해당 기능의 응답속도는 매우 느릴 수 있으니 주의하시기 바랍니다. 구간(지역)을 지정하시면 속도에 도움이 됩니다.

-m 시스템: 지정된 시스템 이름을 기반으로 다른 온라인 설명서 세트를 지정합니다.

man: 매뉴얼의 약어입니다. 명령어 입력이 어려울 경우, 이 문서를 바로 받아보실 수 있습니다. 예를 들어, ps 명령을 사용하는 데 어려움이 있는 경우 man ps를 입력하면 ps의 매뉴얼 페이지가 표시됩니다.

맨페이지는 less 프로그램(화면을 쉽게 위아래로 돌릴 수 있음)을 사용하여 보기 때문에 맨페이지에서 less의 모든 옵션을 사용할 수 있습니다.

less에서 더 중요한 기능 키는 다음과 같습니다. 종료하려면

[Enter]를 사용하여 한 줄씩 아래로 스크롤합니다.

페이지 위로 스크롤하려면

[/ ] 뒤에 문자열이 오고 [Enter]를 눌러 문자열을 찾습니다.

[n]은 이전 검색에서 다음 일치 항목을 찾습니다.

4 매뉴얼 페이지를 읽어보세요

맨페이지는 작은 공간에서 많은 정보를 제공합니다. 다음은 대부분의 맨페이지에 있는 일부 내용에 대한 간략한 소개입니다. Linux 맨페이지는 주로 사용자 지침, 시스템 호출, 프로그램 라이브러리, 장치 설명, 파일 형식, 게임, 기타, 시스템 지침 및 커널의 9개 부분으로 구성됩니다. 맨페이지의 스냅샷은 그림 1에 나와 있습니다.

그림 1 ps 명령 매뉴얼 페이지의 스냅샷

Linux 매뉴얼 페이지의 레이아웃은 표 1에 나와 있습니다.

5. 응용예제

Linux

ps, find, cat, ls 등 기본적이고 중요한 명령어들이 있습니다. 이를 통해 우리는 리눅스에서 인간의 지위가 매우 중요하다는 것을 알 수 있습니다. 그러나 man이 표시하는 정보는 일반적인 텍스트가 아닙니다. 이러한 텍스트를 텍스트 파일로 직접 리디렉션하면 man에서 강조 표시된 텍스트가 2개가 되고 셀 수 없이 많은

탭 문자가 있어 인쇄 및 편집이 매우 불편해집니다. 그러나 다음 명령문을 사용하여 ps 명령을 사용하여 인쇄할 수 있습니다.

# man ps | col -b | lpr

이 명령은 ps 명령의 도움말 정보를 직접 인쇄하는 기능입니다. 더 많은 Man 파일을 보려면 Linux Man

unencode

1을 참조하세요. 기능

unencode 명령은 바이너리 파일 테이블을 텍스트 파일로 인코딩할 수 있으며 사용 권한은 모든 사용자에게 있습니다.

2. 형식

uuencode [-hv] [소스 파일] 대상 파일

3. 주요 매개변수

-h: 명령 사용 형식을 나열합니다(도움말).

-v: 버전 정보를 나열합니다.

4. 응용 프로그램 설명

uuencode 명령은 바이너리 파일을 이메일로 보낼 수 있는 ASCII 인코딩으로 변환할 수 있습니다. uuencode로 인코딩된 데이터는 시작으로 시작하여 끝으로 끝나며, 일반적으로 각 줄의 시작 부분은 "M"입니다. 인코딩된 파일은 소스 파일보다 큽니다.

uudecode

1. Function

uudecode 명령은 uuencode로 인코딩된 파일을 복원하는 데 사용됩니다. uudecode는 시작 태그와 끝 태그 사이의 인코딩된 데이터만 복원하며 프로그램은 태그 이외의 데이터를 건너뜁니다. 사용권한은 모든 사용자에게 있습니다.

2. Format

uuencode [-hv] [file1 ...]

3. 주요 매개변수

-h: 명령 사용 형식을 나열합니다(도움말).

-v: 버전 정보를 나열합니다.

4. 응용 프로그램 예

한 번에 여러 파일을 복원하려면 다음 명령을 사용하세요.

uuencode file1.uud file2.uud file3.uud

Linux 명령줄에서 이메일 보내기

리눅스 데스크톱 애플리케이션이 빠르게 발전하고 있지만, 리눅스에서는 여전히 명령줄(셸)이 강한 생명력을 갖고 있습니다. 이메일 서버가 8비트 바이트를 지원하는 것을 확인할 수 있다면 다음 명령을 직접 사용할 수 있습니다:

cat | mail

cat(cat는 concatenate의 약어입니다) 명령은 다음과 같습니다. 여러 파일을 하나의 파일로 처리하고 이 처리 결과를 별도의 출력 파일에 저장합니다. 여기서는 이메일 텍스트를 병합하는 데 사용합니다.

이메일 이름(예: cjkmail)을 작성한 후 다음 명령을 사용하세요.

$uuencode >>cjkmail

이렇게 vi 편집기를 사용할 수 있습니다. cjkmail 파일을 작성해서 추가하시면 됩니다. 앞면에 글자의 내용을 적어서 보내주세요.

서신을 받은 상대방은 cjkmail의 내용을 복사해서 themail.uue로 저장합니다. 상대방이 Windows 환경이라면 WinRAR이나 WinZip을 이용해 압축을 풀면 첨부파일을 볼 수 있습니다.

상대방도 Linux를 사용하는 경우 undecode 명령을 사용하여 복원할 수 있습니다.

$ uudencode -othemail.uue

2. tar 파티셔닝 구현

작성자가 378MB 파일을 압축하려고 합니다. 63MB 파일(작성자의 USB는 64MB)의 경우 다음 명령을 사용합니다:

$tar czvf - dir | Split -d -b 63m

그런 다음 명령을 병합합니다:

$cat x* > tgz

위의 예는 실제로 tar로 패키징, 분할로 분할, 고양이로 병합이라는 세 가지 명령의 조합으로 완성됩니다. "tar czvf - dir"은 dir 디렉토리를 패키징하여 표준 출력(argv)으로 출력하여 파이프를 사용하여 분할하여 직접 출력할 수 있다는 의미입니다.

3. 연속적으로 명령을 실행하세요

명령을 반복적으로 실행하려면 watch 명령을 사용하세요. ls와 결합하면 특정 파일의 크기 변화를 관찰하는 효과를 얻을 수 있습니다.

$watch ls -l file.name

4. tar 명령을 사용하여 파일을 내보냅니다.

tar 형식의 DVD 파일(4.7GB)이 있습니다. 모두 압축을 풀려면 번거로울 수 있습니다. 먼저 다음 명령을 사용하여 readme.txt를 내보내고 살펴보세요.

tar xvf GLvPro6.4_linux.tar readme.txt

이런 식으로 readme.txt를 별도로 내보냅니다.

5. tar를 사용하여 디렉터리를 패키징하는 경우 해당 디렉터리에 있는 몇 개의 하위 디렉터리만 백업하세요.

tar cf --exclude home/cjh home/cao

이런 방식으로 cjh와 cao라는 두 개의 하위 디렉터리만 백업됩니다. 홈 디렉토리에 있습니다.

위 내용은 꼭 배워야 할 리눅스 명령어 60가지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:linux必学的60个命令
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿