1 alias 别名
[root@hadoop001 ~]# alias rd='cd /root/ruozetada'
[root@hadoop001 ~]# rd
[root@hadoop001 ruozetada]# pwd
/root/ruozetada
在另外一个会话窗口 rd命令找不到,因为我们设置别名时为 当前session生效 为临时的。
2全局环境变量和个人环境变量
全局: 意味着所有人都可以使用
vi /etc/profile 编辑命令
#env
alias rd='cd /root/ruozedata' 编辑内容
alias 6='cd /root/d66'
alias y='cd /root/chenyi'
source /etc/profile
. /etc/profile
生效命令
其他用户也可以使用,只不过我们当前抛错为:权限错误
[chnqian@hadoop001 ~]$ y
-bash: cd: /root/chenyi: Permission denied 权限错误
个人:/home/.bash_profile /home/.bashrc
vi home/.bash_profile
[root@hadoop001 d77]# vi /d77/.bash_profile 编辑命令
#env
alias 2='cd /d77/d22'** 编辑内容
[root@hadoop001 d77]# source /d77/.bash_profile 生效
[root@hadoop001 d77]# 2
[root@hadoop001 d22]#
vi ~/.bashrc
[root@hadoop001 d22]# vi /d77/.bashrc
[root@hadoop001 d22]# . /d77/.bashrc 生效
[root@hadoop001 d22]# cd /d77
[root@hadoop001 d77]# 2
注意:vi 文件时 拷贝内容必须为insert模式
3.rm 删除
生产上需警惕:
1.删除文件或文件夹,切记先确认是否真的不需要。除非自己备份一下
2.在vi修改大数据组件配置文件,一般都需要提前cp一份做备份,以防万一,比如mv a a20190616,文件尾部加上日期
rm ruoze.log 文件 询问
rm -f tail1.log 文件 不询问
rm -rf 6 文件夹 不询问
[root@hadoop001 d77]# ls
d11 d1.log d2.log d333 d3.log d777.log d88
d11.log d22 d33 d3333 d55 d77.log d99
[root@hadoop001 d77]# rm d1.log
rm: remove regular empty file `d1.log'? y 询问后再删除文件
[root@hadoop001 d77]# rm -f d2.log 不询问直接删除文件
[root@hadoop001 d77]# rm -rf d88 不询问直接删除文件夹
[root@hadoop001 d77]# ls
d11 d11.log d22 d33 d333 d3333 d3.log d55 d777.log d77.log d99
[root@hadoop001 d77]#
xxxpath 写shell脚本
[root@hadoop001 d77]# ls
4 d11 d22 d333 d3.log d777.log
5 d11.log d33 d3333 d55 d77.log
[root@hadoop001 d77]# xxxpath=/d77/4 =前后不能有空格,赋值时不需要$
[root@hadoop001 d77]# echo $xxxpath 使用时需要$ rm -rf ${xxxpath}此命令也行
/d77/4
[root@hadoop001 d77]# rm -rf $xxxpath 使用时需要$
[root@hadoop001 d77]# ls
5 d11.log d33 d3333 d55 d77.log
d11 d22 d333 d3.log d777.log
[root@hadoop001 d77]#
警惕:
逻辑再赋值
有可能 xxxpath=空格
rm -rf $xxxpath/* ==> rm -rf /* 由此删除根目录
规避:生产上凡是碰见rm -rf强制删除文件夹的 ,路径一定先判断存在不,不存在 就skip(跳过);存在就rm
4 history
常规的链接,vpn 不会记录命令操作记录,堡垒机会记录命令操作记录
history
history -c
命令清空
同时删除家目录的.bash_history
!xxx 执行历史记录第 xxx条命令
3454 2019-06-22 08:27:44 rz
3455 2019-06-22 08:27:54 rd
3456 2019-06-22 08:28:11 cd /d77 看前面那个数字 序号3456
3457 2019-06-22 08:28:12 ls
3458 2019-06-22 08:28:16 clear
3459 2019-06-22 08:28:26 history
[root@hadoop001 d77]# !3456
cd /d77
[root@hadoop001 d77]# !43
-bash: !43: event not found 如果执行历史记录!XXX条命令,出现此报错,说明这个history文件记录里没有了,因为只保留最新1000条记录
[root@hadoop001 d77]#
!! 执行上一条命令
生产补充:当拿到1个已经存在的工作集群,通过history查看历史记录,帮助自己快速了解当前的集群环境
5 用户 用户组的常用命令
passwd xxx (用户名) 设密码
[root@hadoop001 ~]# ll /usr/sbin/user*
-rwxr-x--- 1 root root 111320 May 11 2016 /usr/sbin/useradd 创建
-rwxr-x--- 1 root root 73656 May 11 2016 /usr/sbin/userdel 删除
-rwxr-x--- 1 root root 115096 May 11 2016 /usr/sbin/usermod 修改
-rwsr-xr-x 1 root root 9000 Jun 20 2018 /usr/sbin/usernetctl
[root@hadoop001 ~]# ll /usr/sbin/group* 用户组
-rwxr-x--- 1 root root 59096 May 11 2016 /usr/sbin/groupadd 创建
-rwxr-x--- 1 root root 54800 May 11 2016 /usr/sbin/groupdel 删除
-rwxr-x--- 1 root root 54960 May 11 2016 /usr/sbin/groupmems
-rwxr-x--- 1 root root 73680 May 11 2016 /usr/sbin/groupmod 修改
[root@hadoop001 ~]#
[root@hadoop001 ~]# useradd ruoze2 创建一个用户
[root@hadoop001 ~]# id ruoze2
uid=514(ruoze2) gid=515(ruoze2) groups=515(ruoze2)
用户名称 主组 所有组
创建用户的同时创建家目录
[root@hadoop001 ~]# ll -a /home/ruoze2 在home家目录下
total 20
drwx------ 2 ruoze2 ruoze2 4096 Jun 22 08:38 .
drwxr-xr-x. 26 root root 4096 Jun 22 08:38 ..
-rw-r--r-- 1 ruoze2 ruoze2 18 Mar 23 2017 .bash_logout
-rw-r--r-- 1 ruoze2 ruoze2 176 Mar 23 2017 .bash_profile
-rw-r--r-- 1 ruoze2 ruoze2 124 Mar 23 2017 .bashrc
[root@hadoop001 ~]#
[root@hadoop001 ~]# cat /etc/passwd 用户信息记录,不存储密码
ruoze2:x:514:515::/home/ruoze2:/bin/bash
用户 用户ID 主组id 家目录,用户一切进来可执行命令的目录
[root@hadoop001 ~]# cat /etc/group 用户组信息记录
ruoze2:x:515: 这个组的ID
userdel xxx 删除用户
会把passwd用户记录删除;同时假如该组没有其他用户,则删除该组;如果该组还有其他人,则只删除用户,用户组不删。但是 家目录还在,但是用户和用户组 发生变革
再次创建,home家目录依然存在,不需要再次创建,不需要拷贝skel directory: (.bash*所有的隐藏文件)
rm -rf /home/ruoze/.bash* 删除此目录下的隐藏文件
skel directory: .bash*所有的隐藏文件,会影响用户操作时的命令格式
看到此种代表可能因常规操作原因,导致此目录下的.bash*等隐藏文件消失
cp /etc/skel/.* /home/ruoze/ 恢复命令
chown ruoze:ruoze /etc/skel/.* 修改目录权限
[root@hadoop001 ~]# groupadd bigdata 创建主组
[root@hadoop001 ~]# usermod -a -G bigdata ruoze 添加用户组新成员为ruoze
[root@hadoop001 ~]# id ruoze
uid=501(ruoze) gid=501(ruoze) groups=501(ruoze),502(bigdata)
[root@hadoop001 ~]# usermod -g bigdata ruoze 修改bigdata为主组 但是丢失原先组
[root@hadoop001 ~]# id ruoze
uid=501(ruoze) gid=502(bigdata) groups=502(bigdata)
[root@hadoop001 ~]# usermod -a -G ruoze ruoze 补上原先组
[root@hadoop001 ~]# id ruoze
uid=501(ruoze) gid=502(bigdata) groups=502(bigdata),501(ruoze)
生产补充: CDH 组件 进入一个新的环境,有账号密码都登陆不进去
是因为这两种情况不给登录
ruoze:x:501:502::/home/ruoze:/bin/false
ruoze:x:501:502::/home/ruoze:/sbin/nologin
vi /etc/passwd
uoze:x:501:502::/home/ruoze:/bin/bash 改成/bin/bash 就可以切换登录了
修改家目录两种:
usermod -d /home/ruoze2 ruoze
vi /etc/passwd
生产示例:假如一个用户登录不了系统或者su切换不了,一般我们去哪里修改
修改/etc/passwd文件,查看是否是用户shell问题
6.切换用户
su ruoze 用户切换进来了但还在之前的家目录
su - ruoze 切换用户 且切到该用户的家目录,且执行个人环境变量文件生效
exit 回退以前的状态