linux入门知识点

linux目录结构树形结构

/ 根目录:所有数据都在此目录下(Linux系统的起点)

/dev:存放设备相关数据

ls      格式 ls [选项]  [目录或文件名]

常用命令选项   -l     以长格式显示

cat  查看文本内容

cat   -n  (加上行号)

命令字     选项     参数1    参数2

查看内核版本         uname   -r   

查看cpu                   lscpu

检查内存大小、空闲情况         cat  /proc/meminfo

#临时设置IP        ifconfig eth0 192.168.1.1 

######################################################

创建目录

• mkdir — Make Directory

– 格式:mkdir  [/路径/]目录名...

#########################################################

• touch命令

– 用途:新建空文件

– 格式:touch 文件名...

#####################################

文本内容操作

• less分屏阅读工具,查看内容较多的文件     

• 格式:less [选项] 文件名...

– 优势:支持前后翻页

• 基本交互操作

[root@A ~]# less /etc/passwd

– 按 上 下键进行滚动

– 按 /root 全文查找root字符串

– 按 q 退出

######################################

• head、tail 命令

– 格式:

  head -n 数字  文件名

    tail -n 数字  文件名

[root@A ~]# tail -1 /etc/passwd

[root@A ~]# head /etc/passwd    #默认显示头10行

#############################################

• grep工具

– 用途:输出包含指定字符串的行

]# grep root /etc/passwd  #在/etc/passwd中过滤包含root的行

###################################################

pwd命令查看当前位置

####################################################

• 快捷键

– Ctrl + c:废弃当前编辑的命令行(结束正在运行的命令)

– Esc + . 或 Alt + . :粘贴上一个命令的参数

– Ctrl + l:清空整个屏幕

#####################################################

Linux:识别光盘内容,在Linux中访问设备内容,必须通过访问点


      光盘------->光驱设备---------->目录 /abc (访问点)

            /dev/cdrom

[root@A ~]# ls /dev/cdrom#青色:代表快捷方式

/dev/cdrom

• 使用mount命令

– 格式:mount 设备路径    挂载点目录      #让目录成为设备的访问点

[root@A ~]# mkdir /abc

[root@A ~]# ls /abc

[root@A ~]# mount  /dev/cdrom  /abc

mount: /dev/sr0 写保护,将以只读方式挂载

[root@A ~]# ls /abc/

[root@A ~]# ls /abc/Packages/

总结:

    1.Linux访问点为一个目录

    2.mount命令,让目录成为设备的访问点

      3.一个设备可以有多个访问点,一个访问点不可以有多个设备

卸载:  umount  挂载点路径

[root@A ~]# ls /abc

[root@A ~]# umount /abc

[root@A ~]# ls /abc

[root@A ~]# mkdir /dvd

[root@A ~]# mount /dev/cdrom  /dvd

[root@A ~]# ls /dvd

[root@A ~]# mount /dev/cdrom  /abc

[root@A ~]# ls /abc

注意事项:

    1.卸载:当前路径不要在访问点路径内

  [root@A dvd]# umount /dvd/

  umount: /dvd:目标忙。

        (有些情况下通过 lsof(8) 或 fuser(1) 可以

        找到有关使用该设备的进程的有用信息)

  [root@A dvd]#

      2.访问点的选择,建议自己创建目录

###########################################

[root@A lisi]# useradd tom #创建用户tom

[root@A lisi]# useradd zhangsan    #创建用户zhangsan

##############################################

• ls — List

– 格式:ls [选项]... [目录或文件名]

• 常用命令选项

– -l:以长格式显示

– -A:包括名称以 . 开头的隐藏文档

– -d:显示目录本身(而不是内容)的属性

– -h:提供易读的容量单位(K、M等)

###############################################

使用通配符

• 针对不确定的文档名称,以特殊字符表示

– *:任意多个任意字符

– ?:单个字符

[root@A ~]# ls  /boot/vm*    #匹配以vm开头

[root@A ~]# ls  /dev/tty*    #匹配以tty开头

[root@A ~]# ls  /etc/*tab    #匹配以tab结尾

[root@A ~]# ls  /etc/*.conf  #匹配以.conf结尾

[root@A ~]# ls  /etc/re*.conf #匹配以re开头并且以.conf结尾

[root@A ~]# ls  /dev/tty? 

[root@A ~]# ls  /dev/tty??

[root@A ~]# ls  /dev/tty???

• 针对不确定的文档名称,以特殊字符表示

– [a-z]:多个字符或连续范围中的一个,若无则忽略

– {a,min,xy}:多组不同的字符串,全匹配

[root@A ~]# ls /dev/tty[1-3]

[root@A ~]# ls /dev/tty[7-8]

[root@A ~]# ls /dev/tty[1-9]

[root@A ~]# ls /dev/tty{1,3,5,7,9,13}

[root@A ~]# ls /dev/tty{S0,S1,S2,S3}

####################################################

别名的定义:简化复杂较长的命令

• 查看已设置的别名

– alias [别名名称]

• 定义新的别名

– alias 别名名称= '实际执行的命令行'

• 取消已设置的别名

– unalias [别名名称]

[root@A /]# hn

bash: hn: 未找到命令...

[root@A ~]# alias  hn='hostname'  #定义别名hn

[root@A ~]# hn

[root@A /]# alias        #查看当前生效的别名

[root@A /]# unalias hn  #删除hn别名

[root@A /]# hn

bash: hn: 未找到命令...

[root@A /]# alias

[root@A ~]# alias  myls='ls -lh'

[root@A ~]# myls /root

##################################################

mkdir 创建目录

• mkdir — Make Directory

– 格式:mkdir [-p] [/路径/]目录名...

]# mkdir -p  /vod/movie/cartoon  #-p表示连父目录一起创建

]# ls -R /vod/    #递归显示

########################################################

rm 删除

• rm — Remove

– 格式:rm [选项]... 文件或目录...

• 常用命令选项

– -r、-f:递归删除(含目录)、强制删除

[root@A /]# mkdir /opt/abc01

[root@A /]# mkdir /opt/abc02

[root@A /]# touch /opt/1.txt

[root@A /]# ls /opt/

1.txt  abc01  abc02

[root@A /]# rm -rf /opt/abc*

[root@A /]# ls /opt/

1.txt

[root@A /]# rm -rf /opt/1.txt

