본문 바로가기

개발자/Linux 리눅스

자주 사용하는 리눅스 명령어 50가지

반응형

 

 

당신이 리눅스를 사용하든, 사용하지 않든 아래 50개 자주 사용하는 명령어는 알아두시는 게 좋습니다. 가장 유용하고 가장 자주 사용되는 Linux 명령을 모았습니다. 명령 목록을 나열하고 각각의 사용법을 아래에 기술하였습니다. 오늘도 행운이 함께 하시길! 

 

 

일반 사용자가 알아야 할 상위 50개 Linux 명령

 

  1. ls – 디렉토리를 나열하기 위해 Linux에서 가장 자주 사용되는 명령
  2. pwd – Linux에서 작업 디렉토리 인쇄 명령
  3. cd – 디렉토리를 탐색하는 Linux 명령
  4. mkdir – Linux에서 디렉토리를 생성하는 데 사용되는 명령
  5. mv – Linux에서 파일 이동 또는 이름 바꾸기
  6. cp – mv와 유사하지만 Linux에서 파일 복사용
  7. rm – 파일 또는 디렉토리 삭제
  8. touch – 빈/빈 파일 생성
  9. ln – 다른 파일에 대한 심볼릭 링크(바로 가기) 만들기
  10. cat – 터미널에 파일 내용 표시
  11. clear – 터미널 디스플레이 지우기
  12. echo – 명령 다음에 오는 모든 텍스트를 인쇄합니다.
  13. less – 터미널에 페이징된 출력을 표시하는 Linux 명령
  14. man – 모든 Linux 명령에 대한 매뉴얼 페이지에 액세스
  15. uname – OS에 대한 기본 정보를 가져오는 Linux 명령
  16. whoami – 활성 사용자 이름 가져 오기
  17. tar – Linux에서 파일을 추출하고 압축하는 명령
  18. grep – 출력 내에서 문자열 검색
  19. head - 위에서부터 지정된 줄 수를 반환합니다.
  20. tail – 맨 아래에서 지정된 줄 수를 반환합니다.
  21. diff – 두 파일의 차이점 찾기
  22. cmp – 두 파일이 동일한지 확인할 수 있습니다.
  23. comm – diff와 cmp의 기능을 결합합니다.
  24. sort – 출력하는 동안 파일 내용을 정렬하는 Linux 명령
  25. export – Linux에서 환경 변수 내보내기
  26. zip – Linux의 zip 파일
  27. unzip – Linux에서 파일 압축 풀기
  28. ssh – Linux의 보안 셸 명령
  29. service – 서비스를 시작 및 중지하는 Linux 명령
  30. ps – 활성 프로세스 표시
  31. kill 및 killall – 프로세스 ID 또는 이름으로 활성 프로세스 종료
  32. df – 디스크 파일 시스템 정보 표시
  33. mount – Linux에서 파일 시스템 마운트
  34. chmod – 파일 권한을 변경하는 명령
  35. chown – 파일 또는 폴더의 소유권을 부여하는 명령
  36. ifconfig – 네트워크 인터페이스 및 IP 주소 표시
  37. traceroute - 목적지에 도달하기 위해 모든 네트워크 홉을 추적합니다.
  38. wget – 인터넷에서 직접 다운로드 파일
  39. ufw – 방화벽 명령
  40. iptables – 다른 모든 방화벽 유틸리티가 인터페이스할 수 있는 기본 방화벽
  41. apt, pacman, yum, rpm – 배포판에 따른 패키지 관리자
  42. sudo – Linux에서 권한을 에스컬레이션하는 명령
  43. cal – 명령줄 달력 보기
  44. alias – 정기적으로 사용하는 명령에 대한 사용자 지정 바로 가기 만들기
  45. dd – 부팅 가능한 USB 스틱을 만드는 데 주로 사용
  46. whereis – 명령에 대한 바이너리, 소스 및 매뉴얼 페이지를 찾습니다.
  47. whatis – 명령이 무엇에 사용되는지 찾기
  48. 맨 위 – 시스템 사용량과 함께 활성 프로세스를 실시간으로 봅니다.
  49. useradd 및 usermod – 새 사용자 추가 또는 기존 사용자 데이터 변경
  50. passwd – 기존 사용자의 암호 생성 또는 업데이트

 

