随笔- 91  文章- 0  评论- 2  阅读- 9019 

1.创建

  • 文件名最长255个字节

  • 包括路径在内文件名称最长4095个字节

  • 除了斜杠和NULL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用。

创建目录

mkdir

make directories

[root@localhost /]# mkdir  a b c  #分别创建 a b c三个文件夹
[root@localhost /]# ls #查看当前目录
a   boot etc   lib64 opt   root srv usr
b   c     home media proc run   sys var
bin dev   lib   mnt   py   sbin tmp
[root@localhost /]#

 

touch

  • touch 新文件…(可为空)

  • touch 不会破坏已有文件 刷新时间

每个文件有三个时间戳:

  1. access time 访问时间,atime,读取文件内容

  2. modify time 修改时间,mtime,改变文件内容(数据)

  3. change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限

[root@localhost /]# ls
a   boot etc   lib64 opt   root srv usr
b   c     home media proc run   sys var
bin dev   lib   mnt   py   sbin tmp
[root@localhost /]# cd py  
[root@localhost py]# ls -a
. .. py.txt
[root@localhost py]# touch 1 2 3   #创建1 2 3 三个文件
[root@localhost py]# ls
1 2 3 py.txt
[root@localhost py]# echo "">4   #创建4的空文件
[root@localhost py]# ls
1 2 3 4 py.txt
[root@localhost py]# stat /py/1   #查看1的三种时间
文件:"/py/1"
大小:0         块:0         IO 块:4096   普通空文件
设备:fd00h/64768d Inode:34162       硬链接:1
权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2022-09-20 17:23:29.725737677 +0800
最近更改:2022-09-20 17:23:29.725737677 +0800
最近改动:2022-09-20 17:23:29.725737677 +0800
创建时间:-

[root@localhost py]# touch stat /py/1 #刷新三种时间
[root@localhost py]# stat /py/1
文件:"/py/1"
大小:0         块:0         IO 块:4096   普通空文件
设备:fd00h/64768d Inode:34162       硬链接:1
权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2022-09-20 17:27:59.539011551 +0800
最近更改:2022-09-20 17:27:59.539011551 +0800
最近改动:2022-09-20 17:27:59.539011551 +0800
创建时间:-
access time   atime   最近打开文件的时间如果你不打开文件是不会刷新的
change time   ctime   属性权限改变()  
modify time   mtime   内容改变属性(大小)


 

 

2.复制

复制(copy)

1.cp[选项]...源文件 目标 改名(在同一个文件夹下时)/复制

2.cp[选项]...源文件...文件夹... 多个源文件只能复制到文件夹

\转义符,代表原来的意思(有的指令在alias里被赋值了,需要用\)

选项
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a 完整保留所有的信息包括连接文件
-v 可视化
-u 相当于增备,差异备份
-b 先备份(只保留最近)

如果已有文件夹会 生成子目录


[root@localhost /]# mkdir py   #创建文件夹py
[root@localhost /]# cd py #进入文件夹py
[root@localhost py]# touch py.txt #创建文件py.txt
[root@localhost py]# cp -f /py/py.txt /mnt/py.txt 把文件夹py下的py.txt复制到文件夹mnt
[root@localhost py]# cd /mnt #进入文件夹mnt
[root@localhost mnt]# ls #查看
py.txt

[root@localhost /]# cp -r /py/ /a/ #把文件夹py复制到文件夹a下
[root@localhost /]# cd a     #进入文件夹a
[root@localhost a]# ls   #查看
py

[root@localhost py]# cd /a/py #进入文件夹py
[root@localhost py]# ls
1 2 3 4 py.txt stat
[root@localhost py]# cp /py/1 /py/2 /opt 复制文件夹1和2到文件夹opt下
[root@localhost py]# cd \
>
[root@localhost ~]# cd /
[root@localhost /]# cd opt
[root@localhost opt]# ls
1 2 rh
[root@localhost opt]#

3.移动 改名

mv [选项] … 源文件或目录… 目标文件或目录

rename 旧字符 新字符 目标文件

[root@localhost /]# cd py
[root@localhost py]# ls
1 2 3 4 py.txt stat
[root@localhost py]# touch {1..10}.txt
[root@localhost py]# ls
1       2     3.txt 5.txt 8.txt   stat
10.txt 2.txt 4     6.txt 9.txt
1.txt   3     4.txt 7.txt py.txt

