正文
linux命令行无效 linux执行命令后无反应
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
gitbashlinux命令无效
版本更新所导致linux命令行无效的问题。linux命令行无效我们默认都是用MinTTYlinux命令行无效的linux命令行无效,所以要在命令前面加上winpty才会有交互linux命令行无效的回复。
linux系统敲命令没有反应为什么?小白求教
你进入了另一个程序,你需要退出来可以继续敲命令,就像你在windows里面你打开了一个记事本里面敲ping肯定不好用一个道理。用ctrl+c退出来。
我的linux很多命令都无法使用了!
是root用户还是普通用户
如果是root用户下,检查这些命令是否还在。一般在/usr/bin /usr/sbin。
在/root用户下的.profile 文件中加上 path=/usr/bin;/usr/sbin ,然后source .profile,使变量生效,然后测试命令是否可用
如果是普通用户,需要在普通用户的home目录下设置.profile
linux中的test命令失效现象
不是test失效, 而是 test 命令没有得到足够的参数.
原因是shell 在解释命令时, 会"先"对命令行进行扩展, 使用变量实际的值替换到命令行中, 然后再执行命令.
上面unset name后, $name的值为空, 执行完命令行扩展后, 实际执行的是
test -z echo "empty" || echo "not empty"
此时, shell 实际传给test 命令的参数只有一个 "-z", 这种情况下, test 的退出码总是0
所以在执行的时候, 使用双引号将变量名引起来是个好习惯, 这样命令行扩展后实际传给test的参数为2个(尽管第2个只是一个空字符串)
关于shell 的命令行扩展, 除了变量, 还有一些其它的工作,
见下例: a.sh
#!/bin/bash
echo $#
echo $@
执行 ./a.sh a{1,2,3} 输出为
./a.sh a{1,2,3}
3
a1 a2 a3
看起来是传给命令行一个参数 a{1,2,3}, 实际上执行完shell 扩展后, 传给a.sh 的参数是 a1 a2 a3 共3个参数.
关于shell 扩展的更多细节, 详见bash 的man page的 EXPANSION 这一节.
Linux 出现command not found 错误解决
在很多人学习Linux命令行,会经常遇到command not found 错误,出现上述错误主要有以下几种情况:
命令书写错误,如有些人将Windows命令与Linux命令搞错,如查看ip相关信息,Linux命令行应该为ifconfig
环境变量没有配置好,这里一般有两种解决方法,第一,可以切换到root用户执行命令,第二种,就是配置用户的环境变量,其指令如下:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
----------------------------分割线----------------------------
Linux命令找不到?(找不到命令)
这个问题其实很简单,如果你在终端输入一个命令,而系统提示你说命令没有找到(Command not found)的话,要么是因为你没有装相应的软件包,要么就是因为路径设置的问题。如果是因为软件包的问题,那没有别的好说的,安装相应的软件包就好了。而另外一种情况,则需要对用户的路径进行设置。这里针对普通用户和超级用户分开介绍,以 RedHat 些列为例。
一、普通用乎如果一些程序没有安装在系统默认的路径(ie /bin/, /usr/bin, /usr/local/bin/ )里面,这个时候普通用户想要调用这些命令,必须设定路径。方法很简单:以普通用户登录,然后在终端输入:
vi ~/.bash_profile
会出现如下的内容:# .bash_profile
export PATH此时,只要在export PATH前面加入自己的路径即可,例如我的修改后如下:[ @localhost bin]$ cat ~/.bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then . ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:/usr/local/programs/crosstool/gcc-4.0.2-glibc-2.3.6/arm-linux-gnu/bin/export PATH
二、超级用户这里主要是一些用在系统管理上的命令,例如ifconfig, route等等, 他们位于/sbin, 或/usr/sbin/下。其实这些命令本身就没有任何问题,软件包早已安装完毕,路径设置也没有丝毫问题。而出现Command not found的原因在于:在终端使用su变成超级用户的时候没有将root的路径(环境)一起切换过来,从而导致身份虽然已经是root,但是工作的环境和路径依旧是普通用户的。这种问题的解决方法有两个,其一是按照(一)里面提到的,对普通用户的工作路径进行修改,但是这样比较麻烦。其二则简单的多,只要在使用su的时候在其后家上一个空格和”-“ ,即将su改为 su - 。这样就可以在成为root的同时将root的工作路径也一起切换过来了。如果你已经使用su变成了root,那也没有关系,只要在输入一下su - 就好了。
原文地址:
关于linux里的命令无效
cd .. #注意cd后面有空格linux命令行无效,这跟dos、windows不一样
ls 没输出说明没有文件linux命令行无效,可以创建新文件、cd到别的目录
也可以ls -al 查看隐藏文件
linux命令行无效的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux执行命令后无反应、linux命令行无效的信息别忘了在本站进行查找喔。