NFS、AutoFS、时钟同步服务

NFS、AutoFS、时钟同步服务

NFS

网络文件系统 文件共享 目录

1.安装软件包
yum -y install nfs-utils

2.修改配置文件

vim /etc/exports
格式:
共享目录 客户端列表(选项) * 标示所有
/nfs *(rw)

3.创建共享目录
mkdir /nfs

4.重载配置文件

exports -rv

5.启动服务
systemctl enable nfs-server
systemctl restart nfs-server

6.防火墙
放行防火墙
firewall-cmd –add-service=nfs –add-service=muntd –add-service=rpc-bind –permanent

7.挂载
192.168.11.10:/nfs /mnt/nfs nfs defaults 0 0

选项:vers=3 将nfs版本更改为3,rw标示以读写的方式挂载,soft标示软挂载。

AutoFS

自动挂载 通过脚本实现
优点:节省资源

案例一:

通过AutoFS挂载本地光碟镜像
1、安装软件包
yum -y install autofs

2、修改配置文件
vim /etc/auto.master 主配置文件

挂载点父目 辅助配置文件
/mnt/autofs /etc/auto.sr0

vim /etc/auto.sr0 更改辅助配置文件
格式:
挂载点的相对路径 选项 挂载设备

sr0 -fstype=iso9660 :/dev/sr0

3.启动服务

systemctl enable autofs
systemctl resrart autofs

案例二:

通过AUtoFs挂载NFS
1、安装软件包
yum -y install autofs
2、修改配置文件

vim /etc/auto.mastr
/mnt/auto /etc/auto.nfs

nfs -rw 102.168.1.19:/nfs

3、重启服务
systemctl restart autofs

通过AUautoFS挂载LDAP用户的主目录
挂载设备:classroom.example.com:/home/guests/ldapuser0
挂载点:/home/guests/ldapuser0

vim /etc/auto.master

/home/guests /etc/auto.ldap

vim /etc/auto.ldap

ldapuser0 -wr,vers=3,soft classroom.example.com:/home/guests/ldapuser0

systemctl enable autofs

systemctl request autofs

su ldapuser0

时钟同步

日志、多系统协作、分布式

NTP(网络时钟协议)

使用图形化连接到时钟服务器

1、安装软件包
yun -y install system-config-date
2、运行system-config-date

配置时钟源
server 服务器客户端模式
peer 对等体模式

在服务器上配置

server 172.0.0.1 iburst

使用命令行链接到时钟服务器
注:RHEL7使用chrony提供NTP
vim /etc/chrony.conf

server 172.0.0.1 iburst
allow 0.0.0.0 允许所有同步

systemctl chrony server 重启时钟服务

chronyc sources -v 查看时钟同步详细信息

timedatectl 设置系统时间与日期

timedateclt set-ntp true

timedateclt list-mezones 查看时区

计划任务

计划一次性任务
at <时间>
at> 命令
clt+d 结束

atq 查看任务

atrm<ID>删除任务

计划周期性任务

crontab
-e编辑
-l查看
-r删除
-u root用户为其他用户设置任务

例:
crontab -e
crontab -e -u <用户>

格式:
分 时 日 月 周 命令

  • 每一分,时,月,周。

N
分 0-59
时 0-23
日 0-31
月 0-12
周 0-7
n-N 从n到N
n,N

例:

***** echo hi~

crontab -l 查看

Systemctl、网络、RPM

Systemctl、网络、RPM

一个程序有一个或多个进程

RHEL7 系统中第一个系统进程是 systemd,其他所有进程都是systemd的子孙进程

pstree

管理服务

服务就是守护进程

systemctl -t service 查看所有服务

查看服务状态
systemctl status <服务>
例:systemctl status sshd
开启服务
systemctl start <服务>
停止服务
systemctl stop <服务>
重启服务
systemctl reload <服务>
开机自启
systemctl enable <服务>
关闭开机自启
systemctl disabl <服务>

RHEL7 网络

IP地址、掩码、网关、DNS、主机名

IPv4

192.168.1.1 点分十进制
网络号 主机号

192.168.1.0/24

网络号 主机号 掩码

