>  기사  >  운영 및 유지보수  >  명령줄 기술 향상: Bash 및 Linux 기호 및 명령에 대한 전체 가이드

명령줄 기술 향상: Bash 및 Linux 기호 및 명령에 대한 전체 가이드

王林
王林앞으로
2023-06-25 15:02:161719검색

이 가이드는 Linux 및 Bash 기호와 명령의 광대한 세계를 탐험하도록 안내합니다. 파일 시스템 탐색, 텍스트 처리, 네트워킹, 시스템 관리 등과 같은 다양한 주제를 다루고 각 명령에 대한 실제 예제를 제공합니다. 숙련된 Linux 사용자이든 이제 막 시작하는 사용자이든 이 가이드는 명령줄 기술을 향상하고 일상 작업을 더욱 효율적으로 수행하는 데 도움이 될 수 있습니다. 이제 터미널을 열고 시작해보세요!

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

리디렉션

Bash의 가장 기본적이면서도 강력한 기능 중 하나는 명령의 입력과 출력을 리디렉션하는 기능입니다. 다음은 리디렉션에 사용할 수 있는 몇 가지 기호입니다.

  • >: 명령 출력을 파일로 리디렉션하고 파일이 이미 있는 경우 내용을 덮어씁니다. 예를 들어, ls > linuxmi.txt는 명령의 출력을 linuxmi.txt라는 ls에 기록합니다.
  • >>: 명령의 출력을 파일로 리디렉션하고 다음과 같은 경우 파일 끝에 추가합니다. 존재하는 파일입니다 . 예를 들어, echo "Hello, world!www.linuxmi.com" >> linuxmi.txt는 파일 끝에 "Hello, world!www.linuxmi.com"이라는 문자열을 추가합니다.
  • <: 명령 입력을 키보드에서 파일로 변경합니다. 예를 들어, sort < linuxmi.txt는 linuxmi.txt의 내용을 정렬합니다.
  • 2>: 명령의 오류 출력을 파일로 리디렉션하는 데 사용됩니다.
  • 2>>: 명령의 오류 출력을 파일에 추가하는 데 사용됩니다.
  • &>: 명령의 출력과 오류 출력을 모두 파일로 리디렉션하는 데 사용됩니다.
  • &>>: 명령의 출력 및 오류 출력을 파일에 추가하는 데 사용됩니다.

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

Pipeline

파이프를 사용하여 여러 명령을 연결하여 한 명령의 출력이 다른 명령의 입력이 되도록 할 수 있습니다. 파이프의 기호는 |입니다. 예는 다음과 같습니다.

ls -l | grep "linuxmi"

이 명령은 현재 디렉터리의 내용을 긴 형식( ls -l )으로 나열한 다음 출력에서 ​​"linuxmi" 문자열을 검색하는 grep 명령에 출력을 전달합니다.

  • tee: 명령 출력을 분할하여 파일과 표준 출력으로 보내는 데 사용됩니다.

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

와일드카드 및 와일드카드

Bash는 와일드카드라는 강력한 기능을 지원합니다. 이 기능을 사용하면 와일드카드를 사용하여 파일 이름 패턴을 일치시킬 수 있습니다. 다음은 globbing에서 가장 일반적으로 사용되는 기호 중 일부입니다.

  • *: 파일 이름의 모든 문자와 일치합니다. 예를 들어, ls *.txt는 현재 디렉터리에서 .txt.
  • ?:로 시작하는 모든 파일을 나열하고 해당 이름의 단일 문자와 일치합니다. 예를 들어, ls file?.txt는 현재 디렉터리에서 file로 시작하고 뒤에 단 한 개의 문자와 .txt가 오는 모든 파일을 나열합니다.
  • [ ]: 문자 집합 중 하나와 일치합니다. 예를 들어, ls file[123].txt는 현재 디렉터리에서 또는 file로 시작하고 .123.txt

로 끝나는 모든 파일을 나열합니다. 일반적인 표현

  • grep: 파일이나 스트림에서 패턴을 검색하는 데 사용됩니다. .
  • sed: 파일이나 스트림에서 텍스트 변환을 수행하는 데 사용됩니다.
  • awk: 그래픽 스캐닝 및 처리용.
  • egrep: 확장을 위한 정규 표현식입니다.
  • fgrep: 고정 문자열 정규식용.
  • regex: 특수 문자와 연산자를 사용하여 텍스트 패턴에 대한 기호를 지정합니다.

