云计算基础linux笔记

黑色:文本文件
蓝色:目录
青色:快捷方式
红色:压缩包
绿色:可以执行的程序

快捷键:
      ctrl+l:清楚整个屏幕
      ctrl+c:结束正在运行的命令
      Alt+./ESC+.:粘贴上一个命令的参数
      ctrl+u:清空至行首
      ctrl+w:往回删一个单词(以空格界定)

Linux命令:用于实现某一类功能的指令或程序
  命令的执行依赖于解释器:
    /bin/bash(登录操作系统)
    /sbin/nologin(禁止登录操作系统)
Linux完整的命令格式,每一部分之间都要有空格
  -n:显示内容时添加行号
[root@desktop0 home]# cat -n /etc/passwd | head -2
     1    root:x:0:0:root:/root:/bin/bash
     2    bin:x:1:1:bin:/bin:/sbin/nologin

查看命令帮助信息:命令 --help 、 man 命令   #按q退出

虚拟控制台切换:ctrl+Alt+Fn(f1~f12)
  tty1:图形桌面
  tty2~tty6:字符控制台
命令提示符:$(当前用户)、#(当前用户为root)

pwd:查看当前工作目录
cd:切换工作目录Linux中查看/boot目录内容
ls:查看目录
cat:查看文本文件内容
uname -r:查看内核   -r:代表内核
hostname:查看主机名
lscpu:查看CPU信息
ifconfig:查看ip
cat  /proc/meminfo:查看内存信息
head:查看头文件
tail:查看尾文件
mkdir:创建目录
touch:创建文档
poweroff:关机
reboot:重启
mount:挂载
umount:卸载
/etc/redhat-release:存储当前系统版本信息
/etc/passed:存放用户基本信息
/etc/group:存放组基本信息
/etc/shadow:存放用户密码信息
echo:免交互编写
cp/mv不支持管道

/root/.bashrc:在真机上设置永久别名的配置文件
vth-vmctl reset classroom:在真机上还原classroom虚拟机
vth-vmctl reset server:在真机上还原server虚拟机
vth-vmctl reset desktop:在真机上还原desktop虚拟机
ssh -X [email protected]:在真机上远程管理server虚拟机
ssh -X [email protected]:在真机上远程管理desktop虚拟机


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

服务器:能够为其他计算机提供服务的更高级的电脑
典型服务模式:C/S(Client/Server)架构
  由服务器提供资源或某种功能
  客户机使用资源或功能

主机与主机通信三要素:ip地址,子网掩码,ip路由(网关)
  ip地址是唯一标识计算机,32个二进制位(四个十进制数以逗号隔开)
  ip地址有网络位+主机位

用于一般计算机网络:
  A类:1~127 255.0.0.0  (网+主+主+主)
  B类:128~191 255.255.0.0  (网+网+主+主)
  C类:192~223 255.255.255.0  (网+网+网+主)
组播及科研专用:
  D类:224~239
  E类:240~254

配置ip:DHCP(动态获取)、手动配置
Window查看ip:ipconfig
Linux查看ip:ifconfig
DNS服务器地址:解析域名,将域名解析为ip地址
检测主机之间通信:ping命令

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

Windown的文件系统:NTFSFAT(默认)
Linux的文件系统:
  默认:ext4(PHEL6)、xfs(RHEL7)
  交换:swap(虚拟内存)缓解物理内存的压力

Linux目录结构:
  根目录/:所有目录都在此目录下(Linux系统的起点)
  /dev:存放设备文件
  标示文件所在:/dev/nsd/abc/1.txt

hd:IDE设备、sd:SCSI设备
  Linux中磁盘的表示,第三块SCSI磁盘的第二个分区?
      /dev/sdc2

pwd:查看当前工作目录

cd:切换工作目录
  格式:cd [目标文件夹位置]
      cd /root

ls:查看目录:
  -l:以长格式显示
  -d:显示目录本身(不是内容)的属性
  -h:提供易读的容量单位(K,M)
  -a:包括以.和..开头的隐藏文档
  -A:除了以.和..开的的隐藏文档
  格式:ls [选项] [目录或文件名]
Linux中查看/boot目录内容
  ls /boot

以/开始的为绝对路径
  cd /etc/passwd

以当前参照的为相对路径
  cd /home
[root@desktop0 home]# ls
dc  harry  natasha  student
  cd harry   #相对路径

..表示父目录(可以返回上一级)