이제 이러한 각 명령에 대해 조금 더 자세히 살펴보고 더 자세히 이해해 보겠습니다. 이러한 개별 명령 각각에 대한 기존 문서가 이미 많이 있습니다. 귀하의 편의를 위해 모든 기존 기사에 대한 링크를 추가하고 새로운 주제가 다루어지면 기사를 계속 업데이트합니다.

 

리눅스의 ls 명령어

ls 명령은 현재 작업 디렉토리에 있는 파일과 디렉토리를 나열하는 데 사용됩니다. 이것은 당신이 알아야 할 가장 자주 사용되는 Linux 명령 중 하나가 될 것입니다.

 

위 이미지에서 볼 수 있듯이 인수 없이 명령만 사용하면 디렉터리의 모든 파일과 디렉터리가 포함된 출력을 얻을 수 있습니다. 이 명령은 출력에 데이터를 표시하는 측면에서 많은 유연성을 제공합니다.

ls 명령 에 대해 자세히 알아보기 (전체 기사 링크)

 

pwd 명령

 

pwd 명령을 사용하면 터미널에서 현재 작업 디렉토리를 인쇄할 수 있습니다. 매우 기본적인 명령이며 목적을 아주 잘 해결합니다.

 

이제 터미널 프롬프트에는 일반적으로 전체 디렉토리가 있어야 합니다. 그러나 그렇지 않은 경우 이 명령은 현재 있는 디렉터리를 확인하는 빠른 명령이 될 수 있습니다. 이 명령의 또 다른 응용 프로그램은 이 명령을 사용하여 스크립트가 저장된 디렉터리를 찾을 수 있는 스크립트를 생성할 때입니다.

 

cd 명령

 

터미널 내에서 작업하는 동안 디렉토리 내에서 이동하는 것은 거의 필수입니다. cd 명령은 반드시 알아야 하는 중요한 Linux 명령 중 하나이며 디렉토리를 탐색하는 데 도움이 됩니다. 아래와 같이 cd 다음에 디렉토리를 입력하기만 하면 됩니다.

 

$ cd <directory path>

 

위의 명령에서 볼 수 있듯이 저는 단순히 cd /etc/ 를 입력하여 /etc 디렉토리에 들어갔습니다. pwd 명령 을 사용 하여 현재 작업 디렉토리를 인쇄했습니다.

 

pi@raspberrypi:~ $ cd smartfarm/
pi@raspberrypi:~/smartfarm $ pwd
/home/pi/smartfarm

 

mkdir 명령

 

mkdir 명령을 사용하면 터미널 내에서 디렉토리를 만들 수 있습니다. 기본 구문은 mkdir 다음에 디렉토리 이름이 오는 것입니다.

 

$ mkdir <folder name>

 

cp 및 mv 명령

 

cp 및 mv 명령은 Windows의 복사-붙여넣기 및 잘라내기-붙여넣기와 동일합니다. 그러나 Linux에는 실제로 파일 이름을 바꾸는 명령이 없기 때문에 mv 명령을 사용하여 파일과 폴더의 이름을 바꿉니다.

 

$ rm <file name>
$ rm -r <folder/directory name>

 

$ mv <source> <destination

 

위의 경우 같은 디렉토리 내에서 파일을 이동하였기 때문에 이름 바꾸기 역할을 했습니다. 이제 파일 이름이 변경되었습니다.

 

Linux의 rm 명령

 

이전 섹션에서는 Sample-Copy 파일을 삭제했습니다. rm 명령은 파일 및 폴더를 삭제하는 데 사용되며 알아야 할 중요한 Linux 명령 중 하나입니다.

 

rm <file name>
rm -r <folder/directory name>

 

디렉토리를 삭제하려면 -r 인수를 추가해야 합니다. -r 인수가 없으면 rm 명령은 디렉토리를 삭제하지 않습니다.

 

Linux의 touch 명령

 

새 파일을 만들려면 터치 명령이 사용됩니다. touch 키워드 다음 에 파일 이름을 입력하면 현재 디렉토리에 파일이 생성됩니다.

 

ln 명령

 

다른 파일에 대한 링크를 생성하려면 ln 명령을 사용합니다. 이것은 Linux 관리자로 일할 계획이라면 알아야 하는 중요한 Linux 명령 중 하나입니다.

 

$ ln -s <source path> <link name>

 

기본 구문은 -s 매개변수를 사용하여 심볼릭 링크 또는 소프트 링크를 생성할 수 있도록 하는 것입니다.

 

cat, echo 및 less 명령

 

파일 내용을 출력하거나 터미널 출력에 무엇이든 인쇄하려면 cat 또는 echo 명령을 사용합니다. 그들의 기본적인 사용법을 살펴보자.

 

