LINUX基础命令大全(二)

LINUX基础命令大全(二)

Scroll Down

LINUX

简介

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

在这里插入图片描述

讲解开始

Set位权限
为可执行文件设置权限字符为‘s’
其他用户执行文件时,将拥有属主或者属主的权限
粘滞位权限sticky
为公共的目录设置权限字符为‘t’
用户不能删除该目录中其他

Set位权限和sticky位权限在设置上还有另一种方法,同样使用8进制数字表示
因为是附加的权限,所以在原来的三位数上又加了一位数

设置Setfacl权限即微调权限
指定的某一个用户对某一个特定的文件或目录有区别与他人的权限
简单的说就是某人对某物有特权
命令:setfacl
格式:1.设置微调权限

Setfacl –m  u:用户名:权限(rwx)文件名

2.对组用户设置微调权限

Setfacl –m  g:组名:权限(rwx)文件名

3.删除指定用户的微调权限

Setfacl –x  u:用户名 文件名

4.删除指定用户的微调权限

Setfacl –x  g:组名 文件名

查看指定文件权限的命令:

getfacl 文件名 

应用程序与系统命令的关系
文件位置:系统命令 /bin /sbin下
应用程序/usr/bin /uer/sbin

Rpm
软件包 是redhat公司推出的
查询rpm软件信息
格式:

rpm –q 子选项 软件名

用法:结合不同的子选项完成不同的查询
后面跟软件名称 查询是否已经安装-q
查看系统中已安装的所以软件-qa
查询指定软件的详细信息-qi
查询指定软件安装的详细目录列表-ql
查询指定软件安装包的配置文件-qc
仅仅显示软件安装包的文档文件-qd
列出与该文件有关的依赖软件所含的文件-qR
后面跟文件名称 找出文件属于哪个已安装的软件-qf
想查询未安装的软件包的信息,首先得知道软件包在哪里

当前的系统中可能不存在软件包 但是我们的rhel的光盘中 为我们提供了一系列的软件包 首先我们要将我们的光盘进行挂载 光盘中的packages文件夹都是红帽为我们提供的软件包
挂载命令 mount
格式:

mount  硬件文件名称 挂载目录

硬件文件名称的两种方法:

/dev/sr0和/dev/cdrom

硬件设备只是一个文件 我们不能进入 所以我们要将他以一个目录的方式挂载出来
那么这个目录需要我们自行创建
Umount取消挂载
格式:

umount  反挂载的设备文件名

查看是否已经挂载成功:

mount就可以查看是否挂载成功

rpm –qp
查询未安装的软件包命令
格式:

rpm –qp 子选项 路径和文件

查看详细信息Rpm –qpi
查看目录以及文件列表Rpm –qpl
查看配置文件Rpm –qpc
查看文档文件Rpm –qpd

Rpm
安装软件 格式:

rpm 选项 rpm软件包文件

安装一个新的rpm软件包-i
升级一个软件-U
更新软件-F
显示安装过程中的详细信息-v
用#号表示安装进度-h
忽略依赖关系--nodeps
通常格式:

rpm -ivh  挂载点/packages/程序名称

卸载rpm软件
格式:

rpm  –e 软件名称

当安装rpm数据库损坏时需要进行数据重建 命令:

rpm --rebuilddb或者--initdb

YUM
了解yum配置文件的位置
/etc/yum.repos.d/ 这个目录是用来承载yum的配置文件

电脑里可能会有一些原有的yum配置 最好是把原来的yum配置文件先拷贝到别的地方一是安全二是可能会有冲突

创建自己的yum文件配置 创建文件并同时编辑文件内容,用到vim 注意:我们创建的yum库的配置文件必须要有后缀.Repo
创建文件后我们进行编写

[库名]
Name=这里写yum库的概述或名称(随意)
Baseurl=写yum库的具体位置(如果是网络源写成ftp://  如果是本地源写成file://
注意要写根目录)
Enabled=1或0  1代表可用 0代表不可用
Gpgcheck=0或1  0代表不尽兴证书检验 1代表需要检验证书
Gpgkey=具体的证书路径(如果gpgcheck是0则不用写这一行)

创建yum库目录:去到配置文件中所写的目录下创建目录
在这个目录下放入yum的软件包(软件包在光盘里)将软件包挂载到这个目录下
Mount /dev/sr0 库目录
检验yum源是否正确配置成功:yumlist(将所有的软件包都列出来)
yum安装服务命令:

yum -y install 服务名

