问题1:输入命令后提示command not found
引言
这个错误应该是很多学习Linux运维小伙伴的噩梦了,学习Linux 的小伙伴,百分百会遇到这个问题
错误重现:
[root@itheima ~] # Linux命令
-bash: 命令: command not found
出现以上问题,无外乎就三个原因:① 命令输入错误 ② 软件包未 安装 ③ 环境变量未设置
① 命令输入错误解决方案
[root@itheima ~] # 更正Linux命令即可,没事咱仔细瞅瞅
② 软件包未安装(常见于最小化安装模式)
[root@itheima ~] # vim
-bash: vim: command not found
解决方案:
[root@itheima ~] # yum install vim -y
[root@itheima ~] # rz
-bash: rz: command not found
解决方案:
[root@itheima ~] # yum install lrzsz -y
登录ITheima.com/?zzpyk
③ 环境变量未设置(常见于软件编译安装方式)
[root@itheima ~] # mysql -uroot -p
-bash: mysql: command not found
问题:我已经编译安装了mysql软件,为什么还是不能使用mysql命令呢?
解决方案:把mysql的可执行文件目录添加到PATH环境变量
# 临时设置
[root@itheima ~] # export PATH=$PATH:mysql的可执行文件目录
# 永久设置
[root@itheima ~] # echo 'export PATH=$PATH:mysql的可执行文件目录' > /etc/profile
[root@itheima ~] # source /etc/profile
问题2:访问某个文件提示Permission denied
错误重现:
[cndws@itheima ~] # cat /etc/shadow
cat: /etc/shadow: Permission denied
PS:/etc/shadow => 主要是用于存放Linux用户账号对应的密码文件
出现以上问题的原因:
当前账号没有该文件或该命令的操作权限,所以会提示 Permission denied
解决方案:切换到超级管理员
[cndws@itheima ~] # su - root
Password:输入密码回车
[root@itheima ~] # cat /etc/shadow
root:$6$hu5TVD4jntDLaSwY$vWJAbhVCdP1FRwZZ3MC35rEwfWjP6J
MRNstoe2ChYD/NrzjuKcvK7qJjNxQ/wJLZP5Jqi8qB9RLsMc7APxwaT
1::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
...
PS:su -(横杠) root,-横杠是干啥的?
答:-(横杠),横杠代表切换用户的同时切换用户的家,pwd当前目录自
动转向/root
问题3:No such file or directory
No such file or directory 没有这样的文件或目录
错误重现:
[root@itheima ~] # cd /usr/local/nginx
-bash: cd: /usr/local/nginx: No such file or directory
出现以上问题的主要原因有两种情况:文件或目录路径输入错误,
真的没有这个文件或目录
① 文件或目录路径输入错误
这个问题比较好解决,只需要更正文件或目录路径就可以了。
那怎么才能保证输入是100%正确呢
答:使用Tab,命令或路径自动补全功能
Tab键在哪里?什么,你不知道?没关系,看下图:
Tab自动提示文件或目录路径
访问网卡文件目录 => /etc/sysconfig/network-scripts
第一次提示
# cd /etc/sysc + Tab键 => sysc自动补全为sysconfig
第二次提示
# cd /etc/sysconfig/network-sc + Tab键 => network-sc
自动补全为network-scripts
② 真的没有这个文件或目录
解决方案:文件或目录的确不存在,可以手工创建。文件使用 touch,目录使用mkdir
问题4:Must be root
错误重现:
出现以上问题的主要原因在于你所要执行的命令,属于超级命令, 必须使用超管root进行实现。
解决方案:使用su命令切换到root管理员