云计算第二十一课

目录操作

查找文件

find

manual  手册


man   menu  菜单

-size [+|-]#UNIT #常用单位:k, M, G,c(byte),注意大小写敏感 +大于  -小于

-type TYPE
TYPE可以是以下形式:
f: 普通文件  file   -
d: 目录文件   
l: 符号链接文件
s:套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件

-user USERNAME #查找属主为指定用户(UID)的文件
-group GRPNAME #查找属组为指定组(GID)的文件
-uid UserID #查找属主为指定的UID号的文件
-gid GroupID #查找属组为指定的GID号的文件
-nouser #查找没有属主的文件
-nogroup #查找没有属组的文件

-name "文件名称" #支持使用glob,如:*, ?, [], [^],通配符要加双引号引起来
-inum n #按inode号查找
-links n   #链接数为n的文件

dd if=/dev/zero of=/opt/file1  bs=100M count=1

dd: 命令  复制

if 从哪个文件复制

of  复制到哪里

bs 复制的大小

count 复制的次数

[root@test1 opt]# find /etc/ -name passwd
#查找名字叫 passwd的文件
/etc/pam.d/passwd
/etc/passwd
[root@test1 opt]# find /etc/ -name *.conf
#查找所有.conf 结尾的 ,不要在当前路径下找自己路径下的文件
/etc/resolv.conf
/etc/fonts/conf.d/57-dejavu-serif.conf
/etc/fonts/conf.d/65-1-vlgothic-gothic.conf
/etc/fonts/conf.d/31-cantarell.conf
/etc/fonts/conf.d/65-0-lohit-nepali.conf
/etc/fonts/conf.d/59-liberation-mono.conf
/etc/fonts/conf.d/65-0-lohit-bengali.conf
/etc/[root@test1 opt]# find /mnt -user root
#查找 用户为root的用户
/mnt
/mnt/abc
/mnt/ad
/mnt/ad/ad2
/mnt/ad/ad2/bbbbb.txt
/mnt/zhangsanlianjie

[root@test1 opt]# find -size 1k    
# 0.1字节 到 1k
./rh
./rh/aaa
[root@localhost boot]# find ./ -name "vm*"  
#查找vm开头的
[root@localhost boot]# find /boot/ -size -10M -a -name "*img"
#小于10M 的img文件

[root@localhost etc]# find /etc/ -maxdepth 2 -mindepth 2
#只看第二级目录

[root@localhost opt]# find /boot -d
#先显示 文件在显示目录
#找/home 下属于zhangsan的文件并列出属性
[root@localhost opt]# find /home -user zhangsan -ls
#找/home 下属于zhangsan的文件并列出属性

[root@localhost opt]# useradd hehe
[root@localhost opt]# userdel hehe
[root@localhost opt]# ls /home/
hehe  mysql  zhangsan
[root@localhost opt]# ll /home/
总用量 0
drwx------. 3     1002     1002 78 8月  26 09:27 hehe
drwx------. 3 mysql    mysql    78 8月  25 11:45 mysql
drwx------. 3 zhangsan zhangsan 78 8月   6 20:57 zhangsan
[root@localhost opt]# find /home/ -nouser
#找home下的无主文件夹
/home/hehe
/home/hehe/.mozilla
/home/hehe/.mozilla/extensions
/home/hehe/.mozilla/plugins
/home/hehe/.bash_logout
/home/hehe/.bash_profile
/home/hehe/.bashrc

#或与且的优先级
[root@localhost opt]# find /etc/ -type d -o -type l |wc -l
1008
[root@localhost opt]# find /etc/ -type d -o -type l -ls |wc -l
1008
[root@localhost opt]# find /etc/ -type d -o -type l -a -ls |wc -l
274
[root@localhost opt]# find /etc/ \( -type d -o -type l \) -a -ls |wc -l
1008

[root@localhost opt]# find -size 1G
#查找1G的文件会把所有都显示出来
.
./100.img
./99.img

#按大小查找新建两个文件
[root@localhost opt]# dd if=/dev/zero of=99.img bs=99M count=1
[root@localhost opt]# dd if=/dev/zero of=100.img bs=100M count=1
[root@localhost opt]# ls
100.img  99.img
[root@localhost opt]# find -size 100M
./100.img
[root@localhost opt]# find /opt/ -size 100M
/opt/100.img
[root@localhost opt]# ll 99.img 
-rw-r--r--. 1 root root 103809024 8月  26 10:02 99.img
[root@localhost opt]# echo >>99.img 
[root@localhost opt]# ll 99.img 
-rw-r--r--. 1 root root 103809025 8月  26 10:03 99.img
[root@localhost opt]# find /opt/ -size 100M
/opt/100.img
/opt/99.img
#这是应为linux中的100M不是正好100M 是99开始不包括99到100(99-100]

