04Linux文件系统

课程目标

1、了解Linux操作系统的硬盘分区信息

2、了解Linux操作系统重各目录的作用

3、了解Linux的启动级别以及关机和重启命令

课程实验

在xshell中使用df -h ,df -T,du -sh,fdisk -|,cd ,pwd

使用top ,free,cat/proc/xxx等命令查看系统的运行情况,CPU和内存信息等

利用各种方式实现Linux的关机和重启

课堂的引入

在windows中,我们知道有磁盘C盘,D盘等盘符的概念,而在Linux中,则完全 没有这样的概念,取而代之的是各种/开头的目录,这也是初学者容易出现的理解上的问题,但是实际上,在Linux中也有分区的概念,只是不同的分区,其功能是有所不同的,其功能是有所区别的。同时,在windows中,格式化硬盘时,通常会选择使用NTFS和FAT32的文件系统类型,在Linux中则通常会使用ext4,xfs等文件系统,诸如此类的功能,在我们学习Linux中,均可以用自己熟悉的windows做一个对比,进而帮助我们更好的理解Linux操作系统

授课的进程

一、文件系统解读

在Linux下运行“df -h”命令 ,可以查看到目前Linux中存在的硬盘的分区情况,以及每个分区的硬盘的使用情况。

[root@kali ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 475M     0  475M    0% /dev
tmpfs                    487M     0  487M    0% /dev/shm
tmpfs                    487M  7.7M  479M    2% /run
tmpfs                    487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root   37G  1.3G   36G    4% /
/dev/sda1               1014M  137M  878M   14% /boot
tmpfs                     98M     0   98M    0% /run/user/0

上述的命令的结果可以看到,filesystem列表表示文件系统,四则表示硬盘的大小,used表示已经使用了多大了,Avail表示剩余使用量,Use%表示占用百分比,mounted on表示目前挂载在那个目录下。

另外,对上述几个挂载的目录进行一下简单的说明。

(1)/dev:dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。

(2)/dev/shm:/dev/shm是Linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存中,因此在Linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm就可以达到很好的优化效果,该分区的大小通常是系统内存的一般大小,由于该目录是驻留在内存中,所以对于在系统中需要使用的临时数据,可以将其存储在该目录中,就相当于我们直接使用内存在读写文件,速度相当的快(基本上来说,内存的读写速度可以达到硬盘的100倍左右)。内存除了快以外,还有一个特性:断电则会数据全部丢失

(3)/run:一些运行过程中跟用户或进程有关的数据,属于核心级别的文件。

(4)/sys/fs/cgroup:关于运行进程中的CPU,内存等数据,属于内核级别的文件。

(5)/:根目录,用户可以使用额保存操作系统其他问价的目录,用户也可以创建自己的目录。

(6)/boot:操作系统的内核以及在引导过程中使用的文件。

(7)/home:普通用户使用的根目录,通常也称之为“家目录”。类似于windows下的c:\users目录。

(8)/run/user/0:编号ID为0的用户(通常称之为root)在运行过程中产生的数据。

另外,在Linux中,文件系统通常由一下类型构成,其特点总结如下:

1TB=1024GB 1PB=1024TB 1EB=1024PB目前还没有单个存储器能够达到EB这个容量级别。

二、Linux根目录说明

重点几个

1:/bin这里面是Linux中的所有命令都在这里面

[root@kali ~]# cd /bin
[root@kali bin]# ls
[                                   linux32                   setup-nsssysinit.sh
addr2line                           linux64                   setvtrgb
alias                               linux-boot-prober         sftp
apropos                             ln                        sg
ar                                  loadkeys                  sg_compare_and_write
arch                                loadunimap                sg_copy_results
as                                  locale                    sg_dd
aserver                             localectl                 sg_decode_sense
aulast                              localedef                 sg_emc_trespass
aulastlog                           logger                    sg_format
ausyscall                           login                     sg_get_config
auvirt                              loginctl                  sg_get_lba_status
awk                                 logname                   sg_ident
base64                              look                      sginfo
basename                            ls                        sg_inq
bash                                lsattr                    sg_logs
bashbug                             lsblk                     sg_luns
bashbug-64                          lscpu                     sg_map
bg                                  lsinitrd                  sg_map26
bond2team                           lsipc                     sgm_dd
bootctl                             lslocks                   sg_modes
busctl                              lslogins                  sg_opcodes
cal                                 lsmem                     sgp_dd
ca-legacy                           lsns                      sg_persist
captoinfo                           lsscsi                    sg_prevent
cat                                 lua                       sg_raw
catchsegv                           luac                      sg_rbuf
catman                              lz4                       sg_rdac
cd                                  lz4c                      sg_read
centrino-decode                     lz4cat                    sg_read_block_limits
certutil                            machinectl                sg_read_buffer
c++filt                             mailq                     sg_readcap
chacl                               mailq.postfix             sg_read_long
chage                               make                      sg_reassign
chattr                              makedb                    sg_referrals
chcon                               man                       sg_requests
chfn                                mandb                     sg_reset
chgrp                               manpath                   sg_rmsn
chmem                               mapscrn                   sg_rtpg
chmod                               mcookie                   sg_safte
chown                               md5sum                    sg_sanitize
chronyc                             mesg                      sg_sat_identify
chrt                                mixartloader              sg_sat_phy_event
chsh                                mkdir                     sg_sat_set_features
chvt                                mkfifo                    sg_scan
cksum                               mkinitrd                  sg_senddiag
clear                               mknod                     sg_ses
cmp                                 mktemp                    sg_start
cmsutil                             modutil                   sg_stpg
col                                 more                      sg_sync
colcrt                              mount                     sg_test_rwbuf
colrm                               mountpoint                sg_turs
column                              msgattrib                 sg_unmap
comm                                msgcat                    sg_verify
command                             msgcmp                    sg_vpd
coredumpctl                         msgcomm                   sg_write_buffer
cp                                  msgconv                   sg_write_long
cpio                                msgen                     sg_write_same
cpupower                            msgexec                   sg_wr_mode
crlutil                             msgfilter                 sg_xcopy
crontab                             msgfmt                    sh
csplit                              msggrep                   sha1sum
csslint-0.6                         msghack                   sha224sum
curl                                msginit                   sha256sum
cut                                 msgmerge                  sha384sum
cvtsudoers                          msgunfmt                  sha512sum
date                                msguniq                   showconsolefont
db_archive                          mv                        showkey
db_checkpoint                       namei                     shred
db_deadlock                         ndptool                   shuf
db_dump                             neqn                      signver
db_dump185                          newaliases                size
db_hotbackup                        newaliases.postfix        skill
db_load                             newgidmap                 slabtop
db_log_verify                       newgrp                    sleep
db_printlog                         newuidmap                 slogin
db_recover                          nf-ct-add                 snice
db_replicate                        nf-ct-list                soelim
db_stat                             nf-exp-add                sort
db_tuner                            nf-exp-delete             sotruss
db_upgrade                          nf-exp-list               split
dbus-binding-tool                   nf-log                    sprof
dbus-cleanup-sockets                nf-monitor                sqlite3
dbus-daemon                         nf-queue                  ssh
dbus-monitor                        ngettext                  ssh-add
dbus-run-session                    nice                      ssh-agent
dbus-send                           nisdomainname             ssh-copy-id
dbus-test-tool                      nl                        ssh-keygen
dbus-update-activation-environment  nl-addr-add               ssh-keyscan
dbus-uuidgen                        nl-addr-delete            ssltap
db_verify                           nl-addr-list              stat
dd                                  nl-class-add              stdbuf
deallocvt                           nl-class-delete           strings
df                                  nl-classid-lookup         strip
dgawk                               nl-class-list             stty
diff                                nl-cls-add                su
diff3                               nl-cls-delete             sudo
dir                                 nl-cls-list               sudoedit
dircolors                           nl-fib-lookup             sudoreplay
dirname                             nl-link-enslave           sum
dmesg                               nl-link-ifindex2name      sync
dnsdomainname                       nl-link-list              systemctl
domainname                          nl-link-name2ifindex      systemd-analyze
dracut                              nl-link-release           systemd-ask-password
du                                  nl-link-set               systemd-cat
dumpkeys                            nl-link-stats             systemd-cgls
dwp                                 nl-list-caches            systemd-cgtop
echo                                nl-list-sockets           systemd-coredumpctl
egrep                               nl-monitor                systemd-delta
eject                               nl-neigh-add              systemd-detect-virt
elfedit                             nl-neigh-delete           systemd-escape
env                                 nl-neigh-list             systemd-firstboot
envsubst                            nl-neightbl-list          systemd-hwdb
eqn                                 nl-pktloc-lookup          systemd-inhibit
ex                                  nl-qdisc-add              systemd-loginctl
expand                              nl-qdisc-delete           systemd-machine-id-setup
expr                                nl-qdisc-list             systemd-notify
factor                              nl-route-add              systemd-nspawn
fallocate                           nl-route-delete           systemd-path
false                               nl-route-get              systemd-run
fc                                  nl-route-list             systemd-stdio-bridge
fg                                  nl-rule-list              systemd-sysv-convert
fgconsole                           nl-tctree-list            systemd-tmpfiles
fgrep                               nl-util-addr              systemd-tty-ask-password-agent
file                                nm                        tabs
find                                nmcli                     tac
findmnt                             nm-online                 tail
fipscheck                           nmtui                     tailf
fipshmac                            nmtui-connect             tar
firewall-cmd                        nmtui-edit                taskset
firewall-offline-cmd                nmtui-hostname            tbl
flock                               nohup                     teamd
fmt                                 nproc                     teamdctl
fold                                nroff                     teamnl
free                                nsenter                   tee
fusermount                          nss-policy-check          test
gapplication                        numfmt                    testgdbm
gawk                                objcopy                   tic
gdbus                               objdump                   timedatectl
gencat                              od                        timeout
genl-ctrl-list                      oldfind                   tload
geqn                                open                      tmon
getconf                             openssl                   toe
getent                              openvt                    top
getfacl                             os-prober                 touch
getkeycodes                         p11-kit                   tput
getopt                              passwd                    tr
getopts                             paste                     tracepath
gettext                             pathchk                   tracepath6
gettext.sh                          pchrt                     troff
gio                                 pflags                    true
gio-querymodules-64                 pgawk                     truncate
glib-compile-schemas                pgrep                     trust
gmake                               pic                       tset
gneqn                               pinentry                  tsort
gnroff                              pinentry-curses           tty
gpasswd                             ping                      turbostat
gpg                                 ping6                     tzselect
gpg2                                pinky                     udevadm
gpg-agent                           pk12util                  ul
gpgconf                             pkaction                  ulockmgr_server
gpg-connect-agent                   pkcheck                   umask
gpg-error                           pkexec                    umount
gpgparsemail                        pkg-config                unalias
gpgsplit                            pkill                     uname
gpgv                                pkla-admin-identities     unexpand
gpgv2                               pkla-check-authorization  unicode_start
gpg-zip                             pkttyagent                unicode_stop
gpic                                pldd                      uniq
gprof                               plymouth                  unlink
grep                                pmap                      unlz4
groff                               post-grohtml              unshare
grops                               powernow-k8-decode        unxz
grotty                              pr                        update-ca-trust
groups                              preconv                   update-mime-database
grub2-editenv                       pre-grohtml               uptime
grub2-file                          printenv                  urlgrabber
grub2-fstest                        printf                    users
grub2-glue-efi                      prlimit                   usleep
grub2-kbdcomp                       ps                        usx2yloader
grub2-menulst2cfg                   psfaddtable               utmpdump
grub2-mkfont                        psfgettable               uuidgen
grub2-mkimage                       psfstriptable             vdir
grub2-mklayout                      psfxtable                 VGAuthService
grub2-mknetdir                      ptaskset                  vi
grub2-mkpasswd-pbkdf2               ptx                       view
grub2-mkrelpath                     pwd                       vlock
grub2-mkrescue                      pwdx                      vmhgfs-fuse
grub2-mkstandalone                  pwmake                    vmstat
grub2-render-label                  pwscore                   vm-support
grub2-script-check                  pydoc                     vmtoolsd
grub2-syslinux2cfg                  python                    vmware-checkvm
gsettings                           python2                   vmware-guestproxycerttool
gsoelim                             python2.7                 vmware-hgfsclient
gtar                                ranlib                    vmware-namespace-cmd
gtbl                                raw                       vmware-rpctool
gtroff                              read                      vmware-toolbox-cmd
gunzip                              readelf                   vmware-vgauth-cmd
gzexe                               readlink                  vmware-xferlogs
gzip                                realpath                  vxloader
hdsploader                          recode-sr-latin           w
head                                rename                    wait
hexdump                             renice                    wall
hostid                              rescan-scsi-bus.sh        watch
hostname                            reset                     watchgnupg
hostnamectl                         resizecons                wc
i386                                rev                       wdctl
iconv                               rm                        whatis
id                                  rmail                     whereis
idiag-socket-details                rmail.postfix             which
idn                                 rmdir                     whiptail
igawk                               rpcgen                    who
info                                rpm                       whoami
infocmp                             rpm2cpio                  write
infokey                             rpmdb                     x86_64
infotocap                           rpmkeys                   x86_energy_perf_policy
install                             rpmquery                  xargs
ionice                              rpmverify                 xgettext
ipcalc                              rsyslog-recover-qi.pl     xmlcatalog
ipcmk                               runcon                    xmllint
ipcrm                               run-parts                 xmlsec1
ipcs                                rvi                       xmlwf
iptables-xml                        rview                     xsltproc
isosize                             scp                       xz
jobs                                script                    xzcat
join                                scriptreplay              xzcmp
journalctl                          scsi_logging_level        xzdec
kbdinfo                             scsi_mandat               xzdiff
kbd_mode                            scsi_readcap              xzegrep
kbdrate                             scsi_ready                xzfgrep
kdumpctl                            scsi-rescan               xzgrep
kernel-install                      scsi_satl                 xzless
kill                                scsi_start                xzmore
kmod                                scsi_stop                 yes
last                                scsi_temperature          ypdomainname
lastb                               sdiff                     yum
lastlog                             secon                     zcat
lchfn                               sed                       zcmp
lchsh                               seq                       zdiff
ld                                  setarch                   zegrep
ld.bfd                              setfacl                   zfgrep
ldd                                 setfont                   zforce
ld.gold                             setkeycodes               zgrep
less                                setleds                   zless
lessecho                            setmetamode               zmore
lesskey                             setpriv                   znew
lesspipe.sh                         setsid                    zsoelim
lexgrog                             setterm
link                                setup-nsssysinit

/lib 存放系统动态链接共享库,通常后缀名是.so,类似于windows下的.dll

cat /proc/meminfo

[root@kali ~]# cat /proc/meminfo
MemTotal:         995684 kB
MemFree:          695224 kB
MemAvailable:     682644 kB
Buffers:            2108 kB
Cached:           102400 kB
SwapCached:            0 kB
Active:            96316 kB
Inactive:          81688 kB
Active(anon):      74008 kB
Inactive(anon):     7308 kB
Active(file):      22308 kB
Inactive(file):    74380 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:         73548 kB
Mapped:            26852 kB
Shmem:              7820 kB
Slab:              57116 kB
SReclaimable:      20924 kB
SUnreclaim:        36192 kB
KernelStack:        3952 kB
PageTables:         4564 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2594988 kB
Committed_AS:     297780 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      180616 kB
VmallocChunk:   34359310332 kB
Percpu:            33280 kB
HardwareCorrupted:     0 kB
AnonHugePages:     12288 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       79744 kB
DirectMap2M:      968704 kB
DirectMap1G:           0 kB

cat /proc/meminfo 查看CPU的信息

[root@kali ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 24
model name      : AMD Ryzen X XXXXX with Radeon Vega Mobile Gfx
stepping        : 1
microcode       : 0xffffffff
cpu MHz         : 2096.002
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     : 13
wp              : yes
flags           : 
bogomips        : 4192.00
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 45 bits physical, 48 bits virtual
power management:

通常情况下我们可以使用/opt表示可选目录,默认是空的交由用户使用和/home目录,这两个目录均是由用户自由的处理,不存在敏感文件。也可以将程序安装在/opt/目录下,默认情况相爱,程序安装路径会在/usr/bin或者/var/目录下。

三、常见命令使用

1、top命令

类似于windows的任务管理器,可以查看CPU和内存等使用的情况,也可以查看每个进程所消耗的CPU和内存,以及进程ID等信息。

直接在Linux中使用top命令行,因为top命令是全屏输出结果,退出的方式就是键盘的Q或者Ctrl键+c

2、其他命令

pwd命令查看当前所在目录

[root@kali ~]# pwd
/root

cd../或者cd..(相对的目录)

[root@centqiang opt]#cd[root@centqiang /]#[root@centqiang /l# pwd
[root@centqiang /#cd /etc/sysconfig/network-scripts[root@centqiang network-scripts]#[root@centqiang [network-scripts]#[root@centqiang network-scripts]# pwd/etc/sysconfig/network-scripts
[root@centqiang network-scripts]#

当不知道自己在那个目录下面的时候就先切换到根目录下面 直接cd /

fdisk -l查看磁盘分区列表

[root@kali ~]# fdisk -l
​
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00031fcf
​
   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM
​
磁盘 /dev/mapper/centos-root:39.7 GB, 39720058880 字节,77578240 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
​
​
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

du -sh /etc

[root@kali ~]# du -sh
28K     .
[root@kali ~]# du -sh /etc
32M     /etc
[root@kali ~]#
使用du -sh不仅仅可以查看文件也可以查看目录

四、Linux的启动级别

字符界面切换到图形界面的方法:

1、此方法切换至图形化不需要重新输用户名和密码登录:

[root@localhost ~]# startx

2、此方法切换需重新输用户名和密码登录,可以通过systemctl isolate multi-user.target再切换回命令行模式:

[root@localhost ~]# systemctl isolate graphical.target

3、此方法切换需重新输用户名和密码登录,可以通过init3再切换回命令行模式:

[root@localhost ~]# init 5

4、通过快捷键方式切换:

可使用Ctrl+Alt+F1~6进行切换,Ctrl+Alt+1为图形界面。

五、Linux的关机和重启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值