[root@A /]# ls /opt/

################################################

mv 移动/改名

• mv — Move

– 格式:mv [选项]... 原文件...    目标路径

[root@A /]# rm -rf /opt/*

[root@A /]# ls /opt/

[root@A /]# mkdir /opt/nsd

[root@A /]# touch /opt/1.txt

[root@A /]# ls /opt/

1.txt  nsd

[root@A /]# mv /opt/1.txt /opt/nsd/

[root@A /]# ls /opt/

nsd

[root@A /]# ls /opt/nsd/

重命名:路径不变的移动

[root@A /]# ls /opt/

nsd

[root@A /]# mv /opt/nsd/  /opt/abc

[root@A /]# ls /opt/

[root@A /]# mv /opt/abc/  /opt/student

[root@A /]# ls /opt/

[root@A /]# mv /opt/student  /opt/haha

[root@A /]# ls /opt/

#############################################

cp 复制

• cp — Copy

– 格式:cp [选项]... 原文件...    目标路径

• 常用命令选项

– -r:递归,复制目录时必须有此选项         

[root@A /]# ls /mnt/

nsd03

[root@A /]# cp /etc/passwd  /mnt/

[root@A /]# ls /mnt/

[root@A /]# cp /etc/redhat-release  /mnt/

[root@A /]# ls /mnt/

[root@A /]# cp -r /home/  /mnt

[root@A /]# ls /mnt

[root@A /]# cp -r /boot/ /mnt/

[root@A /]# ls /mnt/

复制时出现同名重复,取消提示

在本次操作临时取消别名

[root@A /]# cp -r /boot/ /mnt/

            按Ctrl + c 结束

[root@A /]# \cp -r /boot/ /mnt/

复制支持两个及以上多个参数:

      永远认为最后一个参数为目标路径,其他的所有参数都作为源

[root@A /]# rm -rf /mnt/*

[root@A /]# ls /mnt/

[root@A /]# cp -r /etc/passwd /etc/fstab /boot/ /home/ /etc/redhat-release  /mnt/

[root@A /]# ls /mnt/

复制支持一个点的应用:  .表示当前路径

[root@A /]# cd /mnt/

[root@A mnt]# ls

[root@A mnt]# pwd

[root@A mnt]# cp /etc/hosts  .

[root@A mnt]# ls

[root@A mnt]# cd /etc/pki/CA

[root@A CA]# pwd

[root@A CA]# ls

[root@A CA]# cp /etc/shells  .

[root@A CA]# ls

复制时,可以重命名目录路径 文档的名称

[root@A /]# cp /etc/redhat-release  /mnt/abc

[root@A /]# ls /mnt/

[root@A /]# cat /mnt/abc

[root@A /]# cat /etc/redhat-release

[root@A /]# rm -rf /mnt/*

[root@A /]# cp -r /home/  /mnt/test 

            #将home放到mnt下改名为test

[root@A /]# cp -r /home/  /mnt/test

            #将home放到/mnt/test目录下

[root@A /]# ls /mnt/

[root@A /]# ls /mnt/test/

###################################################

vim文本编辑器:修改文件内容

模式: 命令模式      输入模式(插入模式)      末行模式

[root@server0 ~]# vim  /opt/a.txt   

        i 键

命---------------->输入模式(按Esc 键回到命令模式)

式---------------->末行模式(按Esc 键回到命令模式)

              : 键

    末行模式  :wq  保存退出

    末行模式  :q!  不保存退出

#############################################

Linux scp 命令用于 Linux 之间复制文件和目录。

scp /home/space/music/1.mp3 [email protected](ip):/home/root/others/music

scp /home/space/music/1.mp3 [email protected](ip):/home/root/others/music/001.mp3

scp /home/space/music/1.mp3 www.runoob.com(ip):/home/root/others/music

scp /home/space/music/1.mp3 www.runoob.com(ip):/home/root/others/music/001.mp3

#######################################################################

[root@room9pc01 ~]# ssh 用户名@对方的IP地址

[root@room9pc01 ~]# ssh [email protected]

[root@server0 ~]# exit

登出

########################################################################

永久别名配置:/root/.bashrc #开启一个新的终端才会生效

[root@room9pc01 ~]# vim /root/.bashrc

[root@room9pc01 ~]# head -3 /root/.bashrc

# .bashrc

alias  gos='ssh  -X  [email protected]'

alias  god='ssh  -X  [email protected]'

############################################################

• 使用wget下载工具

– wget 软件包的URL网址

– wget 软件包的URL网址  -O(大写)  /目录路径/新文件名

###########################################################

安装软件包

• RPM Package Manager,RPM包管理器

– rpm -q  软件名...    #查询软件是否安装

– rpm -ivh 软件名-版本信息.rpm...  #安装软件包

– rpm -e  软件名...    #卸载软件包

[root@server0 ~]# rpm -q vsftpd

未安装软件包 vsftpd

[root@server0 ~]# rpm -q firefox

firefox-24.5.0-1.el7.x86_64

[root@server0 ~]# rpm -q bash

bash-4.2.45-5.el7.x86_64

[root@server0 ~]# rpm -q zip

zip-3.0-10.el7.x86_64

[root@server0 ~]# rpm -q httpd

未安装软件包 httpd

[root@server0 ~]# rpm -q haha

未安装软件包 haha

[root@server0 ~]# rpm -q hostname

hostname-3.13-3.el7.x86_64

##############################

[root@server0 ~]# rpm -q vsftpd #查询软件包是否安装

未安装软件包 vsftpd

[root@server0 ~]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm

警告:vsftpd-3.0.2-9.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY

准备中...                                            ################################# [100%]

正在升级/安装...

  1:vsftpd-3.0.2-9.el7                              ################################# [100%]

[root@server0 ~]#rpm -ql vsftpd  #查询安装的清单

[root@server0 ~]# rpm -q  vsftpd 

vsftpd-3.0.2-9.el7.x86_64

[root@server0 ~]# rpm -e  vsftpd  #卸载软件程序

[root@server0 ~]# rpm -q  vsftpd

########################################################################

Yum软件包仓库

服务:自动解决依赖关系安装软件包

