Linux系统基础设置与命令

目录

一、系统的基本操作

1、登录界面

2、桌面

3、中文输入法设置

①点击右上角电源键

②点击设置

③点击Region&Language

④点击“+”

⑤选择汉语

⑥点击汉语(Intelligent Pinyin)并添加

⑦在终端中测试

4、设置终端打开快捷键

①同样在电源设置中

②点击设备

③点击Keyboard

④最下方+

⑤名称自定输入如:终端

⑥在键盘上同时按住"ALT" +"F2",并键入

⑦输入which gnome-terminal

⑧复制路径粘贴至命令

⑨点击Set Shortcut...

⑩输入你喜欢的快捷键位如:"win"+"R"

二、命令行基础

1、命令语法

2、命令类型

3、type命令

3.1、作用

3.2、语法

4、命令补齐

5、命令帮助

5.1、help

5.2、--help

5.3、man

 三、系统基本操作命令

1、路径类型

2、操作命令

(1)查看主机名

(2)查看网卡参数,默认网卡名称:ens33

①ifconfig 只查看已启用网卡:

②ip a 查看所有网卡,包括未启用的:

③查看指定网卡参数:

(3)查看CPU信息

①cat /proc/cpuinfo:

②lscpu:

(4)查看内存信息

①cat /proc/meminfo:

②lsmem 查看物理内存:

(5)查看内存的使用情况

(6)查看磁盘使用情况

(7)关机命令

(8)重启命令

(9)切换目录

(10)查看目录内容

①dir

②ls

(11)查看文件内容

(12)所处目录的绝对路径


一、系统的基本操作

1、登录界面

输入用户名及密码进入

2、桌面

3、中文输入法设置

①点击右上角电源键

②点击设置

③点击Region&Language

④点击“+”

⑤选择汉语

⑥点击汉语(Intelligent Pinyin)并添加

⑦在终端中测试

4、设置终端打开快捷键

①同样在电源设置中

②点击设备

③点击Keyboard

④最下方+

⑤名称自定输入如:终端

⑥在键盘上同时按住"ALT" +"F2",并键入

⑦输入which gnome-terminal

⑧复制路径粘贴至命令

⑨点击Set Shortcut...

⑩输入你喜欢的快捷键位如:"win"+"R"

二、命令行基础

1、命令语法

选项可以有多个

参数也可以有多个

2、命令类型

内部命令:集成于shell解释器之内的命令,运行速度更快,也称为内嵌命令

外部命令:集成于shell解释器之外的命令,能够完成特定功能的脚本文件或二进制程序文件

3、type命令

3.1、作用

查看命令的类型

3.2、语法

type 需要查看的命令字

4、命令补齐

随便输入字母

按两次tab

输入到指定字母后没有其他命令则会补齐

命令字 [选项] [参数1] [参数2] ....

5、命令帮助

5.1、help

查看指定的内部命令帮助信息

5.2、--help

查看指定的外部命令帮助信息

5.3、man

三、系统基本操作命令

1、路径类型

绝对路径:每次都从/(根)出发

相对路径:从当前位置出发

2、操作命令

(1)查看主机名

hostname:

[root@localhost ~]# hostname localhost.localdomain

(2)查看网卡参数,默认网卡名称:ens33

①ifconfig 只查看已启用网卡:

