Linux权限认知
系统目录结构
Linux中一切皆文件 。在Linux系统中一切都是由文件组成的,所有的目录结构都在一个*别的根目录 "/" 下,根目录是所有目录的起始点,其下面的子目录是一个层次或树状结构,这些不通的目录可以分布在不同的硬盘分区,甚至不同的设备上。
通过 ls -a 指令打印目录结构:
- bin :二进制可执行文件
- boot :系统引导文件
- dev :设备文件
- etc :系统管理和配置文件
- home :用户的根目录,基本是每一个普通用户存放一个文件夹
- lib :标准程序设计库,又叫动态链接共享库 library
- lost+found :正常情况下,该目录是空的,保存丢失文件
- media :系统会自动识别一些设备,如U盘、光驱等,识别后,会把识别的设备挂载到这个目录下
- mnt :临时挂载别的文件系统
- opt :第三方软件默认安装的位置
- proc :虚拟目录,它是系统内存的映射,可以通过访问这个目录来获取系统信息
- root :超级权限者的用户主目录
- sbin :即 super bin,系统管理员使用的系统管理程序
- tmp :存放临时文件
- usr :最庞大的目录,要用到的应用程序和文件几乎都在这个目录下
- var :某些大文件的溢出区,例如各种服务的日志文件
文件与文件夹的权限
每一个资源文件仅仅属于一个所有者和一个拥有组,这样的设置的目的旨在提高文件的安全性。
通过 ls -la 指令打印出文件或者目录的所有者与拥有组的属性:
[root@VM_0_10_centos /]# ls -la
total 80
lrwxrwxrwx. 1 root root 7 Mar 7 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Mar 20 11:21 boot
drwxr-xr-x 19 root root 3000 Mar 25 09:42 dev
drwxr-xr-x. 87 root root 4096 Mar 25 14:13 etc
drwxr-xr-x. 2 root root 4096 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Mar 7 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Mar 7 2019 lib64 -> usr/lib64
drwx------. 2 root root 16384 Mar 7 2019 lost+found
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x. 5 root root 4096 Mar 20 13:51 opt
dr-xr-xr-x 114 root root 0 Mar 25 09:42 proc
dr-xr-x---. 8 root root 4096 May 25 14:54 root
lrwxrwxrwx. 1 root root 8 Mar 7 2019 sbin -> usr/sbin
drwxrwxrwt. 10 root root 12288 May 28 04:31 tmp
drwxr-xr-x. 13 root root 4096 Mar 7 2019 usr
drwxr-xr-x. 19 root root 4096 Mar 7 2019 var
第三列的 root 代表文件或者目录的所有者
第四列的 root 代表文件或者目录的拥有组
第一列的信息是由10个字符表示的,例如 drwxr-xr-x:
第 1 位代表文件的类型(文件夹或文件),d 代表目录,- 代表文件,l 代表链接文件,b 代表设备文件中可存储的接口设备,c 代表 设备文件中串行端口设备...
第 1 位 | 第 2~4 位(u) | 第 5~7 位(g) | 第 8~10 位(o) |
---|---|---|---|
d | rwx | r-x | r-x |
文件类型 | 所有者权限 | 拥有组权限 | 其他用户权限 |
目录 | 可读、可写、可执行 | 可读、可执行 | 可读、可执行 |
文件权限 | 目录权限 | |
---|---|---|
可读[r] | 可以读取文件的内容,如:可以 cat 查看内容 | 可以浏览文件目录,如:可以 cd 进入 |
可写[w] | 可以修改文件的内容,如:可以 vim 修改内容 | 可以修改目录权限,如:可以 mkdir 新建目录 |
可执行[x] | 可以执行可执行程序 | 可以对目录执行 ls -l,并且能够 cd 进去 |
没权限[-] | 无 | 无 |
多用户机制
Linux 是个多用户多任务的分时操作系统,用户的 ID 统称为 UID 。超级管理员 root 的 UID 为 0 ,1~499 之间的 UID 视为系统保留;普通用户 UID 从 500 开始起。
用户类型可以分为三种:超级用户,系统用户,普通用户。
用户组基本分为两种:基本组和附件组。一个用户只可以属于一个基本组,但可以加入多个附加组,系统在创建用户账号时会默认将用户加入基本组。用户加入用户组就会拥有此用户组的相关权限。
useradd 用于创建用户账号,groupadd用于创建用户组
useradd [选项] 用户名 #id指令查看用户
groupadd [选项] 用户组名
userdel和groupdel 用于删除账号和用户组.
userdel [选项] 用户名
groupdel [选项] 用户组
Linux常用指令
切换目录
回到上一级目录,类似 Windows 的「向上」
cd ..
表示回到上一次所在的目录,类似 Windows 的「后退」
cd -
表示回到当前用户的 home 目录,类似 Windows 的「回到桌面」
cd ~
表示进入根目录,它是一切目录的父目录
cd /
创建目录
创建一个文件夹
mkdir foldername
一次性创建多级目录
mkdir -p foldername1/foldername2/foldername3
编辑文件
新建文件或修改文件
vim filename
- 输入 i ,即切换到“插入”状态。就可以通过上下左右移动光标,或空格、退格及回车等进行编辑内容
- 文本编辑结束后,按"ESC"退出编辑
- 输入 : 进入退出指令状态
- 输入指令,退出编辑器。4种退出情况:保存退出、正常退出、不保存退出及强制退出
- 保存退出:(有三种方式)
- 输入 wq ,回车即为保存退出;(w:write;q:quit)
- 输入 x ,回车即为保存退出;(x=wq)
- 在按"ESC"后,直接按"SHIFT+zz"或切换到大写模式按"zz",即保存退出
- 正常退出:(打开的文本文件在内容上没有被改动过)输入 q ,回车即为正常退出
- 不保存退出:输入q! ,回车即不保存退出
- 强制退出:输入 ! ,回车即强制退出
- 保存退出:(有三种方式)
查看文件
实时监控文件:
tail -f filename
实时监控 10 行文件信息
tail -10f filename
查看文件尾部最后 100 行文件信息
tail -n 100 filename
查看文件 100 行之后的日志信息
tail -n +100 filename
查看文本开始的头 100 行信息
head -n 100 filename
查看文本最后 100 行信息以上的内容
head -n -100 filename
查看全部文件內容
cat filename
查看文本的中间某些行范围之间的内容。例如:查看文本文件 100~120 行之间的内容
cat -n filename |tail -n +100|head -n 20
从文本的尾部往头部展现日志内容
tac filename
在文件中查找内容
grep "匹配字符串" filename_1 filename_2
输出包含匹配字符串的行数 -n 选项
grep "匹配字符串" -n file_name
输出除之外的所有行 -v 选项
grep -v "匹配字符串" file_name
删除文件或文件夹
删除目录
rm -rf foldername1 # -r 向下递归,不管有多少级目录,一并删除 ;-f 直接强行删除,不作任何提示
删除文件
rm -f filename
进程操作
查看所有进程
ps -ef
按进程名查询
ps -ef|grep pname
终止进程
kill -信号编号 PID
信号编号 | 信号名 | 含义 |
---|---|---|
0 | EXIT | 程序退出时收到该信息。 |
1 | HUP | 挂掉终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。 |
2 | INT | 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。 |
3 | QUIT | 退出。 |
9 | KILL | 杀死进程,即强制结束进程。 |
11 | SEGV | 段错误。 |
15 | TERM | 正常结束进程,是 kill 命令的默认信号。 |
端口号查看
查看当前所有tcp端口
netstat -ntlp
查看端口使用情况
netstat -ntlp|grep portnumber
查看端口是否被占用
netstat -anp|grep portnumber
根据进程ID查询端口号
netstat -anp|grep PID