초보자를위한 10 가지 유용한 Linux 명령 줄 트릭-2 부


Linux를 처음 사용하기 시작했을 때 Windows의 그래픽 인터페이스에 익숙해 졌을 때 Linux 터미널이 정말 싫었습니다. 그 당시 나는 기억하기 어려운 명령과 각각의 명령을 적절하게 사용하는 것을 발견했습니다. 시간이 지남에 따라 Linux 터미널의 아름다움, 유연성 및 유용성을 깨달았으며 솔직히 말해서 사용하지 않고는 하루도지나 가지 않습니다. 오늘 저는 Linux를 처음 접하는 사람들이 Linux로 쉽게 전환하거나 단순히 새로운 것을 배우는 데 도움이되는 몇 가지 유용한 트릭과 팁을 공유하고 싶습니다.

  1. 5 Interesting Command Line Tips and Tricks in Linux – Part 1
  2. 5 Useful Commands to Manage Linux File Types – Part 3

이 기사는 최소한의 기술로 전문가처럼 Linux 터미널을 사용하는 방법에 대한 몇 가지 유용한 트릭을 보여줍니다. Linux 터미널과 이러한 명령을 테스트 할 수있는 자유 시간 만 있으면됩니다.

1. 올바른 명령 찾기

올바른 명령을 실행하는 것은 시스템에 중요 할 수 있습니다. 그러나 Linux에는 종종 기억하기 어려운 명령 줄이 너무 많습니다. 그렇다면 필요한 올바른 명령을 어떻게 검색합니까? 대답은 적절합니다. 실행에 필요한 것은 다음과 같습니다.

# apropos <description>

찾고있는 명령의 실제 설명으로 \"설명\"을 변경해야하는 위치입니다. "다음은 좋은 예입니다.

# apropos "list directory"

dir (1) - list directory contents
ls (1) - list directory contents
ntfsls (8) - list directory contents on an NTFS filesystem
vdir (1) - list directory contents

왼쪽에서 명령을 볼 수 있고 오른쪽에서 설명을 볼 수 있습니다.

2. 이전 명령 실행

여러 번 동일한 명령을 반복해서 실행해야합니다. 키보드에서 위로 키를 반복적으로 누를 수 있지만 대신 history 명령을 사용할 수 있습니다. 이 명령은 터미널을 시작한 이후 입력 한 모든 명령을 나열합니다.

# history

    1  fdisk -l
    2  apt-get install gnome-paint
    3  hostname tecmint.com
    4  hostnamectl tecmint.com
    5  man hostnamectl 
    6  hostnamectl --set-hostname tecmint.com
    7  hostnamectl -set-hostname tecmint.com
    8  hostnamectl set-hostname tecmint.com
    9  mount -t "ntfs" -o
   10  fdisk -l
   11  mount -t ntfs-3g /dev/sda5 /mnt
   12  mount -t rw ntfs-3g /dev/sda5 /mnt
   13  mount -t -rw ntfs-3g /dev/sda5 /mnt
   14  mount -t ntfs-3g /dev/sda5 /mnt
   15  mount man
   16  man mount
   17  mount -t -o ntfs-3g /dev/sda5 /mnt
   18  mount -o ntfs-3g /dev/sda5 /mnt
   19  mount -ro ntfs-3g /dev/sda5 /mnt
   20  cd /mnt
   ...

위의 출력에서 볼 수 있듯이 실행 한 모든 명령 목록을 받게됩니다. 각 줄에는 명령을 입력 한 행을 나타내는 번호가 있습니다. 다음을 사용하여 해당 명령을 기억할 수 있습니다.

!#

여기서 #은 명령의 실제 번호로 변경되어야합니다. 더 나은 이해를 위해 아래 예를 참조하십시오.

!501

다음과 같습니다.

# history

3. 자정 사령관 사용

cd, cp, mv, rm과 같은 명령어를 사용하는 데 익숙하지 않은 경우 midnight 명령어를 사용할 수 있습니다. 마우스를 사용할 수도있는 시각적 셸을 사용하기 쉽습니다.