#思考 1024M 和 1G 一样么?
1024M 代表 1023M - 1024M 不包括1023
1G    表示 0G      -1G   不包括0G
-size  10k      表示9k  到10k   且不包括9k  
-size -10k      表示9k  以内    包括9k
-size +10k      表示10k 以上    不包括 10k

#权限查找 -perm
[root@localhost opt]# find -perm 644
./100.img
./99.img
./a.txt
[root@localhost opt]# find -name "*.img" -delete
#找到并删除(找到name为什么并且删除)要加引号


############处理动作#############################
-print:默认的处理动作,显示至屏幕
-ls:类似于对查找到的文件执行"ls -dils"命令格式输出
-fls file:查找到的所有文件的长格式信息保存至指定文件中,相当于 -ls > file
-delete:删除查找到的文件,慎用!
-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令{}: 用于引用查找到的文件名称自身


[root@localhost opt]# find -name "*.txt"  -ok mv {} /mnt \;
[root@localhost opt]# find -name "*.txt"  -exec mv {} /mnt \;

#以“天”为单位
-atime [+|-]# 
# #表示[#,#+1)
+# #表示[#+1,∞]
-# #表示[0,#)

-mtime
-ctime
#以“分钟”为单位
-amin
-mmin
-cmin


find -mtime 10  
#10天到11天
find -mtime +10
#代表11天以上
find -mtime -10
#10天以内
 

标准输入输出

input 输入 键盘 鼠标 窗口里实际完成操作的事终端窗口

一个命令结束有输出 也是靠终端窗口

错误命令是输出,标准错误

output 输出 屏幕

标准输入 标准错误 标准输出 终端窗口 当前使用的

[root@localhost data]# ll /dev/std*
lrwxrwxrwx. 1 root root 15 8月  26 21:15 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 8月  26 21:15 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 8月  26 21:15 /dev/stdout -> /proc/self/fd/1
[root@localhost data]# tty    ###当前终端
/dev/pts/1
[root@localhost data]# ll /proc/self/fd/2
lrwx------. 1 root root 64 8月  27 00:57 /proc/self/fd/2 -> /dev/pts/1
[root@localhost data]# ll /proc/self/fd/1
lrwx------. 1 root root 64 8月  27 00:57 /proc/self/fd/1 -> /dev/pts/1
[root@localhost data]# ll /proc/self/fd/0
lrwx------. 1 root root 64 8月  27 00:57 /proc/self/fd/0 -> /dev/pts/1
[root@localhost ~]# ls > /dev/pts/0
#传给终端0
[root@localhost ~]# xxxx 2> /dev/pts/0
#错误重定向
​
​
#将命令结果传入一个文件
重定向 redirect

改变方向

标准输入 重定向

ls > /dev/pts/1

参数替换 xargs

由于很多命令不支持管道|来传递参数,xargs用于产生某个命令的参数,xargs 可以读入 stdin 的数

据,并且以空格符或回车符将 stdin 的数据分隔成为参数

另外,许多命令不能接受过多参数,命令执行可能会失败,xargs 可以解决

注意:文件名或者是其他意义的名词内含有空格符的情况

单独使用xargs是将键盘上的输入输出在屏幕上

[root@localhost opt]# ls /opt
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
#我不想固定后面的参数 /opt 我想把后面的参数使用命令生成变成活的
#简单来说就是只要可以加参数的命令后面的参数是可以使用xargs灵活改变的

#xargs默认 是读取键盘输入在输出出来,把输入的东西 传给下一个命令作为参数
[root@localhost opt]# xargs 
1
1
ctrl d 退出
[root@localhost opt]# xargs  echo   可以省略echo
333
333

[root@localhost opt]# xargs ls -l
/etc/passwd
-rw-r--r--. 1 root root 2161 8月  26 09:27 /etc/passwd
#seq打印出10
[root@localhost opt]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@localhost opt]# seq 10 |xargs   取消换行
1 2 3 4 5 6 7 8 9 10
[root@localhost opt]# seq 10 |xargs -n1    处理一个参数换行一次
1
2
3
4
5
6
7
8
9
10


#不支持标准输出重定向
[root@localhost opt]# ls *.txt |rm
rm: 缺少操作数
Try 'rm --help' for more information.

[root@localhost opt]# touch {1..10}.txt
#将显示的结果全部删除
[root@localhost opt]# ls *.txt |xargs rm


#创建10个用户
[root@localhost opt]# echo user{1..10}| xargs -n1 useradd
[root@localhost opt]#for i in {1..10};do useradd ky$i; done
#删除
[root@localhost opt]# echo ky{1..10}| xargs -n1 userdel -r
[root@localhost opt]#for i in {1..10};do userdel -r ky$i; done

##批量下载 b站的视频
#并行下载bilibili视频
yum install python3-pip -y
pip3 install you-get
seq 10 | xargs -i -P3 you-get 
     有多少集就改多少 P3 是并发
https://www.bilibili.com/video/BV1HZ4y1p7Bf?p={}
                                            连接后面加{}