查看ip信息

ipaddr

ifconfig

查看路由信息
ip route

查看网卡包发送情况/查看接口统计信息
ip -s link

修改网络配置方法

1.图形化
nmtui 伪图形化页面
图形化整体很low

2.命令行
查看链接
nmcli
nmcli con 查看链接
nmcli dev 查看接口
注:一个借口可以有多个链接,但是只能启用一个链接
添加
nmcli con add
例:
nmcli con add ifname eth0 con-name eth0 type ethernet autoconnect yes ip4 192.168.0.1/24 gw4 192.168.1.254

修改
nmcli con mod

删除
nmcli con del

3.修改配置文件<常用>
/etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet 链接方式
BOOTPROTO=none 手动指定、DHCP自动获取 获取方式

DEVICE=eth0 网卡是什么
ONBOOT=yes 开机自启
IPADDRO=192.168.1.0 IP地址
PREFIXO=24 掩码
GATEWAYO=192.168.1.254 网关
DNS1=114.114.114.114 dns

配置网络过后一般必须重启网络 命令systemclt restart netwrok

DNS(域名系统)

提供IP地址和域名之间的映射关系

主机名

查看当前主机名
hostname

查看当前主机名及详细信息
hostnamectl

修改主机名
vim /etc/hostname

软件包管理
RPM是一种软件包管理器,同时一种软件包格式
RPM软件包管理提供RPM软件包的安装、卸载、更新、查询等操作

rpm-4.11.1-16.e17.x86_64
名称-主要版本-发现版本.架构

rpm -q <软件包名> 查询已安装软件包名称
rpm -qa 查看所有已安装软件包
rpm -qa | grep vim
rpm -qi <软件包名> 查看软件包详细信息
rpm -ql <软件包名> 查看软件包安装的所有文件
rpm -qf <文件> 查看提供该文件的软件包

安装
rpm -ivh <软件包>
更新
rpm -Uvh <软件包>
卸载
rpm -evh <软件包>

注:RPM 安装不能解决依赖的问题

升级内核

uname -a 查看内核版本号

rpm -q kernel

下载内核
wget http://

rmp -ivh kernel ******.rpm

用户与组

用户和组

linux 是多用户操作系统
文件和目录是属于一个用户,进程也是一个用户身份运行的。

用户可以加入一个或者多个组,但是只有一个主要组,可以有多个附属组。

保存用户用户组用户密码的各目录详解


保存用户信息目录 /etc/passwd

root:x:0:0:root:/root:/bin/bash
root:用户名称
x:密码,以前存放密码的位置,现在位置发生了更改
0:UID,标识用户,0这个表示是固定分配给root用户,0-999 分配给系统用户,1000及以上分配给普通用户。
0:GID,标识用户组
root:填充字段,没有任何意义
/root:代表用户的主目录
/bin/bash:用户使用的登陆shell 一般分为两种bash 是可以登陆到系统,nologin一般分给服务用,不能登陆到操作系统。

保存用户组信息目录 /etc/group

root:x:0
root:用户组名称
x:密码,以前存放密码的位置
0:标识用户组
:用户列表

id<用户>

例:id admin

保存用户密码信息目录 /etc/shadow

root:$6$**************$****真正的加密密码*****

root 标示用户,$6就是SHA-512的算法$5就是MD5的加密方式

管理用户

useradd 添加用户

用法:useradd[选项]<用户>
-d 指定目录
列:useradd -d /admin2 admin2
-u 指定用户UID
例:useradd -u 3000 admin3
-g 指定主要组
例:useradd -g admin1 admin4
-G 指定附属组(可以指定多个)
例:admin -G admin1,admin2,admin3
-s 指定登陆shell(如果不指定的话默认是bash)
例:useradd -s /sbin/nologin(不可登陆系统的shell)

usermod 修改用户

用法:usermod[选项]<用户>
-g 修改主要组
例:usermod -g root admin1
-G 修改附属组
例:usermod -G root,admin2 admin1 (注意:添加多个附属组的时候需要用逗号隔开,同时会覆盖原有附属组)
-a 添加附属组,与-G配合使用
例:usermod -aG root,admin2 admin(用此方法就不会覆盖原附属组内容,只添加附属组)
-m 移动住目录,与-d配合使用
例:usermod -md /home/admin admin1