安装vmtools需要先进行挂载
之后进行解压安装包解压命令格式:

tar -zxvf 压缩文件 -c /tmp

之后进行安装:

./vmware-install.pl(一路回车)

安装之后进行重启

源代码编译安装(编译安装前提:安装VMtools 安装gcc)
从windows用VMtools拖进linux系统中
将文件包解压到tar -zxvf (文件名) (解压到哪)
之后进入到文件夹中 用ll命令查看文件 应该有configure和README
使用configure来安装文件 命令格式:

./configure --prefix=安装路径 使用默认配置安装到指定路径

用来翻译计算机反映的信息也就是编译

make && make install 

DF
命令 查看分区信息fdisk
使用inodes来显示结果-i
使用带单位的方式来显示结果-h
格式:

fdisk -选项 磁盘设备名称或者是分区名称

device 分区的设备文件名称
boot 是否引导分区,是则有*标识
start 该分区在硬盘中的起始位置
end 该分区在硬盘中的结束位置
blocks 分区的大小 以blocks(块)为单位 默认大小为1024字节
ld 分区类型的id标记号 对于ext3分区为83 lvm分区为8e
system 分区类型
available 可用的还有多少

创建分区:
命令格式:

fidisk /dev/硬盘文件路径

删除分区d
打印当前的菜单(帮助)m
添加一个新的分区n
打印输出当前的分区列表p
不保存退出 不保存的情况下退出q
查看系统的idt
保存并且退出w

e 扩展分区
p 主分区

创建分区是第几个

柱面起始点(默认是1)

柱面结束点(可以写单位)+1G

fidisk (路径)

n
p
1
1
+1G
n
p
2
回车
+1G

n
p
3
回车
+1G
n
e
4
回车
回车
n
回车
+1G

分区完并不能马上使用 需要格式化分区和挂载分区
格式化命令:

mkfs -t ext4 分区设备名称及其路径

挂在分区命令:

mount /dev/设备名称 挂载点(自行创建)

一个挂载点不能挂载两个分区(虽然系统允许这个操作 会导致我们这个挂载目录只认定最后一个挂载的分区的磁盘容量 这样分区的意义就完全消失了 所以我们要将不同的分区挂载到不同的挂载点上去)

磁盘配额
磁盘配额是指定某个用户对某个分区的磁盘使用限制
可以对文件的个数和磁盘的容量对用户进行限制(磁盘配额需要使用自动挂载)
分为软限制和硬限制
软限制:就是有商量的余地 (但是宽容度不是永恒不变的)
硬限制:没有任何的商量余地
自动挂载: 系统中有一个文件决定了系统启动时将会自动挂载哪些硬件设备 这个文件在/etc/下 叫做fstab 写全路径是/etc/fstab.
cat查看/etc/fstab的文件后 我们发现了这个文件中写了:

UUID=sdfbahue112321nj /boot ext4 defaults 1 1

硬件设备标识号或者名称 【查看硬件设备标识号:blkid (硬件设备)】
挂载点目录
系统类型
支持的功能
是否需要dump(dump是一个备份工具)1是需要0是不需要
决定在系统启动时进行磁盘检查的顺序 0是不进行检查 1是优先 2是其次 根分区应该设为1其他分区应该设置成2
【我们进行自动分区时候后面两个数字设为00即可】
之后我们进入编写就可以了 例子:设备标识号 /media/disk1 ext4 defaults 0 0
让系统重新识别在fstab中的文件使用命令:

mount -a

还需要让计算机知道需要让这个分区支持磁盘配额:

vim /etc/fstab

设备标识号/media/disk1 ext4 defaults,usrquota,grpuota 0 0
添加(usrquota,grpuota)告诉了计算机我们需要支持磁盘配额
注意:修改之后要重新挂载这个分区

==保存修改之后我们需要暂时性关闭selinux,selinux是linux里的一个防御机制(NSA[national security apartment]编写的防御机制)
命令:setenforce 0(关闭沙盒)==

磁盘配额的操作:
我们要检测配置了磁盘配额功能的分区挂载点内是否已经生成了磁盘配额文件 如果没有自动生成 则让他自动生成 命令:

quotacheck -ugcv 指定的分区名称

创建了quata文件后 我们应该对指定的用户进行配额限制的编辑了

edquota 编辑指定用户对指定分区的使用配额
格式:

edquota -u (用户名称) 之后进入到edquta的文件里进行编辑 