F1 – F12 키 덕분에 다양한 작업을 쉽게 수행 할 수 있습니다. 하단의 범례를 확인하기 만하면됩니다. 파일 또는 폴더를 선택하려면 \"삽입\"버튼을 클릭하십시오.

간단히 말해서 자정 명령을 \"mc\"라고합니다. 시스템에 mc를 설치하려면 다음을 실행하십시오.

$ sudo apt-get install mc        [On Debian based systems]
# yum install mc                 [On Fedora based systems]

다음은 자정 사령관을 사용하는 간단한 예입니다. 다음을 입력하여 mc를 엽니 다.

# mc

이제 TAB 버튼을 사용하여 창을 왼쪽과 오른쪽으로 전환합니다. \"Software\"폴더로 이동할 LibreOffice 파일이 있습니다.

새 디렉토리에서 파일을 이동하려면 키보드에서 F6 버튼을 누르십시오. MC는 이제 확인을 요청합니다.

확인되면 파일이 새 대상 디렉토리로 이동됩니다.

자세히보기 : Linux에서 Midnight Commander 파일 관리자를 사용하는 방법

4. 특정 시간에 컴퓨터 종료

작업 시간이 끝난 후 몇 시간 후에 컴퓨터를 종료해야하는 경우가 있습니다. 다음을 사용하여 특정 시간에 종료되도록 컴퓨터를 구성 할 수 있습니다.

$ sudo shutdown 21:00

이렇게하면 제공 한 특정 시간에 컴퓨터가 종료됩니다. 특정 시간 (분) 후에 시스템을 종료하도록 지시 할 수도 있습니다.

$ sudo shutdown +15

이렇게하면 시스템이 15 분 안에 종료됩니다.

5. 알려진 사용자에 대한 정보 표시

간단한 명령을 사용하여 Linux 시스템 사용자와 이에 대한 몇 가지 기본 정보를 나열 할 수 있습니다. 간단히 사용 :

# lslogins

그러면 다음과 같은 출력이 표시됩니다.

UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 Apr29/11:35 root
1 bin 0 1 bin
2 daemon 0 1 daemon
3 adm 0 1 adm
4 lp 0 1 lp
5 sync 0 1 sync
6 shutdown 0 1 Jul19/10:04 shutdown
7 halt 0 1 halt
8 mail 0 1 mail
10 uucp 0 1 uucp
11 operator 0 1 operator
12 games 0 1 games
13 gopher 0 1 gopher
14 ftp 0 1 FTP User
23 squid 0 1
25 named 0 1 Named
27 mysql 0 1 MySQL Server
47 mailnull 0 1
48 apache 0 1 Apache
...

6. 파일 검색

파일 검색이 생각만큼 쉽지 않을 수 있습니다. "파일 검색에 대한 좋은 예는 다음과 같습니다.

# find /home/user -type f

이 명령은/home/user에있는 모든 파일을 검색합니다. find 명령은 매우 강력하며 더 많은 옵션을 전달하여 검색을 더욱 상세하게 만들 수 있습니다. 주어진 크기보다 큰 파일을 검색하려면 다음을 사용할 수 있습니다.

# find . -type f -size 10M

위의 명령은 현재 디렉터리에서 10MB보다 큰 모든 파일을 검색합니다. Linux 시스템의 루트 디렉토리에서 명령을 실행하지 마십시오. 이로 인해 시스템에서 높은 I/O가 발생할 수 있습니다.

내가 find와 함께 사용하는 가장 자주 사용되는 조합 중 하나는 \"exec\"옵션으로, 기본적으로 find 명령의 결과에 대해 몇 가지 작업을 실행할 수 있습니다.

예를 들어, 디렉토리에서 모든 파일을 찾고 권한을 변경하고 싶다고 가정 해 보겠습니다. 다음과 같이 쉽게 수행 할 수 있습니다.

# find /home/user/files/ -type f -exec chmod 644 {} \;