변수 확장 및 환경 변수

  • $: 변수 값을 참조하는 데 사용됩니다.
  • export: Bash에서 환경 변수를 생성하거나 수정하는 데 사용됩니다.
  • ${}: 변수 확장에 사용됩니다.
  • $(()): 산술 확장에 사용됩니다.
  • env: 현재 환경 변수를 표시하는 데 사용됩니다.
  • echo: 환경 변수의 텍스트나 값을 표시하는 데 사용됩니다.

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

通配符和通配符

  • *: 匹配文件名中任意数量的字符。
  • ?: 匹配文件名中的任何单个字符。

否定

  • !:与其他命令结合使用,执行取反。

算术运算

  • +:算术表达式中的加法运算符。例如,echo $((2+3))将输出5.
  • -:算术表达式中的减法运算符。例如,echo $((16-5))将输出11.
  • *:算术表达式中的乘法运算符。例如,echo $((4*5))将输出20.
  • /: 算术表达式中的除法运算符。例如,echo $((20/2))将输出10.
  • $((expression)):用于在 Bash 中执行算术运算。例如,echo $((2 + 6))将打印值 8。
  • expr:用于执行算术运算。

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

比较

  • ==:用于比较条件表达式中两个值是否相等。例如,if [ "$name" == "linuxmi" ]; then echo "Hello, linuxmi!"; fi将输出“Hello, linuxmi!” 如果变量的name值为“linuxmi”。
  • !=:用于比较条件表达式中的两个值是否不相等。例如,if [ "$name" != "linuxmi" ]; then echo "You're not linuxmi!"; fi将在变量name的值不为“John”输出“You’re not linuxmi!”。

条件执行

  • &&:用于仅在前一个命令成功执行时执行后续命令。例如,command1 && command2 会仅在 command1 成功执行后才执行command2。
  • ||:用于仅在前一个命令失败时执行后续命令。例如,command1 || command2会仅在 command1 失败后才执行 command2。

条件语句

  • if:用于检查条件是否为真并相应地执行命令。例如,if [[ $foo == "bar" ]]; then echo "foo is bar"; fi将检查变量是否foo等于“bar”,如果为真则打印“foo is bar”。
  • elifif:如果语句中的先前条件为假,则用于检查其他条件。例如,if [[ $foo == "bar" ]]; then echo "foo is bar"; elif [[ $foo == "baz" ]]; then echo "foo is baz"; else echo "foo is something else"; fi将检查是否foo等于“bar”并在为真时打印“foo is bar”,否则检查是否foo等于“baz”并在为真时打印“foo is baz”,最后打印“foo is something else”如果前面两个条件都为假。
  • [[ ]]:用于在 Bash 中执行条件测试。
  • case:用于将变量与模式列表进行匹配并相应地执行命令。例如:
case $fruit inapple)echo "It's an apple";;banana)echo "It's a banana";;*)echo "It's something else";;esac

将检查变量的值fruit,如果等于“apple”则打印“It’s an apple”,如果等于“banana”则打印“It’s a banana”,对于任何其他值则打印“It’s something else”。

Loop

  • for: 항목 목록을 순회하는 루프를 만드는 데 사용됩니다. 예를 들어, 사과 바나나 오렌지의 과일에 대해 do echo $fruit; done 은 "사과", "바나나" 및 "오렌지"를 별도의 줄에 출력합니다.
  • while: 조건이 true인 동안 명령을 계속 실행하는 루프를 만드는 데 사용됩니다. 예를 들어, true; do echo "Hello"; sleep 1; done 은 스크립트가 중단될 때까지 "Hello"를 반복적으로 출력합니다.
  • until: 조건이 true가 될 때까지 명령을 실행하는 데 사용됩니다.

Function

  • function: Bash에서 함수를 정의하는 데 사용됩니다. 예를 들어, function hello { echo "Hello, $1!" } 는 하나의 매개변수를 받아들이고 "Hello" 뒤에 매개변수를 인쇄하는 hello라는 함수를 정의합니다.
  • $1, $2, etc.: 함수에 전달된 첫 번째, 두 번째, 세 번째 등의 매개변수를 참조하는 데 사용됩니다. 예를 들어 위에 정의된 hello 함수에서 $1은 함수에 전달된 첫 번째 매개변수를 나타냅니다.

