Linux基本命令
1.用户和用户组
[root@hadoop001 ~]# ll /usr/sbin/user*
-rwxr-x---. 1 root root 118232 Oct 31 2016 /usr/sbin/useradd
-rwxr-x---. 1 root root 80400 Oct 31 2016 /usr/sbin/userdel
-rwxr-x---. 1 root root 113856 Oct 31 2016 /usr/sbin/usermod
-rwsr-xr-x. 1 root root 11376 Oct 31 2016 /usr/sbin/usernetctl
[root@hadoop001 ~]# ll /usr/sbin/group*
-rwxr-x---. 1 root root 65520 Oct 31 2016 /usr/sbin/groupadd
-rwxr-x---. 1 root root 57080 Oct 31 2016 /usr/sbin/groupdel
-rwxr-x---. 1 root root 57120 Oct 31 2016 /usr/sbin/groupmems
-rwxr-x---. 1 root root 76432 Oct 31 2016 /usr/sbin/groupmod
[root@hadoop001 ~]# useradd spark //创建一个普通用户
[root@hadoop001 ~]# id spark //
uid=1003(spark) gid=1003(spark) groups=1003(spark)
[root@hadoop001 ~]#
//创建一个普通用户,默认创建这个名称的用户组spark,
//且设置这个用户主组为saprk,且创建/home/saprk.
[root@hadoop001 ~]# cat /etc/passwd //查看用户
root:x:0:0:root:/root:/bin/bash
jepson:x:1000:1000::/home/jepson:/bin/bash
rouze:x:1001:1001::/home/rouze:/bin/bash
hadoop:x:1002:1002::/home/hadoop:/bin/bash
spark:x:1003:1003::/home/spark:/bin/bash
[root@hadoop001 ~]# cat /etc/group //查看用户组
root:x:0:
jepson:x:1000:
rouze:x:1001:
hadoop:x:1002:
spark:x:1003:
[root@hadoop001 ~]# cd /home/
[root@hadoop001 home]# ll
total 0
drwx------. 10 hadoop hadoop 170 Nov 18 17:00 hadoop
drwx------. 5 jepson jepson 164 Nov 18 17:52 jepson
drwx------. 4 rouze rouze 95 Nov 5 16:08 rouze
drwx------. 2 spark spark 62 Nov 18 19:53 spark
//权限 所属用户 所属用户组 时间
[root@hadoop001 home]# userdel spark //删除spark用户与用户组
[root@hadoop001 home]# cat /etc/passwd | grep spark
[root@hadoop001 home]# cat /etc/group | grep spark
//因为spark该组只有spark用户,当这个用户删除时,组会校验就他自己,会自动删除
[root@hadoop001 home]# ll
total 0
drwx------. 10 hadoop hadoop 170 Nov 18 17:00 hadoop
drwx------. 5 jepson jepson 164 Nov 18 17:52 jepson
drwx------. 4 rouze rouze 95 Nov 5 16:08 rouze
drwx------. 2 1003 1003 62 Nov 18 19:53 spark
[root@hadoop001 home]# useradd spark //重新创建spark用户
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
[root@hadoop001 home]# cat /etc/passwd | grep spark
spark:x:1003:1003::/home/spark:/bin/bash
[root@hadoop001 home]#
[root@hadoop001 home]# cat /etc/group | grep spark
spark:x:1003:
//模拟用户丢失
[root@hadoop001 home]# cd spark
[root@hadoop001 spark]# ll -a
total 12
drwx------. 2 spark spark 62 Nov 18 19:53 .
drwxr-xr-x. 6 root root 60 Nov 18 19:53 ..
-rw-r--r--. 1 spark spark 18 Oct 31 2018 .bash_logout
-rw-r--r--. 1 spark spark 193 Oct 31 2018 .bash_profile
-rw-r--r--. 1 spark spark 231 Oct 31 2018 .bashrc
[root@hadoop001 spark]# rm -f .bash* //删除隐藏配置文件
//进行修正
[root@hadoop001 spark]# cp /home/hadoop/.bash* ./
[root@hadoop001 spark]# ll -a
total 12
drwx------. 2 spark spark 62 Nov 18 23:04 .
drwxr-xr-x. 6 root root 60 Nov 18 19:53 ..
-rw-r--r--. 1 root root 18 Nov 18 23:04 .bash_logout
-rw-r--r--. 1 root root 193 Nov 18 23:04 .bash_profile
-rw-r--r--. 1 root root 231 Nov 18 23:04 .bashrc
[root@hadoop001 spark]# chown spark:spark .bash* //修改配置文件的用户与用户组
[root@hadoop001 spark]# ll -a
total 12
drwx------. 2 spark spark 62 Nov 18 23:04 .
drwxr-xr-x. 6 root root 60 Nov 18 19:53 ..
-rw-r--r--. 1 spark spark 18 Nov 18 23:04 .bash_logout
-rw-r--r--. 1 spark spark 193 Nov 18 23:04 .bash_profile
[root@hadoop001 spark]#
[root@hadoop001 ~]# su - spark //测试用户修正前情况
-bash-4.2$
-bash-4.2$
-bash-4.2$ su - root
Password:
Last login: Mon Nov 18 15:49:42 CST 2019 from 192.168.110.1 on pts/1
[root@hadoop001 ~]# su - spark //测试用户修正后情况
Last login: Mon Nov 18 22:53:45 CST 2019 on pts/0
[spark@hadoop001 ~]$
//添加spark用户到另外一个组
[root@hadoop001 spark]# groupadd bigdata //增加bigdata组
[root@hadoop001 spark]# cat /etc/group |grep bigdata
bigdata:x:1004:
[root@hadoop001 spark]# usermod -a -G bigdata spark //spark用户到另外bigdata组
[root@hadoop001 spark]# id spark
uid=1003(spark) gid=1003(spark) groups=1003(spark),1004(bigdata)
[root@hadoop001 spark]#
//修改bigdata为spark的主组
[root@hadoop001 ~]# usermod --gid bigdata spark //等同于 -g
[root@hadoop001 ~]# id spark
uid=1003(spark) gid=1004(bigdata) groups=1004(bigdata)
[root@hadoop001 ~]# usermod -a -G spark spark
[root@hadoop001 ~]# id spark
uid=1003(spark) gid=1004(bigdata) groups=1004(bigdata),1003(spark)
[root@hadoop001 ~]#
2.设置密码
给用户spark设置密码
[root@hadoop001 ~]# passwd spark
Changing password for user spark.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@hadoop001 ~]#
3.切换用户
[root@hadoop001 ~]# su - spark //代表切换该用户的家目录,且执行环境变量文件
Last login: Tue Nov 19 21:17:39 CST 2019 on pts/0
[spark@hadoop001 ~]$
[root@hadoop001 ~]# su spark //仍处在上个用户的家目录
[spark@hadoop001 root]$
.bash_profile文件 su spark 不会执行,su - spark 都执行
.bashrc文件 su spark 执行 ,su - spark 都执行
4.普通用户获取root的最大权限
[root@hadoop001 ~]# vi /etc/sudoers
spark ALL=(root) NOPASSWD:ALL //增加spark的root权限
[root@hadoop001 ~]# su spark
[spark@hadoop001 root]$ ll
ls: cannot open directory .: Permission denied
[spark@hadoop001 root]$ sudo ll
sudo: ll: command not found
[spark@hadoop001 root]$ sudo ls -l //验证效果
total 4
-rw-------. 1 root root 1258 Nov 3 20:56 anaconda-ks.cfg
[spark@hadoop001 root]$
5./etc/passwd
[root@hadoop001 ~]# vi /etc/passwd
spark:x:1003:1004::/home/spark:/bin/false
[root@hadoop001 ~]# su - spark
Last login: Tue Nov 19 21:32:29 CST 2019 on pts/1
[root@hadoop001 ~]#
[root@hadoop001 ~]# vi /etc/passwd
spark:x:1003:1004::/home/spark:/sbin/nologin
[root@hadoop001 ~]# su - spark
Last login: Tue Nov 19 21:41:59 CST 2019 on pts/1
This account is currently not available.
[root@hadoop001 ~]#
/etc/passwd文件
CDH 很多的组件
hdfs组件 hdfs用户
su - hdfs
对应修改为 /bin/bash
hbase组件 hbase用户
su - hbase
yarn组件 yarn用户
6.权限
第一个字母: d文件夹 -文件 l连接
rwx rwx rwx
r: read 4
w: write 2
x: 执行 1
-: 没权限 0
chmod -R 777 文件夹/文件路径
chown -R 用户:用户组 文件夹/文件路径
[root@hadoop001 jepson]# ll
total 8
drwxr-xr-x. 2 root root 6 Nov 18 13:06 3
//rwx 第一组 7 代表文件或文件夹的用户root,读写执行
//r-x 第二组 5 代表文件或文件夹的用户组root,读执行
//r-x 第三组 5 代表其他组的所属用户对这个文件或文件夹的权限,读执行
drwxr-xr-x. 2 root root 27 Nov 18 13:24 a
drwxr-xr-x. 3 root root 15 Nov 18 13:01 b
-rw-r--r--. 1 root root 147 Nov 18 14:06 error.log
-rw-r--r--. 1 root root 14 Nov 18 13:23 hadoop.log002
[root@hadoop001 jepson]# chmod -R 777 3
[root@hadoop001 jepson]# ll
total 8
drwxrwxrwx. 2 root root 6 Nov 18 13:06 3
drwxr-xr-x. 2 root root 27 Nov 18 13:24 a
drwxr-xr-x. 3 root root 15 Nov 18 13:01 b
-rw-r--r--. 1 root root 147 Nov 18 14:06 error.log
-rw-r--r--. 1 root root 14 Nov 18 13:23 hadoop.log002
[root@hadoop001 jepson]#
案例:
/tmp 任意的用户都可以访问
drwxrwxrwt. 10 root root 186 Nov 19 21:37 tmp
[root@hadoop001 tmp]# su - jepson
Last login: Tue Nov 5 17:16:57 CST 2019 on pts/0
[jepson@hadoop001 ~]$ cd /tmp/
[jepson@hadoop001 tmp]$ ll
total 4
-rw-r--r--. 1 root root 14 Nov 19 22:40 baidu.log
drwxr-xr-x. 2 root root 6 Nov 18 15:57 hsperfdata_root
drwx------. 2 root root 6 Nov 18 10:16 vmware-root_9115-4121403749
drwx------. 2 root root 6 Nov 19 20:58 vmware-root_9132-3092397204
//第一次编辑
[jepson@hadoop001 tmp]$ vi baidu.log
//E45: 'readonly' option is set (add ! to override) 无法保存
//第二次编辑
[root@hadoop001 tmp]# chmod 646 baidu.log
[jepson@hadoop001 tmp]$ vi baidu.log //成功
[root@hadoop001 tmp]# chmod 664 baidu.log //先撤回该文件的其他组的 写权限
[root@hadoop001 tmp]# usermod -a -G root jepson //将jepson用户添加到root用户组
[root@hadoop001 tmp] chmod 664 rz.log //修改文件的第二组的权限:r --> rw权限
[root@hadoop001 ~]# su - jepson
[jepson@hadoop001 ~]$ cd /tmp
[jepson@hadoop001 tmp]$ vi baidu.log //编辑是成功的
7.查看大小
文件:
ll
du -sh xxx.log
文件夹:
du -sh yyy
[root@hadoop001 software]# ll
total 699652
-rw-r--r--. 1 root root 8491533 Aug 13 20:38 apache-maven-3.3.9-bin.tar.gz
-rw-r--r--. 1 root root 8842660 Aug 16 16:00 apache-maven-3.5.4-bin.tar.gz
[root@hadoop001 software]# du -sh apache-maven-3.3.9-bin.tar.gz
8.2M apache-maven-3.3.9-bin.tar.gz
[root@hadoop001 software]# cd ..
[root@hadoop001 hadoop]# ll
total 4
drwxr-xr-x. 2 root root 6 Nov 18 12:49 app
drwxr-xr-x. 2 root root 6 Nov 18 12:49 data
drwxr-xr-x. 2 root root 6 Nov 18 12:49 lib
drwxr-xr-x. 2 root root 6 Nov 18 12:49 maven_repos
drwxr-xr-x. 2 root root 6 Nov 18 12:49 script
drwxr-xr-x. 2 root root 4096 Nov 18 12:52 software
drwxr-xr-x. 2 root root 6 Nov 18 12:49 source
drwxr-xr-x. 2 root root 6 Nov 18 12:49 tmp
[root@hadoop001 hadoop]# du -sh software/
684M software/
[root@hadoop001 hadoop]#
8.搜索 find
history 历史记录
ps -ef 查看进程
top 系统情况
[root@hadoop001 spark]# mkdir xxxsparkxxx
[root@hadoop001 spark]# mkdir spark
[root@hadoop001 spark]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 24 17:04 spark
drwxr-xr-x. 2 root root 6 Nov 24 17:04 xxxsparkxxx
[root@hadoop001 spark]# cd ~
[root@hadoop001 ~]# find / -name '*spark*' //* 代表模糊匹配
/home/hadoop/software/spark-2.4.3.tar.gz
/home/spark
/home/spark/xxxsparkxxx
/home/spark/spark
/var/spool/mail/spark
[root@hadoop001 ~]# find /home/spark -name '*spark*' //* 代表模糊匹配
/home/spark
/home/spark/xxxsparkxxx
/home/spark/spark
[root@hadoop001 ~]#