cat 와 echo 명령

 

$ cat 파일 이름

$ echo 문자열

 

위의 예에서 볼 수 있듯이 "New-File"에서 cat 명령 을 사용할 때 파일의 내용을 인쇄합니다. 동시에 echo 명령 을 사용 하면 명령 뒤에 오는 내용을 단순히 인쇄합니다.

 

less 명령 은 어떤 명령에 의해 인쇄된 출력이 화면 공간보다 크고 스크롤이 필요할 때 사용됩니다 . less 명령을 사용하면 출력을 분류하고 엔터 또는 스페이스 키를 사용하여 스크롤할 수 있습니다.

 

man 명령

 

man 명령은 반드시 알아야 하는 매우 유용한 Linux 명령입니다. Linux로 작업할 때 다운로드하는 패키지에는 많은 기능이 있을 수 있습니다. 모든 것을 아는 것은 불가능합니다.

매뉴얼 페이지는 Linux 배포판의 패키지 관리자를 사용하여 다운로드할 수 있는 거의 모든 패키지의 기능을 알 수 있는 정말 효율적인 방법을 제공합니다.

 

명령 형식은 $ man <command>

 

uname 및 whoami 명령

 

uname 및 whoami 명령을 사용하면 여러 시스템에서 작업할 때 매우 유용한 몇 가지 기본 정보를 알 수 있습니다. 일반적으로 단일 컴퓨터로 작업하는 경우 네트워크 관리자만큼 자주 필요하지 않습니다.

두 명령의 출력과 이를 사용하는 방법을 살펴보겠습니다.

 

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
pi@raspberrypi:~ $ whoami
pi

 

내가 uname에 제공한 매개변수 -a 는 "all"을 나타냅니다. 이렇게 하면 전체 정보가 인쇄됩니다. 매개변수를 추가하지 않으면 "Linux"만 출력됩니다.

 

tar, zip 및 unzip 명령

 

Linux의 tar 명령은 Linux에서 아카이브 파일을 만들고 추출하는 데 사용됩니다. tar 명령을 사용하여 여러 아카이브 파일을 추출할 수 있습니다.

아카이브를 생성하려면 -c 매개변수를 사용하고 아카이브를 추출하려면 -x 매개변수를 사용합니다. 작동하는지 봅시다.

 

 tar 압축

 

$ tar -cvf [파일명.tar] [폴더명]
 
# abc라는 폴더를 aaa.tar로 압축 예시
$ tar -cvf aaa.tar abc

 

tar.gz 압축

 

$ tar -zcvf [파일명.tar.gz] [폴더명]
 
# abc라는 폴더를 aaa.tar.gz로 압축 예시
$ tar -zcvf aaa.tar.gz abc

 

zip 압축

 

$ zip [파일명.zip] [폴더명]
 