cat:查看文本文件内容
  cat /etc/redhat-release
  cat /etc/passwd

ifconfig:查看ip地址
  ifconfig eth0   #查看eth0网卡ip地址
  ifconfig        #查看所有网卡ip地址

mkdir:创建目录
  格式:mkdir -p [/路径/]目录名
       -p:递归创建
# mkdir /root/harry/natasha   #在/root目录下创建/harry,在/harry目录下创建/natasha
      mkdir /harry   #在根目录下创建harry目录
      ls /           #查看根目录

touch:创建文档
  格式:touch [/路径/]文档 、 touch 文档 (在当前目录创建文档)
      touch /harry/1.txt   #在harry目录下创建1.txt文档
      cd /harry   #切换到harry目录
      touch 1.txt #在harry目录下创建1.txt文档

head:显示头文档 、 tail:显示尾文档
  格式:head [-数字] 文件名
  head -3 /etc/passwd   #显示/etc/passwd的前3行文档
  格式:tail [-数字] 文件名
  tail -3 /etc/passwd   #显示/etc/passwd的后3行文档、

grep:输出包含指定字符串的行
  格式:grep 查找条件/查找目标  文件名
查看/etc/passwd/中包含root的行
[root@desktop0 ~]# grep root /etc/passwd

less:分屏阅读工具
  格式:less [选项] 文件名
[root@desktop0 /]# less root /etc/passwd

rm:删除(remove)
  -r:递归删除   递归:目录本身以及子目录,子文件
  -f:强制删除

mv:移动/改名(move)

cp:复制(copy) 支持多参数,永远把最后一个参数作为目标,其他所有参数作为源
                    可以重新命名目标路径的文件名
  -r:递归,复制目录是必须有此选项
\:取消强制覆盖的提示,临时取消命令的别名

重定向输出:将前面命令的输出结果,写入到另一个文本文件中
  >:覆盖重定向
  >> : 追加重定向

管道 | :将前面命令的输出结果,作为参数交由后面处理
  请显示/etc/passwd文件内容的8~12行?
# head -12 /etc/passwd | tail -5   #显示/etc/passwd的前12行的后5行
# cat -n /etc/passwd | head -12 | tail -5

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

mount:挂载
Windown:光盘文件------光驱设备------CD驱动器(访问点)
Linux:光盘文件------光驱设备(/dev/cdrom)------目录(访问点)
访问点:访问设备资源时,必须通过访问点
洞口------煤矿

mount /dev/cdrom /dvd  #将/dvd作为cdrom的访问点
mount:/dev/sr0写保护,将以只读方式挂载

umount:卸载
umount /dvd   #卸载/dvd

注意事项:1.卸载,退出访问点目录
        [root@server~]# umount /dvd
        umount:/dvd  目标忙
           2.挂载,尽量采用自己创建的目录

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

通配符:针对不确定的文档名称,以特殊字符表示
  *:任意多个任意字符
  ?:单个字符
  [a-z]:多个字符或连续范围中的一个,若无则忽略
      # ls /dev/tty[3-8]      #匹配/dev里tty3,tty4,tty5,tty6,tty7,tty8
  {a,min,xy}:多组不同的字符串,全匹配
      # ls /dev/tty{1,3,5,7}  #匹配/dev里tty1,tty3,tty5,tty7
请列出/dev/目录下tty20至tty30的设备文件?(请利用通配符)
# ls /dev/tty{2[0-9],30}

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

别名的定义:简化复杂的命令
alias:定义别名
   alias 别名名称
定义新的别名
  alias 别名="实际执行的命令"
 # alias   #查看别名
 # alias gos=“ssh -X [email protected]”   #定义别名
unalias:取消别名
 # unalias gos   #删除别名

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

vim:文本编辑器 
  格式:vim /目录/文件名
    i:编辑
    o:换行
    u:删除
    a:光标下移
    shift+zz:保存并退出

分为:命令模式,编辑模式(插入模式,编辑模式),末行模式
  命令模式------按i进入编辑模式------ESC回到命令模式
  命令模式------按:进入末行模式------:wq保存并退出/:q!强制不保存并退出

若文件不存在,则新建空文件并编辑
若文件已存在,则打开此文件并编辑

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

软件包管理
  1.图形添加光驱设备,关闭虚拟机
  2.零散软件管理
rpm:软件包管理
  -q:查询
  -ivh:安装
  -e:卸载软件包
  -qa:查询所有rpm包