服务端: 1.众多的软件包  2.仓库数据文件  3.搭建Web服务或FTP服务

          总结:搭建Web服务或FTP服务,共享光盘所有内容

            Web服务使用协议:

            http:超文本传输协议

            https:安全超文本传输协议

            FTP服务使用协议:

            FTP:文件传输协议

  修改配置文件:/etc/yum.repos.d/*.repo

  客户端配置文件,错误的文件 会影响正确的配置文件

[root@server0 ~]# rm -rf /etc/yum.repos.d/*

[root@server0 ~]# vim  /etc/yum.repos.d/dvd.repo

[rhel7]              #仓库标识       

name=RHEL7.0          #仓库描述信息

baseurl=http://classroom.example.com/content/rhel7.0/x86_64/dvd/            #服务端具体位置

enabled=1            #是否启用本文件

gpgcheck=0            #是否检测红帽签名信息

[root@server0 ~]#yum repolist  #列出仓库信息

Yum仓库的使用                                         

1.安装软件包       

[root@server0 ~]# yum -y install httpd

[root@server0 ~]# yum -y install sssd

[root@server0 ~]# yum -y install system-config-kickstart

[root@server0 ~]# yum -y install gcc

[root@server0 ~]# yum -y install dhcp

[root@server0 ~]# yum -y install mariadb-server

2.卸载软件包

[root@server0 ~]# yum  remove  httpd

[root@server0 ~]# yum  remove  dhcp

3.清空Yum缓存

[root@server0 ~]#yum clean all

############################################################

升级内核

1.下载新的内核软件包

[root@server0 ~]# wget http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm

[root@server0 ~]# ls

]# uname -r

]# rpm -ivh kernel-3.10.0-123.1.2.el7.x86_64.rpm

]# uname -r

]# reboot

[root@room9pc01 ~]# gos

[root@server0 ~]# uname -r    #查看内核版本

3.10.0-123.1.2.el7.x86_64

#########################################################

 永久设置主机名

[root@server0 ~]#vim  /etc/hostname  #永久主机名配置文件

nsd.tedu.cn

[root@server0 ~]# hostname

nsd.tedu.cn

[root@server0 ~]# exit

登出

Connection to 172.25.0.11 closed.

[root@room9pc01 ~]# gos

Last login: Thu Jan  3 16:21:18 2019 from 172.25.0.250

[root@nsd ~]# hostname

nsd.tedu.cn

 永久配置IP地址  子网掩码  网关地址

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

通过命令nmcli进行配置

1.利用nmcli命令,进行查看网卡识别的名称

[root@nsd ~]# nmcli connection show

名称       

System eth0 

2.利用nmcli命令,进行配置

]#nmcli connection modify 'System eth0'   

  ipv4.method manual                                 

  ipv4.addresses '172.25.0.110/24  172.25.0.254'       

  connection.autoconnect yes

]# nmcli connection  修改  '网卡名称'

  ipv4.方法  手工配置

  ipv4.地址  'IP地址/子网掩码    网关地址'

    每次开机自动启用配置

3.激活配置

]# nmcli connection up 'S(tab)'         

]# ifconfig

###############################################################

DNS服务器地址

    告知本机解析域名,去寻找那台机器

[root@nsd ~]#vim /etc/resolv.conf  #指定永久DNS服务器

nameserver  172.25.254.254

[root@nsd ~]# cat /etc/resolv.conf

测试DNS解析的命令

[root@nsd ~]#nslookup classroom.example.com

[root@nsd ~]# nslookup desktop0.example.com

网络参数配置顺序:

    首先配置主机名,然后配置配置IP地址  子网掩码  网关地址,最后指定永久DNS服务器

查看网关地址命令:

[root@nsd ~]#route

    Gateway       

      172.25.0.254   

###########################################################

设置永久别名

永久别名配置:/root/.bashrc  #开启一个新的终端才会生效

[root@room9pc01 ~]#vim /root/.bashrc

[root@room9pc01 ~]# head -3 /root/.bashrc

# .bashrc

alias  gos='ssh  -X  [email protected]'

alias  god='ssh  -X  [email protected]'

###########################################################

管理用户和组

  用户账户: 登陆操作系统,不同用户具备不同权限

  组:方便管理用户,进行分类

  用户账户唯一标识:  UID(编号)  GID(编号)

  管理员的UID永远为0

  组帐号:  基本组    附加组(从属组)

  基本组:由Linux系统创建,并且由系统将用户加入,与用户同名

  附加组:由系统管理员创建,并且由系统管理员加入

  Linux中一个用户至少属于一个组

####################################################

添加用户

所有用户基本信息存放在 /etc/passwd 文件

[root@server0 ~]# head  -1  /etc/passwd

root:x:0:0:root:/root:/bin/bash

用户名:密码占位符:UID:基本组GID:用户描述信息:用户的家目录:解释器

• 使用 useradd 命令

– useradd [选项]... 用户名

• 常用命令选项

– -u 用户id、-d 家目录路径、-G 附加组、-s 指定解释器程序

[root@server0 ~]# useradd nsd01

[root@server0 ~]# id dc        #查看用户基本信息

id: dc: no such user          #没有此用户

[root@server0 ~]# id nsd01      #查看用户基本信息

[root@server0 ~]# useradd nsd02

[root@server0 ~]# id nsd02

[root@server0 ~]# useradd nsd03

[root@server0 ~]# id nsd03

[root@server0 ~]# useradd -u 1500  nsd04  #创建用户指定UID

[root@server0 ~]# id nsd04

-d 家目录路径、-G 附加组

[root@server0 ~]# useradd -d /mnt/nsd06  nsd06

[root@server0 ~]# ls /mnt/

nsd06

[root@server0 ~]# grep nsd06 /etc/passwd

nsd06:x:1502:1502::/mnt/nsd06:/bin/bash

[root@server0 ~]# groupadd tarena        #创建tarena组

[root@server0 ~]# useradd -G tarena nsd07

[root@server0 ~]# id nsd07

[root@server0 ~]# useradd -G tarena nsd08

[root@server0 ~]# id nsd08

-s 指定解释器程序

/sbin/nologin:禁止用户登陆系统

[root@server0 ~]# useradd -s /sbin/nologin nsd09

[root@server0 ~]# grep nsd09 /etc/passwd

nsd09:x:1504:1505::/home/nsd09:/sbin/nologin

[root@server0 ~]# useradd -s /sbin/nologin nsd10

[root@server0 ~]# grep nsd10 /etc/passwd

nsd10:x:1505:1506::/home/nsd10:/sbin/nologin

##################################################

设置登录密码

• 使用 passwd 命令

– passwd [用户名]

[root@server0 ~]# passwd nsd01

更改用户 nsd01 的密码 。

新的 密码:                              #输入 密码

无效的密码: 密码少于 8 个字符

重新输入新的 密码:                  #重新输入密码

passwd:所有的身份验证令牌已经成功更新。

[root@server0 ~]# su - nsd01    #命令行临时切换到nsd01用户

[nsd01@server0 ~]$ passwd

Changing password for user nsd01.

Changing password for nsd01.

(current) UNIX password:          #输入旧密码

New password:                      #输入新密码

Retype new password:              #重新输入新密码

passwd: all authentication tokens updated successfully.

[nsd01@server0 ~]$ exit        #退回到root用户

successfully(成功)

#######################################################

重定向输出:将命令的输出,写入到文本文件中       

  >:覆盖重定向

  >>:追加重定向

[root@server0 ~]# ls --help  > /opt/ls.txt

[root@server0 ~]# less /opt/ls.txt

[root@server0 ~]# hostname

[root@server0 ~]# hostname > /opt/ls.txt

[root@server0 ~]# cat /opt/ls.txt

[root@server0 ~]# hostname >> /opt/ls.txt

[root@server0 ~]# cat /opt/ls.txt

[root@server0 ~]# tail -2 /etc/passwd >> /opt/ls.txt

[root@server0 ~]# cat /opt/ls.txt

[root@server0 ~]# echo 123456 

[root@server0 ~]# echo 123456 >> /opt/ls.txt

[root@server0 ~]# cat /opt/ls.txt

[root@server0 ~]# echo nsd.qq.com > /etc/hostname

[root@server0 ~]# cat /etc/hostname

[root@server0 ~]# exit

[root@room9pc01 ~]# gos

]# hostname

]# echo nameserver 172.25.254.254

]# echo nameserver 172.25.254.254 > /etc/resolv.conf

]# cat /etc/resolv.conf

]# echo 123 > /opt/1.txt

]# cat /opt/1.txt

管道  |  :  将前面命令的输出,传递到后面命令,作为后面命令的参数

  显示/etc/passwd文件 8~12行内容?

[root@nsd ~]# head -12 /etc/passwd

[root@nsd ~]# head -12 /etc/passwd  |  tail -5

[root@nsd ~]# head -12 /etc/passwd  | tail -5 | cat -n

[root@nsd ~]# cat -n /etc/passwd | head -12 | tail -5

[root@nsd ~]# ifconfig | less

[root@nsd ~]# ifconfig | head -2

]# cat -n /etc/passwd | head -12 | tail -5

]# cat -n /etc/passwd | head -12 | tail -5  > /opt/a.txt

非交互式设置密码:

– echo '密码'  |  passwd --stdin 用户名

[root@nsd ~]# echo 123 | passwd --stdin nsd01

更改用户 nsd01 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@nsd ~]# echo redhat | passwd --stdin nsd02

更改用户 nsd02 的密码 。

passwd:所有的身份验证令牌已经成功更新。

用户密码信息存放在 /etc/shadow 文件

[root@nsd ~]# tail -1 /etc/shadow

nsd10:!!:17900:0:99999:7:::

当第二个字段为!!时,代表锁定该用户

[root@nsd ~]# echo 1 | passwd --stdin nsd10

更改用户 nsd10 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@nsd ~]# tail -1 /etc/shadow

nsd10:$6$bOG/zYu7$dQID7YKMq3dSWzMg386xPECbLxRq9M/.uPry1S4IkwTU98NUK/.x0RVbUGUAOSMhHz0Nmmci2TSjxROXRNVs/1:17900:0:99999:7:::

用户名:密码加密字符串:上一次修改密码时间

                                1970-1-1~2019-1-1

查看系统时间:

  date

修改时间:  date  -s  '年-月-日  时:分:秒'

[root@nsd ~]# date

[root@nsd ~]# date -s '2008-10-1  12:10:8'

[root@nsd ~]# date

2008年 10月 01日 星期三 12:10:09 CST

[root@nsd ~]#

计算器bc

          加 +      减 -      乘 *        除 /

[root@nsd ~]# bc 

1+1

2

##################################################

修改用户属性

• 使用 usermod 命令

– usermod [选项]... 用户名

• 常用命令选项

– -u 用户id、-d 家目录路径、-s 登录Shell、-G 附加组

[root@server0 ~]# useradd nsd12

[root@server0 ~]# id nsd12

[root@server0 ~]# grep nsd12 /etc/passwd

]# usermod -u 1600 -d /mnt/nsd12  -G tarena  -s /sbin/nologin  nsd12

[root@server0 ~]# id nsd12

[root@server0 ~]# grep nsd12 /etc/passwd

#####################################################

删除用户

• 使用 userdel  命令

– userdel [-r] 用户名

  -r:连同家目录一并删除

Permission denied:权限不足

[root@server0 ~]# userdel  nsd02

[root@server0 ~]# id  nsd02

[root@server0 ~]# userdel  nsd03

[root@server0 ~]# id  nsd03

####################################################

管理组账号

添加组

组基本信息存放在 /etc/group 文件

[root@server0 ~]# grep stugrp /etc/group

stugrp:x:1509:

  组名:密码占位符:组的GID:组成员列表

• 使用 groupadd 命令

– groupadd [-g 组ID] 组名

[root@server0 ~]# groupadd stugrp        #创建组stugrp

[root@server0 ~]# grep stugrp /etc/group

stugrp:x:1509:

[root@server0 ~]# useradd harry

[root@server0 ~]# useradd natasha

[root@server0 ~]# useradd jack

[root@server0 ~]# useradd kenji

管理组成员

  组的密码信息存放在 /etc/gshadow 文件

• 使用 gpasswd 命令

– gpasswd -a 用户名 组名  #将用户添加到组

– gpasswd -d 用户名 组名  #将用户从组删除

[root@server0 ~]# gpasswd -a harry stugrp

[root@server0 ~]# grep stugrp /etc/group

[root@server0 ~]# gpasswd -a kenji stugrp

[root@server0 ~]# grep stugrp /etc/group

[root@server0 ~]# gpasswd -a natasha stugrp

[root@server0 ~]# grep stugrp /etc/group

[root@server0 ~]# gpasswd -d harry stugrp

[root@server0 ~]# grep stugrp /etc/group

[root@server0 ~]# gpasswd -a jack stugrp

[root@server0 ~]# grep stugrp /etc/group

修改组属性

• 使用 groupmod 命令

– groupmod [-g 组ID] [-n 新组名]  组名

删除组

• 使用 groupdel 命令                 

– groupdel 组名

  不能删除用户的基本组

###################################################

tar备份与恢复

  1.减少占用的硬盘空间  2.将零散的数据进行整合

• 归档的含义

– 将许多零散的文件整理为一个文件

– 文件总的大小基本不变

• 压缩的含义

– 按某种算法减小文件所占用空间的大小

– 恢复时按对应的逆向算法解压

常见的压缩格式及命令工具:

.gz ---> gzip

  .bz2 ---> bzip2

  .xz ---> xz

tar进行归档及压缩(打包)

格式:

  tar  选项      /路径/压缩包的名字      /路径/源文档1  /路径/源文档2

tar进行释放(解包)

格式:

  tar  选项  /路径/压缩包的名字    选项    释放的路径

• tar 集成备份工具

– -c:创建归档

– -x:释放归档

– -f:指定归档文件名称(所有的选项的最后)

– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理

– -t:显示归档中的文件清单

– -C:指定释放的路径

]# tar -zcf /opt/file.tar.gz  /home/  /boot/

]# ls /opt/

]# tar -jcf /opt/abc.tar.bz2  /etc/passwd  /etc/shadow

]# ls /opt/

]# tar -Jcf /opt/nsd.tar.xz  /etc/group  /etc/gshadow

]# ls /opt/

]# date -s '2019-1-4 15:50'         

]#tar -xf /opt/file.tar.gz -C /mnt/

]# ls /mnt/

]# ls /mnt/home/

]# ls /mnt/boot/

]# tar -xf /opt/nsd.tar.xz -C /mnt/

]# ls /mnt/

]# ls /mnt/etc/

]# tar -xf /opt/abc.tar.bz2 -C /mnt/

]# ls /mnt/etc/

使用 tar 工具完成以下备份任务:

– 创建一个名为 /root/backup.tar.bz2 的归档文件

– 其中包含 /usr/local 目录中的内容

– tar 归档必须使用 bzip2 进行压缩

[root@server0 ~]# tar -jcf /root/backup.tar.bz2 /usr/local/

[root@server0 ~]# ls /root/

[root@server0 ~]# tar -tf /root/backup.tar.bz2  #查看包里内容

###################################################

NTP时间同步

NTP网络时间协议

• Network Time Protocol

– NTP服务器为客户机提供标准时间

– NTP客户机需要与NTP服务器保持沟通

NTP服务器:虚拟机classroom构建完成

NTP客户机:指定NTP服务器位置

虚拟机server:

1.安装chrony软件,可以和NTP服务器沟通

[root@server0 ~]# rpm -q chrony

chrony-1.29.1-1.el7.x86_64

2.修改主配置文件

[root@server0 ~]# vim  /etc/chrony.conf

  大多数配置文件中,以#开头的行为注释信息

#server 0.rhel.pool.ntp.org iburst

#server 1.rhel.pool.ntp.org iburst

#server 2.rhel.pool.ntp.org iburst

server classroom.example.com  iburst    #指定服务端位置

3.重起服务(重起程序)

]# systemctl  restart  chronyd 

]# systemctl  enable  chronyd    #设置服务开机自起

  daemon:守护神;(希腊神话中)半人半神的精灵;[计]守护进程

4.验证:                                                     

[root@server0 ~]# date

[root@server0 ~]# date -s '2000-10-1'   

[root@server0 ~]# date

[root@server0 ~]# systemctl restart chronyd

[root@server0 ~]# date

[root@server0 ~]# date

[root@server0 ~]# date 

##################################################

cron计划任务(周期性任务)(定时任务)

• 用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

• 软件包:cronie、crontabs

• 系统服务:crond

• 日志文件:/var/log/cron

执行周期 配置说明

分钟 从0到59之间的整数

小时 从0到23之间的整数

日期 从1到31之间的整数

月份 从1到12之间的整数

星期 0~7之间的整数,0或7代表星期日

  *:匹配范围内任意时间

  ,:分隔多个不连续的时间点

  -:指定连续时间范围

/n:指定时间频率,每n ...

如何编写crontab任务记录

  分  时  日  月  周      任务命令行(绝对路径)

  30 23  *  *  *    poweroff           

  30  */2  *  *  * 

  34  8  *  *  1-5 

  34  8  1  *  1      每月1号与每周一都会运行 

