成都网站建设设计

将想法与焦点和您一起共享

linux常用命令失效 linux常见的命令使用

我的linux很多命令都无法使用了!

是root用户还是普通用户

创新互联公司主营始兴网站建设的网络公司,主营网站建设方案,app软件开发,始兴h5微信小程序搭建,始兴网站营销推广欢迎始兴等地区企业咨询

如果是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疑问:普通用户的ifconfig命令无法执行,如何解决?

/sbin/ifconfig

不过有的系统你只能查看,不能设置。设置需要 root 权限。

一般的系统默认普通用户没有到 /sbin/ 和 /usr/sbin 的 PATH 环境变量。而 ifconfig 在 /sbin 里面。

sudo 是需要修改设置的,默认我记得 centos 没有设置用户可以 sudo 。你可以看看 /etc/sudoer* 的配置文件,里面取消注释 wheel 或者 sudo 组的设置,之后把想可以 sudo 的用户 id 加入 wheel 组即可。或者直接设置 id 的 sudo 设置。

为什么新安装的linux很多常用命令无法使用

是root用户还是普通用户

如果是root用户下,检查这些命令是否还在。一般在/usr/bin /usr/sbin。

在/root用户下的.profile 文件中加上 path=/usr/bin;/usr/sbin ,然后source .profile,使变量生效,然后测试命令是否可用

如果是普通用户,需要在普通用户的home目录下设置.profile


网站名称:linux常用命令失效 linux常见的命令使用
本文链接:http://chengdu.cdxwcx.cn/article/ddcdeid.html