userdel 删除用户

-r 同时删除主目录(不用-r可能导致数据泄漏)
例:userdel -r admin1

管理用户组

用法:groupadd [选项] <组名称>

groupadd 添加用户组
-g 手动制定GID
例:
groupadd -g 2000 admin1

groupmod 修改用户组
-g 手动指定GID
例:
groupmod -g 2002 admin2

groupdel 删除用户组

例:groupdel admin1

设置用户密码

passwd <用户>
注:root可以设置所有用户的密码,普通用户只能设置用户自身的密码,root 设置其他用户密码可以不满足密码复杂性要求,但是普通用户设置密码必须满足密码复杂性要求。

重定向设置密码

echo <密码> | passwd –stdin <用户>
例:
echo admin | passwd –stdin admin1
译:
echo 打印
| 管道传输 将进程1的输出通过管道传输给另一进程
std 标准 in 入 :标准输入

简译:echo先打印admin |通过管道传输给另一进程 passwd 有个选项 –stdin 标准输入 <后面跟需要设置密码的用户>

切换用户

su 切换用户
用法:su <用户>
例:su 直接切换到root用户
su – admin 切换到admin用户下的~目录下
注:普通用户切换到普通用户需要输入密码,root用户切换的任何用户都不需要输入密码。

sudo 普通用户提升权限
注:使用sudo命令访问必须得加入whell组中,不然还是会被拒绝访问.

sudo cd /root

文件权限

查看文件权限
ls -l
ll

UGO:用户,组,其他。

r代表读取
w代表写入
x代表执行

权限 对文件影响 对目录影响
r 读取 查看文件的内容 查看目录的内容(查看目录下有哪些文件和子目录)
w 写入 修改文件的内容 创建或删除文件或子目录
x 执行 可以执行文件 访问目录,修改目录下内容(文件本身权限)

文件最基本的权限:r读取
目录最基本的权限:r读取,x执行

修改文件权限
符号方法
chmod <ugoa><+-=><rwx-> <文件或目录>
例:-rwxr-x–x 中<ugoa>的意思
u rwx (文件的所有者)
g r-x (文件相关联的组)
o –x (所有其他用户)
a 所有 (all,ugo的所有用户)

例:
ls -l
-rw-r–r– admin admin *** mode

chmod g+w mode
ls -l
-rw-rw—x admin admin *** mode

chmod g-w mode
chmod g=rw mode

chmo u=rwx,g=w,o=- mod 给文件所属者r读取、w写入、x执行,给所属组 w写入权限,给其他用户-没有任何权限。

chmod a+rwx mod 给所有用户加读取、写入、执行权限

-R 递归设置
例:
chmod -R a+wr mod/ mod 下的所有用户都有了r读取,w写入的权限

注:X标示在递归设置权限时,不会对文件设置执行权限。

列:chmod -R a+rX dir/

数字法
chmod NNN <文件或目录>

r=4,w=2,x=1,-=0

例:chmod 640 mod

ll
-rw-r—–
译:6代表4+2 r读,w写
4代表4 读
0代表– 没有权限
drwxr-xr-x
755

chgrp 修改文件所属组
例:
chgrp admin file

文件特殊权限

权限 对文件影响 对目录影响
u+s 以文件所有者的身份运行,而不是运行该命令的用户身份运行
g+s 以文件所属组身份运行 目录下文件或子目录会自动继承组关系
o+t 只有root用户和文件所有者能够删除该文件

g+s 组写协作目录

设置特殊权限
符号法:
chmod u+s <文件>
chomo g+s<文件|目录>
chomo o+t<目录>

数字法:
chomod NNNN <文件|目录>

特殊权限会遮挡住执行权限,如果该文件有执行权限特殊权限的字母会大写,没有则会小写

ACL(访问控制列表)

UGO权限不能满足精细设置权限的要求
ACL 可以针对用户或组设置单独权限

