>  기사  >  운영 및 유지보수  >  LInux 시스템 동작 설명의 기본 명령어 분류

LInux 시스템 동작 설명의 기본 명령어 분류

巴扎黑
巴扎黑원래의
2017-07-17 09:33:301343검색

LInux 시스템 동작 설명의 기본 명령어 분류

1. 명령의 개념

  • 명령의 실행 과정

    시스템이 외부 명령을 처음 실행할 때, 시스템은 먼저 해시 캐시 테이블에서 명령을 검색합니다. PTAH 경로를 찾은 후 Hasa 캐시에 추가합니다. 이 명령을 다시 실행하면 Hash 경로에서 직접 실행됩니다. 존재하는 경우 PATH 아래의 경로에서 계속 검색합니다. 해시 테이블은 명령 호출 속도를 향상시킬 수 있습니다.

  • 명령 우선 순위

    별칭 ------------------------- -- 별칭 ​​
      builtin--------------------------------내부 명령
       hash------ ------ ------------캐시 테이블
    ˆ ˆ ˆ ˆ $PATH --------------- 실행 가능한 프로그램 또는 스크립트(외부 명령)

  • 내부 명령 및 외부 명령

    내부 명령은 셸에 내장되어 있습니다.
    외부 명령은 시스템 설치 시 기본적으로 설치되며, 파일 시스템 아래에 해당 경로가 있습니다.

  • 명령어가 맞는지 확인하세요. 내부 명령 또는 외부 명령 입력 [commnd ]type [commnd]

    [root@centos6 ~]# type cat                  #判断cat命令,外部命令显示文件路径
    cat is /bin/cat
    [root@centos6 ~]# type cd                   #判断cd命令
    cd is a shell builtin

    2.命令的别名

    命名别名只在当前进程中有效
    如果想永久有效,要定义在配置文件中
      仅对当前用户:~/.bashrc
      对所有用户有效:/etc/bashrc

  • 查看进程中所有的别名 alias

    [root@centos6 ~]#alias
    alias cp='cp -i'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    ......
  • 定义别名 alias NAME="VALUE"

    [root@centos6 ~]#alias aubin=cat
    [root@centos6 ~]#aubin test
    hello world
  • 删除别名

    [root@centos6 ~]#unalias aubin
    [root@centos6 ~]#aubin test
    -bash: aubin: command not found
  • 定义对当前用户永久生效的别名

    [root@centos6 ~]#vim .bashrc 
    # .bashrc
    # User specific aliases and functions
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    alias aubin=cat                                # <<<-----此处定义别名
    # Source global definitions
    if [ -f /etc/bashrc ]; then
        . /etc/bashrc
    fi
    [root@centos6 ~]#. .bash                       #立即生效
  • 定义指定用户生效的别名

    [root@centos6 ~]#cd ~ li
    [root@centos6 li]#vim .bashrc                 #编辑用户目录下的.bashrc
  • 定义所有用户生效的别名

    [root@centos6 ~]#vim /etc/bashrc
    alias aubin=cat                                # <<<-----加入定义别名
    [root@centos6 ~]#. /etc/bashrc                 #立即生效

    3.内部命令