• 使用 crontab 命令

– 编辑:crontab -e  [-u 用户名]

– 查看:crontab -l  [-u 用户名]

– 清除:crontab -r  [-u 用户名]

  每分钟记录当前系统的时间,写入/opt/time.txt

[root@server0 ~]# date

2019年 01月 04日 星期五 17:29:25 CST

[root@server0 ~]# date >> /opt/time.txt

[root@server0 ~]# cat /opt/time.txt

[root@server0 ~]# crontab -e -u root  #编写root用户计划任务

* * * * *  date >> /opt/time.txt

[root@server0 ~]# crontab -l -u root  #查看root用户计划任务

[root@server0 ~]# ls /var/spool/cron/   

[root@server0 ~]# cat /var/spool/cron/root#生成的任务文件

* * * * *  date >> /opt/time.txt

[root@server0 ~]# cat /opt/time.txt

#######################################################################

基本权限

• 访问方式(权限)

– 读取:允许查看内容-read  r

– 写入:允许修改内容-write  w

– 可执行:允许运行和切换-execute  x

  对于文本文件:

        r:cat  less  head  tail

        w:vim能够保存  >    >>

        x:针对与Shell脚本

• 权限适用对象(归属)

– 所有者:拥有此文件/目录的用户-user  u

– 所属组:拥有此文件/目录的组-group    g