find 经常和 xargs 命令进行组合,形式如下:

find | xargs COMMAND

which

which 命令|程序名

which ls

硬件信息及其他系统信息

查看 cpu

lscpu命令可以查看cpu信息

cat /proc/cpuinfo也可看查看到

[root@localhost ky15]# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
座:                 2
NUMA 节点:         1
厂商 ID:           AuthenticAMD
CPU 系列:          23
型号:              96
型号名称:        AMD Ryzen 7 4800U with Radeon Graphics
步进:              1
CPU MHz:             1795.914
BogoMIPS:            3593.25
超管理器厂商:  VMware
虚拟化类型:     完全
L1d 缓存:          32K
L1i 缓存:          32K
L2 缓存:           512K
L3 缓存:           8192K
NUMA 节点0 CPU:    0,1
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec arat overflow_recov succor


[root@localhost ky15]# cat /proc/cpuinfo
processor    : 0
vendor_id    : AuthenticAMD
cpu family    : 23
model        : 96
model name    : AMD Ryzen 7 4800U with Radeon Graphics
stepping    : 1
microcode    : 0x8600103
cpu MHz        : 1795.914
cache size    : 512 KB
physical id    : 0
siblings    : 1
core id        : 0
cpu cores    : 1
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 16
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec arat overflow_recov succor
bogomips    : 3593.25
TLB size    : 3072 4K pages
clflush size    : 64
cache_alignment    : 64
address sizes    : 43 bits physical, 48 bits virtual
power management:

processor    : 1
vendor_id    : AuthenticAMD
cpu family    : 23
model        : 96
model name    : AMD Ryzen 7 4800U with Radeon Graphics
stepping    : 1
microcode    : 0x8600103
cpu MHz        : 1795.914
cache size    : 512 KB
physical id    : 2
siblings    : 1
core id        : 0
cpu cores    : 1
apicid        : 2
initial apicid    : 2
fpu        : yes
fpu_exception    : yes
cpuid level    : 16
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec arat overflow_recov succor
bogomips    : 3593.25
TLB size    : 3072 4K pages
clflush size    : 64
cache_alignment    : 64
address sizes    : 43 bits physical, 48 bits virtual
power management:

查看内存大小

free

cat /proc/meminfo

[root@localhost ky15]# free
              total        used        free      shared  buff/cache   available
Mem:        1867048      283684     1189772        9316      393592     1381240
Swap:       4194300           0     4194300
[root@localhost ky15]# cat /proc/meminfo
MemTotal:        1867048 kB
MemFree:         1189772 kB
MemAvailable:    1381260 kB
Buffers:            2116 kB
Cached:           306144 kB
SwapCached:            0 kB
Active:           229236 kB
Inactive:         250000 kB
Active(anon):     171852 kB
Inactive(anon):     8440 kB
Active(file):      57384 kB
Inactive(file):   241560 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       4194300 kB
SwapFree:        4194300 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        171016 kB
Mapped:            87664 kB
Shmem:              9316 kB
Slab:              85352 kB
SReclaimable:      47308 kB
SUnreclaim:        38044 kB
KernelStack:        5744 kB
PageTables:        12680 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     5127824 kB
Committed_AS:    1259164 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      180916 kB
VmallocChunk:   34359310332 kB
HardwareCorrupted:     0 kB
AnonHugePages:     45056 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       81792 kB
DirectMap2M:     2015232 kB
DirectMap1G:           0 kB

 

查看硬盘和分区情况

[root@localhost ky15]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   14G  0 part 
  ├─centos-root 253:0    0   10G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sr0              11:0    1  4.2G  0 rom  
[root@localhost ky15]# cat /proc/partitions
major minor  #blocks  name
   8        0   20971520 sda
   8        1    5242880 sda1
   8        2   14688256 sda2
  11        0    4415488 sr0
 253        0   10485760 dm-0
 253        1    4194304 dm-1

查看内核版本

[root@localhost ky15]# uname -r
3.10.0-693.el7.x86_64
[root@localhost proc]#cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 

系统时间

date查看当前系统时间

-d 你描述的日期,显示指定字符串所描述的时间,而非当前时间

%F 完整日期格式,等价于 %Y-%m-%d

% T 时间(24小时制)(hh:mm:ss)

-s 修改系统时间

[root@localhost ~]# date -d '-1 day' +%F 
#前一天
​
[root@localhost ~]# date  +%F 
#当前日期 yy-mm-dd(年月日)
[root@localhost ~]# date -d '1 day ' +%F-%T
#后一天
[root@localhost mnt]# date -d "-3 day"      
#前三天
2021年 08月 18日 星期三 11:30:15 CST
[root@localhost mnt]# date -d "+3 day"  
#后三天
2021年 08月 18日 星期三 11:30:15 CST
​
​
[root@localhost mnt]# date -s "12:34:56"

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值