Linux指令
Linux权限管理的三剑客:
chmod 修改用户权限
chown 修改属主
chgrp 修改属组
-rw-r--r--. 1 root root 52 Sep 13 04:30 file
举个例子:比如我建一个微信群,我就是属主,发群公告,大家都可以看到,在群里的人员属于属组,不在群里的属于其他用户。
针对于file这个文件权限的翻译:
root用户对file这个文件具有读和写的权限;
和root用户在同一个组的其他用户具有读的权限;
其他用户具有读的权限。第一root表示属主,第二个root表示属组。
r read 读==》权限4
w write 写==》权限2
x execute 执行==》权限1
- 表示权限为0,没有权限
r 读的权限对应的指令有:cat less more head tail等等
w 写的权限对应的指令有:vim vi 等等
x 执行的权限对应的指令有:sh ./ 等等 sh 后面接shell脚本 sh startup.sh
r 读(4)+ w写(2) + x执(1) = 7 翻译为读写执行权限相加等于 7
属主(user简称u): 文件的创建者
属组(group简称g):和文件的创建者为同一个组的其他用户
其他用户(others简称o):既不是文件的创建者,又不是和文件的创建者在同一个组的
chmod u+r xxx(file) 给属主对file文件加上读的权限
chmod g+w xxx(file ) 给属组对file文件加上写的权限
chmod o+x xxx(file) 给其他用户对file文件加上执行的权限
chmod o-x xxx(file) 给其他用户对file文件删除执行的权限
cat /etc/passwd 查看Linux系统中所有的用户
passwd是一个文件
passwd这个文件当中默认存储了Linux系统所有的用户信息
root:x:0:0:root:/root:/bin/bash 管理员用户后面的数字是 0
1-499 表示系统里面的用户
500及500以上的 表示我们自己建的用户
注意:我们一般使用root和普通用户,不会使用系统用户
chmod 756 file1 file1这个文件的属主对该文件有读写执行权限,属组有读和执行权限,其他用户有读写权限
chmod -R 777 a a这个目录下所有的目录和文件的属主和其他用户对a这个目录具有读写执行的权限(递归的方式)
chown duoceshi file 修改file文件的属主为duoceshi用户
chgrp duoceshi file 修改file文件的属组为duoceshi用户
chown root:root file 同时修改file文件的属主和属组为root用户,用冒号隔开
chown duoceshi.duoceshi file 同时修改file文件的属主和属组为duoceshi用户,用点号隔开也可以
chown -R duoceshi a 修改a这个目录下所有的目录及文件的属主为duoceshi(递归方式进行修改)
注意:添加用户,在任何目录下都可以添加用户,添加的用户都是在 /etc/passwd 这个文件中查看。
useradd xxx(dcs8) 创建一个用户 xxx(dcs8),创建用户的同时会自动创建一个同名的组。
passwd dcs8 给新建的用户设置密码,重启虚拟机之后,用xshell连接虚拟机的时候可以用dcs8用户和设置的新密码去登录。
[root@localhost dcs8]# groups dcs8 查看dcs8这个用户属于哪个组
dcs8 : dcs8 冒号前面的是用户名,后面的是组名
groupadd dcs9 创建一个名为dcs9的空组名
cat /etc/group 创建组之后,查看是否存在dcs9这个空组名
useradd dcs10 -g dcs9 添加用户dcs10,并将其分配到dcs9组里去
[root@localhost dcs8]# groups dcs10 再查看dcs10属于哪个组
dcs10 : dcs9 这里显示属于dcs9这个组里
[root@localhost dcs8]# gpasswd -a dcs8 dcs9 将已经存在的用户dcs8添加到dcs9这个组里
Adding user dcs8 to group dcs9 显示已经添加成功
[root@localhost dcs8]# groups dcs8 查看dcs8在哪个组里
dcs8 : dcs8 dcs9 显示存在dcs9这个组里
[root@localhost dcs8]# gpasswd -d dcs8 dcs9 将dcs8这个用户从dcs9这个组里移除
Removing user dcs8 from group dcs9 显示移除成功
[root@localhost dcs8]# groups dcs8 移除成功之后查看dcs8用户在哪个组
dcs8 : dcs8 显示已经不在dcs9组里了
总结:
1、直接使用useradd + 用户名,创建用户的同时会创建一个跟用户名同名的组名,并且创建的用户会默认被分配到同名的组里。
2、使用useradd 用户名 -g 组名 添加用户并分配到指定的组里,这种方式创建用户的时候,不会产生一个和用户同名的组。
删除组命令:groupdel 组名
[root@localhost /]# groupdel dcs9
groupdel: cannot remove the primary group of user 'dcs10' ==》删除dcs9这个组的时候报错,因为里面有dcs10这个用户。所以需要先删除用户,再删除组
userdel dcs10 删除用户dcs10
[root@localhost /]# userdel -r -f dcs8 删除已经登录的用户
userdel: user dcs8 is currently logged in 还是提示已经登录,实际已经删除了
打包命令(在解压包之前需要把源文件删除,解压包才能看出效果)
tar包(可以对文件和目录进行打包)
tar包打包命令:tar -cvf file.tar file
tar包解压命令:tar -xvf file.tar
tar.gz包(可以对文件和目录进行打包)
tar.gz包打包命令:tar -zcvf file.tar.gz file
tar.gz包解压命令:tar -zxvf file.tar.gz
zip包(可以对文件和目录进行打包)
zip包打包命令:zip file.zip file
zip包解压命令:unzip file.zip
gz包(只能对文件打包,不能对目录打包,打包之后源文件不存在,解压之后压缩包不存在)
gz包打包命令:gzip file
gz包解压命令:gunzip file.gz
xftp工具,用于传输文件内容比较大的文件,传输速度比较快。用于Windows系统和Linux系统之间的文件传输。
scp 命令:实现两个不同Linux服务器之间的文件传输
重点
df 查看磁盘空间或者磁盘使用情况
df -h 带单位进行希纳是
top命令:监控Linux系统的性能指标cpu的使用情况==》实时刷新==》Ctrl+c 结束
top -d 3 表示3秒钟刷新一次
free 查看Linux系统内存使用情况
ps -ef|grep ssh 查看ssh服务的进程,grep后面一般接服务名称
kill -9 + 进程号 杀掉进程(强制杀掉)
kill -15 + 进程号 也可以杀掉进程(可以理解为操作系统发送一个通知告诉应用主动关闭)
lsof -i:22 查看端口22对应服务的进程信息
netstat -ntlp 查看所有已经开启的端口
端口:一个端口只能被一个进程所使用
whoami 查看当前操作用户是哪个
hostname 查看主机名
getconf LONG_BIT 查看内核信息
du -sh 查看当前目录的大小
du -sh file 查看指定文件或者目录的大小
假如打开centos没有IP地址的话
1、重启网卡:service network restart
2、在dos命令窗口输入 services.msc 回车,将输入法切换到英文,按v,找到以vm开头的所有服务,选中之后鼠标右击进行重启,再回到Linux操作界面重启网卡 service network restart
alias if='ifconfig' 取别名,使用if 就相当于ifconfig的作用
unalias if 这个是取消别名的意思
clear 清空屏幕
reset 重置屏幕,重置之后,鼠标往上滚动,没有操作记录
nl + 文件名 显示文件行数
【创建链接文件】
软链接:就相当于创建一个桌面快捷方式
ln -s /dcs8/file /file 将dcs8下面的file文件创建一个软链接,并将链接文件放在根目录下,命名为file
软链接和源文件操作特征:
1、编辑链接文件,源文件同步被编辑
2、编辑源文件,链接文件同步被编辑
3、删除链接文件,源文件还存在
4、删除源文件,链接文件不存在
5、源文件已删除,编辑链接文件并保存退出。会恢复之前删除的源文件,链接文件也会恢复,但是文件内容是我们编辑的新内容
|