shell程序找到键入命令所对应的可执行程序或代码,由shell分析后提交给内核分配资源并将其运行起来。

  • 查看所有的内部命令

    [root@centos6 ~]#help
    [root@centos6 ~]#enable
    enable .
    enable :
    enable [
    enable alias
    enable bg
    enable bind
    ......
  • 内部命令的禁用与启用enable

    [root@centos6 li]#enable -n cd                 #禁用内部命令
    [root@centos6 li]#enable cd                    #启用内部命令
  • 禁用内部命令失效

    [root@centos6 li]#enable -n pwd
    [root@centos6 li]#enable -n                    #查看禁用的内部命令或如下图用help
    enable -n pwd

    也可以help查已经被禁用的命令【命令前的*代表命令已经用】
    黄色方框 中命令前的*代表命令已禁用
    禁用内部命令enable -n pwd后依然可以使用

    [root@centos6 li]#pwd
    /home/li

    使用which查看命令的执行文件

    [root@centos6 li]#which pwd
    /bin/pwd

    当内部命令禁用后,按照bash优先级继续搜索Hash表、(PATH。直到在)PATH中发现/bin/pwd的可执行文件则将其运行。

  • 查看禁用的内部命令

    [root@centos6 li]#enable -n
    enable -n cd
    enable -n pwd

    或者如上图所示使用help命令查看


4.HASH缓存表

用来显示和清除哈希表,执行命令的时候,系统将先查询哈希表。

  • 查看命令的缓存 hash

    [root@centos6 ~]# hash
      hits  command
       3    /usr/bin/cal
       1    /usr/bin/yum
    [root@centos6 ~]# 查看详细的Hash表
    [root@centos6 ~]#hash -l
    builtin hash -p /bin/dd dd
    builtin hash -p /usr/bin/yum yum
  • 向Hash表中增加内容 hash -p path command

    [root@centos6 ~]#将cat定义一个别名存在hash表
    [root@centos6 ~]#hash -p /bin/cat aubin  
    [root@centos6 ~]#aubin test
    hello world
  • 打印Hash表中命令的路径 hash -t command

    [root@centos6 ~]#hash -t aubin
    /bin/cat
  • 删除Hash表中指定命令 hash -d command

    [root@centos6 ~]#hash -d aubin
  • 删除Hash表中所有命令hash -r

    [root@centos6 ~]# hash -r
  • 查看命令的路径 which

    [root@centos6 ~]# which cat            #查看命令的路径,以第一个路径为准
    /bin/cat
    [root@centos6 ~]# which -a cat         #查看命令所有路径,一个命令可能有多个路径
    /bin/cat
    /usr/local/bin/cat

    2. 명령 별칭

    이름이 지정된 별칭은 현재 프로세스에서만 유효합니다.

    영구적으로 사용하려면 구성 파일에 정의해야 합니다

    현재 사용자에게만 해당: ~/.bashrc
    모두에 대해 유효 사용자: /etc/bashrc
  • 프로세스의 모든 별칭 보기 alias
  • [root@centos6 /]#which echo                    #列出命令的路径
    /bin/echo

  • 별칭 정의 별칭 NAME="VALUE"
  • [root@centos6 /]#which cp                      #which列出文件路径会显示别名
    alias cp='cp -i'
        /bin/cp
    [root@centos6 /]#which --skip-alias cp         #列出文件路径而不显示别名
    /bin/cp

  • 별칭 삭제
[root@centos6 /]#which -a echo              
/bin/echo
🎜🎜🎜현재 사용자에게 영구적으로 유효한 별칭 정의🎜
[root@centos6 /]#whereis echo
echo: /bin/echo /usr/share/man/man1/echo.1.gz /usr/share/man/man1p/echo.1p.gz
🎜 🎜🎜지정된 사용자에게 유효한 별칭을 정의합니다.🎜rrreee🎜🎜🎜define모든 사용자별칭 적용🎜rrreee🎜🎜3. 내부 명령🎜🎜🎜🎜🎜 쉘 프로그램은 입력된 명령에 해당하는 실행 가능한 프로그램이나 코드를 찾아 쉘에 의해 분석되고 커널에 제출되어 자원을 할당하고 실행합니다. 🎜🎜🎜🎜🎜모든 내부 명령 보기 🎜rrreeerrreee🎜🎜🎜내부 명령 비활성화 및 활성화 enable🎜rrreee🎜🎜🎜내부 명령 비활성화 무효화🎜rrreee🎜도 사용할 수 있습니다 help명령이 해당 명령이 사용되었음을 의미하기 전에 비활성화된 명령을 확인하세요[*]🎜노란색 상자에 있는 명령 앞의 *는 명령이 비활성화되었음을 의미합니다.🎜내부 명령 enable -n을 비활성화한 후에도 여전히 사용할 수 있습니다. pwd 🎜rrreee🎜명령 실행 파일을 보려면 which를 사용하세요. 🎜rrreee🎜내부 명령이 비활성화되면 계속해서 해시 테이블 검색, (PATH.Until) bash 우선순위에 따라 PATH에 /bin/pwd 실행 파일이 있으면 실행됩니다. 🎜🎜🎜🎜비활성화된 내부 명령을 보거나🎜rrreee🎜또는 위와 같이 help 명령을 사용하여 확인하세요🎜🎜🎜🎜🎜4 HASH 캐시 테이블🎜🎜🎜은 해시 테이블을 표시하고 지우는 데 사용됩니다. , 명령을 실행할 때 시스템은 먼저 해시 테이블을 쿼리합니다. 🎜🎜🎜🎜🎜명령 캐시 보기 hash🎜rrreeerrreee🎜🎜🎜해시 테이블에 콘텐츠 추가 hash -p 경로 명령🎜rrreee🎜🎜🎜명령 인쇄 해시 테이블 hash -t 명령🎜rrreee🎜🎜🎜경로 해시 테이블에서 지정된 명령 삭제hash -d 명령🎜rrreee🎜🎜🎜모든 명령 삭제 해시 테이블hash -r🎜rrreee🎜🎜🎜명령 경로 보기 which🎜rrreee🎜🎜5. 외부 명령🎜🎜🎜외부 명령은 실행 파일입니다. 외부 명령을 실행하면 시스템은 파일 디렉터리에 있는 해당 실행 파일을 실행합니다. 🎜🎜🎜🎜🎜명령 경로 나열🎜rrreeerrreee🎜🎜🎜명령의 모든 경로 나열 여러 bash에 동일한 명령이 있는 경우 해당 명령에는 여러 경로가 있습니다. 🎜rrreee🎜🎜🎜 명령 및 도움말 설명서의 경로 나열🎜rrreee🎜🎜

위 내용은 LInux 시스템 동작 설명의 기본 명령어 분류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.