# rpm --import /dvd/RPM-GPG-KEY-redhat-release   #导入官方的签名信息

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

yum:软件包仓库,可以自动解决依赖关系
  服务:为客户端自动解决依赖关系
  服务端:classroom.example.com 搭建Web服务,共享光盘所有内容
http://classroom.example.com/content/rhel7.0/x86_64/dvd/
  客户端:虚拟机server,指定服务端位置
  /etc/yum.repos.d/*.repo:客户端配置文件
[root@server0 ~]# rm -rf /etc/yum.repos.d/*    #删除所有
[root@server0 ~]# vim /etc/yum.repos.d/dvd.repo  #新建dvd.repo并编辑
  [dvd]  #仓库命名
  name=dvd  #仓库描述信息
  bashurl=http://classroom.example.com/content/rhel7.0/x86_64/dvd/  #指定服务端位置
  bashurl:可以使http,ftp或者file本地路径
  enabled=1  #是否启用文本,1启用,0禁止,默认1
  gpgcheck=0  #是否检测软件包的签名信息,默认0禁止
[root@server0 ~]# yum repolist  #列出仓库信息      

yum install:安装软件包
  -y:免交互
[root@server0 ~]# yum -y install sssd  #安装软件包sssd 
yum remove:卸载软件包
yum clean all:清空yum缓存
yum search:搜索仓库里的软件包

yum-config-manager --add file:///dvd    #创建文件快捷方式

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

wget:下载工具
  wget 软件包的URL地址
  wget 软件包的URL地址 -o /目录路径/新文件名
案例:省级Liunx内核
  # uname -r
  # wget http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/     kernel-3.10.0-123.1.2.el7.x86_64.rpm
  # rpm -ivh kernel-3.10.0-123.1.2.el7.x86_64.rpm
  # uname -r
  # reboot   #重启生效
  # gos
  # uname -r

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

配置网络参数(主机名,ip地址,子网掩码,网关,DSN地址)
  1.配置永久主机名,配置文件/etc/hostname
  2.配置永久的ip地址,子网掩码,网关地址
修改配置;/etc/sysconfig/network-scripts/ifcif-eth0
  查看识别的网卡名
# nmcli connection show
  配置ip地址子网掩码,网关地址
# nmcli connection modify(修改) 'System eth0'(网卡名) ipv4.method(方法) manual(手动配置) ipv4.addresses '172.25.0.120/24 172.25.0.254' connection.autoconnect yes(每次开机自动启动) 
# nmcli connection modify(修改) 'System eth0' ipv4.method auto(自动)
route:查看网关地址
  3.检测DNS服务器是否能够解析:nslookup
  /etc/resolv.conf:修改配置文件

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

管理用户和组(管理员root的UID为0)
用户账户:1.可以登陆操作系统
          2.实现访问控制(不同用户,权限不同)
组账号:方便对用户的管理

UID:用户ID 、 GID:组ID
  组的分类:基本组(私有组)、附加组(公共组、从属组)   一个用户至少属于一个组

useradd:添加用户
  -u:用户id
  -d:家目录路径
  -s:登录shell解释器
  -g:基本组
  -G:附加组
  id:查看用户信息
    id harry    #查看用户harry的用户信息
  [root@server0 /]# head -1 /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  用户名:密码占位符:UID:基本组GID:用户描述信息:用户家目录:解释器

passwd:设置密码
su:切换临时用户
  # su - harry   #切换harry用户

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

非交互设置密码
# echo 123 | passwd --stdin nsd01

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

usermod:修改用户属性
  -u:用户id
  -d:家目录路径
  -s:登录shell解释器
  -g:基本组
  -G:附加组

userdel:删除用户
  -r:删除家目录

groupadd:添加组
  -g:组id
[root@server0 /]# groupadd stugrp
[root@server0 /]# grep stugrp /etc/group
                  stugrp:x:1001:
                       组名:密码占位符:组的GID:组成员列表
gpaddwd:管理组
  -a:用户加入组  
  -d:从组中删除用户
# gpasswd -a kenji studen    #将用户kenji加入studen组
# gpasswd -d kenji studen    #将用户kenji从studen组中删除

groupdel:删除组

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

tar:压缩工具
常见压缩格式: gzip----》.gz   -z
          bzip2----》.bz2  -j
          xz----》.xz    -J
  -c:创建
  -x:释放
  -f:指定归档文件名称
  -t:显示归档文件中的文件清单
  -C(大写):指定释放的位置

# tar -zcf /mnt/file.tar.gz /home/opt    #把/home/opt以.gz归档到/mnt下
# mkdir /public
# tar -xf /mnt/file.tar.gz -C /public    #把/mnt下的文档释放到/public
# tar -tf /root/backup.tar.gz    #显示包内容

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

NTP时间同步:为客户机提供标准时间
  NTP服务器:为客户机提供标准时间
  NTP客户机:与NTP服务器保持沟通
  
  软件包:chrony
  配置文件:/etc/chrony.conf
  系统服务:chronyd
服务端:classroom.example.com
客户端:虚拟机server0
1.安装一个软件chrony
2.修改配置文件
  # 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 3.rhel.pool.ntp.org iburst
server classroom.example.com iburst
3.重启服务
# systemctl restart chrongyd    #重启服务
# systemctl enable chrongyd     #设置随机自启动
4.验证:/etc/chrony.conf
  date:用于验证/etc/chrony.conf
  -s:更改时间
  # date -s "2000-10-1 12:30:00"

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

cron计划任务
周期性任务:按照设置的时间间隔为用户反复执行某一项固定的系统任务
  软件包:cronie 、 crontabs
  系统服务:crond
  日志文件:/var/log/crond

分  时  日  月  周 任务命令行(绝对路径)
    编辑:crontab -e 用户名
    查看:crontab -l 用户名
    清楚:crontab -r 用户名

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

tail -n -1 /etc/passws /etc/shadow   #可以同时查看他们的最后一行


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

Linux的权限有:基本权限、特殊权限(附加权限)、acl权限
设置权限命令:chmod 、 设置文档归属:chown
特殊权限(附加权限):Set GID 、 Set UID 、 Sticky Bit
acl访问策略(权限):getfacl 查看
                :setfacl 编辑
                setfacl基本命令:-m 增加 、 -x 删除 、 -b 删除所有

访问方式(基本权限)
read-----读取:允许查看内容            r
weite-----写入:允许修改内容           w
execute-----可执行:允许运行和切换     x

目录的r权限:能够ls浏览此目录内容
目录的w权限:能够rm/mv/cp/mkdir/touch/,等更改目录内容的操作(不能更改目录)
目录的x权限:能够cd切换到此目录

文本文件: r:cat   head  less
        w:vim   >
        x:脚本文件

权限适用对象(归属)
所有者:拥有此文件/目录的用户-----user          u
所属者:拥有此文件/目录的组-----group           g
其他用户:除所有者、所属组以外的用户-----other    o

查看权限:使用ls -l命令
           ls -ld 文件
     
     以-开头:文本文件
     以d开头:目录
     以l开头:快捷方式
-rw-r--r--. 1 root root 2005 7月  11 2014 /etc/passwd

drwxr-xr-x. 133 root(所有者) root(所属组) 8192 5月   5 08:19 /etc/


################################################################
设置权限
chmod命令
chmod [-R] 归属关系+权限类别 文档...
chmod [-R] 归属关系-权限类别 文档...
chmod [-R] 归属关系=权限类别 文档...
       -R:递归设置
[root@desktop0 ~]# mkdir /nsd01
[root@desktop0 ~]# ls -ld /nsd01    
drwxr-xr-x. 2 root root 6 5月   5 10:29 /nsd01
root所有者的权限是读写执行,root所属组的权限是读写,其他者的是读写
[root@desktop0 ~]# chmod u-w /nsd01
[root@desktop0 ~]# ls -ld /nsd01
dr-xr-xr-x. 2 root root 6 5月   5 10:29 /nsd01

[root@desktop0 ~]# chmod g+w /nsd01
[root@desktop0 ~]# ls -ld /nsd01
dr-xrwxr-x. 2 root root 6 5月   5 10:29 /nsd01

[root@desktop0 ~]# chmod o=--- /nsd01
[root@desktop0 ~]# ls -ld /nsd01
dr-xrwx---. 2 root root 6 5月   5 10:29 /nsd01

[root@desktop0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd01
[root@desktop0 ~]# ls -ld /nsd01
drwxrwxrwx. 2 root root 6 5月   5 10:29 /nsd01

[root@desktop0 ~]# chmod ugo=rwx /nsd01
[root@desktop0 ~]# ls -ld /nsd01
drwxrwxrwx. 2 root root 6 5月   5 10:29 /nsd01
[root@desktop0 ~]#
#################################################################

判别用户的权限
1.判别用户的归属关系(角色) 
  所有者>所属组>其他人 匹配及停止
2.查看相应 归属角色的权限位

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

Permission denied:权限不够

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

设置文档归属
chown命令
chown [-R] 属主 文档
chown [-R] :属组 文档
chown [-R] 属主:属组 文档

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

特殊权限(附加权限):Set GID 、 Set UID 、 Sticky Bit
   Set GID
附加在属组的x位上
属组的权限标识会变为s,小写是有执行权限,大写是没有执行权限
适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组
让子文档继承父目录的属组

  Set UID
附加在所有者的x位上
所有者的权限标示会变为s
适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限
传递所有者身份

[root@desktop0 ~]# cp /usr/bin/mkdir /usr/bin/xixidir
[root@desktop0 ~]# ls /usr/bin/xixidir
/usr/bin/xixidir
[root@desktop0 ~]# chmod u+s /usr/bin/xixidir
[root@desktop0 ~]# ls -l /usr/bin/xixidir
-rwsr-xr-x. 1 root root 79712 5月   7 09:27 /usr/bin/xixidir
[root@desktop0 ~]# su - student
[student@desktop0 ~]$ /usr/bin/mkdir test01
[student@desktop0 ~]$ ls -l
total 0
drwxrwxr-x. 2 student student 6 May  7 09:28 test01
[student@desktop0 ~]$ /usr/bin/xixidir test02
[student@desktop0 ~]$ ls -l
total 0
drwxrwxr-x. 2 student student 6 May  7 09:28 test01
drwxrwxr-x. 2 root    student 6 May  7 09:28 test02
[student@desktop0 ~]$ exit

   Sticky Bit
附加在其他人的x位上
其他人的权限表示会变为t
适用于开放w权限的目录,可以阻止用户滥用w写入权限(禁止操作别人的文档)


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

acl策略的作用
文档归属的局限性
任何人之属于三种角色:属主、属组、其他人
无法实现更精细的控制
acl访问策略
能够对个别用户、个别组设置独立的权限
大多数挂载的EXT3/4、XFS文件系统默认已支持

setfacl(增加) [-R] -m u:用户名:权限类别 文档   
setfacl(增加) [-R] -m g:组名:权限类别 文档
setfacl(增加) [-R] -x u:组名:权限类别 文档     #删除指定的acl
setfacl(增加) [-R] -b 文档                        #删除所有的acl
getfacl(查看) 文档

       -R:递归设置

#################################################################################
使用LDAP认证,网络用户
  网络用户:
  本地用户:/etc/passwd
 服务端:classroom.example.com
 客户端:虚拟机server0

1.安装一个sssd软件,与LDAP服务器沟通
[root@server0 ~]# yum -y install sssd

2.安装图形的工具authconfig-gtk,图形配置sssd
[root@server0 ~]# yum -y install authconfig-gtk

3.运行图形的工具进行配置
[root@server0 ~]# authconfig-gtk
选择LDAP
    dc=example,dc=com      #指定服务端域名
    classroom.example.com  #指定服务端主机名
勾选TLS加密
使用证书加密:http://classroom.example.com/pub/example-ca.crt

4.重启服务
[root@server0 ~]# systemctl restart sssd    #重启服务
[root@server0 ~]# systemctl enable sssd     #开机自启

5.验证
[root@server0 ~]# grep ldapuser0 /etc/passwd
[root@server0 ~]# id ldapuser0

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

家目录的实现
共享:本地数据传递给网络中其他主机
NFS共享 网络文件系统
服务端:classroom.example.com  NFS服务器共享所有家目录
虚拟机:Server0
查看NFS资源
showmount -e classroom.example.com
挂载NFS资源
[root@server0 ~]# mkdir /nfs
[root@server0 ~]# mount classroom.example.com:/home/guests /nfs
[root@server0 ~]# ls /nfs

[root@server0 ~]# umount /nfs
[root@server0 ~]# mkdir /home/guests
[root@server0 ~]# mount classroom.example.com:/home/guests /home/guests
[root@server0 ~]# ls /home/guests

[root@server0 ~]# su ldapuser0

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

查找文件
grep [选项] 查找条件 /目标文件
查看/etc/passwd/中包含root的行
[root@desktop0 ~]# grep root /etc/passwd

grep:在文本文件内容,过滤指定字符串
  -i:忽略大小写
  -v:取反查找
  -^word:以字符串word开头
  -word$:以字符串word结尾
  ^$:匹配空行
      # grep -v ^$ /etc/default/useradd      #去除/etc/default/useradd中的空行
显示/etc/login.defs有效信息(去除注释,去除空行)
      # grep -v ^# /etc/login.defs | grep -v ^$
      # grep -v ^# /etc/login.defs | grep -v ^$ > /opt/2.txt   #显示有效信息并保存/opt/2.txt

根据预设的条件递归查找的对应的文件
find [目录] [条件1]
[root@desktop0 ~]# find /root/ -name "nsd*"

find [目录] [条件1] [-a|-o]  [条件2]
[root@desktop0 ~]# find /root/ -name "nsd*" -a -type f    

常用条件表示
-type类型(f文件、d目录、l快捷方式):-type f 、 -type d 、 -type l
-name “文档名称”:-name "passwd"
-size +|-文件大小(k、M、G)
-user [用户名]:-user student
-group [组名]:-group student
-maxdepth [层数]:限制目录查找的深度(最大层数)
[root@desktop0 ~]# find /etc/ -maxdepth 1 -name "passwd“   #查找/etc/目录1层
-iname:忽略大小写  -iname "PASSWD"
[root@desktop0 ~]# find /etc/ -iname "PASSWD"
-mtime +[时间]:根据文件修改时间(过去时间)
-mtime +[时间]

#################################################################################
-type类型(f文件、d目录、l快捷方式)
[root@desktop0 ~]# find /boot/ -type f  #查找文件
[root@desktop0 ~]# find /boot/ -type d  #查找目录
[root@desktop0 ~]# find /boot/ -type l  #查找快捷方式

################################################################################
-name “文档名称”
显示/etc/目录下以.conf结尾?(包含子目目录)
[root@desktop0 ~]# find /etc/*.conf   #查找/etc/目录中以.conf结尾的文档
显示/etc/目录下以.conf结尾?(不包含子目目录)
[root@desktop0 ~]# ls /etc/*.conf

[root@desktop0 ~]# touch /root/nsd01.txt
[root@desktop0 ~]# touch /root/nsd02.txt
[root@desktop0 ~]# makdir /root/nsd1804

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

###############################################################################
-size +|-文件大小(k、M、G)
[root@desktop0 ~]# find /boot/ -size +10M   #查找/boot/目录中大于10M的文件
[root@desktop0 ~]# find /boot/ -size -10M   #查找/boot/目录中小于10M的文件

###############################################################################
-exec {} \
优势:{} 代替每一个结果,逐个处理,与\;结束(\分号)
[root@desktop0 ~]# find /boot/ -size +10M -exec cp -r {} /opt /;   #把查找的大于10M的文件拷贝到/opt下
[root@desktop0 ~]# ls /opt/

[root@desktop0 ~]# find /root -name "nsd*" 
[root@desktop0 ~]# find /root -name "nsd*" -type f -exec cp -r {} /opt \;
[root@desktop0 ~]# ls /opt/

################################################################################
-user 用户名
[root@desktop0 ~]# find /home/ -user student   #查找/home目录中student用户拥有的文件
[root@desktop0 ~]# find / -user student
[root@desktop0 ~]# mkdir /root/findfiles
[root@desktop0 ~]# find / -user student -type f
[root@desktop0 ~]# find / -user student -type f -exec cp {} /root/findfiles/ \;
[root@desktop0 ~]# ls -A /root/findfiles

###############################################################################
-grpup 组名
[root@desktop0 ~]# find /home/ -group student

-maxdepth 限制目录查找的深度(最大层数)
[root@desktop0 ~]# find /etc/ -name "passwd"
[root@desktop0 ~]# find /etc/ -maxdepth 1 -name "passwd“   #查找/etc/目录1层
[root@desktop0 ~]# find /etc/ -maxdepth 2 -name "passwd“   #查找/etc/目录2层

##############################################################################
-iname 忽略大小写
[root@desktop0 ~]# find /etc/ -name "PASSWD"
[root@desktop0 ~]# find /etc/ -iname "PASSWD"

##############################################################################
-mtime 根据文件修改时间
[root@desktop0 ~]# find /var/log -mtime +90   #查找过去时间90天之前
[root@desktop0 ~]# find /var/log -mtime -90   #查找过去时间90天之内

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


 

你可能感兴趣的:(个人复习资料)