Windows 세계에서 새로운 Linux 변환기를 사용하면 명령줄을 사용하는 작업이 다소 위협적일 수 있습니다. 하지만 사용하기는 그리 어렵지 않습니다. 명령줄을 시작하기만 하면 몇 가지 기본적인 명령만 배우면 됩니다.
대부분의 Linux 배포판은 사용하기 쉽고 그래픽 인터페이스를 제공하지만 명령줄 사용 방법을 알면 매우 유용할 수 있습니다. 명령줄을 사용하면 시스템에 대한 더 많은 전원을 공급하고 그래픽 인터페이스를 통해 사용할 수 없는 기능에 액세스할 수 있습니다.
Linux 시스템 관리자가 매일 사용하는 가장 일반적인 Linux 명령 몇 가지를 살펴보겠습니다.
명령에 대한 정보를 가져오기
명령 옵션을 암기하는 것은 일반적으로 필요하지 않으며 시간 낭비일 수 있습니다. 일반적으로 명령을 자주 사용하지 않으면 해당 옵션을 쉽게 잊어버릴 수 있습니다.
대부분의 명령에는 명령 사용 방법에 대한 간단한 메시지를 출력하고 종료하는 --help 옵션이 있습니다.
command_name --help
man 명령
거의 모든 Linux 명령은 man page와 함께 배포됩니다. man 또는 manual page는 명령의 기능, 명령 실행 방법 및 명령에서 허용하는 인수를 설명하는 문서 형식입니다.
man 명령은 지정된 명령의 수동 페이지를 표시하는 데 사용됩니다.
man command_name
예를 들어, cd 명령의 man 페이지를 열려면 다음을 입력합니다.
man cd
맨 페이지를 탐색하려면 화살표, 페이지 위로 및 페이지 아래로 키를 사용합니다. Enter 키를 눌러 한 번에 한 줄을 이동하고 스페이스 바를 눌러 다음 화면으로 이동하고 b 키를 눌러 한 화면을 뒤로 이동할 수도 있습니다. man 페이지를 종료하려면 q 키를 누릅니다.
파일 시스템을 탐색
Linux에서 모든 파일 및 디렉토리는 디렉토리 트리의 첫 번째 또는 맨 위에 있는 루트 디렉토리 아래에 있습니다. 루트 디렉토리는 단일 선행 슬래시 /로 참조됩니다.
파일에서 작동하는 파일 시스템을 탐색할 때 리소스에 대한 절대 경로 또는 상대 경로를 사용할 수 있습니다.
절대 경로 또는 전체 경로는 시스템 루트 /에서 시작하고 상대 경로는 현재 디렉토리에서 시작합니다.
현재 작업 디렉터리(pwd 명령)
현재 작업 디렉토리는 사용자가 현재 작업 중인 디렉토리입니다. 명령 프롬프트와 상호 작용할 때마다 디렉토리 내에서 작업하게 됩니다.
pwd 명령을 사용하여 현재 어떤 디렉토리에 있는지 확인합니다.
pwd
# /home/jjeongil
명령은 현재 작업 디렉토리의 경로를 표시합니다.
디렉터리(cd 명령)를 변경
cd("directory 변경") 명령은 Linux 및 기타 Unix 계열 운영 체제에서 현재 작업 디렉토리를 변경하는 데 사용됩니다.
인수 없이 CD를 사용하면 홈 디렉토리로 이동합니다.
cd
디렉터리로 변경하려면 디렉터리의 절대 경로 이름 또는 상대 경로 이름을 사용할 수 있습니다.
명령을 실행한 디렉터리에 다운로드 디렉터리가 있다고 가정하면 디렉터리에 대한 상대 경로를 사용하여 해당 디렉터리로 이동할 수 있습니다.
cd Downloads
디렉토리의 절대 경로를 사용하여 디렉토리로 이동할 수도 있습니다.
cd /home/jjeongil/Downloads
점 두 개(..)가 차례로 상위 디렉토리 또는 현재 디렉토리 바로 위에 있는 디렉토리를 나타냅니다.
현재 /usr/local/share 디렉토리에 있다고 가정합니다. /usr/local 디렉토리(현재 디렉토리에서 한 단계 위)로 전환하려면 다음을 입력합니다.
cd ../
두 단계 위로 이동하려면 다음을 수행합니다.
cd ../../
이전 작업 디렉토리로 다시 변경하려면 대시(-) 문자를 인수로 사용합니다.
cd -
변경할 디렉터리에 이름에 공백이 있는 경우 경로를 따옴표로 둘러싸거나 백슬래시() 문자를 사용하여 공백을 이스케이프해야 합니다.
cd Dir\ name\ with\ space
파일 및 디렉토리로 작업
디렉터리 내용(ls 명령)을 나열합니다.
ls 명령은 디렉토리 내의 파일 및 디렉토리에 대한 잘못된 정보를 나열합니다.
옵션 및 인수 없이 사용할 경우 ls는 현재 작업 디렉토리에 있는 모든 파일 이름의 목록을 알파벳 순으로 표시합니다.
ls
특정 디렉터리에 있는 파일을 나열하려면 다음 인수로 디렉터리에 경로를 전달합니다.
ls /usr
ls 명령의 기본 출력에는 파일 및 디렉토리 이름만 표시됩니다. -l을 사용하여 긴 목록 형식으로 파일을 인쇄합니다.
ls -l /etc/hosts
# -rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
ls 명령은 기본적으로 숨김 파일을 나열하지 않습니다. 숨김 파일은 마침표(.)로 시작하는 모든 파일입니다.
숨김 파일을 포함하여 모든 파일을 표시하려면 -a 옵션을 사용합니다.
ls -a ~/
파일 내용(cat 명령)을 표시
cat 명령은 하나 이상의 파일의 내용을 인쇄하고 한 파일의 내용을 다른 파일의 끝에 추가하여 파일을 병합(연결)합니다.
화면에 파일 내용을 표시하려면 파일 이름을 cat에 인수로 전달합니다.
cat /etc/hosts
파일 생성(터치 명령).
touch 명령은 기존 파일 및 디렉터리의 타임스탬프를 업데이트하고 비어 있는 새 파일을 만드는 데 사용됩니다.
파일을 만들려면 파일 이름을 인수로 지정합니다.
touch file.txt
파일이 이미 있는 경우 누르면 파일의 마지막 액세스 및 수정 시간이 현재 시간으로 변경됩니다.
디렉토리 생성(mkdir 명령).
Linux에서는 mkdir 명령을 사용하여 새 디렉토리(폴더라고도 함)를 만들 수 있습니다.
디렉토리를 만들려면 디렉토리 이름을 인수로 다음 명령에 전달합니다.
mkdir /tmp/newdirectory
mkdir는 하나 이상의 디렉토리 이름을 인수로 사용할 수 있습니다.
인수가 전체 경로가 없는 디렉토리 이름일 경우 현재 작업 디렉토리에 새 디렉토리가 생성됩니다.
상위 디렉토리를 만들려면 -p 옵션을 사용합니다.
mkdir -p Projects/linuxize.com/src/assets/images
위의 명령은 전체 디렉토리 구조를 만듭니다.
-p 옵션을 사용하여 mkdir를 호출하면 디렉토리가 없는 경우에만 디렉토리가 생성됩니다.
심볼 링크 생성(ln 명령).
심볼 링크(또는 심볼 링크)는 다른 파일 또는 디렉터리를 가리키는 특수 파일 유형입니다.
지정된 파일에 대한 심볼 링크를 만들려면 -s 옵션을 사용하여 ln 명령을 사용하고 파일 이름을 첫 번째 인수로, 심볼 링크 이름을 두 번째 인수로 사용합니다.
ln -s source_file symbolic_link
하나의 파일만 인수로 지정되면 ln은 해당 파일이 가리키는 파일과 동일한 이름을 가진 현재 작업 디렉토리에 해당 파일에 대한 링크를 만듭니다.
파일 및 디렉터리를 제거(rm 명령).
파일 및 디렉토리를 제거하려면 rm 명령을 사용합니다.
기본적으로 옵션 없이 실행되는 경우 rm은 디렉토리를 제거하지 않습니다. 또한 사용자에게 지정된 파일의 제거를 계속할지 여부를 묻는 메시지가 표시되지 않습니다.
파일 또는 심볼 링크를 삭제하려면 rm 명령 다음에 파일 이름을 인수로 사용하십시오.
rm file.txt
rm은 하나 이상의 파일 또는 디렉터리 이름을 인수로 수락합니다.
-i 옵션은 파일을 제거하기 전에 지정된 각 파일에 대해 사용자에게 묻도록 rm에게 지시합니다.
rm -i file.txt
# rm: remove regular empty file 'file.txt'?
-d 옵션을 사용하여 하나 이상의 빈 디렉토리를 제거합니다.
rm -d dirname
비어 있지 않은 디렉토리와 디렉토리 내의 모든 파일을 재귀적으로 제거하려면 -r(재귀) 옵션을 사용하십시오.
rm -rf dirname
-f 옵션은 사용자에게 메시지를 표시하지 않고 존재하지 않는 파일 및 인수를 무시하도록 지시합니다.
파일 및 디렉토리를 복사(cp 명령).
cp 명령을 사용하여 파일 및 디렉토리를 복사할 수 있습니다.
현재 작업 디렉터리에 있는 파일을 복사하려면 원본 파일을 첫 번째 인수로 사용하고 새 파일을 두 번째 인수로 사용합니다.
cp file file_backup
파일을 다른 디렉터리에 복사하려면 대상 디렉터리에 대한 절대 경로 또는 상대 경로를 지정하십시오. 디렉토리 이름만 대상으로 지정되면 복사된 파일의 이름은 원본 파일과 동일합니다.
cp file.txt /backup
기본적으로 대상 파일이 있으면 덮어씁니다.
모든 파일 및 하위 디렉토리를 포함하여 디렉토리를 복사하려면 -R 또는 -r 옵션을 사용합니다.
cp -R Pictures /opt/backup
파일 및 디렉터리를 이동하고 이름 변경(mv 명령).
mv 명령(이동에서 짧게)은 이름을 변경하고 이동하고 한 위치에서 다른 위치로 파일과 디렉터리를 이동하는 데 사용됩니다.
예를 들어 파일을 디렉토리로 이동하려면 다음을 실행합니다.
mv file.txt /tmp
파일 이름을 변경하려면 대상 파일 이름을 지정해야 합니다.
mv file.txt file1.txt
디렉터리 이동 구문은 파일을 이동할 때와 동일합니다.
여러 파일 및 디렉토리를 동시에 이동하려면 대상 디렉토리를 마지막 인수로 지정합니다.
mv file.tx1 file1.txt /tmp
패키지를 설치하고 제거
패키지 관리자는 원격 소프트웨어 패키지를 설치, 업데이트, 제거 및 관리할 수 있는 도구입니다.
리눅스 배포판마다 패키지 관리자와 패키지 형식이 다릅니다.
루트 또는 sudo 권한이 있는 사용자만 패키지를 설치 및 제거할 수 있습니다.
Ubuntu 및 Debian(apt 명령)
고급 패키지 도구 또는 APT는 Debian 기반 배포판에서 사용하는 패키지 관리 시스템입니다.
데비안 배포판에는 몇 가지 명령줄 패키지 관리 도구가 있으며, 가장 많이 사용되는 도구는 적절한 패키지 및 적절한 패키지입니다.
먼저 새 패키지를 설치하기 전에 APT 패키지 색인을 업데이트해야 합니다.
apt update
APT 인덱스는 시스템에서 활성화된 리포지토리에서 사용 가능한 패키지의 레코드를 보관하는 데이터베이스입니다.
설치된 패키지를 최신 버전으로 업그레이드하려면 다음을 실행합니다.
apt upgrade
패키지 설치는 실행만큼 간단합니다.
apt install package_name
설치된 패키지를 제거하려면 다음을 입력합니다.
apt remove package_name
CentOS 및 페도라(dnf 명령)
RPM은 Red Hat Linux와 CentOS 및 Fedora와 같은 파생 제품에서 사용하는 강력한 패키지 관리 시스템입니다. RPM은 rpm 명령과 .rpm 파일 형식도 나타냅니다.
Red Hat 기반 배포에 새 패키지를 설치하려면 yum 또는 dnf 명령을 사용합니다.
dnf install package_name
CentOS 8 dnf가 yum을 기본 패키지 관리자로 대체했습니다. dnf는 yum과 역호환됩니다.
설치된 패키지를 최신 버전으로 업그레이드하려면 다음을 입력합니다.
dnf update
패키지 제거는 다음과 같이 간단합니다.
dnf remove package_name
파일 소유권 및 사용 권한
Linux에서 파일에 대한 액세스 권한은 파일 권한, 속성 및 소유권을 통해 관리됩니다. 이렇게 하면 인증된 사용자 및 프로세스만 파일 및 디렉토리에 액세스할 수 있습니다.
Linux에서 각 파일은 소유자 및 그룹과 연결되고 세 가지 등급의 사용자에 대한 권한 액세스 권한이 할당됩니다.
- 파일 소유자
- 그룹 구성원
- 다른 모든 사람
각 클래스에 세 가지 권한 유형이 적용됩니다.
- 읽기 권한
- 쓰기 권한
- 실행 권한
이 개념을 사용하면 파일을 읽고 파일에 쓰거나 실행할 수 있는 사용자를 지정할 수 있습니다.
파일 소유자 및 사용 권한을 보려면 ls -l 명령을 사용하십시오.
권한을 변경합니다(chmod 명령).
chmod 명령을 사용하여 파일 사용 권한을 변경할 수 있습니다. 심볼 모드와 숫자 모드 두 가지 모드로 작동합니다.
숫자 모드를 사용할 때 소유자, 그룹 및 기타 모든 사용 권한을 설정할 수 있습니다. 각 쓰기, 읽기 및 실행 권한에는 다음 숫자 값이 있습니다.
- r (read) = 4입니다.
- w (write) = 2입니다.
- x(execute) = 1입니다.
- no permissions = 0
특정 사용자 클래스의 사용 권한 번호는 해당 그룹에 대한 사용 권한 값의 합으로 표시됩니다.
예를 들어 파일 소유자에게 읽기 및 쓰기 권한을 부여하고 그룹 구성원 및 다른 모든 사용자에게 읽기 권한만 부여하려면 다음을 실행합니다.
chmod 644 filename
루트, 파일 소유자 또는 sudo 권한이 있는 사용자만 파일의 권한을 변경할 수 있습니다.
지정된 디렉토리의 모든 파일 및 디렉토리에서 재귀적으로 작동하려면 -R, (–재귀) 옵션과 함께 chmod 명령을 사용하십시오.
chmod -R 755 dirname
파일의 사용 권한을 반복적으로 변경할 때는 각별히 주의하십시오.
소유권을 변경합니다(chwon 명령).
chown 명령을 사용하면 지정된 파일, 디렉터리 또는 심볼릭 링크의 사용자 및 그룹 소유권을 변경할 수 있습니다.
파일 소유자를 변경하려면 chown 명령 다음에 새 소유자의 사용자 이름과 대상 파일을 사용하십시오.
chown username filename
파일의 소유자와 그룹을 모두 변경하려면 chown 명령을 실행한 다음 개입된 공백과 대상 파일 없이 콜론(:)으로 구분된 새 소유자 및 그룹을 호출합니다.
chown username:groupname filename
지정된 디렉토리 아래의 모든 파일 및 디렉토리에서 재귀적으로 작업하려면 -R(--재귀적) 옵션을 사용합니다.
chown -R username:groupname dirname
권한을 상승(sudo 명령).
sudo 명령을 사용하면 기본적으로 루트 사용자로 프로그램을 실행할 수 있습니다. 명령줄에서 많은 시간을 보내는 경우 sudo는 자주 사용하는 명령 중 하나입니다.
루트로 로그인하지 않고 sudo를 사용하면 개별 사용자에게 루트 암호를 모르는 상태에서 제한된 관리 권한을 부여할 수 있으므로 더 안전합니다.
sudo를 사용하려면 명령 앞에 sudo를 붙이면 됩니다.
sudo command
사용자 및 그룹을 관리
Linux는 다중 사용자 시스템으로, 한 명 이상의 사용자가 동시에 동일한 시스템과 상호 작용할 수 있습니다. 그룹은 사용자 계정을 구성하고 관리하는 데 사용됩니다. 그룹의 주된 목적은 그룹 내 사용자 간에 공유되는 지정된 리소스에 대한 읽기, 쓰기 또는 권한 실행과 같은 권한 집합을 정의하는 것입니다.
사용자 생성(사용자 추가 및 암호 명령).
userad 명령을 사용하여 새 사용자를 만들 수 있습니다.
새 사용자 계정을 만들려면 useradd 명령과 사용자 이름을 차례로 호출합니다.
useradd newuser
사용자가 생성되면 passwd 명령을 실행하여 사용자 암호를 설정합니다.
passwd newuser
사용자를 제거(userdel 명령).
Linux에서는 userdel 명령을 사용하여 사용자 계정을 삭제할 수 있습니다.
이름이 지정된 사용자 계정을 삭제하려면 사용자 이름을 userdel 명령에 전달합니다.
userdel newuser
-r(–제거) 옵션을 사용하여 사용자의 홈 디렉토리 및 메일 스풀을 제거합니다.
userdel -r newuser
그룹(그룹 추가 및 groupdel 명령)을 관리
새 그룹을 만들려면 groupadd 명령 다음에 그룹 이름을 호출합니다.
groupadd mygroup
그룹을 제거하려면 그룹 이름과 함께 groupdel 명령을 인수로 사용합니다.
groupdel mygroup
그룹에 사용자를 추가(사용자 모드 명령).
기존 사용자를 그룹에 추가하려면 -G 옵션 및 그룹 이름을 사용한 다음 사용자 모드 명령을 사용하십시오.
usermod -a -G sudo linuxize
가장 많이 사용되는 Gnu/Linux 명령 중 일부를 다루었습니다.
그래픽 인터페이스를 사용하여 대부분의 개발 및 시스템 관련 작업을 수행할 수 있지만 명령줄을 사용하면 생산성이 향상되고 더 짧은 시간에 더 많은 작업을 수행할 수 있습니다.
각 명령의 링크를 클릭하면 명령 옵션 및 사용에 대한 자세한 정보를 볼 수 있습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Debian 10 : Apache Cassandra 설치 방법, 예제, 명령어 (0) | 2022.05.27 |
---|---|
Linux : CentOS 8 : CouchDB 설치 방법, 예제, 명령어 (0) | 2022.05.26 |
Linux : Bash: 파일 추가 방법, 예제, 명령어 (0) | 2022.05.24 |
Linux : 파일의 권한을 재귀 변환 방법, 예제, 명령어 (0) | 2022.05.23 |
Linux : CentOS 8 : Yarn 설치 방법, 예제, 명령어 (0) | 2022.05.22 |