Linux基础知识系列之三

363 阅读2分钟

sudo权限

在上一篇Linux基础知识系列之二用户与用户组部分中提到su命令,既然能够切换用户那么免不了权限问题。其实在真正生产上不会拿到root账号的,但是我们在某一些地方会使用到root权限,那么该如何赋予普通用户的sudo权限呢?答案就在/etc/sudoers文件中。

## Next comes the main part: which users can run what software on 
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
##      user    MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere 
## 我们只需在root添加你想要赋予的用户xxx
root    ALL=(ALL)       ALL
xxx     ALL=(root)      NOPASSWD:ALL  -->这种就是免密码sodu,只是ALL就要密码

ps:这里vi /etc/sudoers记得强制保存,按esc之后:wq!

find搜索

工作中常常忘记文件存放在哪,我们可以使用find来搜索,它的语法如下:

如果我们要搜索一个叫做tail的文件,命令搜索'tail'(完全匹配)/'*tail*'(模糊查询,使用较多)
find / -name '*tail*'  --> 在所有路径下搜索符合的,使用较少
find /root -name '*tail*' --> 指定路径下搜索
find ./ -name '*tail*'  --> 当前路径下搜索

上述命令也适用交接工作的小伙伴来熟悉,同样以下一些方式也能帮助更快的熟悉

history | grep xxx(历史命令)
ps -ef | grep xxx(进程查看)
~/.bash_profile (个人环境变量)
/etc/profile (全局环境变量)

rpm包安装

Centos安装rpm一般用yum,不用管各个之间的依赖。以下是比较常用的命令:

# 如果直接安装,可能会安装到一部分或者是你不想要的
yum search xxx  
# 这个命令会在安装过程可能会提示你按Y/N,-y选项就会省略这些
yum install xxx 
# 卸载xxx以及依赖
yum remove xxx 
# rpm卸载但是不检查依赖
rpm -e --nodeps xxx
# 查看本机上已安装的xxx
rpm -qa | grep xxx

PATH环境变量/which

which 命令是查找命令在哪个路径下,由此做个实验。

[root@hadoop001 ~]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin  <-- 命令所在所有路径
[root@hadoop001 ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls     <-- ls命令所在路径
[root@hadoop001 ~]# cd /usr/local/sbin/
[root@hadoop001 sbin]# ll
total 0
[root@hadoop001 sbin]# touch ls   <-- 在/usr/local/sbin/创建一个ls文件夹
[root@hadoop001 sbin]# echo "123" > ls
[root@hadoop001 sbin]# chmod 755 ls
[root@hadoop001 sbin]# ll
total 4
-rwxr-xr-x 1 root root 4 Jun 20 22:25 ls  <-- 赋予可执行权限
[root@hadoop001 sbin]# which ls
alias ls='ls --color=auto'
	/usr/local/sbin/ls  <-- ls命令的路径改变

以上例子证明,命令在PATH变量中一旦在一个路径下找到之后,后面的路径不在寻找,所以我们安装软件环境变量时,一定要像下面一样,否则这里很容易埋下坑。

PATH=$xxx:$PATH

下载与上传

rz 命令,选择window的文件传输 sz filename 命令,将Linux的文件传输给window。这里如果你使用的是Xshell的话,请在会话的属性中检查是否使用指定下载地址。 如果上述命令,Linux报找不到,执行 yum install lrzsz