– 其他用户:除所有者、所属组以外的用户-other  o

查看权限

• 使用 ls -l 命令

  – ls -ld 文件或目录...


  以 d 开头为目录

  以 l 开头为快捷方式

  以 - 开头为文本文件

  权限位 硬连接数 属主 属组 大小 最后修改时间 文件/目录名称

[root@server0 ~]# ls -ld /etc/       

[root@server0 ~]# ls -l /etc/passwd

[root@server0 ~]# ls -ld /root

[root@server0 ~]# ls -l  /etc/shadow

[root@server0 ~]# ls -ld /home/student

[root@server0 ~]# ls -ld /tmp

设置基本权限

• 使用 chmod 命令

– chmod        归属关系+-=权限类别 文档...

        [-R]  递归修改权限

[root@server0 ~]# mkdir /nsd01

[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u-w /nsd01

[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod g+w /nsd01

[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod o=rwx /nsd01

[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod o=--- /nsd01

[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u=rwx,g=rx,o=rx /nsd01

[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod ugo=rwx /nsd01

[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# mkdir -p /opt/aa/bb/cc

[root@server0 ~]# ls -ld /opt/aa

[root@server0 ~]# ls -ld /opt/aa/bb/

[root@server0 ~]# ls -ld /opt/aa/bb/cc/

[root@server0 ~]# chmod -R o=--- /opt/aa

[root@server0 ~]# ls -ld  /opt/aa

[root@server0 ~]# ls -ld  /opt/aa/bb/

[root@server0 ~]# ls -ld  /opt/aa/bb/cc/

####################################################

Linux中如何判定用户具备的权限:        匹配及停止

  1.判断用户属于角色                    所有者>所属组>其他人 

  2.查看相应角色权限位置的权限

  1.王老师可以进入              1.所有人不可以进入

  2.所有人不可以进入            2.王老师可以进入

Permission denied:权限不足

####################################################

目录的 r 权限:能够 ls 浏览此目录内容    4

目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/等更改目录内容的操作    2

目录的 x 权限:能够 cd 切换到此目录    1

以root用户新建/nsddir/目录,在此目录下新建readme.txt文件

并进一步完成下列操作

1)使用户lisi能够在此目录下创建子目录    切换用户  su  -  lisi

    chmod o+w  /nsddir/

2)使用户lisi不能够在此目录下创建子目录

    chmod o-w  /nsddir/

3)使用户lisi能够修改readme.txt文件内容

    chmod o+w  /nsddir/readme.txt

4)调整此目录的权限,使所有用户都不能cd进入此目录

    chmod u-x,g-x,o-x  /nsddir/

5)为此目录及其下所有文档设置权限 rwxr-x---

    chmod -R  u=rwx,g=rx,o=---  /nsddir/

##############################################

设置文档归属

– chown [-R] 属主 文档...

– chown [-R] :属组 文档...

– chown [-R] 属主:属组 文档...

[root@server0 ~]# mkdir /nsd03

[root@server0 ~]# ls -ld /nsd03

[root@server0 ~]# groupadd  tarena

[root@server0 ~]# chown  lisi:tarena  /nsd03

[root@server0 ~]# ls -ld /nsd03

[root@server0 ~]# chown root /nsd03

[root@server0 ~]# ls -ld /nsd03

[root@server0 ~]# groupadd tedu

[root@server0 ~]# chown :tedu /nsd03

[root@server0 ~]# ls -ld /nsd03

##################################################

利用root用户新建/nsd06目录,并进一步完成下列操作

1)将属主设为gelin01,属组设为tarena组             

[root@server0 /]# useradd gelin01

[root@server0 /]# useradd gelin02

[root@server0 /]# groupadd tarena

[root@server0 /]#chown gelin01:tarena  /nsd06

2)使用户gelin01对此目录具有rwx权限

      除属主与属组之外的人,对此目录无任何权限