Array

  • []: Bash에서 배열을 정의하는 데 사용됩니다. 예를 들어, my_array=(apple 바나나 오렌지)는 my_array "apple", "banana" 및 "orange"라는 배열을 정의합니다.
  • ${array[@]}: Bash에서 배열의 모든 요소를 ​​참조하는 데 사용됩니다. 예를 들어 echo ${my_array[@]}는 한 줄에 "apple 바나나 오렌지"를 출력합니다.

프로세스 제어 및 관리

  • &: 백그라운드에서 명령을 실행하는 데 사용됩니다.
  • ctrl-c: 실행 중인 명령을 종료하는 데 사용됩니다.
  • ctrl-z: 실행 중인 명령을 일시 중지하는 데 사용됩니다.
  • ps: 실행 중인 프로세스에 대한 정보를 표시하는 데 사용됩니다.
  • kill: 실행 중인 프로세스를 종료하는 데 사용됩니다.
  • nohup: 터미널이 닫혀 있어도 백그라운드에서 명령을 실행하는 데 사용됩니다.
  • nice: 프로세스의 우선순위를 설정하는 데 사용됩니다.
  • renice: 이미 실행 중인 프로세스의 우선순위를 수정하는 데 사용됩니다.

파일 시스템 작업

  • cp: 파일을 복사하는 데 사용됩니다.
  • mv: 파일을 이동하거나 이름을 바꾸는 데 사용됩니다.
  • rm: 파일을 삭제하는 데 사용됩니다.
  • mkdir: 디렉터리를 만드는 데 사용됩니다.
  • rmdir: 디렉터리를 삭제하는 데 사용됩니다.
  • ln: 파일이나 디렉터리 간의 링크를 만드는 데 사용됩니다.

파일 및 텍스트 작업

  • head: 파일의 처음 몇 줄을 표시하는 데 사용됩니다.
  • tail: 파일의 마지막 몇 줄을 표시하는 데 사용됩니다.
  • sort: 텍스트 줄을 알파벳순이나 숫자순으로 정렬하는 데 사용됩니다.
  • uniq: 중복된 텍스트 줄을 제거하는 데 사용됩니다.
  • cut: 텍스트 줄에서 특정 열이나 필드를 추출하는 데 사용됩니다.
  • 붙여넣기: 여러 파일의 줄을 병합하는 데 사용됩니다.

Permissions

  • chmod: 파일 및 디렉터리의 권한을 변경하는 데 사용됩니다.
  • chown: 파일이나 디렉터리의 소유자를 변경하는 데 사용됩니다.
  • chgrp: 파일이나 디렉터리의 그룹을 변경하는 데 사용됩니다.
  • umask: 새 파일 및 디렉터리에 대한 기본 권한을 설정하는 데 사용됩니다.

문자열 연산, 검색 및 비교

  • cut: 파일이나 스트림에서 특정 열을 추출하는 데 사용됩니다.
  • tr: 문자를 번역하거나 삭제하는 데 사용됩니다.
  • sort: 텍스트 줄을 정렬하는 데 사용됩니다.
  • uniq: 파일이나 스트림에서 중복된 줄을 제거하는 데 사용됩니다.
  • grep: 파일이나 스트림에서 패턴을 검색하는 데 사용됩니다.
  • sed: 파일이나 스트림에서 텍스트 변환을 수행하는 데 사용됩니다.
  • awk: 그래픽 스캐닝 및 처리용.
  • diff: 두 파일을 한 줄씩 비교하는 데 사용됩니다.
  • cmp: 두 파일을 바이트 단위로 비교하는 데 사용됩니다.

Network

  • ping: 네트워크 호스트에 대한 연결을 테스트하는 데 사용됩니다.
  • curl: 서버와 데이터를 주고받는 데 사용됩니다.
  • wget: 인터넷에서 파일을 다운로드하는 데 사용됩니다.
  • ssh: 원격 컴퓨터에 안전하게 연결하는 데 사용됩니다.
  • nslookup: 호스트 이름을 IP 주소로 확인하기 위해 DNS 서버를 쿼리하는 데 사용됩니다.
  • ifconfig: 네트워크 인터페이스를 표시하고 구성하는 데 사용됩니다.
  • netstat: 네트워크 통계 및 활성 연결 수를 표시하는 데 사용됩니다.