[root@localhost py]# rename txt txt,bak *   #批量改名
[root@localhost py]# ls
1           2.txt,bak 4.txt,bak 8.txt,bak
10.txt,bak 3         5.txt,bak 9.txt,bak
1.txt,bak   3.txt,bak 6.txt,bak py.txt,bak
2           4         7.txt,bak stat

[root@localhost py]# rename 3 3.rar * #把3 改成3.rar
[root@localhost py]# ls
1           3.rar.txt     7.txt
10.txt     3.rar.txt,bak 7.txt,bak
10.txt,bak 4             8.txt
1.txt       4.txt         8.txt,bak
1.txt,bak   4.txt,bak     9.txt
2           5.txt         9.txt,bak
2.txt       5.txt,bak     py.txt,bak
2.txt,bak   6.txt         stat
3.rar       6.txt,bak

[root@localhost py]# mv -f /py/1 /a #把/py/1移到/a文件夹下
[root@localhost py]# cd /a
[root@localhost a]# ls
1 py
[root@localhost a]# cd -
/py
[root@localhost py]# ls
10.txt     3.rar.txt,bak 7.txt,bak
10.txt,bak 4             8.txt
1.txt       4.txt         8.txt,bak
1.txt,bak   4.txt,bak     9.txt
2           5.txt         9.txt,bak
2.txt       5.txt,bak     py.txt,bak
2.txt,bak   6.txt         stat
3.rar       6.txt,bak
3.rar.txt   7.txt
[root@localhost py]#

4.删除文件

rm [选项] 要删除的文件或目录

  • -f、强制

  • -i、交互

  • -r 递归(删除目录需要)

    [root@localhost /]# rm -rf /a b c  #删除 根目录下的a b c文件夹
    [root@localhost /]# ls
    bin   etc   lib64 opt   root srv   tmp
    boot home media proc run   sys   usr
    dev   lib   mnt   py   sbin test var

     

 

5.查找文件

find

命令的特点:

  • 精确查找

  • 实时查找 遍历(慢)

  • 支持查找条件较多

 

find [OPTION]... [查找路径] [查找条件] [处理动作]

查找路径:指定具体目标路径;默认为当前目录

查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件

处理动作:对符合条件的文件做操作,默认输出至屏幕(print)

常用可选项

查找类型关键字说明
按名称查找 -name 根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找 -size 根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 -type 根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
按inode号 -inum 根据文件inode号查找
按权限查找 -perm 按文件权限查找
最大搜索目录深度 -maxdepth level 将你的文件已分级的形式查找
最小搜索目录深度 -mindepth level 同上
-size [+|-]#UNIT #常用单位:k, M, G,c(byte),注意大小写敏感

-type TYPE
TYPE可以是以下形式:
f: 普通文件
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的文件
[root@localhost /]# find /etc/ -name passwd  #查找名字为passwd的文件
/etc/pam.d/passwd
/etc/passwd

[root@localhost /]# find /py/ -name *.txt   #查找文件夹py下所有带有.txt结尾的
/py/1.txt
/py/2.txt
/py/4.txt
/py/5.txt
/py/6.txt
/py/7.txt
/py/8.txt
/py/9.txt
/py/10.txt
/py/3.rar.txt



[root@localhost /]# find /mnt -user root #查找用户为root的用户
/mnt
/mnt/py.txt

[root@localhost py]# find /py/ -size 1M   #查找大小为0-1M的文件
/py/
/py/4
[root@localhost py]#

[root@localhost py]# find ./ -name "2*" #查找当前文件夹下2开头的文件
./2
./2.txt,bak
./2.txt

[root@localhost py]# find /etc/ -maxdepth 2 -mindepth 2   #查找2级目录


[root@localhost py]# find /home -user root -ls #查找/home 下属于root的文件并列出属性
50332832   0 drwxr-xr-x   3 root     root           16 8月 31 23:16 /home


[root@localhost py]# find /home/ -nouser #查找home下的无主文件夹

#或与且的优先级
o or
a and

[root@localhost py]# find /py/ -type f -o -type l |wc -l #查找py文件下普通文件和连接文件并统计数量
25