setfacl -m u:<用户>:<权限> <文件或目录>
列:
setfacl -m u:admin1:- file

setfacl -m u:admin2:wr file

删除所有acl
setfacl -b file

删除acl
setfacl -x u:<用户> <文件>

查看acl
getfacl <文件>

VIM与磁盘管理

Red Hat VIM与磁盘管理

VIM

文本编辑器

VIM 是由VI升级而来
支持高亮显示、拼写检查。

三种模式

命令模式:默认进入的模式,复制、粘贴、删除等操作
插入模式:由命令模式进入, 进行文本内容编辑。按Esc键退回命令模式。
低行模式:在命令模式下,按:键进入,进行文本的保存,退出等操作,按Esc键退回命令模式

最基础的上下左右键、pgup、pgdn 上下翻页

gg G 将光标跳转到首航/尾行

yy复制 <行数>

p粘贴

u撤销,支持多次撤销

x dd 删除一个字符,删除一行字符。

i 在光标前面进行插入
a 在光标后面进行插入
I 在行首插入
A 在行尾插入
o 在下方另起一行插入
O 在上方另其一行插入

:q退出
:! 强制保存,或者刚推出
:w保存
:wq保存退出
:x 如果文件更改了相当于wq,如果文件没有更改相当于q。
:shell 暂时退回命令行,按ctrl+D 返回VIM
:set number 显示行号
:setnonumber 取消行号
:/<关键字> 搜索关键字,按n/N跳转到上一个关键字/下一个关键字
:nohlsearch 取消搜索高亮
:<选项,%表示所有,1,9表示1-9行>/root/aaaa/g 将文件中root全部替换成为aaaa。
ctrl+v 选中 按大I键盘输入#键esc全部注释

磁盘管理

机械硬盘

MBR BIOS fdisk
MBR 总共占用512字节,其中446字节是启动引导信息的,64是记录启动分区表,
最后2字节是一个固定的标识,标志这是一块可以启动的磁盘。MBR最多支持4个主分区、扩展分区、逻辑分区 最大支持2T的磁盘

GPT UEFI
gdisk
最多支持128个分区,最大支持8Z的硬盘。

fdisk 磁盘分区工具

lsblk 查看
用法:fdisk <磁盘路径>
指令:

命令 帮助
m 帮助
p 查看分区表
n 添加分区: 分区类型:p表示主分区,e表示扩展分区 开始扇区:默认即可 结束扇区、扇区、大小:设置分区容量,列:+2G
t 更改分区系统ID
d 删除
w 保存退出
q 不保存退出

注:
如果创建逻辑分区的话,要吧剩下所有分区都分给扩展分区。
partprobe /dev/sdb 考试的时候绝对不会出现,需要partprobe /dev/sdb 刷新磁盘分区表

制作文件系统与交换空间

文件系统:

1、存储摁键方法或者数据结构
2、xfs、ext4、vfat

mkfs.xfs 制作xfs 文件系统
例:
mkfs.xfs /dev/sdb1

mkfs.ext4 制作ext4文件系统
例:
mkfs.ext4 /dev/sdb1

mkfs.vfat 制作vfat文件系统
例:
mkfs.vfat /dev/sdb1

blkid </dev/需要查看的磁盘>查看属性

挂载文件系统与交换空间

mount:挂载文件系统
mount<设备><挂载点>
例:
mount /dev/sdb1 /mnt/test

mount:卸载文件系统
用法:
umount <挂载点>
例:
umount /mnt/test

这样设置只是暂时挂载,重启之后就会失效

/etc/fstab:文件静态信息文件
<设备><挂载点><文件系统><选项><DUMP><FSCK>
例:
通过 blkid查看磁盘 TYPE=? 文件系统格式 其他默认 <UDMP>如果计算机崩溃他会吧内容进行备份 <FSCK>开机时校验文件系统是否损坏
/dev/sdb1 /mnt/test xfs defaults 0 0

mount -a 挂载所有设备

df -Th T代表查看文件类型,h表示查看单位

交换空间:

1、当系统运行内存不足时,将文件或分区作为内存使用
2、虚拟内存=物理内存+交换空间
free 查看内存信息