SSH 및 암호화

  • ssh-keygen: 안전한 원격 액세스를 위해 SSH 키를 생성하고 관리하는 데 사용됩니다.
  • scp: SSH 연결을 통해 시스템 간에 파일을 안전하게 전송하는 데 사용됩니다.
  • openssl: SSL/TLS 인증서 생성 및 관리, 암호화 및 복호화와 같은 암호화 기능용.
  • gpg: 암호화, 복호화 및 디지털 서명 확인에 사용됩니다.

시스템 정보, 유지 관리 및 관리

  • sudo: 높은 권한으로 명령을 실행하는 데 사용됩니다.
  • su: 다른 사용자 계정으로 전환하는 데 사용됩니다.
  • systemctl: systemd 기반 Linux 배포판에서 시스템 서비스를 관리하는 데 사용됩니다.
  • uptime: 시스템이 실행된 기간을 표시하는 데 사용됩니다.
  • journalctl: 시스템 로그를 보는 데 사용됩니다.
  • fdisk: 디스크 파티션을 생성하고 운영하는 데 사용됩니다.
  • mount: 시스템에 파일 시스템을 마운트하는 데 사용됩니다.
  • top: 시스템 리소스 사용량을 표시하는 데 사용됩니다.
  • htoptop: 실시간 시스템 모니터링 및 리소스 사용 정보를 제공하는 고급 버전입니다.
  • ps: 실행 중인 프로세스에 대한 정보를 표시하는 데 사용됩니다.
  • df: 디스크 공간 사용량을 표시하는 데 사용됩니다.
  • du: 파일이나 디렉터리의 크기를 표시하는 데 사용됩니다.
  • apt-get: 소프트웨어 패키지 설치, 제거, 업데이트를 위한 패키지 관리 도구입니다.
  • dpkg: 소프트웨어 패키지 설치 및 관리를 위한 패키지 관리 도구입니다.
  • shutdown: 시스템을 종료하거나 다시 시작하는 데 사용됩니다.
  • free: 시스템 메모리 사용량을 표시하는 데 사용됩니다.
  • uname: 커널 버전, 호스트 이름 등과 같은 시스템 정보를 표시하는 데 사용됩니다.
  • lscpu: CPU 정보를 표시하는 데 사용됩니다.
  • lsusb: 시스템에 연결된 USB 장치를 표시하는 데 사용됩니다.
  • nmon: CPU, 메모리, 디스크 I/O 및 네트워크 사용량을 포함한 자세한 시스템 성능 정보를 표시하는 데 사용됩니다.
  • sar: 일정 기간 동안 시스템 성능 데이터를 수집하고 보고하는 데 사용됩니다.
  • lshw: 시스템 하드웨어 정보를 표시하는 데 사용됩니다.
  • dmidecode: 시스템의 BIOS 및 하드웨어 정보를 표시하는 데 사용됩니다.
  • lsblk: 시스템의 블록 장치(예: 하드 드라이브)에 대한 정보를 표시하는 데 사용됩니다.
  • lspci: 시스템에 연결된 PCI 장치 정보를 표시하는 데 사용됩니다.
  • lsusb: 시스템에 연결된 USB 장치 정보를 표시하는 데 사용됩니다.

사용자 입력

  • 읽기: 명령줄에서 사용자 입력을 읽는 데 사용됩니다.
  • select: 사용자에게 옵션 메뉴를 표시하는 데 사용됩니다.

명령줄 편집

  • ctrl-a: 커서를 줄의 시작 부분으로 이동하는 데 사용됩니다.
  • ctrl-e: 커서를 줄 끝으로 이동하는 데 사용됩니다.
  • ctrl-k: 커서 위치부터 줄 끝까지의 텍스트를 삭제하는 데 사용됩니다.
  • ctrl-u: 커서 위치부터 줄 시작 부분까지의 텍스트를 삭제하는 데 사용됩니다.

