#id /whoami 查看当前用户
su 切换用户
#su - username
“-”作用,加上后初始化当前用户的各种环境变量
切换环境变量。 不加 - 切换过去后,目录不变,PATH也不变
如下比较:
su aming123
[aming123@zekLinux root]$ pwd
/root
[aming123@zekLinux root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[aming123@zekLinux root]$ ls
ls: 无法打开目录.: 权限不够
[aming123@zekLinux root]$ exit
exit
[root@zekLinux ~]# su - aming123
[aming123@zekLinux ~]$ pwd
/home/aming123
[aming123@zekLinux ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/aming123/bin
[aming123@zekLinux ~]$
普通用户下#su 直接切换到root 当环境变量还是当前用户的环境变量
普通用户下#su - 切换到root,环境变量也切换到root环境变量
命令:#su - -c “命令” username 可以不切换到username下以uaername用户身份执行“命令”
如:
[root@zekLinux ~]#su - -c "mkdir /tmp/1212" aming123
[root@zekLinux ~]# su - -c "ls -ld /tmp/1212" aming123
drwxrwxr-x 2 aming123 aming123 4096 12月 27 01:59 /tmp/1212
#logout与#exit的异同
exit 退出控制台,对于多层shell,用于逐层退出,到最顶层shell,如果在shell当中执行命令bash,就进入子shell中,这时候我们可以使用exit退出当期子shell,但不能使用logout退出子shell。当到最最原始的shell时,我们使用exit或者logout都会退出。如果没有切换过用户的话,这两个命令都是退出控制台了。 如果切换过用户的话,这两个命令都是注销当前用户,返回上一个用户。
sudo 普通用临时以root身份执行命令
#visudo 打开sudo的配置文件
找到:root ALL=(ALL) ALL 在后添加
aming123 ALL=(root) /bin/ls 让aming123普通用户获得root权限执行ls命令,但ls 必须写成绝对路径。
用#可以注释某一行
#sudo -l 查看当前用户是否有sudo命令可以执行。
若添加多个命令用逗号隔开
aming123 ALL=(root) /bin/ls,/usr/bin/passwd
若让aming123用户执行sudo ls /root 命令时不需要输入aming123用户的密码则序设置为:
aming123 ALL=(root) NOPASSWD:/bin/ls
若多个用户须执行某个命令则将多个用加入到wheel组里即可,然后对wheel组进行限制。
%wheel ALL=(ALL) ALL
df 查看分区及使用情况
free 连同swap一起查看
df 默认文件以K为单位
df -k -m(以M为单位) -i(inode)-h(自动匹配单位)-a显示所有分区(包括隐藏分区)
du 查看文件或目录大小
du 默认以K为单位
#du -m -h -b(bytes为单位)
#du -sh dir/filename 查看指定目录dir或文件filename大小
#du -sh filename/dir 查看文件或目录占用磁盘大小
#ls -lh filename/dir 查看文件或目录本身大小
当然#du -sb #ls -lb查看文件大小一样