mkswap 制作交换分区命令。
例:
mkswap /dev/sdb5
blkid 查看
UUID= .. swap swap defaults 0 0
swapon -a 挂载交换分区
-s 查看

逻辑卷管理

LVM(逻辑卷管理):

1、此怕分区管理机制
2、提供动态磁盘管理、跨物理磁盘、快照、镜像等功能

物理设备:
1、用于村粗逻辑卷数据的块存储设备
2、必须要初始化后才能被LVM使用
3、例:磁盘分区、整块磁盘、阵列或SAN磁盘

PV(物理卷)
1、初始化的物理设备,即已添加用于存储LVM配置数据的标签
2、划分为物理区块(PE),是LVM最小存储单位

VG(卷组)
1、存储池、相当于普通物理磁盘
2、由一个或多个物理卷组组成,一个物理卷只能属于一个卷组
3、可以包含仍以数目的逻辑卷和未使用的空间
4、分配空间以物理区块(PE)为单位,可以修改物理区块(PE)大小。

pvcreate:创建物理卷
用法:
pvcreate <物理设备>
例:
pvcreate /dev/sdb1 /dev/sdc <可以跟多个磁盘> pv是没有名字的会直接拿磁盘路径当名字。

vgcreate:创建卷组
用法:
-s:指定PE大小,默认为4
vgcreate<卷组名>【选项】<物理卷>
例:
vgcreate testvg /dev/sdb1

lvcreate:创建逻辑卷
用法:
-n:设置名称,默认为lvol#,#为LVM内部编号
-L:设置分配大小
-l:设置分配LE数量
lvcreate -n <逻辑卷名> -L<大小><卷组>

例:
lvcreate -n testlv -L 1G testvg

逻辑卷分区路径:
传统路径: /dev/vaname/lvname 例 /dev/mapper/testvg-testlv
内核设别映射程序路径: /dev/mapper/vgname-lvname,例: /dev/mapper/testvg-testlv

mkfs.xfs 格式化<之前格式化过需要加 -f >

pvs 查看基本信息
pvdisplay 查看详细详细

删除逻辑卷

步骤:
1、卸载文件系统
2、删除/etc/fstab 相关信息
3、删除逻辑卷
4、删除卷组
5、删除物理卷

lvremove:删除逻辑卷
用法:lvremove<逻辑卷路径>
例:lvremove /dev/testvg/testlv

vgremove:删除卷组
用法:vgremove<卷组>
例:vgremove testvg

pvremove 删除物理卷
用法:pvremove<物理卷>
例:pvremove /dev/sdb

扩展逻辑卷

步骤:
1、增加物理卷
2、扩展卷组
3、扩展逻辑卷
4、扩展文件系统
注意:扩展逻辑卷和文件系统时,不需要卸载文件系统

vgextend:扩展卷组
注意:
扩展卷组是通过添加额外的物理卷增加更多的磁盘空间
用法:
vgetend<卷组><物理卷>

例:vgextend testvg /dev/sdc

lvextend:扩展逻辑卷
用法:
-L:设置分配大小
-l:设置分配LE数量
lvcreate -L <大小><逻辑卷路径>
例:
lvcreate -L 2G /dev/testvg/testlv

xfs_growfs:扩展xfs文件系统
用法:
xfs_growfs<挂载点>
例:
xfs_growfs /mnt/test

resize2fs:扩展ext4文件系统
用法:
resize2fs<逻辑卷路径>
例:
resize2fs /dev/testvg/testlv

缩减逻辑卷

步骤:
1、卸载文件系统
2、缩减文件系统
3、缩减逻辑卷
4、移动PE(物理区块)
5、缩减卷
6、删除物理卷
注意
1、xfs文件不支持缩减
2、缩减逻辑卷和文件系统时,必须卸载文件系统

e2fsc:检查ext4文件系统
用法:
e2fsck<逻辑卷路径>
例:
e2fsck /dev/testvg/testlv

resize2fs:缩减ext4文件系统
用法:
resize2fs<逻辑卷路径><大小>
例:
resize2fs /dev/testvg/testlv 1G