[root@server0 /]# chmod o=--- /nsd06

3)使用户gelin02能进入、查看此目录

[root@server0 /]# gpasswd -a  gelin02  tarena

4)将gelin01加入tarena组, 将nsd06目录的权限设为rw-r-x---

      再测试gelin01用户能否进入此目录

[root@server0 /]# gpasswd -a  gelin01  tarena

[root@server0 /]# chmod u=rw,g=rx /nsd06

######################################################

实现lisi用户,对/etc/shadow文件具备读权限,您有几种办法?

    1.修改其他人权限  chmod o+r /etc/shadow

    2.修改归属关系,将lisi修改所有者 

      chown  lisi  /etc/shadow

      chmod  u+r  /etc/shadow

    3.修改归属关系,将lisi组修改所属组

      chown  :lisi  /etc/shadow

      chmod  g+r    /etc/shadow

    4.利用ACL策略  setfacl -m  u:lisi:r  /etc/shadow

#####################################################

附加权限(特殊权限)

Set GID

• 附加在属组的 x 位上

– 属组的权限标识会变为 s

– 适用于目录,Set GID可以使目录下新增的文档自动设

置与父目录相同的属组 

– 传递所属组身份

[root@server0 /]# mkdir /nsd08

[root@server0 /]# ls -ld /nsd08

[root@server0 /]# chown :tarena /nsd08

[root@server0 /]# ls -ld /nsd08

[root@server0 /]# mkdir /nsd08/abc01

[root@server0 /]# ls -ld /nsd08/abc01

[root@server0 /]# chmod g+s /nsd08/    #设置Set Gid权限

[root@server0 /]# ls -ld /nsd08/

[root@server0 /]# ls -ld /nsd08/abc01/

[root@server0 /]# mkdir /nsd08/abc02

[root@server0 /]# ls -ld /nsd08/abc02

[root@server0 /]# touch /nsd08/abc02/1.txt

[root@server0 /]# ls -l /nsd08/abc02/1.txt

案例1:配置附加权限

创建一个共用目录 /home/admins,要求如下:

– 此目录的组所有权是 adminuser

– adminuser 组的成员对此目录有读写和执行的权限,

除此以外的其他所有用户没有任何权限(root用户能

够访问系统中的所有文件和目录)

– 在此目录中创建的文件,其组的所有权会自动设置为

属于 adminuser 组

[root@server0 /]# mkdir /home/admins 

[root@server0 /]# groupadd adminuser

[root@server0 /]# ls -ld /home/admins/

[root@server0 /]# chown :adminuser /home/admins/

[root@server0 /]# ls -ld /home/admins/

[root@server0 /]# chmod g+w /home/admins/    #题意要求

[root@server0 /]# ls -ld /home/admins/

[root@server0 /]# chmod o=--- /home/admins/  #题意要求

[root@server0 /]# ls -ld /home/admins/

[root@server0 /]# chmod g+s /home/admins/

