學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

linux出現(xiàn)command not found問題怎么解決

時(shí)間: 加城1195 分享

  Linux出現(xiàn)command not found的問題是怎么回事呢?是命令錯(cuò)誤還是權(quán)限問題呢?下面由學(xué)習(xí)啦小編為大家整理了Linux的useradd命令出現(xiàn)command not found問題的相關(guān)知識,希望對大家有幫助!

  linux使用useradd命令出現(xiàn)command not found問題

  前提:使用普通用戶登錄Linux

  現(xiàn)象:在命令行控制臺(tái)中切換到root超級用戶,使用useradd命令創(chuàng)建新用戶,出現(xiàn)"useradd:command not found "問題。

  原因:因?yàn)樵赨NIX系統(tǒng)里面,每個(gè)系統(tǒng)用戶都由自己的環(huán)境變量來定義自己登錄上來的shell、終端類型、路徑等。linux下Bshell用 戶登錄后執(zhí)行主目錄下的.bash_profile,Cshell用戶執(zhí)行.cshrc_profile文件。

  當(dāng)以普通用戶登錄主機(jī),而此用戶的環(huán)境里沒有定義系統(tǒng)命令所在的路徑,如/usr/bin,/usr/sbin等;或在一些情況下TELNET 上主機(jī)后也會(huì)遺失環(huán)境變量。

  解決方法三種:

  1.在絕對路徑/usr/sbin中執(zhí)行;

  2.用root用戶執(zhí)行命令。用“su -”可以取得root用戶的權(quán)限和環(huán)境(注:是“su -”不是“su”,因?yàn)?ldquo;su”只取得root的權(quán)限,“su -”取得root權(quán)限后還執(zhí)行root的profile來取得root的環(huán)境變量)

  3.如果確定要使用非root用戶的當(dāng)前用戶來執(zhí)行命令,需要把系統(tǒng)路徑加到該用戶的.bash_profile或者.cshrc_profile文件中去

  相關(guān)閱讀:

  Linux系統(tǒng)自動(dòng)補(bǔ)全命令的詳細(xì)說明

  Linux系統(tǒng)自動(dòng)補(bǔ)全命令1. 查看已有的命令行補(bǔ)全

  在啟用可編程的命令行補(bǔ)全功能后,就已經(jīng)有了一些定義好的命令補(bǔ)全功能。complete 命令用于定義命令行補(bǔ)全。

  要查看已有的命令行補(bǔ)全,如下使用 complete 命令:

  complete -p |less

  上面例子中的 -p 選項(xiàng)是可選的。

  Linux系統(tǒng)自動(dòng)補(bǔ)全命令2. 列出 bash 中標(biāo)準(zhǔn)補(bǔ)全功能

  默認(rèn)情況下,Bash 為 Linux 用戶提供了下列標(biāo)準(zhǔn)補(bǔ)全功能。

  變量補(bǔ)全

  用戶名補(bǔ)全

  主機(jī)名補(bǔ)全

  路徑補(bǔ)全

  文件名補(bǔ)全

  我們在之前的 bash 標(biāo)準(zhǔn)補(bǔ)全中討論過這些。

  Linux系統(tǒng)自動(dòng)補(bǔ)全命令3. 定義一個(gè)命令名補(bǔ)全

  通過 -c 選項(xiàng)可以將所有的可用命令作為一個(gè)命令的補(bǔ)全參數(shù)。在下面的例子里面,為 which 命令定義了一個(gè)補(bǔ)全(LCTT譯注:在按兩下 TAB 時(shí),可以列出所有命令名作為可補(bǔ)全的參數(shù))。

  $ complete -c which

  $ which [TAB][TAB]

  Display all 2116 possibilities?(y or n)

  如上,如果按下 ‘y’,就會(huì)列出所有的命令名。

  Linux系統(tǒng)自動(dòng)補(bǔ)全命令4. 定義一個(gè)目錄補(bǔ)全

  通過選項(xiàng) -d,可以定義一個(gè)僅包含目錄名的補(bǔ)全參數(shù)。在下面的例子中,為 ls 命令定義了補(bǔ)全。

  $ ls

  countfiles.sh dir1/ dir2/ dir3/

  $ complete -d ls

  $ ls[TAB][TAB]

  dir1/ dir2/ dir3/

  如上,連按下 TAB 僅會(huì)顯示目錄名。

  Linux系統(tǒng)自動(dòng)補(bǔ)全命令5. 定義一個(gè)后臺(tái)任務(wù)名補(bǔ)全

  補(bǔ)全功能也能夠以任務(wù)名作為補(bǔ)全參數(shù)。選項(xiàng) -j 可以定義任務(wù)名作為傳遞給命令的參數(shù),如下:

  $ jobs

  [1]-Stoppedcat

  [2]+Stoppedsed'p'

  $ complete -j ./list_job_attrib.sh

  $ ./list_job_attrib.sh [TAB][TAB]

  catsed

  關(guān)于后臺(tái)任務(wù),你可以參考 Linux 后臺(tái)任務(wù)中的例子了解如何管理后臺(tái)任務(wù)。

3990329