[root@localhost py]# find /etc/ -type d -o -type l -ls |wc -l #查找etc文件夹下目录和连接文件并显示链接文件的详细信息后统计数量
274


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

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


[root@localhost py]# find -name "2*" -delete #找出2开头的文件并删除
[root@localhost py]# ls
10.txt         4.txt     8.txt
10.txt,bak     4.txt,bak 8.txt,bak
1.txt         5.txt     9.txt
1.txt,bak     5.txt,bak 9.txt,bak
3.rar         6.txt     py.txt,bak
3.rar.txt     6.txt,bak stat
3.rar.txt,bak 7.txt
4             7.txt,bak


[root@localhost py]#find -name /data /* -delete
#做完恢复快照1

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

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

Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
#权限 所有者 所属组
Access: 2016-05-06 23:31:41.396893415 +0800
#访问时间
Modify: 2016-05-06 23:31:41.396893415 +0800
#数据修改时间
Change: 2016-05-06 23:31:41.411006937 +0800
#状态修改时间


 

硬件信息及其他系统信息

查看cpu

lscpu

cat/proc/cpuinfo

[root@localhost py]# 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:           GenuineIntel
CPU 系列:         6
型号:             154
型号名称:       12th Gen Intel(R) Core(TM) i7-12700H
步进:             3
CPU MHz:             2687.032
BogoMIPS:           5375.99
超管理器厂商: VMware
虚拟化类型:     完全
L1d 缓存:         48K
L1i 缓存:         32K
L2 缓存:           1280K
L3 缓存:           24576K
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 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat

查看内存大小

free

cat/proc/meminfo

[root@localhost py]# free
            total       used       free     shared buff/cache   available
Mem:       1867048     1334648       68156       4832     464244     259596
Swap:       2097148     195928     1901220


[root@localhost py]# cat /proc/meminfo
MemTotal:       1867048 kB
MemFree:           68280 kB
MemAvailable:     259740 kB
Buffers:             664 kB
Cached:           235780 kB
SwapCached:         9504 kB
Active:           910028 kB
Inactive:         462924 kB
Active(anon):     794808 kB
Inactive(anon):   346532 kB
Active(file):     115220 kB
Inactive(file):   116392 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:       1901220 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:       1127752 kB
Mapped:           39612 kB
Shmem:             4832 kB
Slab:             227820 kB
SReclaimable:     147272 kB
SUnreclaim:       80548 kB
KernelStack:       11936 kB
PageTables:       49480 kB
NFS_Unstable:         0 kB
Bounce:               0 kB
WritebackTmp:         0 kB
CommitLimit:     3030672 kB
Committed_AS:   5796688 kB
VmallocTotal:   34359738367 kB
VmallocUsed:     183692 kB
VmallocChunk:   34359310332 kB
HardwareCorrupted:     0 kB
AnonHugePages:   292864 kB
HugePages_Total:       0
HugePages_Free:       0
HugePages_Rsvd:       0
HugePages_Surp:       0
Hugepagesize:       2048 kB
DirectMap4k:     159616 kB
DirectMap2M:     1937408 kB
DirectMap1G:           0 kB

 

查看硬盘和分区情况

lsblk

cat /proc/partitions

[root@localhost py]# lsblk
NAME           MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda               8:0   0   20G 0 disk
├─sda1           8:1   0   1G 0 part /boot
└─sda2           8:2   0   19G 0 part
├─centos-root 253:0   0   17G 0 lvm /
└─centos-swap 253:1   0   2G 0 lvm [SWAP]
sr0             11:0   1 4.2G 0 rom /run/media

 

查看机器架构

arch

[root@localhost py]# arch
x86_64

 

查看内核版本

uname -r

[root@localhost py]# uname -r
3.10.0-693.el7.x86_64

 

查看系统时间

date查看当前系统时间

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

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

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

[root@localhost ~]# date -d '-1 day' +%F 
2021-08-18

[root@localhost ~]# date +%F
2021-08-19
[root@localhost ~]# date -d '1 day ' +%F-%T
2021-08-20-23:28:42
[root@localhost py]# date -d "-3 day"     前三天
2021年 08月 18日 星期三 11:30:15 CST
[root@localhost py]# date -d "+3 day" 后三天
2021年 08月 18日 星期三 11:30:15 CST
 
 posted on   游明诚  阅读(197)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示