이 가이드는 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>>: 명령의 오류 출력을 파일에 추가하는 데 사용됩니다.
- &>: 명령의 출력과 오류 출력을 모두 파일로 리디렉션하는 데 사용됩니다.
- &>>: 명령의 출력 및 오류 출력을 파일에 추가하는 데 사용됩니다.
Pipeline
파이프를 사용하여 여러 명령을 연결하여 한 명령의 출력이 다른 명령의 입력이 되도록 할 수 있습니다. 파이프의 기호는 |입니다. 예는 다음과 같습니다.
ls -l | grep "linuxmi"
이 명령은 현재 디렉터리의 내용을 긴 형식( ls -l )으로 나열한 다음 출력에서 "linuxmi" 문자열을 검색하는 grep 명령에 출력을 전달합니다.
- tee: 명령 출력을 분할하여 파일과 표준 출력으로 보내는 데 사용됩니다.
와일드카드 및 와일드카드
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: 환경 변수의 텍스트나 값을 표시하는 데 사용됩니다.
通配符和通配符
- *: 匹配文件名中任意数量的字符。
- ?: 匹配文件名中的任何单个字符。
否定
算术运算
- +:算术表达式中的加法运算符。例如,echo $((2+3))将输出5.
- -:算术表达式中的减法运算符。例如,echo $((16-5))将输出11.
- *:算术表达式中的乘法运算符。例如,echo $((4*5))将输出20.
- /: 算术表达式中的除法运算符。例如,echo $((20/2))将输出10.
- $((expression)):用于在 Bash 中执行算术运算。例如,echo $((2 + 6))将打印值 8。
- expr:用于执行算术运算。
比较
- ==:用于比较条件表达式中两个值是否相等。例如,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 중국어 웹사이트의 기타 관련 기사를 참조하세요!