위의 명령은 지정된 디렉토리의 모든 파일을 재귀 적으로 검색하고 발견 된 파일에 대해 chmod 명령을 실행합니다. 앞으로이 명령에 대한 더 많은 용도를 찾을 수있을 것입니다. 지금은 Linux 'find'명령 및 사용법의 35 가지 예를 읽어보십시오.

7. 하나의 명령으로 디렉토리 트리 구축

mkdir 명령을 사용하여 새 디렉토리를 만들 수 있다는 것을 알고있을 것입니다. 따라서 새 폴더를 만들려면 다음과 같이 실행합니다.

# mkdir new_folder

하지만 그 폴더 안에 5 개의 하위 폴더를 만들고 싶다면 어떻게해야할까요? mkdir을 연속으로 5 번 실행하는 것은 좋은 해결책이 아닙니다. 대신 다음과 같이 -p 옵션을 사용할 수 있습니다.

# mkdir -p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

결국 new_folder에 5 개의 폴더가 있어야합니다.

# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. 여러 디렉토리에 파일 복사

파일 복사는 일반적으로 cp 명령으로 수행됩니다. "파일 복사는 일반적으로 다음과 같습니다.

# cp /path-to-file/my_file.txt /path-to-new-directory/

이제 해당 파일을 여러 디렉토리에 복사해야한다고 상상해보십시오.

# cp /home/user/my_file.txt /home/user/1
# cp /home/user/my_file.txt /home/user/2
# cp /home/user/my_file.txt /home/user/3

이것은 약간 터무니없는 일입니다. "대신 간단한 한 줄 명령으로 문제를 해결할 수 있습니다.

# echo /home/user/1/ /home/user/2/ /home/user/3/ | xargs -n 1  cp /home/user/my_file.txt

9. 더 큰 파일 삭제

때때로 파일이 매우 커질 수 있습니다. "관리 기술이 부족하여 단일 로그 파일이 250GB를 초과하는 경우를 보았습니다. 제거해야 할 데이터 양이 너무 많기 때문에 이러한 경우 rm 유틸리티로 파일을 제거하는 것만으로는 충분하지 않을 수 있습니다. 이 작업은 \"무거운\"작업이므로 피해야합니다. 대신 정말 간단한 솔루션으로 갈 수 있습니다.

# > /path-to-file/huge_file.log

물론 경로와 파일 이름을 대소 문자와 일치하도록 정확한 이름으로 변경해야합니다. 위의 명령은 단순히 파일에 빈 출력을 기록합니다. 더 간단하게 말하면 시스템에서 높은 I/O를 일으키지 않고 파일을 비 웁니다.

10. 여러 Linux 서버에서 동일한 명령 실행

최근 독자 중 한 명이 LinuxSay 포럼에서 SSH를 사용하여 한 번에 여러 Linux 상자에 단일 명령을 실행하는 방법에 대해 질문했습니다. 그는 다음과 같은 컴퓨터 IP 주소를 가졌습니다.

10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

여기에이 문제에 대한 간단한 해결책이 있습니다. 위와 같이 list.txt라는 하나의 파일에 서버의 IP 주소를 수집합니다. 그런 다음 다음을 실행할 수 있습니다.

# for in $i(cat list.txt); do ssh [email protected]$i 'bash command'; done

위의 예에서 \"user\"를 로깅 할 실제 사용자로 변경하고 \"bash 명령\"을 실행하려는 실제 bash 명령으로 변경해야합니다. 이 방법은 사용자의 암호를 반복해서 입력 할 필요가 없기 때문에 SSH 키를 사용하여 암호없는 인증을 시스템에 사용할 때 더 효과적입니다.

Linux 상자 설정에 따라 SSH 명령에 몇 가지 추가 매개 변수를 전달해야 할 수도 있습니다.

결론

위의 예제는 정말 간단한 예제이며 Linux의 아름다움을 찾고 다른 운영 체제에서 훨씬 더 많은 시간이 소요될 수있는 다른 작업을 쉽게 수행 할 수있는 방법을 찾는 데 도움이 되었기를 바랍니다.