[root@localhost ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.116.132 netmask 255.255.255.0 broadcast 192.168.116.255 inet6 fe80::20c:29ff:fe27:976b prefixlen 64 scopeid 0x20<link> ether 00:0c:29:27:97:6b txqueuelen 1000 (Ethernet) RX packets 3680 bytes 2044437 (1.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1693 bytes 1085031 (1.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:04:ed:c1 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

②ip a 查看所有网卡,包括未启用的:

[root@localhost ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:27:97:6b brd ff:ff:ff:ff:ff:ff inet 192.168.116.132/24 brd 192.168.116.255 scope global dynamic ens33 valid_lft 1700sec preferred_lft 1700sec inet6 fe80::20c:29ff:fe27:976b/64 scope link valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:04:ed:c1 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:04:ed:c1 brd ff:ff:ff:ff:ff:ff

③查看指定网卡参数:

ifconfig 网卡名称:(例如ifconfig ens33)

[root@localhost ~]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.116.132 netmask 255.255.255.0 broadcast 192.168.116.255 inet6 fe80::20c:29ff:fe27:976b prefixlen 64 scopeid 0x20<link> ether 00:0c:29:27:97:6b txqueuelen 1000 (Ethernet) RX packets 10568 bytes 2618885 (2.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 19796 bytes 26168963 (24.9 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

(3)查看CPU信息

①cat /proc/cpuinfo:

[root@localhost ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 183 model name : Intel(R) Core(TM) i7-14650HX stepping : 1 microcode : 0xffffffff cpu MHz : 2419.200 cache size : 30720 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 32 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 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 aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip gfni vaes vpclmulqdq movdiri movdir64b md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities bogomips : 4838.40 clflush size : 64 cache_alignment : 64 address sizes : 45 bits physical, 48 bits virtual power management:

②lscpu:

[root@localhost etc]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
座:                 1
NUMA 节点:         1
厂商 ID:           GenuineIntel
CPU 系列:          6
型号:              183
型号名称:        Intel(R) Core(TM) i7-14650HX
步进:              1
CPU MHz:             2419.200
BogoMIPS:            4838.40
超管理器厂商:  VMware
虚拟化类型:     完全
L1d 缓存:          48K
L1i 缓存:          32K
L2 缓存:           2048K
L3 缓存:           30720K
NUMA 节点0 CPU:    0
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 aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip gfni vaes vpclmulqdq movdiri movdir64b md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities

(4)查看内存信息

①cat /proc/meminfo:

[root@localhost ~]# cat /proc/meminfo MemTotal: 1863004 kB MemFree: 71976 kB MemAvailable: 699472 kB Buffers: 1084 kB Cached: 752048 kB SwapCached: 0 kB Active: 697864 kB Inactive: 616088 kB Active(anon): 561752 kB Inactive(anon): 14084 kB Active(file): 136112 kB Inactive(file): 602004 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2097148 kB SwapFree: 2097148 kB Dirty: 8 kB Writeback: 0 kB AnonPages: 560840 kB Mapped: 152620 kB Shmem: 15016 kB Slab: 104432 kB SReclaimable: 40936 kB SUnreclaim: 63496 kB KernelStack: 10944 kB PageTables: 38136 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 3028648 kB Committed_AS: 4075660 kB VmallocTotal: 34359738367 kB VmallocUsed: 221860 kB VmallocChunk: 34359277564 kB Percpu: 56320 kB HardwareCorrupted: 0 kB AnonHugePages: 186368 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 122752 kB DirectMap2M: 1974272 kB DirectMap1G: 0 kB [root@localhost ~]# ^C [root@localhost ~]# lsmem RANGE SIZE STATE REMOVABLE BLOCK 0x0000000000000000-0x0000000067ffffff 1.6G online 否 0-12 0x0000000068000000-0x000000006fffffff 128M online 是 13 0x0000000070000000-0x000000007fffffff 256M online 否 14-15

Memory block size: 128M Total online memory: 2G Total offline memory: 0B

②lsmem 查看物理内存:

[root@localhost etc]# lsmem
RANGE                                  SIZE  STATE REMOVABLE BLOCK
0x0000000000000000-0x0000000067ffffff  1.6G online        否  0-12
0x0000000068000000-0x000000006fffffff  128M online        是    13
0x0000000070000000-0x000000007fffffff  256M online        否 14-15

Memory block size:       128M
Total online memory:       2G
Total offline memory:      0B

(5)查看内存的使用情况

free -m(m指兆,-g因为Linux不显示浮点数不用):

root@localhost ~]# free -m total used free shared buff/cache available Mem: 1819 973 70 14 775 683 Swap: 2047 0 2047

(6)查看磁盘使用情况

df -Th:

[root@localhost etc]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  894M     0  894M    0% /dev
tmpfs                   tmpfs     910M     0  910M    0% /dev/shm
tmpfs                   tmpfs     910M   11M  900M    2% /run
tmpfs                   tmpfs     910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        50G  4.2G   46G    9% /
/dev/mapper/centos-home xfs       147G   33M  147G    1% /home
/dev/sda1               xfs      1014M  185M  830M   19% /boot
tmpfs                   tmpfs     182M   40K  182M    1% /run/user/0

(7)关机命令

poweroff

shutdown now

init 0

(8)重启命令

reboot

shutdown -r

init 6

(9)切换目录

cd:

root@localhost ~]# cd /etc [root@localhost etc]#

(10)查看目录内容

①dir

[root@localhost etc]# dir abrt mcelog adjtime mke2fs.conf aliases modprobe.d aliases.db modules-load.d alsa motd alternatives mtab anacrontab mtools.conf asound.conf multipath at.deny my.cnf audisp my.cnf.d audit nanorc avahi ndctl bash_completion.d netconfig bashrc NetworkManager binfmt.d networks bluetooth nfs.conf brltty nfsmount.conf brltty.conf nsswitch.conf centos-release nsswitch.conf.bak centos-release-upstream ntp chkconfig.d numad.conf chrony.conf oddjob chrony.keys oddjobd.conf cifs-utils oddjobd.conf.d cron.d openldap cron.daily opt cron.deny os-release cron.hourly PackageKit cron.monthly pam.d crontab papersize cron.weekly passwd crypttab passwd- csh.cshrc pbm2ppa.conf csh.login pinforc cups pkcs11 cupshelpers pki dbus-1 plymouth dconf pm default pnm2ppa.conf depmod.d polkit-1 dhcp popt.d DIR_COLORS postfix DIR_COLORS.256color ppp DIR_COLORS.lightbgcolor prelink.conf.d dleyna-server-service.conf printcap dnsmasq.conf profile dnsmasq.d profile.d dracut.conf protocols dracut.conf.d pulse e2fsck.conf purple egl python enscript.cfg qemu-ga environment qemu-kvm ethertypes radvd.conf exports ras exports.d rc0.d favicon.png rc1.d fcoe rc2.d festival rc3.d filesystems rc4.d firefox rc5.d firewalld rc6.d flatpak rc.d fonts rc.local fprintd.conf rdma fstab redhat-release fuse.conf request-key.conf fwupd request-key.d gconf resolv.conf gcrypt rpc gdbinit rpm gdbinit.d rsyncd.conf gdm rsyslog.conf geoclue rsyslog.d GeoIP.conf rwtab ghostscript rwtab.d glvnd samba gnupg sane.d GREP_COLORS sasl2 groff scl group securetty group- security grub2.cfg selinux grub.d services gshadow sestatus.conf gshadow- setroubleshoot gss setuptool.d gssproxy sgml host.conf shadow hostname shadow- hosts shells hosts.allow skel hosts.deny smartmontools hp sos.conf idmapd.conf speech-dispatcher init.d ssh inittab ssl inputrc statetab iproute2 statetab.d ipsec.conf subgid ipsec.d subuid ipsec.secrets subversion iscsi sudo.conf issue sudoers issue.net sudoers.d java sudo-ldap.conf jvm sysconfig jvm-commmon sysctl.conf kdump.conf sysctl.d kernel systemd krb5.conf system-release krb5.conf.d system-release-cpe ksmtuned.conf tcsd.conf ld.so.cache terminfo ld.so.conf tmpfiles.d ld.so.conf.d trusted-key.key libaudit.conf tuned libblockdev udev libibverbs.d udisks2 libnl unbound libpaper.d updatedb.conf libreport UPower libuser.conf usb_modeswitch.conf libvirt vconsole.conf locale.conf vimrc localtime virc login.defs vmware-tools logrotate.conf wgetrc logrotate.d wpa_supplicant lsm wvdial.conf lvm X11 machine-id xdg magic xinetd.d mail.rc xml makedumpfile.conf.sample yum man_db.conf yum.conf maven yum.repos.d

②ls

[root@localhost /]# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr

(11)查看文件内容

cat

[root@localhost ~]# cat /proc/meminfo 
MemTotal:        1863004 kB
MemFree:          904852 kB
MemAvailable:    1105524 kB
Buffers:            1084 kB
Cached:           308080 kB
SwapCached:            0 kB
Active:           335724 kB
Inactive:         237924 kB
Active(anon):     265432 kB
Inactive(anon):     9596 kB
Active(file):      70292 kB
Inactive(file):   228328 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:        264548 kB
Mapped:            89036 kB
Shmem:             10540 kB
Slab:             126324 kB
SReclaimable:      66280 kB
SUnreclaim:        60044 kB
KernelStack:        8080 kB
PageTables:        20152 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3028648 kB
Committed_AS:    2083232 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      188936 kB
VmallocChunk:   34359310332 kB
Percpu:            49664 kB
HardwareCorrupted:     0 kB
AnonHugePages:     63488 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      116608 kB
DirectMap2M:     1980416 kB
DirectMap1G:           0 kB

(12)所处目录的绝对路径

pwd

[root@localhost etc]# pwd /etc

四、系统信息查看与修改

1、主机名管理

临时修改,重启失效
hostname new_hostname
刷新
root@localhsot ~]# hostname alllex89
[root@localhsot ~]# bash
[root@alllex89 ~]# ^C
永久修改
配置文件修改,重启生效

2、时间管理

2.1、系统时间管理

date 命令
用于显示或设置系统的日期和时间。
语法:
选项:
hostname new_hostname
1
bash
1
hostnamectl set-hostname new_hostname
1
vim /etc/hostname
1
date [ 选项 ] [+ 格式 ]
date + %Y%m%d%H%M%S
1
2 选项
作用
date -d @ 秒数
将秒数显示为时间格式,原点为计算机元年时间,即: 1970 1 1 8
选项
作用
uname
显示系统内核名称。
-a
显示所有系统信息,包括操作系统名称、内核版本、主机名、架构等。
-s
显示操作系统名称。
-n
显示主机名。
-r
显示内核版本号。
-m
显示系统架构。
-p
显示处理器类型。
-o
显示操作系统发行商。
-i
显示硬件平台信息。
2.2 、硬件时间管理
hwclock 命令
现在硬件 bios 中的时间
时间同步
3 、显示输出系统信息
3.1 uname 命令
用于显示系统信息,包括操作系统名称、主机名、内核版本等。
语法:
选项:
hwclock -w
1
uname [ 选项 ]
1
命令字
作用
1
ls
列出当前目录中的文件和子目录。
2
awk
文本处理工具,用于从文本文件中提取和处理数据。
3
cal
显示日历,例如: cal 2023
4
cat
查看文件内容,例如: cat filename.txt
5
cd
切换目录,例如: cd /path/to/directory
6
chmod
更改文件或目录的权限,例如: chmod 755 filename
7
chown
更改文件或目录的所有者,例如: chown user:group file_or_directory
8
cp
复制文件或目录,例如: cp source_file destination cp -r source_directory
destination
9
curl
发送 HTTP 请求,例如: curl -I URL
10
date
显示系统日期和时间。
11
df
显示磁盘使用情况,例如: df -h (以人类可读的格式显示)。
12
diff
比较文件和目录的差异,例如: diff file1.txt file2.txt
13
du
显示目录的磁盘使用情况,例如: du -sh directory_name
14
exit
退出当前终端会话。
15
find
在文件系统中查找文件,例如: find /path/to/search -name “filename”
16
firewall
cmd
管理防火墙规则,例如: firewall-cmd --zone=public --add-port=80/tcp --
permanent
17
free
显示系统内存使用情况。
18
grep
在文件中搜索文本,例如: grep “pattern” filename.txt
19
groupadd
创建新用户组,例如: groupadd groupname
3.2 、显示系统版本
五、 Linux 系统常用命令
cat /etc/redhat-release
#RedHat 系列特有
cat /etc/centos-release
# 所有 Linux 系统都有
cat /etc/os-release
1
2
3
4
5
命令字
作用
20
head
显示文件的前几行,默认为前 10 行,例如: head filename.txt
21
history
显示命令历史记录。
22
hostname
显示或设置主机名。
23
ifconfig
显示网络接口的配置信息。
24
kill
终止进程,例如: kill process_id
25
less
逐页查看文件内容,例如: less filename.txt
26
ln
创建链接(符号链接或硬链接),例如: ln -s source_file link_name
27
man
28
mkdir
创建新目录,例如: mkdir new_directory
29
more
逐页查看文件内容,但不能向前翻页,只能向下滚动,例如: more filename.txt
30
mv
移动文件或目录,也可用于重命名文件,例如: mv source destination
31
netstat
显示网络统计信息,例如: netstat -tuln
32
passwd
更改用户密码,例如: passwd username
33
ping
测试与远程主机的网络连接,例如: ping google.com
34
ps
显示当前进程的信息,例如: ps aux
35
pwd
显示当前工作目录的路径。
36
reboot
重启系统,例如: reboot
37
rm
删除文件或目录,例如: rm file.txt rm -r directory
38
rmdir
删除空目录,例如: rmdir directory_name
39
rpm
安装和管理 RPM 软件包,例如: rpm -i package.rpm
40
rpm
安装和管理 RPM 软件包,例如: rpm -i package.rpm
41
scp
通过 SSH 复制文件,例如: scp file.txt
remote_username@remote_host:/remote/directory
42
sed
流编辑器,用于处理文本流,例如: sed ‘s/old_text/new_text/’ filename.txt
43
shutdown
关闭或重启系统,例如: shutdown -h now (立即关机)或 shutdown -r now (立即
重启)。
44
ssh
使用 SSH 连接到远程主机,例如: ssh username@hostname
45
ssh-keygen
生成 SSH 密钥对。
命令字
作用
46
systemctl
管理系统服务,例如: systemctl start service_name systemctl stop
service_name
47
tail
显示文件的最后几行,默认为最后 10 行,例如: tail filename.txt
48
tar
创建和解压 tar 归档文件,例如: tar -zxvf archive.tar.gz
49
top
动态显示系统资源使用情况和进程信息。
50
touch
创建空文件,例如: touch filename.txt
51
uptime
显示系统的运行时间和平均负载。
52
useradd
创建新用户,例如: useradd username
53
userdel
删除用户,例如: userdel username
54
usermod
修改用户属性,例如: usermod -aG groupname username
55
wget
下载文件或内容,例如: wget URL
56
whatis
显示命令的简短描述,例如: whatis command
57
who
显示当前登录用户。
58
whoami
显示当前登录用户的用户名。
59
yum
CentOS 7 的包管理器,用于安装、更新和删除软件包。
60
zip/unzip
压缩和解压 ZIP 文件。
free 命令中的字段
Linux 系统中, buffer cache 是内存管理中的两个重要概念,它们都用于提高系统的读写效率,但用途和机
制有所不同。
Buffer Cache 的区别
1. Buffer (缓冲区)
定义 Buffer 是系统用于临时存储数据的区域,主要用于处理磁盘 I/O 操作。它主要与磁盘的写操作相关。
作用 Buffer 用于暂存即将写入磁盘的数据,或者从磁盘读取的数据。它确保数据在写入磁盘之前被正确组织,
或者在读取时被高效地传递。
特点
Buffer 的数据通常与磁盘块的写入操作相关。
它是一个 中转站 ,数据在写入磁盘之前会先存储在 Buffer 中。 2. Cache (缓存)
定义 Cache 是系统用于存储频繁访问的数据的区域,主要用于提高读取速度。
作用 Cache 用于暂存从磁盘读取的数据,以便下次访问时可以直接从内存中读取,而无需再次访问磁盘。
特点
Cache 的数据通常与磁盘的读取操作相关。
它是一个 快速访问区 ,数据在被访问后会存储在 Cache 中,以便后续快速读取。
相似的生活案例
假设你有一个图书馆,里面有大量的书籍(类似磁盘中的数据)。你有一个助手(类似 CPU ),他需要频繁地从图书
馆中获取书籍来完成工作。
Buffer 的类比
场景 :你有一个助手,他需要把一些新书(新数据)放入图书馆的书架上(写入磁盘)。但他不想每次都直接走
到书架前,因为这样效率太低。
解决方案 :你给他一个手推车( Buffer ),他先把新书放在手推车里,等手推车满了或者到了合适的时候,再一
起把书放到书架上。手推车在这里的作用就是暂存即将写入的数据,提高效率。
Cache 的类比
场景 :你的助手需要频繁地从图书馆中借阅一些热门书籍(读取数据),但他不想每次都去图书馆找书,因为这
样太浪费时间。
解决方案 :你在图书馆外设置了一个小书架( Cache ),把一些热门书籍放在那里。当助手需要这些书时,他可
以直接从这个小书架上拿,而不用每次都去图书馆。小书架在这里的作用就是暂存频繁访问的数据,提高读取速
度。
总结
Buffer 是一个临时存储区域,主要用于处理磁盘的写操作,类似于 中转站
Cache 是一个快速访问区域,主要用于提高数据的读取速度,类似于 快速访问区
通过这个类比,你可以更直观地理解 Buffer Cache Linux 内存管理中的作用和区别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值