1.pwd 查看当前所在的路径
2.切换目录
1.cd /xxx/xxx/xxx
2.返回上一级目录
cd ..
3.查看
1.查看当前目录下的文件夹或者文件 ll 或者ls 尽量用ll
2.查看隐藏信息 ll -a
3.查看文件基本信息 stat
4.查看文件信息 cat
5.查看命令属性 -help
6.查看磁盘大小
查看当前目录下的文件夹的大小使用情况 du -h
查看当前目录下的文件夹以及文件大小的使用情况 du -a
查看整个虚拟机磁盘空间大小使用情况 df -h
7.查看内存使用情况
top
按 ctrl +c 退出
4.创建
1.touch命令创建(创建但是不打开)
2.vi / vim (创建一个文件并打开)
怎么写入文件 后面有
3.mkdir 创建文件夹
1.mkdir xxx
2.mkdir /xxx/xxx/xxx 指定位置创建文件夹
3.mkdir -p xxx/xxx/xxx 创建多级目录文件夹
5.复制或者移动文件,文件夹
1.cp
1.cp xxx.txt yyy.txt
将当前目录下的xxx.txt 移动到当前目录下,移动后的名字叫做yyy.txt 相当于移动并改名 ,但是之前的xxx.txt还是存在的
2.cp xxx.txt aaa/yyy.txt
将当前目录下的xxx.txt 移动到aaa目录下,移动后的名字叫做yyy.txt 相当于移动并改名
3.cp -r aaa bbb
将当前目录下的aaa文件夹复制一个,放在当前目录叫bbb的文件夹
2.mv
1.mv a1.txt aaa/a1.txt
将当前目录下的a1.txt 移动到当前目录下aaa目录下,移动后的名字叫做a1.txt,移动后原来的文件没了
2.mv a1.txt a3.txt
将当前目录下的a1.txt 移动到当前目录下,移动后的名字叫做a3.txt 相当于移动并改名
6.删除
1.rm 删除文件 删除文件的时候会进行提示
2.rm 无法删除一个文件夹
3.rm -f 强制删除一个文件,没有提示
4rm -r 删除文件夹的时候会进行提示
5,rm -rf 删除文件夹没有提示
7 cat的高级用法
1.查看文件的特定内容(不用打开文件)
1.cat 文件 | grep '想看内容'
注意还有一种 是用vim 打开文件 然后输入/ 再输入你想查询的内容 打开文件在不进入编辑模式的前提下,使用/xxx关键词 + 回车搜索
2.分页查看 cat 文件名 | more
2.合并文件
cat a1.txt a2.txt > xxx.txt
将合并的文件内容放到一个新的文件中,结果文件自动创建
将合并的文件内容放入到一个已经存在的文件,结果是将合并和的内容覆盖原始文件的数据。>有覆盖的含义
cat a1.txt a2.txt >> a6.txt 合并并追加内容到文件
8编辑文件
1.vim/vi
2.编辑错误
在编辑文件时一不小心,按下了ctrl+s或者ctrl+z
解决方法 rm -rf .test2.txt.swp
9解压
tar -zxvf
9.监控 tail
小f 如果把之前的文件删除 再创建一个跟原来一样名字的文件,那么不会被监控到
tail -F可以被监控到
10.scp 远程复制
1.scp远程
scp [-r] 要复制的文件[文件夹] 目标机器的用户名@目标机器的ip地址:复制的目标路径
举例:将master机器上的/usr/local/soft/a1.txt,复制到node1机器上的/usr/local/soft/a1.txt
scp /usr/local/soft/a1.txt root@192.168.220.110:/usr/local/soft/
2.配置hosts映射
vim /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.220.100 master
192.168.220.110 node1
192.168.220.120 node2
其中,#是加上去的,为了注释
192.168.220.100 master
192.168.220.110 node1
192.168.220.120 node2 这三个才是自己输出的
这样配置好就不用输入ip地址了
3产生密钥(私钥 公钥)
ssh-keygen -t rsa 按4次回车
ssh-copy-id -i 主机名
ssh-copy-id -i master
ssh-copy-id -i node1
ssh-copy-id -i node2
这样就不用输入密码了
每个虚拟机都要重复上述2次操作 ,这样传输都不需要ip地址跟密码
如果传输的文件或者文件夹在2个虚拟机的位置是一样的则可以用`pwd`代替,记住这个不是单引号是飘号,tab键的上面
11.用户组管理
1.添加用户组
groupadd shujia
2.存储用户信息的文件
cd /etc
cat ./group
#etc目录下有一个group的文件存放着用户信息
这个shujia是我刚才添加的
其中x是密码,现在只是用来占位。1000是用户组的编号
3.用户组修改 groupmod
groupmod -g 1100 -n wyhshujia shujia
含义 将shujia组的组id改为1100,组名由shujia改为wyhshujia
groupmod -g 组的新id -n 新组的名字 旧组的名字
4.用户组删除 gruopdel
gruopdel
12.用户管理
1.用户相关的文件
cd /etc etc中有一个叫passwd的文件
cat passwd
2.创建用户
1.创建一个why用户
useradd why
此时,必须在etc的目录中创建
此时,group与 passwd文件中都有这个叫why的用户
cat shadow 同时也在shadow文件中新增了一行关于wyh密码的数据
此时也在home的目录下创建了一个叫why的用户
验证是否创建成功
1)使用tail文件查看/etc/passwd文件
2)使用tail文件查看/etc/group文件
3)验证是否存在家目录(在Centos 下创建好用户之后随之产生一个同名家目录)
3.passwd存储用户信息的文件
使用vim命令打开/etc/passwd文件
# wyh:x:1000:1000::/home/wyh:/bin/bash
root : x : 0 : 0 : root : /root : /bin/bash
用户名 : 密码 : 用户ID : 用户组ID : 注释 : 家目录 : 解释器shell
用户名:登录linux时使用的用户名
密码:此密码位置一般情况都是"x",表示密码的占位,真实密码存储在/etc/shadow
用户ID:用户的识别符,每个用户都有唯一的UID【-u】
用户组ID:该用户所属的主组ID;【-g】
注释:解释该用户是做什么用的;【-c】
家目录:用户登录进入系统之后默认的位置;【-d】
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,转换成机 器语言,传递给内核处理;如果解释器是==/bin/bash 表示用户可以登录到系统==,==/sbin/nologin表 示该用户不能登录到系统==【-s】
使用场景1:
公司新员工lisi,属于shujia部门,用户ID1200,不允许登录系统
思路: 创建用户lisi,默认lisi属于自己同名的主组,让lisi 属于附加组shujia,用户ID 1200,注释 为"数加工程师lisi",解释器为/sbin/nologin
1.创建shujia的部门
groupadd wyhshujia
2.创建lisi的用户
useradd -G wyhshujia -u 1200 -s /sbin/nologin -c "数加工程师lisi" lisi
此时 group文件里也有一个lisi的组名
home的目录下也有一个lisi的文件夹
4.id查看用户信息
1.id lisi
5.usermod修改用户
1.命令:usermod(user modify)
2.语法:# usermod [选项 选项的值] … 用户名
3.作用:修改用户的各种属性
4.选项:-G:表示指定用户的用户附加组,选项的值可以是用户组的ID,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500 之后按顺序分配uid,如果不想使用系统分配 的,可以通过该选项自定义【类似于腾讯QQ 的自选靓号情况】
-L:锁定用户,锁定后用户无法登陆系统
lock -U:解锁用户unlock
-c<备注>:修改用户帐号的备注文字
-d<登入目录>:修改用户登入时的目录
-s<shell>:修改用户登入后所使用的shell
场景2:
公司员工wangwu,属于bigdata29部门,现在要休产假,产假期间,暂时停止她登陆电脑的权限,同时 原来属于shujia部门的员工lisi,负责wangwu的工作,所以,需要把lisi加入到bigdata25的组,同时, 修改lisi的账户注释为“shujia bigdata25 user”
a.创建bigdata29的部门
groupadd bigdata29
b.创建wangwu的用户
useradd -G bigdata29 -u 1300 -c "大数据开发工程师" wangwu
c.锁住王五的权限
usermod -L wangwu
d.解锁wangwu的权限
usermod -U wangwu
这个时候提示我们需要设置密码
f.注释lisi账户
usermod -G bigdata29 -c "shujia bigdata29 user" lisi
这个是passwd文件
这个是group文件
13.passwd修改用户密码
1.命令:passwd
语法:# passwd 用户名 【如果不指定用户名则修改自己的密码】
作用:修改用户密码
2.王五产假休完回到公司上班,需要将王五的账户解锁,在使用usermod -U解锁时,我们看到一个错误信 息如下:
3,修改wangwu密码
passwd wangwu
14认识/etc/shadow文件
由于 /etc/passwd文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了shadow文件中。 /etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。
与用户密码相关的文件:/etc/shadow 为用户设置密码之后,会自动在/etc/shadow文件中进行体现,使用vim编辑器打开 第一列为用户名,例如zhangsan 后面是加密后的密码,就是$开头的字符串 如果显示为!!,则表示这个用户==没有==设置密码。
由以上截图所知,wyh,lisi是没有设置密码的。wangwu我们刚刚设置了密码,所以显示为一个加密的字 符创
15.切换用户su
1. 在设置用户密码之后就可以使用此账号进行登录系统了,如果系统处于已登录状态,则可以使用su命令进 行切换用户。 为了系统安全,企业中通常不会允许root用户直接登录计算机,但是工作需要,我们又需要使用root权 限,这时候,我们就可以先使用一个普通用户登录计算机,再通过su命令切换到root权限
2.语法:# su [-] 账号
3.a. 从root 往普通用户切换不需要密码,但是反之则需要root 密码;
b. 切换用户之后前后的工作路径是不变的,添加了选项[-]会自动切换到用户的家;
c. 普通用户没有办法访问root 用户家目录,但是反之则可以;
4,权限
通过ll查看详细信息时:-rw-r--r--. 1 root root 11 4月 24 21:22 xiao.txt
-:表示类型
rw-:当前用户权限
r--:当前用户组权限
r--:其他用户权限
r:读 4
w:写 2
x:执行 1
u:当前用户
g:当前组
o:其他
a:所有
5.删除用户
userder -r 用户名
-r:表示删除用户的同时,删除其家目录/home下的对应文件夹
16.权限分配
在root用户里面创建一个text文件夹,在里面创建一个a1.root.txt的文件,在用户why可以打开查看,但是不能修改
1.分配权限 chmod 646 a1.root.txt
之间的文件属性 后面的其他用户权限只有一个r,修改过后,可以读跟写
o+w也可以
再可以进行修改
修改文件夹以及文件夹里面文件的权限记得加上R
chmod -R 权限 文件名