命令的执行依赖于解释器(默认的解释器:/bin/bash) 命令行的一般格式基本用法 Linux执行大多数命令,都要找到对应的执行程序 命令行的快捷键 (Change Directory)切换目录 命令格式:cd [目标文件夹位置] cd 命令常用的几种方式 绝对路径和相对路径 (list)显示指定目录下的内容(列出当前工作目录所含文件及子目录) 命令格式:ls [选项] [目录或文件名]… 常用的选项 统计文件或者目录使用硬盘空间的大小 命令格式 : du [选项] 文件或目录 常用选项 将[文件]或标准输入组合输出到标准输出。 命令格式:cat [选项]… [文件]… 常用的选项 查看部分内容的命令 head命令格式:head [-n] 数字 文件名 tail命令格式: tail [-n] 数字 文件名 常用选项 创建目录 命令格式:mkdir [选项]… 目录… 常用的选项 删除目录或文件 命令格式:rm [选项]… 文件… 常用的选项 (move)移动文件或目录 路径不变的移动(重命名) 命令格式:mv 原文件… 目标路径 重命名 (copy)复制 命令格式:cp [选项]… 原文件1、原文件2… 目标路径 常用选项 归档:将多个文件或目录整理为一个文件,文件总大小不会改变。 压缩:按照某种算法减小文件占用空间的大小 Linux系统中常见的压缩格式 创建压缩包 释放压缩包: 常用选项 zip归档工具:可跨平台的 释放+解压 unzip 备份文件.zip -d [目标文件夹] [root@localhost ~]# mkdir /zipfiles 管道 | 将前面命令的输出结果,传递给后面的命令作为参数 重定向 > 将前面命令的输出作为内容,写入到目标文件中 命令格式: find [目录] [条件1] [条件2] 常用的条件 高级使用:处理查找的内容 命令格式:find [范围] [条件] -exec 处理命令 {} ; 命令格式: rpm -q[子选项] [软件名称] 常用的子选项 命令格式 :rpm -qf [文件路径]… 命令格式:rpm -q[子选项] [RPM包文件路径] 常用的子选项 命令格式: rpm -i RPM软件包路径 辅助选项 恢复被删除的程序 基于RPM包构建的软件更新机制 自动解决软件包依赖关系 所有软件包由集中的YUM软件仓库提供 让目录成为设备的访问点 以光驱设备为例。 用户的标识: UID 管理员用户 root 的UID 为0 ; 普通用户的UID从1000开始。 一个用户必须属于一个组,在创建用户的用时,也会创建一个与这个用户相对应得基本组。 /etc/passwd,保存用户帐号的基本信息 用户名:密码占位符:用户的UID:基本组的GID:描述信息:家目录:解释器 /etc/passwd,保存用户密码/有效期等信息 字段1:用户帐号的名称 用户初始配置文件 useradd 命令 命令格式: useradd [选项]… 用户名 常用选项 usermod 命令 命令格式: usermod [选项]… 用户名 常用的选线: userdel 命令 命令格式: userdel [-r] 用户名 常用选项 /etc/group,保存组帐号的基本信息 组名:组的密码占位符:GID:组的成员列表 groupadd 命令 gpasswd 命令 命令格式: gpasswd [选项]… 组名 常用选项 覆盖之前,重定义 基本权限: 归属关系: 针对个别用户,个别组设置独立的权限 setfacl 命令 命令格式1: setfacl [选项] u:用户名:权限 文件 命令格式2: setfacl [选项] g:组名:权限 文件 常用选项 Set GID权限(s权限) Set UID 粘滞位,sticky Bit权限(t权限) 磁盘是任何系统中存储文件和数据的重要载体。是必不可缺的。无论是Windows还是Linux在安装系统时,必须先有分区来做这个载体。 在Linux系统中主要使用的磁盘工具是fdisk和parted两种。 分区模式:MBR和GPT MBR/msdos分区模式 最多只能有4个主分区 扩展分区可以没有,至多有一个 1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区) 最大支持容量为 2.2TB 的磁盘 扩展分区不能格式化,空间不能直接存储数据 可以用于存储数据的分区:主分区与逻辑分区 GPT分区模式 格式化:赋予空间文件系统的过程 文件系统:数据在空间中存放的规则 [root@localhost ~]# mkfs. 格式化分区 /dev/sdb1 /mypart1 ext4 defaults 0 0 设备名称 挂载点 文件系统 参数 备份标记 检测顺序 备份标记 是否检验扇区 在Linux系统下除了存放文件的分区以外,还需要一个Swap(交换分区)用来充当虚拟内存。 SWAP分区是Linux暂时存储数据的交换分区,主要用于保存物理内存上暂时不用的数据,在需要的时候调进内存。一般情况下SWAP分区应该大于或者等于物理内存大小。 虚拟内存 Linux中的虚拟设备 建立一个大文件 LVM是Linux操作系统中对磁盘分区进行管理的一种机制。 是建立在磁盘和分区之上的一个逻辑层,可以提高磁盘分区管理的灵活性。 最重要的三个概念 环境准备 物理卷就是指磁盘,磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和LVM相关的管理参数。 每一个物理卷被划分为若干个PE(physical Extents)。PE的大小默认是4MB。 (创建卷组的时候就会直接将对应的分区创建为物理卷) 可以看到刚刚被创建完成的物理卷/dev/sdb1 和/dev/sdc1以及安装系统是自动创建的/dev/sda2 不需要的物理卷可以删除,但是已经属于某个卷组的物理卷删除会报错 卷组可以由一个或者多个物理卷组成,一个卷组可以创建多个逻辑卷。当卷组空间不足时,可以往卷组中添加新的物理卷。 (创建卷组的时候就会直接将对应的分区创建为物理卷) 创建一个名字叫做vg0的卷组 逻辑卷基于卷组。 逻辑卷和普通的磁盘分区非常的类似,在逻辑卷上也同样可以建立文件系统。 逻辑卷被划分为LE(logical Extents)的基本单位。在同一个卷组中LE和PE的大小是相同的,并且一 一对应。 环境准备 在卷组vg0中,创建逻辑卷lv0,大小为1111MB。 在卷组vg0中,创建逻辑卷lv1,大小为1000个PE。 在卷组和逻辑卷创建完成后,会在/dev目录下创建于其名字对应的目录。 不建议减少逻辑卷的空间,因为可能会导致逻辑卷上的文件系统中的数据丢失。 将lv0的大小增加为1500MB。 xfs_growfs:扩展xfs文件系统 resize2fs:扩展ext4文件系统 删除逻辑卷lv1 硬RAID:通过RAID卡管理 软RAID:通过软件来管理 Redundant Array of Independent Disks 独立磁盘冗余阵列 其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。 常见的RAID方案 RAID0(最少两块) RAID1(最少两块) 磁盘镜像模式 原理在一个硬盘上写入数据时会在闲置硬盘上也同时写入,生成镜像文件,在不影响性能的情况下尽可能保证可靠性。 优点: 缺点: RAID10(最少四块) RAID5(最少三块) RAID6(最少四块) 每个执行的任务都被称为进程(process)。 Linux系统中每运行一个程序都会创建一个进程。 进程就是一个正在运行的程序实例。 进程是一个动态的概念,可以与操作系统、其他进程以及用户进行数据交互。 每个进程启动后,系统都会自动为它分配一个唯一的数值,用于标识该进程,这个数值就被称为进程号(Process ID,PID)。进程号是这个进程的唯一标识,系统也是通过进程号来管理的。 ps 命令 (Processes Snapshot) 命令格式: ps [选项] 常用选项 用户 进程ID 占用CPU 占用内存 虚拟内存 固定内存 终端 状态 起始状态 CPU时间 程序指令 输出内容中会显示PPID(父进程ID) pgrep (Process Grep) 命令格式 : pgrep [选项] 查询条件 常用命令: 前台启动 后台启动 Ctrl+z 挂起当前进程(暂停运行转入后台) jobs 命令 普通用户只能终止自己运行的进程,root用户可以终止所有。 Ctrl+C 结束前台进程 kill 命令 killall 命令 pkill 命令 按照设定的时间周期性的执行某一项任务 使用的软件包:cronie 、 crontabs 系统服务: crond 日志文件: /var/log/cron crontab 命令 计划任务的记录格式 分 时 日 月 周 命令 默认端口是 TCP 22 openssh 服务名称:sshd 主程序: /usr/sbin/sshd (服务端)、/usr/bin/ssh (客户端) 配置文件:/etc/ssh/sshd_config /etc/ssh/ssh_config SSH 无密码验证 安全复制工具 基于ssh协议 命令格式:scp [-r] 用户名@服务器:路径 本地路径 scp [-r] 本地路径 用户名@服务器:路径 与cp命令用法相同 通配符 “ * ” : 任意多个字符 “ ? ” :任意单个字符 [a-z] : 连续范围内的一个 {a,min,max}:多个不连续的字符串,全匹配 less 分屏阅读工具 列出CPU处理器信息 关机:poweroff 重启:reboot 别名: 复杂的命令简单化 查看已设置的别名 alias [别名名称] 定义新的别名 alias 别名名称= ‘实际执行的命令行’ 取消已设置的别名 unalias [别名名称] VDO 虚拟数据优化器NSD2005班第一次串讲笔记
命令基础
[root@localhost ~]# cat /etc/shells #查看当前系统有哪些解释器
一、文件和目录管理
1.1、Linux系统的目录结构
1.2、文件和目录的管理命令
1.2.1、pwd
[root@localhost ~]# pwd /root
1.2.2、cd
[root@localhost ~]# cd /opt/ [root@localhost opt]# pwd /opt
[root@localhost opt]# cd [root@localhost ~]# pwd /root
[root@localhost ~]# cd .. [root@localhost /]# pwd /
[root@localhost ~]# useradd nsd2005 [root@localhost ~]# cd ~nsd2005 [root@localhost nsd2005]# pwd /home/nsd2005
1.2.3、ls
[root@localhost ~]# ls anaconda-ks.cfg 公共 视频 文档 音乐 initial-setup-ks.cfg 模板 图片 下载 桌面
[root@localhost ~]# ls -l /etc/passwd -rw-r--r--. 1 root root 2727 6月 8 10:24 /etc/passwd
- -A 显示目标目录下所有的文件和目录,包括隐藏文件
[root@localhost ~]# ls -A /root/
[root@localhost ~]# ls -ld /etc
[root@localhost ~]# ls -lh /etc/passwd
[root@localhost ~]# ls -R /etc/
1.2.4、du
[root@localhost ~]# du -sh /etc/passwd
1.2.5、cat
[root@localhost ~]# cat /etc/passwd
[root@localhost ~]# cat -n /etc/passwd
1.2.6、head和tail
[root@localhost ~]# head /etc/passwd //显示前十行内容 [root@localhost ~]# head -2 /etc/passwd //显示前两行内容
[root@localhost ~]# tail /etc/passwd //显示后十行内容 [root@localhost ~]# tail -2 /etc/passwd //显示后两行内容
1.2.7、grep工具
[root@localhost ~]# grep ^root /etc/passwd //查询以root开头的行 [root@localhost ~]# grep bash$ /etc/passwd //查询以bash结尾的行
[root@localhost ~]# grep -v ^root /etc/passwd //查询不以root开头的行 [root@localhost ~]# grep -v bash$ /etc/passwd //查询不以bash结尾的行
1.2.8、mkdir
[root@localhost ~]# mkdir /opt/nsd2005 [root@localhost ~]# cd /opt/nsd2005 [root@localhost nsd2005]# pwd /opt/nsd2005
[root@localhost nsd2005]# mkdir -p /opt/nsd2005/aa/bb/cc/dd/ee [root@localhost nsd2005]# cd /opt/nsd2005/aa/bb/cc/dd/ee [root@localhost ee]# pwd /opt/nsd2005/aa/bb/cc/dd/ee
[root@localhost ~]# mkdir -m 444 /opt/nsd05 [root@localhost ~]# ls -ld /opt/nsd05 dr--r--r--. 2 root root 6 6月 8 10:50 /opt/nsd05
1.2.9、touch
[root@localhost ~]# touch 1.txt //在当前目录下创建文件1.txt [root@localhost ~]# touch /opt/1.txt //在指定目录下创建文件1.txt
1.2.10、rm
[root@localhost ~]# rm -rf /opt/1.txt [root@localhost ~]# rm -rf /opt/nsd05/ [root@localhost ~]# ls /opt/
1.2.11、mv
[root@localhost ~]# touch 1.txt [root@localhost ~]# mv 1.txt /opt/1.txt
[root@localhost ~]# mv /opt/1.txt /opt/2.txt [root@localhost ~]# ls /opt/
1.2.12、cp
[root@localhost ~]# cp /etc/passwd /opt/passwd [root@localhost ~]# ls /opt/ [root@localhost ~]# cp /etc/passwd /opt/pass [root@localhost ~]# ls /opt/
1.3、归档及压缩
1.3.1、tar 集成备份工具
[root@localhost ~]# tar -zcf /root/tarfile.tar.gz /boot /opt/ tar: 从成员名中删除开头的“/” [root@localhost ~]# tar -tf /root/tarfile.tar.gz
[root@localhost ~]# mkdir /opt/tarfiles [root@localhost ~]# tar -xf /root/tarfile.tar.gz -C /opt/tarfiles/ [root@localhost ~]# ls /opt/tarfiles/ boot opt
1.3.2、zip
[root@localhost ~]# zip -r /root/zipfiles.zip /home /boot
[root@localhost ~]# unzip /root/zipfiles.zip -d /zipfiles
[root@localhost ~]# ls /zipfiles
boot home
“`1.4、管道和重定向
1.5、find命令
[root@localhost ~]# find /boot/ -type f
[root@localhost ~]# find /boot/ -type f -exec cp {} /opt/ ; [root@localhost ~]# find /opt/ -type f -exec rm -rf {} ; [root@localhost ~]# ls /opt/
二、Linux软件包管理
2.1、rpm 命令
2.1.1、查询已软件的软件
[root@localhost ~]# rpm -q firefox [root@localhost ~]# rpm -qi firefox [root@localhost ~]# rpm -ql firefox
2.1.2、查询目录或文件是由那个RPM包产生的
[root@localhost ~]# rpm -qf /etc/passwd
2.1.3、查询未安装的软件包信息
[root@localhost ~]# rpm -qpi /mydvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm [root@localhost ~]# rpm -qpl /mydvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm
2.1.4、安装rpm包
[root@localhost ~]# rpm -q httpd //查询是否安装 [root@localhost ~]# rpm -ivh /mydvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm
[root@localhost ~]# which hostname /usr/bin/hostname [root@localhost ~]# rm -rf /usr/bin/hostname [root@localhost ~]# rpm -qf /usr/bin/hostname hostname-3.13-3.el7.x86_64 [root@localhost ~]# rpm -ivh --force /mydvd/Packages/hostname-3.13-3.el7.x86_64.rpm
2.1.5、卸载软件
[root@localhost ~]# rpm -e httpd [root@localhost ~]# rpm -q httpd 未安装软件包 httpd
2.1.6、导入红帽签名信息
[root@localhost ~]# rpm --import /mydvd/RPM-GPG-KEY-CentOS-7
2.2、yum仓库
2.2.1、构建本地的yum仓库
[root@localhost ~]# mkdir /etc/yum.repos.d/repo_bak [root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo [root@localhost ~]# cat /etc/yum.repos.d/dvd.repo [dvd] //仓库的标识 name=dvd.repo //仓库的描述信息 baseurl=file:///dvd //仓库在哪里,file://代表本机 enabled=1 //是否启用本文件 gpgcheck=0 //是否检测红帽签名 #gpgkey= 签名文件路径 //gpgcheck=0 gpgkey不需要写 [root@localhost ~]# yum repolist
2.2.2、使用yum安装软件
[root@localhost ~]# yum -y install httpd
2.2.3、使用yum卸载软件
[root@localhost ~]# yum -y remove httpd
2.2.4、yum 常用操作
[root@localhost ~]# yum list ftp //查询软件 [root@localhost ~]# yum provides ftp //查询提供ftp命令的软件包,也可以查询文件由那个软件包提供 [root@localhost ~]# yum search ftp //查询与ftp有关的软件包
[root@localhost ~]# yum makecache //手动建立缓存 [root@localhost ~]# yum clean all //清楚缓存
2.2.5、mount挂载操作
[root@localhost ~]# ls -l /dev/cdrom lrwxrwxrwx. 1 root root 3 6月 8 15:17 /dev/cdrom -> sr0 [root@localhost ~]# mkdir /dvd //创建挂载点 [root@localhost ~]# mount /dev/cdrom /dvd [root@localhost ~]# df -ah | grep dvd /dev/sr0 8.8G 8.8G 0 100% /dvd
[root@localhost ~]# umount /dvd/ [root@localhost ~]# df -ah | grep dvd
三、用户和组管理
3.1、用户管理
[root@localhost ~]# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# grep root /etc/shadow root:$6$Jw6.2w9W$NSXSyOBuR.afacfARXMyylkpvhb1X847sSmeeP15pAZo8JhGbBlaaYCBWh9U/SIHoTvUctpOqK2deERW8R/Sh.:18421:0:99999:7:::
字段2:加密后的密码字符串
字段3:上次修改密码的时间(上一次修改密码的时间:从1970-1-1到达上一次修改密码的时间经历的天数)
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
3.1.1、创建用户
[root@localhost ~]# useradd -u 2005 nsd01 [root@localhost ~]# id nsd01 uid=2005(nsd01) gid=2005(nsd01) 组=2005(nsd01)
[root@localhost ~]# useradd -d /opt/nsd02 nsd02 [root@localhost ~]# ls -ld /opt/nsd02/ drwx------. 3 nsd02 nsd02 78 6月 8 15:56 /opt/nsd02/
[root@localhost ~]# useradd -G nsd2005 nsd03 [root@localhost ~]# id nsd03 uid=2007(nsd03) gid=2008(nsd03) 组=2008(nsd03),2007(nsd2005)
[root@localhost ~]# useradd -s /sbin/nologin nsd04 [root@localhost ~]# su - nsd04 This account is currently not available. //次账户目前不可用
3.1.2、修改用户属性
[root@localhost ~]# id nsd01 uid=2005(nsd01) gid=2005(nsd01) 组=2005(nsd01) [root@localhost ~]# usermod -u 3000 nsd01 [root@localhost ~]# id nsd01 uid=3000(nsd01) gid=2005(nsd01) 组=2005(nsd01)
[root@localhost ~]# cat /etc/passwd | grep nsd04 nsd04:x:2008:2009::/home/nsd04:/sbin/nologin [root@localhost ~]# usermod -s /bin/bash nsd04 [root@localhost ~]# cat /etc/passwd | grep nsd04 nsd04:x:2008:2009::/home/nsd04:/bin/bash
[root@localhost ~]# id nsd100 id: nsd100: no such user [root@localhost ~]# usermod -l nsd100 nsd01 [root@localhost ~]# id nsd01 id: nsd01: no such user [root@localhost ~]# id nsd100 uid=3000(nsd100) gid=2005(nsd01) 组=2005(nsd01)
[root@localhost ~]# id nsd100 uid=3000(nsd100) gid=2005(nsd01) 组=2005(nsd01) [root@localhost ~]# groupadd test1 groupadd:“test1”组已存在 [root@localhost ~]# usermod -G test1 nsd100 [root@localhost ~]# id nsd100 uid=3000(nsd100) gid=2005(nsd01) 组=2005(nsd01),1000(test1)
[root@localhost ~]# cd ~nsd100 [root@localhost nsd01]# pwd /home/nsd01 [root@localhost nsd01]# usermod -d /opt/nsd100 nsd100 [root@localhost nsd01]# cd ~nsd100 -bash: cd: /opt/nsd100: 没有那个文件或目录 [root@localhost nsd01]# mkdir /opt/nsd100 [root@localhost nsd01]# cd ~nsd100 [root@localhost nsd100]# pwd /opt/nsd100 [root@localhost nsd100]# ls -ld /opt/nsd100 drwxr-xr-x. 2 root root 6 6月 8 16:08 /opt/nsd100
3.1.3、给用户设置密码
[root@localhost ~]# passwd //直接使用passwd可修改当前登录用户的密码 更改用户 root 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# echo 123456 | passwd --stdin root 更改用户 root 的密码 。 passwd:所有的身份验证令牌已经成功更新。
3.1.4、删除用户
[root@localhost ~]# userdel -r nsd02 [root@localhost ~]# userdel -r nsd03 [root@localhost ~]# userdel -r nsd100 userdel:/opt/nsd100 并不属于 nsd100,所以不会删除
3.2、组管理
[root@localhost ~]# groupadd nsd2005 groupadd:“nsd2005”组已存在 [root@localhost ~]# grep nsd2005 /etc/group nsd2005:x:2007:
3.2.1、创建组
[root@localhost ~]# groupadd nsd2005
3.2.2、管理组成员
[root@localhost ~]# useradd haha [root@localhost ~]# gpasswd -a haha nsd2005
[root@localhost ~]# gpasswd -d haha nsd2005 正在将用户“haha”从“nsd2005”组中删除
[root@localhost ~]# gpasswd -M haha,xixi,hehe nsd2005 [root@localhost ~]# grep nsd2005 /etc/group nsd2005:x:2007:haha,xixi,hehe
- -A 定义组管理员列表,可定义多个 - 覆盖之前,重定义 ```shell [root@localhost ~]# gpasswd -A www1 nsd2005 [root@localhost ~]# su - haha 上一次登录:一 6月 8 16:40:36 CST 2020pts/0 上 [haha@localhost ~]$ gpasswd -d haha nsd2005 gpasswd:没有权限。 [root@localhost ~]# su - www1 [www1@localhost ~]$ gpasswd -d hah nsd2005 正在将用户“hah”从“nsd2005”组中删除 gpasswd:用户“hah”不是“nsd2005”的成员 ``` ### 3.2.3、删除组 - groupdel 命令 - 命令格式: groupdel 组名 - 删除的组不能是用户的基本组 ```shell [root@localhost ~]# groupdel nsd2005 [root@localhost ~]# grep nsd2005 /etc/group
四、权限管理
4.1、基本权限和归属
[root@localhost ~]# ls -l /etc/passwd -rw-r--r--. 1 root root 2635 6月 5 19:04 /etc/passwd 权限 硬链接数 属主 属组 大小 最后修改时间 文件名
4.2、修改权限
[root@localhost ~]# touch 1.txt [root@localhost ~]# ls -l 1.txt -rw-r--r--. 1 root root 0 6月 8 16:51 1.txt [root@localhost ~]# chmod a+x 1.txt [root@localhost ~]# ls -l 1.txt -rwxr-xr-x. 1 root root 0 6月 8 16:51 1.txt [root@localhost ~]# chmod 777 1.txt [root@localhost ~]# ls -l 1.txt -rwxrwxrwx. 1 root root 0 6月 8 16:51 1.txt
4.3、修改归属关系
[root@localhost ~]# useradd test1 [root@localhost ~]# mkdir -p /opt/aa/bb/cc [root@localhost ~]# chown test1 /opt/aa/ [root@localhost ~]# ls -ld /opt/aa/ drwxr-xr-x. 3 test1 root 16 6月 8 16:59 /opt/aa/ [root@localhost ~]# chown -R test1:test1 /opt/aa/ [root@localhost ~]# ls -lR /opt/aa/
4.4、ACL策略
[root@localhost ~]# useradd dc [root@localhost ~]# setfacl -m u:dc:rw /opt/aa/
[root@localhost ~]# setfacl -x u:dc /opt/aa/ [root@localhost ~]# getfacl /opt/aa/
[root@localhost ~]# setfacl -b /opt/aa/
[root@localhost ~]# setfacl -Rm u:dc:rwx /opt/aa/ [root@localhost ~]# getfacl /opt/aa/ [root@localhost ~]# getfacl /opt/aa/bb/
4.5、附加权限
五、磁盘管理
[root@localhost ~]# lsblk //列出当前系统识别到的硬盘 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk
5.1、fdisk 分区工具
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n //新建分区 Partition type: p primary (0 primary, 0 extended, 4 free) //主分区 e extended //扩展分区 Select (default p): Using default response p 分区号 (1-4,默认 1): 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G 分区 1 已设置为 Linux 类型,大小设为 1 GiB 命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): Using default response p 分区号 (2-4,默认 2): 起始 扇区 (2099200-41943039,默认为 2099200): 将使用默认值 2099200 Last 扇区, +扇区 or +size{K,M,G} (2099200-41943039,默认为 41943039):+5G 分区 2 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x2b679b16 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux /dev/sdb2 2099200 12584959 5242880 83 Linux
5.2、格式化
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs ```shell [root@localhost ~]# mkfs -t btrfs ext2 ext4 minix vfat cramfs ext3 fat msdos xfs
[root@localhost ~]# mkfs.ext4 /dev/sdb1 [root@localhost ~]# mkfs -t ext4 /dev/sdb1 [root@localhost ~]# blkid /dev/sdb1 /dev/sdb1: UUID="ae37b440-69ec-47ef-b617-02807f48496f" TYPE="ext4"
[root@localhost ~]# partprobe
5.3、挂载使用分区
[root@localhost ~]# mkdir /mypart1 [root@localhost ~]# vim /etc/fstab /dev/sdb1 /mypart1 ext4 defaults 0 0 [root@localhost ~]# mount -a [root@localhost ~]# df -h | grep mypart1 /dev/sdb1 976M 2.6M 907M 1% /mypart1
Async/sync
设置是否为同步方式运行,默认为async
auto/noauto
当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro
是否以以只读或者读写模式挂载
exec/noexec
限制此文件系统内是否能够进行”执行”的操作
user/nouser
是否允许用户使用mount命令挂载
suid/nosuid
是否允许SUID的存在
Usrquota
启动文件系统支持磁盘配额模式
Grpquota
启动文件系统对群组磁盘配额模式的支持
Defaults
同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
0
不要检验
1
最早检验(一般根目录会选择)
2
1级别检验完成之后进行检验
5.4、parted 分区工具
[root@localhost ~]# parted /dev/sdb (parted) mktable gpt //指定分区模式 警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? //重新建立磁盘标签,磁盘中原来的数据会丢失,是否继续。 是/Yes/否/No? yes (parted) mkpart //建立分区 分区名称? []? sdb1 //名称随意 文件系统类型? [ext2]? ext4 //这里不会格式化 起始点? 0 结束点? 2G 警告: The resulting partition is not properly aligned for best performance. //得到的分区没有正确对齐以获得最佳性能。 忽略/Ignore/放弃/Cancel? Ignore (parted) print //查看分区表信息 Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 标志 1 17.4kB 2000MB 2000MB sdb1 (parted) resizepart 分区编号? 1 结束点? [2000MB]? 4G (parted) print Number Start End Size File system Name 标志 1 17.4kB 4000MB 4000MB sdb1 (parted) rm 1 //删除分区
5.5、交换空间
5.5.1、使用分区做交换空间
[root@localhost ~]# ls /dev/sdb2 /dev/sdb2 [root@localhost ~]# mkswap /dev/sdb2 //格式化交换文件 正在设置交换空间版本 1,大小 = 3905532 KiB 无标签,UUID=3802ca2f-3f92-4e8f-8092-950f163de988 [root@localhost ~]# blkid /dev/sdb2 //查看文件系统类型 /dev/sdb2: UUID="3802ca2f-3f92-4e8f-8092-950f163de988" TYPE="swap" PARTLABEL="sdb2" PARTUUID="ea9e855a-0857-4c79-826d-1f351c6da31d" [root@localhost ~]# swapon //查看交换空间组成 NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 0B -1 [root@localhost ~]# swapon /dev/sdb2 //启用交换空间 [root@localhost ~]# swapon //查看交换空间组成 NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 0B -1 /dev/sdb2 partition 3.7G 0B -2 [root@localhost ~]# free -m //查看交换空间大小 total used free shared buff/cache Mem: 974 403 192 8 379 Swap: 5861 0 5861 [root@localhost ~]# swapoff /dev/sdb2 //停用交换分区 [root@localhost ~]# swapon //查看交换空间组成 NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 0B -1 [root@localhost ~]# free - m total used free shared buff/cache available Mem: 997956 409692 199724 8636 388540 385896 Swap: 2097148 0 2097148
[root@localhost ~]# vim /etc/fstab [root@localhost ~]# tail -1 /etc/fstab /dev/sdb2 swap swap defaults 0 0 [root@localhost ~]# swapon -a [root@localhost ~]# swapon NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 0B -1 /dev/sdb2 partition 3.7G 0B -2
5.5.2、使用文件所占用的硬盘空间,充当交换空间
[root@localhost ~]# dd if=/dev/zero of=/opt/swap.txt bs=1M count=2048 记录了2048+0 的读入 记录了2048+0 的写出 2147483648字节(2.1 GB)已复制,13.3674 秒,161 MB/秒 [root@localhost ~]# du -sh /opt/swap.txt 2.0G /opt/swap.txt
[root@localhost ~]# mkswap /opt/swap.txt 正在设置交换空间版本 1,大小 = 2097148 KiB 无标签,UUID=ca89ca53-13c1-418a-b04d-2fbeba7ea408 [root@localhost ~]# swapon /opt/swap.txt swapon: /opt/swap.txt:不安全的权限 0644,建议使用 0600。 [root@localhost ~]# swapon NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 66.3M -1 /opt/swap.txt file 2G 0B -2
5.6、逻辑卷管理
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 10G 0 part ├─sdb2 8:18 0 5G 0 part ├─sdb3 8:19 0 3G 0 part └─sdb4 8:20 0 2G 0 part sdc 8:32 0 20G 0 disk ├─sdc1 8:33 0 10G 0 part └─sdc2 8:34 0 10G 0 part
5.6.1、物理卷管理
5.6.1.1、添加物理卷
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created.
5.6.1.2、查看物理卷
[root@localhost ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size <19.00 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 4863 Free PE 0 Allocated PE 4863 PV UUID ETpx0V-4iUA-ZzXt-BceZ-ZmSM-DQAN-5F0VAG "/dev/sdb1" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID fphv7f-5zXj-NYdk-0e3e-1JXP-d8jR-kwRCi0 "/dev/sdc1" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc1 VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 8ljhmv-sH3W-OZIT-G9y3-AEKf-mSkT-eOeBbI
5.6.1.3、删除物理卷
[root@localhost ~]# pvremove /dev/sdc1 Labels on physical volume "/dev/sdc1" successfully wiped. [root@localhost ~]# pvdisplay
5.6.2、卷组管理
5.6.2.1、添加卷组vg0
[root@localhost ~]# vgcreate vg0 /dev/sdb1 Volume group "vg0" successfully created
5.6.2.2、扩展卷组vg0的容量
[root@localhost ~]# vgextend vg0 /dev/sdb2 Physical volume "/dev/sdb2" successfully created. //往卷组中添加新的物理卷时,会将它自动创建为物理卷。 Volume group "vg0" successfully extended
5.6.2.3、查看卷组
[root@localhost ~]# vgdisplay //不指定卷组名字则查看全部 --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <19.00 GiB PE Size 4.00 MiB Total PE 4863 Alloc PE / Size 4863 / <19.00 GiB Free PE / Size 0 / 0 VG UUID DfeNcj-tPls-WVXD-UUCH-9Rej-b7ai-sAhF2a --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 14.99 GiB PE Size 4.00 MiB Total PE 3838 Alloc PE / Size 0 / 0 Free PE / Size 3838 / 14.99 GiB VG UUID 3ODNGU-R4Qj-4pF0-FBag-9EGc-7mgi-2g4jAr [root@localhost ~]# vgs
5.6.2.4、从卷组中删除物理卷
[root@localhost ~]# vgreduce vg0 /dev/sdb2 Removed "/dev/sdb2" from volume group "vg0" [root@localhost ~]# vgdisplay vg0 --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <10.00 GiB PE Size 4.00 MiB Total PE 2559 Alloc PE / Size 0 / 0 Free PE / Size 2559 / <10.00 GiB VG UUID 3ODNGU-R4Qj-4pF0-FBag-9EGc-7mgi-2g4jAr
5.6.2.5、删除卷组
[root@localhost ~]# vgremove vg0 Volume group "vg0" successfully removed [root@localhost ~]# vgdisplay vg0 Volume group "vg0" not found Cannot process volume group vg0
5.6.3、逻辑卷管理
[root@localhost ~]# vgcreate vg0 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 Volume group "vg0" successfully created [root@localhost ~]# vgdisplay vg0 --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 4 Act PV 4 VG Size 19.98 GiB PE Size 4.00 MiB Total PE 5116 Alloc PE / Size 0 / 0 Free PE / Size 5116 / 19.98 GiB VG UUID CvjdYK-0ZOB-9nQS-sWzk-5twJ-6fdi-E8Tv2G
5.6.3.1、添加逻辑卷
[root@localhost ~]# lvcreate -L 1111M -n lv0 vg0 Rounding up size to full physical extent <1.09 GiB Logical volume "lv0" created.
[root@localhost ~]# lvcreate -l 1000 -n lv1 vg0 Logical volume "lv1" created.
[root@localhost ~]# ls -l /dev/vg0 total 0 lrwxrwxrwx. 1 root root 7 Apr 24 16:14 lv0 -> ../dm-2 lrwxrwxrwx. 1 root root 7 Apr 24 16:16 lv1 -> ../dm-3
5.6.3.2、查看逻辑卷
[root@localhost ~]# lvdisplay /dev/vg0/lv0 //不指定逻辑卷名称,则查看全部 --- Logical volume --- LV Path /dev/vg0/lv0 LV Name lv0 VG Name vg0 LV UUID vNdfVn-6ktv-dOwq-lTpq-yJUg-r8du-hMMtdO LV Write Access read/write LV Creation host, time localhost.localdomain, 2020-04-24 16:14:04 -0400 LV Status available # open 0 LV Size <1.09 GiB Current LE 278 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@localhost ~]# lvs
5.6.3.3、更改逻辑卷大小
[root@localhost ~]# lvresize -L 1500M /dev/vg0/lv0 Size of logical volume vg0/lv0 changed from <1.09 GiB (278 extents) to 1.46 GiB (375 extents). Logical volume vg0/lv0 successfully resized. [root@localhost ~]# lvdisplay /dev/vg0/lv0 --- Logical volume --- LV Path /dev/vg0/lv0 LV Name lv0 VG Name vg0 LV UUID vNdfVn-6ktv-dOwq-lTpq-yJUg-r8du-hMMtdO LV Write Access read/write LV Creation host, time localhost.localdomain, 2020-04-24 16:14:04 -0400 LV Status available # open 0 LV Size 1.46 GiB Current LE 375 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
[root@localhost ~]# xfs_growfs 逻辑卷设备 [root@localhost ~]# resize2fs 逻辑卷设备
5.6.3.4、删除逻辑卷
[root@localhost ~]# lvremove /dev/vg0/lv1 Do you really want to remove active logical volume vg0/lv1? [y/n]: y Logical volume "lv1" successfully removed [root@localhost ~]# lvdisplay /dev/vg0/lv1 Failed to find logical volume "vg0/lv1"
5.7、RAID磁盘阵列
六、进程管理
6.1、查看进程
6.1.1、查看进程树
[root@localhost ~]# pstree [root@localhost ~]# pstree -p [root@localhost ~]# pstree -a [root@localhost ~]# pstree lisi bash [root@localhost ~]# pstree -p lisi bash(17546)
6.1.2、查看进程快照
[root@localhost ~]# ps aux
[root@localhost ~]# ps -elf
6.1.3、进程动态排名
[root@localhost ~]# top -d5
6.1.4、检索进程
[root@localhost ~]# pgrep -l bash //查找进程名中带有bash的 17012 bash 17476 bash 17546 bash
[root@localhost ~]# pgrep -lU lisi //查找用户lisi的进程 17546 bash
[root@localhost ~]# pgrep -lx crond //查找进程名叫crond的 1145 crond
6.2、控制进程
6.2.1、进程的前后台调度
[root@localhost ~]# sleep 100 & [1] 21162 [root@localhost ~]# jobs [1]+ 运行中 sleep 100 &
[root@localhost ~]# fg 1 sleep 100
[root@localhost ~]# fg 1 sleep 100 ^Z [1]+ 已停止 sleep 100 [root@localhost ~]# jobs [1]+ 已停止 sleep 100 [root@localhost ~]# bg 1 [1]+ sleep 100 & [root@localhost ~]# jobs [1]+ 运行中 sleep 100 &
6.2.2、杀死进程
[root@localhost ~]# sleep 100000 & [1] 23123 [root@localhost ~]# jobs [1]+ 运行中 sleep 100000 & [root@localhost ~]# kill 23123 [root@localhost ~]# jobs [1]+ 已终止 sleep 100000 [root@localhost ~]# sleep 100000 & [1] 23168 [root@localhost ~]# jobs [1]+ 运行中 sleep 100000 & [root@localhost ~]# kill %1 [root@localhost ~]# jobs [1]+ 已终止 sleep 100000
[root@localhost ~]# sleep 100000 & [1] 23300 [root@localhost ~]# jobs [1]+ 运行中 sleep 100000 & [root@localhost ~]# killall sleep [1]+ 已终止 sleep 100000
[root@localhost ~]# sleep 100000 & [1] 23363 [root@localhost ~]# jobs [1]+ 运行中 sleep 100000 & [root@localhost ~]# pkill -9 sleep [1]+ 已杀死 sleep 100000
七、计划任务
[root@svr7 ~]# crontab -e -u root [root@svr7 ~]# crontab -l -u root * * * * * date >> /opt/time.txt [root@svr7 ~]# crontab -r -u root [root@svr7 ~]# crontab -l -u root no crontab for root
八、Linux系统中的网络管理
8.1、修改网卡的命名规则
8.1.1、修改配置文件
[root@svr7 ~]# cat -n /etc/default/grub 1 GRUB_TIMEOUT=5 2 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" 3 GRUB_DEFAULT=saved 4 GRUB_DISABLE_SUBMENU=true 5 GRUB_TERMINAL_OUTPUT="console" 6 GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet" 7 GRUB_DISABLE_RECOVERY="true" [root@svr7 ~]# nmcli connection add ifname eth0 con-name eth0 type ethernet 连接“eth0”(b953b30d-6881-4ef4-a21f-8a572a6939ff) 已成功添加。 [root@svr7 ~]# nmcli connection show NAME UUID TYPE DEVICE eth0 b953b30d-6881-4ef4-a21f-8a572a6939ff ethernet eth0 virbr0 06a11f3d-6132-43a6-8142-92d9716e924b bridge virbr0
[root@svr7 ~]# cat -n /etc/default/grub //grub是引导内核的程序 1 GRUB_TIMEOUT=5 2 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" 3 GRUB_DEFAULT=saved 4 GRUB_DISABLE_SUBMENU=true 5 GRUB_TERMINAL_OUTPUT="console" 6 GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0" 7 GRUB_DISABLE_RECOVERY="true" [root@svr7 ~]# ifconfig | head -2 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
[root@svr7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg //重新生成grub配置文件 Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-e7698cd933f74608881ae839d102df88 Found initrd image: /boot/initramfs-0-rescue-e7698cd933f74608881ae839d102df88.img done
8.1.2、删除识别错误的网络配置
[root@svr7 ~]# nmcli connection show NAME UUID TYPE DEVICE virbr0 06a11f3d-6132-43a6-8142-92d9716e924b bridge virbr0 有线连接 1 cdb69c51-bfa2-315e-bbe6-099bb3e41cfe ethernet eth0 ens33 d154e33c-0886-4129-808a-def0196782c5 ethernet -- [root@svr7 ~]# nmcli connection delete ens33 成功删除连接 'ens33'(d154e33c-0886-4129-808a-def0196782c5)。 [root@svr7 ~]# nmcli connection delete 有线连接 1 成功删除连接 '有线连接 1'(cdb69c51-bfa2-315e-bbe6-099bb3e41cfe)。 [root@svr7 ~]# nmcli connection show NAME UUID TYPE DEVICE virbr0 06a11f3d-6132-43a6-8142-92d9716e924b bridge virbr0
8.1.3、添加新的网卡名
[root@svr7 ~]# nmcli connection add ifname eth0 con-name eth0 type ethernet 连接“eth0”(b953b30d-6881-4ef4-a21f-8a572a6939ff) 已成功添加。 [root@svr7 ~]# nmcli connection show NAME UUID TYPE DEVICE eth0 b953b30d-6881-4ef4-a21f-8a572a6939ff ethernet eth0 virbr0 06a11f3d-6132-43a6-8142-92d9716e924b bridge virbr0
8.2、修改网络连接配置
[root@svr7 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 autoconnect yes [root@svr7 ~]# nmcli connection up eth0 //激活网卡
8.3、SSH
[root@svra ~]# ssh-keygen //一路回车 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Th88OtWziD2xfQ5LERowcVaZfDlB+MKIPv9+jWpujYw root@svra.tedu.cn The key's randomart image is: +---[RSA 2048]----+ | +.oo.=oo | | = = + | | ..o.o . | | ...+o.. | | .S B +. | | oo* B + | | =o*o=o.o | | .Eo==+ .| | **o. | +----[SHA256]-----+ [root@svra ~]# ssh-copy-id root@192.168.1.101
8.4、scp
九、vim编辑器
十、补充的命令
[root@localhost ~]# less /etc/passwd //按q可以退出
[root@localhost ~]# lscpu
[root@localhost ~]# cat /proc/meminfo
[root@localhost ~]# hostname
[root@localhost ~]# ifconfig
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算