[root@server0 /]# ls -ld /home/admins/

[root@server0 /]# touch /home/admins/1.txt

[root@server0 /]# ls -l /home/admins/1.txt

####################################################

acl访问控制列表(特殊人权限)

acl策略的作用

• 文档归属的局限性

– 任何人只属于三种角色:属主、属组、其他人

– 无法实现更精细的控制

• acl访问策略

– 能够对个别用户、个别组设置独立的权限

– 大多数挂载的EXT3/4、XFS文件系统默认已支持

• 使用 getfacl、setfacl 命令

– getfacl 文档..      .#查看

– setfacl  -m  u:用户名:权限类别    文档...#设置用户

– setfacl  -m  g:组名:权限类别    文档...    #设置组

– setfacl  -x  u:用户名        文档...        #删除指定的ACL策略

– setfacl  -b  文档...                        #清除所有ACL策略


[root@server0 /]# mkdir /nsd11

[root@server0 /]# chmod o=--- /nsd11

[root@server0 /]# ls -ld /nsd11

[root@server0 /]# su - lisi

[lisi@server0 ~]$ cd /nsd11

-bash: cd: /nsd11: Permission denied

[lisi@server0 ~]$ exit

[root@server0 /]#setfacl -m u:lisi:rx /nsd11  #设置ACL策略

[root@server0 /]# getfacl /nsd11  #专用于查看ACL策略

[root@server0 /]# su - lisi

[lisi@server0 ~]$ cd /nsd11

[lisi@server0 nsd11]$ pwd

[lisi@server0 nsd11]$ exit

[root@server0 /]#

[root@server0 /]# mkdir /nsd12       

[root@server0 /]# setfacl -m u:dc:rwx  /nsd12

[root@server0 /]# setfacl -m u:lisi:rx  /nsd12

[root@server0 /]# setfacl -m u:zhangsan:rwx  /nsd12

[root@server0 /]# setfacl -m u:tom:rx  /nsd12

[root@server0 /]# setfacl -x u:tom  /nsd12  #删除指定ACL策略

[root@server0 /]# getfacl /nsd12

[root@server0 /]# setfacl -x u:dc  /nsd12

[root@server0 /]# getfacl /nsd12

[root@server0 /]# setfacl -b  /nsd12      #清除所有ACL策略

[root@server0 /]# getfacl /nsd12


###################################################

设置黑名单

[root@server0 /]# mkdir /public

[root@server0 /]# chmod ugo=rwx /public

[root@server0 /]# ls -ld /public

drwxrwxrwx. 2 root root 6 1月  5 16:08 /public

[root@server0 /]# id tom

uid=1004(tom) gid=1006(tom) 组=1006(tom)

[root@server0 /]# setfacl -m u:tom:--- /public

[root@server0 /]# getfacl  /public

###################################################

使用LDAP认证,实现网络用户认证,达到用户的集中管理


    网络用户:用户信息会放在网络中LDAP服务器

    本地用户:用户信息会放在/etc/passwd

LDAP服务器:虚拟机classroom

客户端:虚拟机server

1.安装sssd软件,与LDAP服务器沟通

[root@server0 /]# yum -y install sssd

[root@server0 /]# rpm -q sssd

2.安装authconfig-gtk图形的工具,进行配置客户端sssd软件

[root@server0 /]# yum -y install authconfig-gtk

[root@server0 /]# authconfig-gtk

完全合格的主机名  www.baidu.com    www.qq.com

              classroom.example.com

    选择LDAP

      dc=example,dc=com            #指定服务端域名

      classroom.example.com        #指定服务端主机名

    勾选TLS加密

      使用证书加密:

    http://classroom.example.com/pub/example-ca.crt

    选择LDAP密码

3.重起服务

[root@server0 ~]# systemctl  restart  sssd  #重起服务

[root@server0 ~]# systemctl  enable  sssd    #设置开机自启动

[root@server0 ~]# grep ldapuser0 /etc/passwd

[root@server0 ~]# id ldapuser0    #验证LDAP用户信息


###################################################     

家目录漫游

什么是NFS共享

• Network File System,网络文件系统

– 由NFS服务器将指定的文件夹共享给客户机

– 客户机将此共享目录 mount 到本地目录,访问此共享

资源就像访问本地目录一样方便

– 类似于 EXT4、XFS等类型,只不过资源在网上

NFS服务器:虚拟机classroom

客户端:虚拟机server

1. 查看NFS资源

– showmount -e [服务器地址]

[root@server0 ~]# showmount -e classroom.example.com

Export list for classroom.example.com:

/home/guests  172.25.0.0/255.255.0.0

[root@server0 ~]#

2. 挂载NFS共享目录

–mount 服务器地址:目录路径 本地挂载点

]# mkdir /home/guests

]# mount  classroom.example.com:/home/guests/  /home/guests/

]# ls  /home/guests/

]# su  -  ldapuser0

###################################################

附加权限

Set UID

• 附加在属主的 x 位上

– 属主的权限标识会变为 s

– 适用于可执行文件,Set UID可以让使用者具有文件属

主的身份及部分权限

– 传递所有者身份

[root@server0 ~]# ls /usr/bin/touch         

[root@server0 ~]# /usr/bin/touch  a.txt

[root@server0 ~]# ls

[root@server0 ~]# cp /usr/bin/touch /usr/bin/hahach

[root@server0 ~]# /usr/bin/hahach b.txt

[root@server0 ~]# ls

[root@server0 ~]# chmod u+s /usr/bin/hahach  #设置SUID权限

[root@server0 ~]# ls -l /usr/bin/hahach

[root@server0 ~]# su - student

[student@server0 ~]$ /usr/bin/touch nsd01.txt

[student@server0 ~]$ ls -l nsd01.txt

[student@server0 ~]$ /usr/bin/hahach nsd02.txt

[student@server0 ~]$ ls -l nsd02.txt

[student@server0 ~]$ exit

####################################################

Sticky Bit

• 附加在其他人的 x 位上

– 其他人的权限标识会变为 t

– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入

权限(禁止操作别人的文档)

[root@server0 ~]# ls /home/

[root@server0 ~]# mkdir /home/public

[root@server0 ~]# ls /home/

[root@server0 ~]# chmod ugo=rwx /home/public

[root@server0 ~]# ls -ld /home/public