例子:
|filesytem|filesytem block|soft|hart |inodes|
|--|--|--|--|--|
|/dev/sdb1|0|0|0|0|
|文件系统|块|软限制|硬限制|节点
| (分区名称) |(用户使用的空间)| (用户的软限制) |(用户的硬限制) |(文件数量)|
|soft | hart |
|0|0|
|软限制|硬限制|
|(文件数量的软限制)|(文件数量的硬限制)|
修改后我们需要开启磁盘配额 格式:

quotaon -ugv 需要开启磁盘配额的名称路径

最后我们应该进行修改这个文件夹的权限 格式:

chmod 777 文件路径 

LVM--logical volume manager 逻辑卷
能够更加方便快捷的修改卷(理解为分区)的大小 比普通的分区更加灵活
输入:

fidisk /dev/硬盘文件路径

进行修改 将这三个分区改成lvm系统类型
使用命令将三个分区修改成物理卷pv 命令:

pvcreate 设备名称(分区名称)

查看是否创建了三个pv 命令:

pvs

删除创建好的pv 命令:

pvremove 设备名称

使用以有的pv创建卷组vg 命令:

vgcreate -s pe大小 vg名称 组成vg的pv名称...,

vgcreate -s 8M vg的名称 /dev/成员名称(可以是多个成员)
pe是在pv中最小的单元 一个pe默认是4M大小可以调整pe为4的倍数的大小 比如:8M.16M 修改pe的大小是会影响lv容量的大小。

对已经创建的vg进行查看 命令:vgs
对当前已有的vg进行扩展,添加一个pv进去 命令:

vgextend vg的名字 pv的路径/dev/sdc3

从vg里删除一个pv 命令:

vgreduce vgnew /dev/sdc1

删除一个vg 命令:

vgremove vg名称

创建lv 命令:

Lvcreate -l pe个数 -n lv名字 在哪个vg上创建的lv 
Lvcreate -L lv大小 -n lv名字 在哪个vg上创建的lv

对已经创建的vg进行查看 命令:lvs
删除lv :

lvremove lv的绝对路径

缩小lv的空间大小 命令:

Lvreduce -l -多少个pe lv的绝对路径
Lvreduce -L -容量大小 lv的绝对路径
Lvreduce -L 剩余容量大小 lv的绝对路径
Lvreduce -l 剩余多少pe   lv的绝对路径

增加lv的空间大小 命令:

Lvextend -l + 多少个pe lv的绝对路径
Lvextend -L +容量大小 lv的绝对路径
Lvextend -L 剩余容量大小 lv的绝对路径
Lvextend -l 剩余多少pe   lv的绝对路径

还有一种改变lv大小的方法 命令:

Lvresize -l 重定义pe的个数 lv的绝对路径
Lvresize -L 重定义lv的容量 lv的绝对路径

格式化命令:

mkfs.ext4 逻辑卷名称(绝对路径)

挂载命令:

mount 逻辑卷名称(绝对路径) 挂载目录

进行重新加载 命令:

resize2fs lv的绝对路径

可以对lv逻辑卷制作快照lvm-snapshot 命令格式:

lvcreate -s -l pe数量 -n 快照卷名称 对哪个lv做快照(绝对路径)
lvcreate -s -L 空间大小 -n 快照卷名称 对哪个lv做快照(绝对路径)

快照之后我们不要进行格式化 直接进行挂载

init
进程 :pid永远是1 配置文件/etc/inittab
init的运行级别
关机状态0
单用户模式1
字符界面的多用户模式(不支持联网)2
字符界面的完整多用户模式3
未分配使用4
图形界面的多用户模式5
重新启动 6
查看自己之前和现在处于什么运行模式下

runlevel

查看系统服务每个等级的运行状态

chkconfig --list network 

调整服务的开启关闭的状态

例子:chkconfig  --level 5 network off/on 

ntsysv
(修改init进程的开启关闭状态)格式:

ntsysv --level运行级别

ps
命令 查看静态的进程统计信息
显示当前终端下的所有的进程信息a:

杀掉某个进程

kill all 进程名称 删除进程的名称  

计划任务:
服务脚本名称/etc/init.d/atd

at HH:MM yyyy-mm-dd (一次性的计划任务)

输入命令回车之后按ctrl +d 进行提交

(启动服务)
centos 6

service 服务名称 start

centos7

systemctl start 服务名称

(重起服务)
centos6

service 服务名称 restart

centos7

systemctl restart 服务名称

(关闭服务)
centos6

service 服务名称 stop

centos7

systemctl stop 服务名称

终于完结了