lvreduce:缩减逻辑卷
用法:
-L:设置分配大小
-l:设置分配LE数量
lvreduce -L <大小><逻辑卷路径>

例:
lvreduce -L 1G /dev/testvg/testlv

pvmove:移动PE(物理区块)
用法:
pvmove<物理卷>
例:
pvmove /dev/sdb

vgreduce:缩减卷
用法:
vgreduce<卷组><物理卷>
例:
vgreduce testvg /dev/sdb

Linux基本操作

Linux基本操作

history 查看历史命令记录

ctrl+a跳到最前面,e跳到最后面,u,k剪切当前段命令,y吧刚刚剪切的东西粘贴进去,l清除屏幕

man手册的使用

man 使用手册。 用法 man passwd
mandb 手动更新man数据库
man -k 搜索关键之

Linux目录结构

Linux 文件系统结构是一颗(颠倒)的树,根目录(/),根目录的子目录都有标准用途。

目录 用途
/bin 存放用户命令
/sbin 存放用户命令
/boot 存放启动信息和内核运行信息
/dev 存放设备(磁盘,光碟,u盘)
/home 存放普通用户的数据和配置的主目录
/mnt 用于挂在设备的目录
/proc 系统运行产生的文件,占用内存。列如查看cpu、内存: /proc/cpuinfo、/proc/meminfo
/root root用户的主目录,存放用户的数据和配置的主目录
/tmp 临时目录
/usr 软件默认安装位置
/var 存放可变、大文件
/etc 存放系统配置文件

路径的简单介绍
pwd 查看当前目录的绝对路径
相对路径: 从根目录出发描述路径的方式 /bin/etc/passwd
绝对路径:从当前目录出发描述路径的方式

文件目录处理

查看:

cat 查看文件 列:cat /etc/passwd
cat -n 查看行数有多少和大小

head 查看文件头部内容
tail 查看文件尾部
(可以-1 -10 等前多少页)

less 以翻页的方式查看文件
上下键、Pgup、Pgdn、/关键字、q退出

查看目录

ls
选项:
-a查看所有文件,包括隐藏文件 注:隐藏文件或目录是一.开头的 ,.代表当前目录,..代表当前目录的上一级目录
-l 查看详细详细

ls-l 各段解释

dr-xr-x —. 5 root root 4096 Fed 21 11:29 root
第一段
第一位: d:文件类型,d代表目录,-代表文件,l代表了连接,b代表块设备
第二、三、四位 r-x:所有者的文件权限,r表示去读、w表示写入、x表示执行、-表示无权限
第五、六、七 位r-x : 所属组的文件权限
第八、九、十位 –x :其他用户的文件权限
第十一位 . :ALC
第二段
第一位 5 : 如果是目录表示目录下有多少子目录,如果是文件则表示文件的连接数量
第三、四段 root root: 文件所有者、文件所属(主要)组
第五段4096:大小
第六、七、八 Feb 21 11:29:文件的修改时间
第九段 root: 文件的名字

ls -dl 查看当前目录自己基本信息

ls -R 已递归的方式查看这个目录下的所有目录

ls -lh 显示文件大小以K,M,G的方式显示(更加方便的查看文件的大小)

创建文件

mkdir 直接创建文件
例如: mkdir crashing
mkdir -p 递归创建
例:mkdir -p carshing1/crahsing2/crashing3(创建多个文件)

touch 创建空文件或者更见文件时间戳 (自我感觉没有太大用处)

复制

cp <源>.. <目标>
例:
cp file1 file2 /home (file1 file2 到 根目录下的home文件夹中)
cp file1 /home (复制 file1 到根目录的home文件夹中)

复制文件
cp -r 递归复制 复制目录下的所有文件
例:
cp -r dir1 /home/dir2 (将dir1文件本身包括文件自己一起拷贝到根目录下home下的dir2中)

移动重命名

mv 移动或重命名文件和目录
用法:
mv<源>…<目标>
例:
mv file1 fiel2 重命名

mv file dir1 移动

删除(慎用)

rmdr 只能删除空目录(对于我来说比较鸡肋的删除命令,下面删除命令才是狠东西)

