一、文件权限
Linux系统是一种典型的多用户系统, 不同的用户处于不同的地位, 拥有不同的权限。为了保护系统的安全性, Linux系统对不同的用户访问同一文件(包括目录文件) 的权限做了不同的规定。 在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
- 从左到右的 10 个字符表示,如果没有权限, 就会出现减号[ - ]而已。 从左至右用0-9这些数字来表示
- 0 首位表示类型,在Linux中第一个字符代表这个文件是目录、 文件或链接文件等等。- 代表文件,d 代表目录,l 代表链接文档(link file);
- 第1-3位确定属主(该文件的所有者) 拥有该文件的权限。 ---User
- 第4-6位确定属组(所有者的同组用户) 拥有该文件的权限, ---Group
- 第7-9位确定其他用户拥有该文件的权限 ---Other
- rwx 作用文件和目录的不同解释
- 作用到文件:[ r ]代表可读(read): 可以读取, 查看;[ w ]代表可写(write): 可以修改, 但是不代表可以删除该文件, 删除一个文件的前提条件是对该文件所在的目录有写权限, 才能删除该文件;[ x ]代表可执行(execute):可以被系统执行
- 作用到目录:[ r ]代表可读(read): 可以读取, ls查看目录内容;[ w ]代表可写(write): 可以修改, 目录内创建+删除+重命名目录;[ x ]代表可执行(execute):可以进入该目录
如果查看到是文件: 链接数指的是硬链接个数;如果查看的是文件夹: 链接数指的是子文件夹个数。
1. 改变权限 chmod
- chmod [{ugoa}{+-=}{rwx}] 文件或目录,u:所有者 g:所有组 o:其他人 a:所有人(u、 g、 o 的总和),+-=代表增加删除和修改
- chmod [mode=421 ] [文件或目录]
- chmod -R 权限码 文件或目录,修改整个文件夹里面的所有文件的所有者、 所属组、 其他用户都具有可读可写可执行权限
2. 改变所有者chown
- chown [选项] [最终用户] [文件或目录]
- -R 递归操作
3. 改变组 chgrp
-
chown [最终用户组] [文件或目录]
二、 查找文件或目录
- find [搜索范围] [选项]
- locate 搜索文件:locate 指令基于数据库进行查询, 所以第一次运行前, 必须使用 updatedb 指令创建 locate 数据库
- grep 过滤查找及“|”管道符 :
- grep 选项 查找内容 源文件
- -n 显示匹配行及行号
三、 解压压缩
1. gzip/gunzip 压缩
- gzip 文件 , 将文件压缩为*.gz文件
- gunzip 文件, 解压相应格式文件
- 只能压缩文件不能压缩目录,不保留原来的文件,同时多个文件会产生多个压缩包
2. zip/unzip 压缩
- zip [选项] XXX.zip 将要压缩的内容 (可以 压缩文件和目录),-r压缩目录
- unzip [选项] XXX.zip , -d指定解压后文件的存放目录
3. tar打包
- tar [option] xxx.tar.gz 打包内容 ,用于打包目录
- 常用命令: tar -zcvf 多个文件 或者 tar -zxvf 多个文件 进行打包压缩和解压
四、磁盘管理
1. 查看文件和目录占用的磁盘空间
- du 目录/文件 (功能描述: 显示目录下每个子目录的磁盘使用情况)
2. 查看磁盘空间使用情况
- df 选项 列出文件系统的整体磁盘使用了,检查文件系统的磁盘空间占用情况
3. 查看设备挂载情况
- lsblk
- lsblk -f 查看详细地设备挂载情况,显示文件系统信息
4. 挂载/卸载
Linux中每个分区都是用来组成整个文件系统的一部分, 它在用一种叫做“挂载”的处理方法, 它整个文件系统中包含了一整套的文件和目录, 并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得
- 挂载前需要有光盘或者已经链接的镜像文件
- 挂载:mount [-t vfstype] [-o options] device dir
- 卸载: umount 设备文件名或挂载点
- 设置开机自动挂载: vi /etc/fstab 添加内容
5. 分区
- fdisk -l (功能描述: 查看所有磁盘分区详情)
- fdisk 硬盘设备名 (功能描述: 对新增硬盘进行分区操作)
- 该命令必须在 root 用户下才能使用
五、 进程管理
1. 查看进程
- ps aux|grep xxx 查看系统中所有进程,一般用于查看进程的 CPU 占用率和内存占用率
- USER: 该进程由哪个用户产生
- PID:进程id
- %CPU: 占用CPU资源的百分比,占用越高进程越耗费资源
- %MEM:占用物理内存的百分比
- VSZ:占用虚拟内存的大小,单位kb
- RSS:占用实际物理内存的大小
- TTY:在哪个终端运行的,centos中,tty1是图形化终端,tty2-6是本地的字符界面终端,pts/0-255代表虚拟终端
- STAT:进程状态,如运行R,睡眠S,暂停T,僵尸Z,包含子进程s,多线程l,前台显示+状态
- START:进程的启动时间
- TIME: 该进程占用 CPU 的运算时间, 注意不是系统时间
- COMMAND: 产生此进程的命令名
- ps -ef |grep xxx 查看子父进程之间的关系
- UID: 用户 ID
- PID: 进程 ID
- PPID: 父进程 ID
- C: CPU 用于计算执行优先级的因子。 数值越大, 表明进程是 CPU 密集型运算,执行优先级会降低; 数值越小, 表明进程是 I/O 密集型运算, 执行优先级会提高
- STIME: 进程启动的时间
- TTY: 完整的终端名称
- TIME: CPU 时间
- CMD: 启动进程所用的命令和参数
2. 终止进程
- kill [选项] 进程号 根据进程号杀死进程
- killall 进程名称 根据进程名称杀死进程,支持通配符
- -9 强制结束
3. 查看进程树
- pstree [options]
- -p 显示进程pid
- -u 显示进程的所属用户
4. 监控系统进程状态
- top [options]
- -d 秒数:指定top 命令每隔几秒更新。 默认是 3 秒在 top 命令的交互模式当中可以执行的命令
- -i :使top不显示任何闲置或者僵死的程序
- -p: 通过指定pid尽快某个进程的状态
5. 显示网络状态和端口占用信息
- netstat -anp | grep 进程号 查看该进程网络信息
- netstat -nlp | grep 端口号 查看网络端口号占用情况
六、 系统定时服务
- 重新启动crond服务: systemctl restart crond
- crontab [选项]
- crontab -e 会进入编辑模式: 编辑格式如 *****执行的任务
七、软件包管理
1. RPM
- RPM包的名称格式,例如:Apache-1.3.23-11.i386.rpm
- “apache” 软件名称
- “1.3.23-11”软件的版本号, 主版本和此版本
- “i386”是软件所运行的硬件平台, Intel 32位处理器的统称
- “rpm”文件扩展名, 代表RPM包
- 查询所安装的rpm软件包 rpm -qa 或者 rpm -qa | grep rpm软件包
- 卸载软件包:rpm -e RPM软件包 或者 卸载软件时不检查依赖:rpm -e --nodeps 软件包
- 安装软件包: rpm -ivh RPM 包全名
2. YUM
基于 RPM 包管理, 能够从指定的服务器自动下载 RPM 包并且安装, 可以自动处理依赖性关系, 并且一次安装所有依赖的软件包, 无须繁琐地一次次下载、 安装
- yum [选项] [参数]
- 修改网络YUM源
- 安装wget, wget 用来从指定的 URL 下载文件,使用 yum install wget
- 在/etc/yum.repos.d/目录下, 备份默认的 repos 文件
- 下载网易 163 或者是 aliyun 的 repos 文件,任选其一
- 使用下载好的 repos 文件替换默认的 repos 文件
- 清理旧缓存数据, 缓存新数据
kill [选项] 进程号 killall 进程名称 |
(功能描述: 通过进程号杀死进程) ( 功能描述: 通过进程名称杀死进程, 也支持通配符, 这 |