# 현재폴더 전체를 aaa.zip으로 압축 예시
$ zip aaa.zip ./*
 
# aaa.zip으로 압축하고 현재 폴더의 모든 것과 현재 폴더의 하위 폴더들도 모두 압축 예시
$ zip aaa.zip -r ./*
 
# 위 명령어를 스크립트에서 실행할 때, 파일 경로가 전부 나올 수 있기 때문에 해당 폴더로 이동한 후 작업하는 것을 권장

 

tar 압축해제

 

$ tar -xvf [파일명.tar]
 
# aaa.tar라는 tar파일 압축해제 예시
$ tar -xvf aaa.tar

 

tar.gz 압축 풀기

 

$ tar -zxvf [파일명.tar.gz]
 
#  aaa.tar.gz라는 tar.gz파일 압축 해제
$ tar -zxvf aaa.tar.gz

 

zip 압축 해제

 

$ unzip [파일명.zip]
 
# aaa.zip 압축 해제 예시
$ unzip aaa.zip 
 
# 특정 폴더에 압축해제 예시
$ unzip aaa.zip -d ./target

 

grep 명령어

 

출력 내에서 특정 문자열을 검색하려면 grep 명령이 그림에 나타납니다. 출력을 grep 명령으로 파이프( | )하고 필요한 문자열을 추출할 수 있습니다.

 

pi@raspberrypi:~ $ cat viewfarm.php | grep "result"
* from thl order by time desc limit 10"; $result = mysqli_query($connect, $query) or die("Query Fail: " . mysqli_error()); echo "<table>\n"; echo
while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo "</table>\n"; mysqli_free_result($result); mysqli_close($connect);

 

head and tail 명령

 

대용량 파일을 출력할 때 head 및 tail 명령이 유용합니다. 많은 단어가 알파벳순으로 배열된 "Words"라는 파일을 만들었습니다. head 명령은 파일에서 처음 10줄을 출력하고 tail 명령은 마지막 10줄을 출력합니다. 여기에는 텍스트가 있는 줄뿐만 아니라 빈 줄도 포함됩니다.

 

pi@raspberrypi:~ $ head viewfarm.php
<script language='javascript'>
  window.setTimeout('window.location.reload()',1000); </script>
<?php
$connect = mysqli_connect('localhost', 'smartiot', '1234', 'demofarmdb')
   or die("Connect Fail: " . mysql_error()); echo "Connect Success!";
   //mysql_select_db("demofarmdb") or die("Select DB Fail!");
   $query = "select
* from thl order by time desc limit 10"; $result = mysqli_query($connect, $query) or die("Query Fail: " . mysqli_error()); echo "<table>\n"; echo
"<tr><td>Time</td><td>TEM</td><td>HUM</td><td>ILL</td></tr>";
while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

 

pi@raspberrypi:~ $ tail viewfarm.php
"<tr><td>Time</td><td>TEM</td><td>HUM</td><td>ILL</td></tr>";
while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n"; mysqli_free_result($result); mysqli_close($connect);
?>

 

 

head 명령어

보시다시피 head 명령은 파일 상단에서 10줄을 보여주었습니다.

테일 커맨드 당신이 알아야 할 리눅스 명령어

tail 명령은 파일에서 맨 아래 10줄을 출력했습니다.

tail 명령 에 대해 자세히 알아보기 (문서 링크)

 

diff, comm 및 cmp 명령

 

Linux는 파일을 비교하는 여러 명령을 제공합니다. diff, comm 및 cmp 명령은 차이점을 비교하며 알아야 할 가장 유용한 Linux 명령 중 일부입니다. 세 가지 명령 모두에 대한 기본 출력을 살펴보겠습니다.

 

diff는 differences 의 약어로서 두 파일 사이의 내용을 비교하는 명령어이다. cmp 보다 diff 가 보다 직관적이고 명확하게 찾아준다. 실행결과 차이점이 없다면 0, 차이점이 있다면 1, 실행시 에러가 발생하면 2 이상의 종료코드 값을 얻는다. 

 

comm은 지정한 두파일의 행과 행을 비교할 때에 사용하는 명령어이다. 

 

cmp는 compare 의 약어로서 두개의 파일이 어떤 부분이 다른가를 비교할 때에 사용하는 명령어이다. 두개의 파일을 단순히 같은가 다른가를 확인할 수 있으며 또한 몇행의 몇번째 문자가 다른가를 확인할 수도 있다. 두 파일이 동일한가를 확인하고자 할 때에 주로 사용한다.  

 

sort 명령

 

sort 명령은 파일 내용의 정렬된 출력을 제공합니다. 매개변수 없이 sort 명령을 사용하여 출력을 살펴보겠습니다. 정렬 명령의 기본 구문은 다음과 같습니다.

 

pi@raspberrypi:~ $ sort <filename>

 

export 명령

 

export 명령은 런타임에 환경 변수를 내보낼 때 특별히 사용됩니다. 예를 들어 bash 프롬프트를 업데이트하려면 PS1 환경 변수를 업데이트합니다. bash 프롬프트가 즉시 업데이트됩니다.

 

export <variable name>=<value>

 

어떤 이유로 bash 프롬프트가 업데이트되지 않으면 bash 를 입력하기만 하면 업데이트된 터미널 프롬프트가 표시됩니다.

 

Linux의 ssh 명령

ssh 명령을 사용하면 ssh 프로토콜을 사용하여 네트워크의 외부 시스템에 연결할 수 있습니다. ssh 명령의 기본 구문은 다음과 같습니다.

 

pi@raspberrypi:~ $ ssh username@hostname

 

service 명령

 

Linux의 서비스 명령은 운영 체제 내에서 다른 서비스를 시작 및 중지하는 데 사용됩니다. 명령의 기본 구문은 다음과 같습니다.

 

root@ubuntu:~ -->> service ssh status
root@ubuntu:~ -->> service ssh stop
root@ubuntu:~ -->> service ssh start

root@ubuntu:~ -->> service ssh status

root@ubuntu:~ -->> service ssh stop

root@ubuntu:~ -->> service ssh start

 

이미지에서 볼 수 있듯이 ssh 서버는 우리 시스템에서 실행 중입니다.

 

pi@raspberrypi:~ $ service ssh status
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
   Active: active (running) since Sun 2022-07-31 18:17:06 KST; 21h ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 500 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 547 (sshd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/ssh.service
           └─547 /usr/sbin/sshd -D

 7월 31 18:17:05 raspberrypi systemd[1]: Starting OpenBSD Secure Shell server...
 7월 31 18:17:06 raspberrypi sshd[547]: Server listening on 0.0.0.0 port 22.
 7월 31 18:17:06 raspberrypi sshd[547]: Server listening on :: port 22.
 7월 31 18:17:06 raspberrypi systemd[1]: Started OpenBSD Secure Shell server.
 7월 31 18:17:30 raspberrypi sshd[1248]: Accepted password for pi from 192.168.0
 7월 31 18:17:30 raspberrypi sshd[1248]: pam_unix(sshd:session): session opened

 

ps, kill 및 killall 명령

 

프로세스에 대해 이야기하는 동안 활성 프로세스를 찾아 종료하는 방법을 살펴보겠습니다. 실행 중인 프로세스를 찾으려면 터미널 프롬프트에 ps -x를 입력하고 실행 중인 프로세스 목록을 가져오기만 하면 됩니다.

 

pi@raspberrypi:~ $ ps -x
  PID TTY      STAT   TIME COMMAND
  699 ?        Ss     0:00 /lib/systemd/systemd --user
  700 ?        S      0:00 (sd-pam)
  726 ?        Ssl    0:00 /usr/bin/lxsession -s LXDE-pi -e LXDE
  734 ?        Ss     0:00 /usr/bin/dbus-daemon --session --address=systemd: --n
  783 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/im-launch x-session-manag
  809 ?        S      0:00 /usr/bin/fcitx -d
  822 ?        Ss     0:00 /usr/bin/dbus-daemon --syslog --fork --print-pid 5 --
  826 ?        SN     0:00 /usr/bin/fcitx-dbus-watcher unix:abstract=/tmp/dbus-N
  830 ?        Ssl    0:00 /usr/lib/gvfs/gvfsd
  835 ?        Sl     0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o bi
  846 ?        S      0:00 openbox --config-file /home/pi/.config/openbox/lxde-p
  849 ?        Sl     0:00 lxpolkit

 

프로세스를 종료할 때는 sudo kill p pid 입력합니다.

 

pi@raspberrypi:~ $ sudo kill -9 864

 

그러나 프로세스 ID를 모르고 이름으로 프로세스를 종료하려는 경우 killall 명령을 사용할 수 있습니다.

 

 

df 및 마운트 명령

 

Linux로 작업할 때 df 및 mount 명령은 파일 시스템을 마운트하고 파일 시스템의 세부 정보를 가져오는 매우 효율적인 유틸리티입니다.

 

마운트라고 하면 파일 시스템에서 파일에 액세스할 수 있도록 장치를 폴더에 연결한다는 의미입니다. 파일 시스템을 마운트하는 기본 구문은 다음과 같습니다.

 

pi@raspberrypi:~ $ mount /dev/cdrom /mnt
pi@raspberrypi:~ $ df -h

 

위의 경우 /dev/cdrom 은 마운트해야 하는 장치입니다. 일반적으로 마운트 가능한 장치는 /dev 폴더 안에 있습니다. /mnt 는 장치를 마운트할 대상 폴더입니다. 원하는 폴더로 변경할 수 있지만 /mnt는 장치를 마운트하기 위한 거의 시스템 기본 폴더이기 때문에 /mnt를 사용했습니다.

 

마운트된 장치를 보고 이에 대한 추가 정보를 얻으려면 df 명령을 사용합니다. df 를 입력하기만 하면 읽을 수 없는 바이트 단위의 데이터가 제공됩니다. 그래서 우리는 -h 매개변수를 사용하여 데이터를 사람이 읽을 수 있도록 만들 것입니다.

 

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        15G   13G  1.5G  90% /
devtmpfs        1.7G     0  1.7G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  9.6M  1.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mmcblk0p1  253M   49M  204M  20% /boot
tmpfs           379M  4.0K  379M   1% /run/user/1000
pi@raspberrypi:~ $

 

chmod 및 chown 명령

 

chmod 및 chown 명령은 파일 권한을 변경하는 기능을 제공하며 파일 소유권은 알아야 할 가장 중요한 Linux 명령입니다. 두 명령의 기능 간의 주요 차이점은 chmod 명령을 사용하면 파일 권한을 변경할 수 있고 chown을 사용하면 파일 소유자를 변경할 수 있다는 점입니다.

두 명령의 기본 구문은 chmod filename 및 chown filename입니다.

 

chmod <parameter> filename

 

chown <user:group> filename

 

ifconfig 및 traceroute 명령

 

Linux의 네트워킹 섹션으로 이동하면 네트워크를 관리하는 경우 자주 사용되는 ifconfig 및 traceroute 명령이 있습니다. ifconfig 명령은 IP 주소, MAC 주소 및 인터페이스에 대한 기타 정보와 함께 모든 네트워크 인터페이스 목록을 제공합니다.

 

pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.19  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::7a44:cf6f:7e88:2c6a  prefixlen 64  scopeid 0x20<link>
        ether e4:5f:01:5d:a9:94  txqueuelen 1000  (Ethernet)
        RX packets 2247  bytes 1442736 (1.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1039  bytes 115699 (112.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 156  bytes 14086 (13.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 156  bytes 14086 (13.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.5  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::9427:6454:f1b0:5b90  prefixlen 64  scopeid 0x20<link>
        ether e4:5f:01:5d:a9:98  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 214  bytes 38736 (37.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

pi@raspberrypi:~ $ traceroute localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
 1  localhost (127.0.0.1)  0.113 ms  0.047 ms  0.045 ms
 
pi@raspberrypi:~ $ traceroute 192.168.0.19
traceroute to 192.168.0.19 (192.168.0.19), 30 hops max, 60 byte packets
 1  192.168.0.19 (192.168.0.19)  0.115 ms  0.061 ms  0.057 ms

 

이제 분명히 localhost는 하나의 홉(네트워크 인터페이스 자체)입니다. 다른 도메인 이름이나 IP 주소로 이 동일한 명령을 시도하여 데이터 패킷이 대상에 도달하기 위해 통과하는 모든 라우터를 볼 수 있습니다.

 

wget 명령

 

터미널 내에서 파일을 다운로드하려는 경우 wget 명령은 사용 가능한 가장 편리한 명령줄 유틸리티 중 하나입니다. 이것은 소스 파일로 작업할 때 알아야 하는 중요한 Linux 명령 중 하나입니다.

 

다운로드 링크를 지정할 때 파일에 대한 직접 링크여야 합니다. wget 명령으로 파일에 액세스할 수 없는 경우 원하는 실제 파일 대신 HTML 형식으로 웹 페이지를 다운로드하기만 하면 됩니다.

 

예를 들어 보겠습니다. wget 명령의 기본 구문은 다음과 같습니다.

 

wget <link to file>
wget -c <link to file>

 

-c 인수를 사용하면 중단된 다운로드를 재개할 수 있습니다 .

 

ufw 및 iptables 명령

 

UFW 및 IPTables는 Linux 커널의 netfilter 방화벽을 위한 방화벽 인터페이스입니다. IPTables는 방화벽 규칙을 netfilter에 직접 전달하는 반면 UFW는 IPTables의 규칙을 구성한 다음 해당 규칙을 netfilter로 보냅니다.

 

IPTable이 있을 때 UFW가 필요한 이유는 무엇입니까? IPTables는 초보자에게 꽤 어렵기 때문입니다. UFW는 일을 매우 쉽게 만듭니다. 웹 서버에 포트 80을 허용하려는 아래 예를 참조하십시오.

 

pi@raspberrypi:~ $ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
pi@raspberrypi:~ $ ufw allow 80

 

이제 UFW가 만들어진 이유를 알 것입니다. 구문이 얼마나 쉬워지는지 보십시오. 이 두 방화벽은 모두 매우 포괄적이며 네트워크에 필요한 모든 종류의 구성을 만들 수 있습니다. UFW 또는 IPTables 방화벽의 기본 사항은 반드시 알아야 하는 Linux 명령이므로 최소한 배우십시오.

 

Linux의 패키지 관리자

 

Linux의 다른 배포판은 다른 패키지 관리자를 사용합니다. 우분투 서버에서 작업 중이므로 apt 패키지 관리자 가 있습니다. 그러나 Fedora, Red Hat, Arch 또는 Centos 시스템에서 작업하는 사람의 경우 패키지 관리자가 다릅니다.

 

  • Debian and Debian-based distros – apt install
  • Arch and Arch-based distros – pacman -S
  • Red Hat and Red Hat-based distros – yum install
  • Fedora and CentOS – yum install

 

배포판의 패키지 관리자에 대해 잘 알고 있으면 장기적으로 훨씬 쉽게 작업을 수행할 수 있습니다. 따라서 GUI 기반 패키지 관리 도구가 설치되어 있더라도 GUI 유틸리티로 이동하기 전에 CLI 기반 도구를 사용해 보십시오. 알아야 할 Linux 명령 목록에 추가하십시오.

 

sudo 명령

 

"큰 힘에는 큰 책임이 따른다"

이것은 sudo 활성화된 사용자(sudoer)가 권한을 갖기 위해 sudo 명령을 처음 사용할 때 표시되는 인용문입니다. 이 명령은 root로 로그인한 것과 같습니다(sudoer로 어떤 권한을 가지고 있는지에 따라 다름).

 

상승된 권한으로 실행해야 하는 명령 앞에 sudo 라는 단어를 추가하기만 하면 됩니다. 사용은 매우 간단하지만 악의적인 사용자가 sudoer에 액세스할 경우 보안 위험이 추가될 수도 있습니다.

 

 

cal 명령

 

터미널에서 달력을 보고 싶었던 적이 있습니까? 나도! 그러나 분명히 그것이 일어나기를 원하는 사람들이 있었고 여기에서 잘되었습니다.

cal 명령 은 터미널에 잘 표시된 달력을 표시합니다. 터미널 프롬프트에 단어 cal을 입력하기만 하면 됩니다.

 

pi@raspberrypi:~ $ cal May 2019
      5월 2019
일 월 화 수 목 금 토
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

pi@raspberrypi:~ $

 

굳이 필요하지 않아도 정말 좋은 기능이네요! 나는 터미널 팬을 가진 사람들이 있다고 확신하며 이것은 그들에게 정말 놀라운 옵션입니다.

 

alias 명령

 

터미널을 사용하면서 자주 실행하는 명령이 있습니까? rm -r 또는 ls -l 이거나 tar -xvzf 와 같이 더 길 수 있습니다 . 이것은 당신이 알아야 할 생산성 향상 Linux 명령 중 하나입니다.

자주 실행하는 명령을 알고 있다면 이제 별칭을 만들 차례입니다. 별칭이 무엇인가요? 간단히 말해서 정의한 명령의 다른 이름입니다.

 

root@ubuntu:~# alias lsl="ls -l"
OR
root@ubuntu:~# alias rmd="rm -r"

 

이제 터미널에 lsl 또는 rmd 를 입력할 때마다 전체 명령을 사용한 경로로 출력합니다.

여기에 있는 예는 매번 손으로 입력할 수 있는 아주 작은 명령에 대한 것입니다. 그러나 명령에 입력해야 하는 인수가 너무 많은 일부 상황에서는 동일한 인수의 축약 버전을 만드는 것이 가장 좋습니다.

 

dd 명령

 

이 명령은 여러 파일 시스템 형식에서 파일을 변환하고 복사하기 위해 만들어졌습니다. 현재 이 명령은 단순히 Linux용 부팅 가능한 USB를 만드는 데 사용되지만 명령으로 수행할 수 있는 몇 가지 중요한 작업이 있습니다.

예를 들어 전체 하드 드라이브를 있는 그대로 다른 드라이브에 백업하려면 dd 명령을 사용합니다.

 

pi@raspberrypi:~ $ dd if = /dev/sdb of = /dev/sda

 

if 및 of 인수는 입력 파일 및 출력 파일 을 나타냅니다 .

 

whereis 및 whatis 명령

 

명령의 이름은 기능을 매우 명확하게 합니다. 그러나 일을 더 명확하게 하기 위해 기능을 시연해 보겠습니다.

whereis 명령 은 whereis 명령 뒤에 입력하는 모든 명령의 정확한 위치를 출력합니다 .

 

pi@raspberrypi:~ $ whereis sudo
sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz

 

whatis 명령은 명령 이 실제로 무엇인지에 대한 설명을 제공합니다. whereis 명령과 유사하게 whatis 명령 뒤에 입력하는 모든 명령에 대한 정보를 받게 됩니다 .

 

pi@raspberrypi:~ $ whatis sudo
sudo (8)             - execute a command as another user

 

Linux의 최상위 명령

 

앞서 몇 섹션에서 ps 명령에 대해 이야기했습니다. ps 명령이 활성 프로세스를 출력하고 자체적으로 종료되는 것을 관찰했습니다.

top 명령은 Windows에서 작업 관리자의 CLI 버전과 같습니다. 프로세스와 메모리 사용량, CPU 사용량 등과 같은 프로세스에 수반되는 모든 정보를 실시간으로 볼 수 있습니다.

top 명령을 얻으려면 터미널에 top 이라는 단어를 입력하기만 하면 됩니다.

 

pi@raspberrypi:~ $ top
top - 14:19:48 up 0 min,  3 users,  load average: 1.06, 0.29, 0.10
Tasks: 187 total,   1 running, 186 sleeping,   0 stopped,   0 zombie
%Cpu(s): 15.6 us,  9.6 sy,  1.5 ni, 66.6 id,  6.6 wa,  0.0 hi,  0.1 si,  0.0 st
MiB Mem :   3787.2 total,   3140.8 free,    231.3 used,    415.1 buff/cache
MiB Swap:    100.0 total,    100.0 free,      0.0 used.   3381.2 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1383 root      20   0   41116   9412   7856 S   8.9   0.2   0:00.27 cups-brow+
    1 root      20   0   33884   8248   6444 S   2.6   0.2   0:10.44 systemd
  415 message+  20   0    6960   3808   3064 S   1.3   0.1   0:00.49 dbus-daem+
  444 avahi     20   0    5892   3044   2720 S   1.0   0.1   0:00.18 avahi-dae+
 1382 root      20   0   26392   6520   5648 S   1.0   0.2   0:00.03 cupsd
  102 root       0 -20       0      0      0 I   0.7   0.0   0:00.21 kworker/1+
  487 root      20   0   30732   8960   7568 S   0.7   0.2   0:00.28 nmbd
  854 pi        20   0   10088   4528   3872 S   0.7   0.1   0:00.12 xscreensa+
 1276 pi        20   0    9188   3096   2564 R   0.7   0.1   0:00.10 top
   11 root      20   0       0      0      0 S   0.3   0.0   0:00.26 ksoftirqd+
   12 root      20   0       0      0      0 I   0.3   0.0   0:00.07 rcu_sched
   17 root      20   0       0      0      0 S   0.3   0.0   0:00.16 ksoftirqd+
   63 root       0 -20       0      0      0 I   0.3   0.0   0:00.47 kworker/0+
   75 root      20   0       0      0      0 I   0.3   0.0   0:00.11 kworker/u+
   95 root       0 -20       0      0      0 I   0.3   0.0   0:00.26 kworker/2+
   96 root       0 -20       0      0      0 I   0.3   0.0   0:00.02 kworker/2+
  128 root      20   0   21396   7108   6108 S   0.3   0.2   0:00.81 systemd-j+

 

useradd 및 usermod

 

useradd 또는 adduser 명령 은 adduser가 useradd 명령에 대한 기호 링크일 뿐인 동일한 명령입니다. 이 명령을 사용하면 Linux에서 새 사용자를 만들 수 있습니다.

 

root@ubuntu:~# useradd new-user-name -d /home/NUN

 

위의 명령은 홈 디렉토리가 /home/NUN 인 new-user-name라는 새 사용자를 생성합니다 .

 

반면 에 usermod 명령은 기존 사용자를 수정하는 데 사용됩니다. 그룹, 권한 등을 포함하여 사용자의 모든 값을 수정할 수 있습니다.

예를 들어 사용자에게 더 많은 그룹을 추가하려면 다음을 입력합니다.

 

root@ubuntu:~# usermod NUN -a -G sudo, audio, mysql

 

passwd

 

이제 새 사용자를 만드는 방법을 알았으므로 새 사용자의 암호도 설정하겠습니다. passwd 명령을 사용하면 자신의 계정에 대한 암호를 설정하거나 권한이 있는 경우 다른 계정에 대한 암호를 설정할 수 있습니다 .

명령 사용법은 매우 간단합니다.

 

root@ubuntu:~# passwd
New password: 
Retry new password:
passwd: password updated successfully
root@ubuntu:~#

 

passwd 뒤에 사용자 이름을 추가하면 다른 사용자의 암호를 설정할 수 있습니다. 새 비밀번호를 두 번 입력하면 완료됩니다. 사용자에 대해 새 암호가 설정됩니다.

 

 

이미지 출처 https://www.journaldev.com/34067/linux-commands

 

참고 문서 출처: Top 50+ Linux Commands You MUST Know 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^