rm<选项> 文件目录
rm 删除文件或目录(无法恢复)
用法:
rm -f 强制删除
rm -r 递归删除
rm -rf (删除文件夹下面的所有文件)
rm -rf / 删除根目录下所有文件,简译删除整个系统
删除且行且珍惜。

路径扩展

通配符

*匹配0个或多个字符
? 匹配任何一个字符
[abc123] 匹配括号中任意一个字符

{} 大括号扩展,顺序表达式
例:
mkdir adm{1..4}
mkdir adm{a,d,1,9}

转义\取消\后一个字符的含义
例:
mkdir a\ b

"" ” 取消引号中字符的含义

文件归档与压缩

文件归档:将多个文件打包成一个文件的过程(并没有缩小文件体积)
文件压缩:缩小文件体积的过程
tar – <选项c,t,x><选项v><选项f>
c(创建)t(查看)x(提取) 三选一
f(必选)
v (可选)查看详细

tar 创建归档

用法: tar cvf [归档后文件].tar 需要归档的文件名
例:
tar cvf file.tar fiel*(吧前四位为fiel的文件全部创建归档名称为 file.tar)
tar cvf dir.tar dir (吧dir创建归档名称为)

查看归档
用法:tar tvf fiel

提取归档
注:创建目录,并在新目录下提取归档
用法:tar xvf 文件目录

文件压缩

注:tar 命令本身不支持压缩,但是可以调用压缩。

压缩方式 特点 选项 标准格式
gzip 压缩速度快、历史久、使用广泛 z <名字>.tar.gz、<名字>.tgz
bzip2 压缩率较小、速度较快 j <名字>.tar.bz2
xz 最新、压缩率小 J <名字>.tar.xz

例:
gzip:tar czvf etc.tar.gz /etc
bzip2:tar cjzvf etc.tar.bz2 /etc
xz:tar cJvf etc.tar.xz /etc

文件查找

locate 在locate数据库中按照名称查找文件或目录
updatedb 手动更新locate数据库(每日更新一次)
用法:locate<关键字>
例:
locate student

find 在文件系统何种查找问津
用法:find<查找范围><选项><参数>
注:如果不指定目录,则在当前目录中查找。
例:
find / -name root

-name 按名称查找文件。
-iname 按名称查找,不分大小写。
-user 按照用户查找文件
-group 按用户组查找文件
例:
find / -user admin 查找admin用户的所有文件

-size 按照大小查找文件
大小k、M、G
+代表大于,-代表小于、没有指定代表等于
例:find / -size +100M

-exec find 的二次处理
用法:find<查找范围(目录)><选项><参数>-exec<处理动作>
例:find / -user admin -exec cp -r {} /root/dir \;
(先用find查找用户中damin的所有文件然后用exec二次处理用递归复制方法cp到/root/dir中
空格分号结束中要对分号进行一个转义\; 例 中大括号表示find 查找到的所有数据。)

重定向与管道

每个进程都有三个通道,标准输入,标准输出,标准错误。

标准输入 stdin 0 键盘
标准输出 stdout 1 显示
标准错误 stderr 2 显示

重定向是将输出的默认位置替换成文件或其他设备。

进程1> 文件 将进程1 的标准输出写入到文件中,覆盖文件内容
进程1>> 文件 将进程1 的标准输出写入到文件中,追加到文件后面

进程 1 2> 文件将进程1的标准错位写入到文件中,覆盖文件内容
进程 1 2> 文件将进程1的标准错位写入到文件中,追加到文件后米娜
进程1 2> /dev/null 屏蔽错误信息

进程 1 & >文件
进程1 >> 文件 1 2>> 文件2
例:
echo hell > file
echo hell >> file2

进程1 | 进程2 管道是指将进程1的输出作为输入传递给进程2

文本处理

grep 进行文本处理
用法: grep <关键字><文件>
例:
grep student /etc/passwd
yum lisnt | grep httpd

正则表达式是模式匹配,匹配数据

*匹配0个或者多个字符
^行首定位
$ 行尾定位

-v 反选
-e 支持多个关键字
-E egrep

例:
^$ 用于匹配空行