[root@server0 ~]# useradd lisi

[root@server0 ~]# useradd harry

[root@server0 ~]# useradd natasha

[root@server0 ~]# chmod o+t /home/public/

[root@server0 ~]# ls -ld /home/public/

#################################################

改变家目录

[root@server0 ~]# useradd tom

[root@server0 ~]# grep tom /etc/passwd

[root@server0 ~]# ls /home/

[root@server0 ~]# grep tom /etc/passwd

[root@server0 ~]# usermod -d /opt/abc tom  #修改用户家目录

[root@server0 ~]# grep tom /etc/passwd

[root@server0 ~]# cp -r /home/natasha/  /opt/abc

[root@server0 ~]# chown  -R  tom:tom  /opt/abc  #修改归属关系

[root@server0 ~]# ls  -ld /opt/abc

drwx------. 5 tom tom 101 1月  7 10:29 /opt/abc

[root@server0 ~]# ls  -lA /opt/abc

[root@server0 ~]# su  - tom

#####################################################

查找文本内容

• 根据字符串模式提取文本行

– grep [选项] '匹配模式' 文本文件...

– 命令行 | grep [选项] '匹配模式'

• 常用命令选项

– -v,取反匹配

– -i,忽略大小写

[root@server0 ~]# grep root /etc/passwd

[root@server0 ~]# grep ROOT /etc/passwd

[root@server0 ~]# grep -i ROOT /etc/passwd

[root@server0 ~]# grep  man /etc/man_db.conf

[root@server0 ~]# grep -i man /etc/man_db.conf

[root@server0 ~]# grep root /etc/passwd

[root@server0 ~]# grep -v root /etc/passwd

– ^word 以字符串word开头

– word$ 以字符串word结尾

–  ^$      匹配空行

[root@server0 ~]# grep root /etc/passwd

[root@server0 ~]# grep ^root /etc/passwd

[root@server0 ~]# grep root$ /etc/passwd

[root@server0 ~]# grep bash$ /etc/passwd

[root@server0 ~]# grep ^$  /etc/default/useradd

[root@server0 ~]# grep -v ^$ /etc/default/useradd

请显示/etc/default/useradd文件有效信息(去除空行 去除注释)

]# grep  ^# /etc/default/useradd

]# grep -v ^# /etc/default/useradd 

]# grep -v ^# /etc/default/useradd  |  grep -v ^$

]# grep -v ^# /etc/default/useradd |  grep -v ^$  > /root/user.txt

]# cat /root/user.txt

##################################################

查找文件

• 根据预设的条件递归查找对应的文件

– find [目录] [条件1] [-a|-o] [条件2] ...

– 常用条件表示:

  -type 类型(f 文件、d 目录、l 快捷方式)

  -name "文档名称"

  -size +|-文件大小(k、M、G)

  -user 用户名

– 常用条件表示:

  -type 类型(f 文件、d 目录、l 快捷方式)

[root@server0 ~]# find /boot/  -type d

[root@server0 ~]# find /boot/  -type l

/boot/grub/menu.lst

[root@server0 ~]# ls /boot/grub/menu.lst

/boot/grub/menu.lst

[root@server0 ~]# ls -l /boot/grub/menu.lst

lrwxrwxrwx. 1 root root 9 5月  7 2014 /boot/grub/menu.lst -> grub.conf

[root@server0 ~]# find /boot/ -type f

  -name  "文档名称"

[root@server0 ~]# find /etc/  -name  "passwd"

[root@server0 ~]# find /etc/  -name  "*tab"

[root@server0 ~]# find /etc/  -name  "*tab*"

[root@server0 ~]# mkdir  /root/nsd01

[root@server0 ~]# mkdir  /root/nsd02

[root@server0 ~]# touch  /root/nsd1812.txt

[root@server0 ~]# find  /root  -name  "nsd*"

[root@server0 ~]# find  /root  -name  "nsd*"  -a  -type f

[root@server0 ~]# find  /root  -name  "nsd*"  -type  f

[root@server0 ~]# find  /root  -name  "nsd*"  -type  d

  -size  +|-文件大小(k、M、G)

[root@server0 ~]# find /boot/ -size +10M

[root@server0 ~]# ls -lh /boot/initr*

[root@server0 ~]# find /boot/ -size +300k

  -user 用户名(按照文档所有者查找)

[root@server0 ~]# find  /  -user student

[root@server0 ~]# find  /  -user tom

• 根据名称查找,忽略大小写

– -iname

[root@server0 ~]# find /etc -name "PASSWD"

[root@server0 ~]# find /etc/ -iname "PASSWD"

• 根据所属组

– -group

[root@server0 ~]# find /home/ -group tom

• 限制目录查找的深度(最大层数)

– -maxdepth

[root@server0 ~]# find /etc/  -name  "*.conf"

[root@server0 ~]# find /etc/  -maxdepth 1  -name  "*.conf"

[root@server0 ~]# find /etc/  -maxdepth 2  -name  "*.conf"

[root@server0 ~]# find /etc/  -maxdepth 3  -name  "*.conf"

• 根据文件修改时间,都是过去时间

– -mtime +10  #10天之前,创建或修改过的文件

– -mtime -10  #最近10天之内,创建或修改过的文件

三个月之前的日志文件?

[root@server0 ~]# find /var/log -mtime +90

[root@server0 ~]# find /var/log -mtime +1000

[root@server0 ~]# find /opt -mtime -10

#####################################################

处理find查找到的结果:

查找/boot目录下大于10M,将其复制到/opt

]# find /boot/ -size +10M

]# find /boot/ -size +10M  -exec cp {}  /opt/  \;

]# ls /opt/

查找/etc目录下以tab结尾的,将其复制到/mnt

]# find /etc -name "*tab"

]# find /etc -name "*tab" -exec cp {}  /mnt/  \;

]# ls  /mnt/

案例2:查找并处理文件

• 使用find命令完成以下任务                     

– 找出所有用户 student 拥有的文件

– 把它们拷贝到 /root/findfiles/ 文件夹中

]# mkdir /root/findfiles

]# find  /  -user  student  -type f

]# find  /  -user  student  -type f  -exec cp  {}  /root/findfiles/  \;

]# ls -A /root/findfiles/

#######################################################

查看命令帮助信息

[root@server0 ~]# man find

#######################################################

你可能感兴趣的:(linux入门知识点)