텍스트 편집

  • nano: 간단한 명령줄 텍스트 편집기.
  • vi 또는 vim: 다양한 기능을 갖춘 고급 텍스트 편집기입니다.
  • cat: 터미널에 파일 내용을 표시하는 데 사용됩니다.
  • head: 파일의 처음 몇 줄을 표시하는 데 사용됩니다.
  • tail: 파일의 마지막 몇 줄을 표시하는 데 사용됩니다.

Job Control

  • jobs: 백그라운드 작업 목록을 표시하는 데 사용됩니다.
  • fg: 백그라운드 작업을 포그라운드로 가져오는 데 사용됩니다.
  • bg: 일시 중지되거나 중지된 작업을 백그라운드로 이동하는 데 사용됩니다.
  • kill: 실행 중인 프로세스를 종료하는 데 사용됩니다.

사용자 및 그룹 관리

  • useradd: 새 사용자 계정을 만드는 데 사용됩니다.
  • usermod: 기존 사용자 계정을 수정하는 데 사용됩니다.
  • userdel: 사용자 계정을 삭제하는 데 사용됩니다.
  • groupadd: 새 사용자 그룹을 만드는 데 사용됩니다.
  • groupmod: 기존 사용자 그룹을 수정하는 데 사용됩니다.
  • groupdel: 사용자 그룹을 삭제하는 데 사용됩니다.
  • passwd: 사용자 비밀번호를 변경하는 데 사용됩니다.

디버깅 및 문제 해결

  • strace: 프로세스에서 발생하는 시스템 호출 및 신호를 추적하는 데 사용됩니다.
  • ltrace: 프로세스에서 수행된 라이브러리 호출을 추적하는 데 사용됩니다.
  • gdb: C 및 C++ 프로그램 디버깅을 위한 강력한 디버거입니다.
  • tcpdump: 네트워크 트래픽을 캡처하고 분석하는 데 사용됩니다.
  • wireshark: 네트워크 트래픽 분석을 위한 GUI 기반 도구입니다. ellaneous
  • echo: 터미널에 메시지를 표시하는 데 사용됩니다.
  • printf: 데이터 형식을 지정하고 표시하는 데 사용됩니다.
  • date: 시스템 날짜와 시간을 표시하거나 설정하는 데 사용됩니다.
  • tar: 압축된 아카이브를 생성하거나 추출하는 데 사용됩니다.

다양한

  • cal: 달력을 표시하는 데 사용됩니다.
  • 날짜: 시스템 날짜와 시간을 표시하거나 수정하는 데 사용됩니다.
  • sleep: 지정된 시간 동안 스크립트나 명령의 실행을 지연하는 데 사용됩니다.
  • tee: 출력을 화면과 파일로 리디렉션하는 데 사용됩니다.
  • history: 현재 쉘 세션의 명령 기록을 표시하는 데 사용됩니다.
  • echo: 터미널에 텍스트를 인쇄하거나 파일로 출력하는 데 사용됩니다.

본 가이드에 설명된 기호 분류는 절대적인 것이 아니며 가능한 분류를 기준으로 한 것입니다. 일부 기호는 둘 이상의 카테고리에 적용될 수 있으며 일부 중복되거나 중복될 수 있습니다. 기호 목록은 완전하지 않으며 Linux 배포판 및 버전에 따라 다를 수 있습니다. 자세한 내용은 독자가 해당 시스템 설명서를 참조하는 것이 좋습니다. 이 가이드는 Linux 및 Bash 플래그와 명령에 대한 포괄적인 개요를 제공하기 위한 것이지만 최종 리소스는 아닙니다.

Linux 및 Bash 기호와 명령에 대한 포괄적인 가이드를 읽어주셔서 감사합니다. 이 가이드가 명령줄을 익히는 데 도움이 되기를 바랍니다. 일상 업무에서 이러한 명령을 사용하기 위한 최신 팁, 요령 및 모범 사례에 대한 최신 정보를 얻으려면 Linux Mito www.linuxmi.com에서 향후 기사를 계속 지켜봐 주시기 바랍니다. 우리는 귀하가 보다 능숙한 Linux 사용자 및 명령줄 전문가가 되는 데 도움이 되는 자세한 예제와 실제 예제를 제공할 것입니다.

위 내용은 명령줄 기술 향상: Bash 및 Linux 기호 및 명령에 대한 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제