第四章:Linux文件及目录管理命令基础(二)
程序员文章站
2022-03-31 22:05:29
1、目录结构 一切从根"/"开始,根"/"是所有目录的顶点 2、磁盘分区与目录的关系 Windows里分区和目录一一对应 Linux里的目录和分区是分离的。 不同的磁盘使用字母表示 不同分区是用数字表示 IDE磁盘: 不同磁盘表示方法 如:hda1,hda2..... 不同分区表示方法 如:hda1 ......
1、目录结构
一切从根"/"开始,根"/"是所有目录的顶点
2、磁盘分区与目录的关系
- windows里分区和目录一一对应
- linux里的目录和分区是分离的。
- 不同的磁盘使用字母表示
- 不同分区是用数字表示
- ide磁盘:
- 不同磁盘表示方法
- 如:hda1,hda2.....
- 不同分区表示方法
- 如:hda1,hda2.....
- 不同磁盘表示方法
- sas/sata/scsi/ssd磁盘
- 不同磁盘表示方法
- sda,sdb.....
- 不同分区表示方法
- sda1,sda2....
- 不同磁盘表示方法
- ide磁盘:
- linux里的分区默认是不能访问的,*,黑盒访问不了。
- 有一个功能把目录/etc/ 与/dev/sda1进行了链接,称之为挂载
2.1、挂载
为分区找到一个入口,为分区开一个门或者窗户。
2.2、挂载点
分区入口的目录名,/etc就是/dev/sda1的挂在点
2.3、挂载命令及其操作
-
mount 挂载
-
用法: mount 设备名称 挂载目录
[root@oldboyedu ~]# ls /mnt/ hgfs [root@oldboyedu ~]# cd /dev/cdrom -bash: cd: /dev/cdrom: not a directory #-bash:cd:/dev/cdrom:不是目录 [root@oldboyedu ~]# mount /dev/cdrom /mnt/ mount: /dev/sr0 is write-protected, mounting read-only #mount:/dev/sr0是写保护的,挂载是只读的 [root@oldboyedu ~]# ll /mnt/ total 694 -rw-rw-r--. 1 root root 14 sep 10 2019 centos_buildtag drwxr-xr-x. 3 root root 2048 sep 6 2019 efi -rw-rw-r--. 1 root root 227 aug 30 2017 eula -rw-rw-r--. 1 root root 18009 dec 10 2015 gpl drwxr-xr-x. 3 root root 2048 sep 10 2019 images drwxr-xr-x. 2 root root 2048 sep 10 2019 isolinux drwxr-xr-x. 2 root root 2048 sep 6 2019 liveos drwxrwxr-x. 2 root root 671744 sep 12 2019 packages drwxrwxr-x. 2 root root 4096 sep 12 2019 repodata -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-7 -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-testing-7 -r--r--r--. 1 root root 2883 sep 12 2019 trans.tbl
-
-
卸载:umount
-
用法:需要退到挂载点上一级目录,输入 umount 目录
[root@oldboyedu ~]# ll /mnt/ total 694 -rw-rw-r--. 1 root root 14 sep 10 2019 centos_buildtag drwxr-xr-x. 3 root root 2048 sep 6 2019 efi -rw-rw-r--. 1 root root 227 aug 30 2017 eula -rw-rw-r--. 1 root root 18009 dec 10 2015 gpl drwxr-xr-x. 3 root root 2048 sep 10 2019 images drwxr-xr-x. 2 root root 2048 sep 10 2019 isolinux drwxr-xr-x. 2 root root 2048 sep 6 2019 liveos drwxrwxr-x. 2 root root 671744 sep 12 2019 packages drwxrwxr-x. 2 root root 4096 sep 12 2019 repodata -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-7 -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-testing-7 -r--r--r--. 1 root root 2883 sep 12 2019 trans.tbl [root@oldboyedu ~]# cd /mnt/ [root@oldboyedu /mnt]# umount /mut umount: /mut: mountpoint not found [root@oldboyedu /mnt]# umount /mnt umount: /mnt: target is busy. (in some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) #umount:/mnt:target正忙。(在某些情况下,有关使用该设备由lsof(8)或fuser(1)找到 [root@oldboyedu /mnt]# cd .. [root@oldboyedu /]# umount /mnt [root@oldboyedu /]# ll /mnt/ total 0 drwxr-xr-x. 2 root root 6 apr 4 18:22 hgfs
-
-
查看挂载
[root@oldboyedu ~]# df -h filesystem size used avail use% mounted on devtmpfs 1.9g 0 1.9g 0% /dev tmpfs 1.9g 0 1.9g 0% /dev/shm tmpfs 1.9g 12m 1.9g 1% /run tmpfs 1.9g 0 1.9g 0% /sys/fs/cgroup /dev/sda3 19g 2.0g 18g 11% / /dev/sda1 253m 161m 93m 64% /boot tmpfs 378m 0 378m 0% /run/user/0 # 设备名 总大小 使用大小 剩余 使用% 挂载点
2.4、fhs目录标准化
-
根目录“/”挂载在第一块盘上,系统相关的内容
-
"/usr"目录挂载在第二块盘上 用户相关的内容
[root@oldboyedu ~]# ls -ld /bin /lib /sbin /tmp lrwxrwxrwx. 1 root root 7 apr 4 18:05 /bin -> usr/bin lrwxrwxrwx. 1 root root 7 apr 4 18:05 /lib -> usr/lib lrwxrwxrwx. 1 root root 8 apr 4 18:05 /sbin -> usr/sbin drwxrwxrwt. 11 root root 4096 apr 6 17:30 /tmp [root@oldboyedu ~]# ls -ld /usr/bin /usr/lib /usr/sbin /usr/tmp dr-xr-xr-x. 2 root root 28672 apr 4 18:23 /usr/bin dr-xr-xr-x. 29 root root 4096 apr 4 18:06 /usr/lib dr-xr-xr-x. 2 root root 12288 apr 4 18:23 /usr/sbin lrwxrwxrwx. 1 root root 10 apr 4 18:05 /usr/tmp -> ../var/tmp
3、linux 的目录结构讲解
3.1、linux目录定义
- 标有*****是重点记忆
[root@oldboyedu /]# tree -l 1 / / ├── bin -> usr/bin #binaies二进制,存放命令相关 ***** ├── boot #引导分区,系统内核及引导程序 ***** ├── dev #device,设备分区所在目录 ***** ├── etc #二进制软件包配置路径 ├── home #普通用户的家目录 ***** ├── lib -> usr/lib #32位库文件 ├── lib64 -> usr/lib64 #64位库文件 ├── media #媒体 ├── mnt #临时挂载点 ***** ├── opt #option 可选择软件包(自定义) ├── proc #虚拟的文件系统,存放进程和内核信息的目录 ***** ├── root #管理员的家目录 ***** ├── run #正在运行程序相关信息文件 ├── sbin -> usr/sbin #system binaies 管理员命令所在目录 ***** ├── srv #为用户提供服务的数据所在的目录 ├── sys #虚拟的文件系统,存放进程和内核信息的目录 ├── tmp #临时文件坐在目录 ***** ├── usr #系统软件和用户相关程序所在目录,第二层次目录 ***** └── var #可变化的数据 *****
4、/etc 系统初始化及设置相关文件
4.1、网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0:用于配制上网的文件
-
网卡名称
- centos7:ems33
- centos7版本以前:eth0 为第一块网卡 eth1为第二块网卡
-
图形化配置命令:
- centos7:nmtui
- centos6:setup
-
配置文件内容
[root@oldboyedu ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 type=ethernet #网卡类型 proxy_method=none browser_only=no bootproto=none #启用地址协议 –static:静态协议 –bootp:协议 –dhcp:协议 -none:不指定协议[最好指定] defroute=yes ipv4_failure_fatal=no ipv6init=yes ipv6_autoconf=yes ipv6_defroute=yes ipv6_failure_fatal=no ipv6_addr_gen_mode=stable-privacy name=eth0 uuid=a183d342-6fb0-4adc-8aba-7dced2f24643 device=eth0 #网卡接口名称 onboot=yes #系统启动时是否激活 yes|no ipaddr=10.0.0.200 #网卡ip地址 prefix=24 #子网掩码 24=255.255.255.0 gateway=10.0.0.254 #网卡网关地址 dns1=112.100.100.100 #网卡dns地址 ipv6_privacy=no
4.2、/etc/resolv.conf linux系统dns客户端配置文件
-
dns domain name system 域名系统
- 作用:把浏览器里输入的域名,解析为服务器的ip地址,然后才能找到服务器,提供内容
- 很久以前上网 直接ip0.0.0.200 记不住。。。。
- 最后发明了dns,公共解析服务器资源谁想解析谁就请求它的ip
- 重要功能:把浏览器里输入的域名,解析为服务器的ip地址,还有很多别的功能。
- dns的/etc/resolv.conf配置文件已经基本废弃了,由网卡配置文件里dns1=112.100.100.100替代
- 只要在网卡配置里面设置,自动更新到/etc/resolv.conf里
- 但是如果先更新/etc/resolv.conf文件,网卡如果从前就会自动清除
[root@oldboyedu ~]# echo "nameserver 1.1.1.1" >> /etc/resolv.conf [root@oldboyedu ~]# cat /etc/resolv.conf # generated by networkmanager nameserver 112.100.100.100 nameserver 1.1.1.1 [root@oldboyedu ~]# systemctl restart network [root@oldboyedu ~]# cat /etc/resolv.conf # generated by networkmanager nameserver 112.100.100.100
4.3/etc/hosts 系统本地的dns解析文件
10.0.0.200 www.oldboyedu.com 10.0.0.201 www.baidu.com 每个人的电脑必须要有一个hosts做解析。
- 浏览器再输入www.baidu.com时候,优先找hosts解析。
- 本地dns配置文件hosts,优先于公网的dns解析。
- 局域网开发人员测试。
4.4/etc/fstab:配置开机设备自动挂载的文件
-
设备要挂在才能用,我们挂载过根 /boot么?
- 系统已经在开机的时候帮我们自动挂载了我们安装系统时的分区
-
自动挂载的文件就是/etc/fstab
-
比如插入一个u盘,希望下次开机能够直接访问。就需要在/etc/fstab配置
[root@oldboyedu ~]# cat /etc/fstab # # /etc/fstab # created by anaconda on sat apr 4 18:04:58 2020 # # accessible filesystems, by reference, are maintained under '/dev/disk' # see man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # uuid=63ff48bb-a38e-4a8a-afad-f24d25c7e442 / xfs defaults 0 0 uuid=00efac36-5fb3-4fcd-9249-a6210a52b5f0 /boot xfs defaults 0 0 uuid=9aa96766-7dd9-4fd4-979c-30ac56a20d57 swap swap defaults 0 0 设备名(uuid) 挂载点 文件系统类型 挂载参数 是否要备份 是否开机检查磁盘
-
查看设备uuid
-
blkid
[root@oldboyedu ~]# blkid /dev/sda3: uuid="63ff48bb-a38e-4a8a-afad-f24d25c7e442" type="xfs" /dev/sda1: uuid="00efac36-5fb3-4fcd-9249-a6210a52b5f0" type="xfs" /dev/sda2: uuid="9aa96766-7dd9-4fd4-979c-30ac56a20d57" type="swap" /dev/sr0: uuid="2019-09-11-18-50-31-00" label="centos 7 x86_64" type="iso9660" pttype="dos"
-
-
-
设置自动挂载
[root@oldboyedu ~]# cat /etc/fstab # # /etc/fstab # created by anaconda on sat apr 4 18:04:58 2020 # # accessible filesystems, by reference, are maintained under '/dev/disk' # see man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # uuid=63ff48bb-a38e-4a8a-afad-f24d25c7e442 / xfs defaults 0 0 uuid=00efac36-5fb3-4fcd-9249-a6210a52b5f0 /boot xfs defaults 0 0 uuid=9aa96766-7dd9-4fd4-979c-30ac56a20d57 swap swap defaults 0 0 uuid="2019-09-11-18-50-31-00" /media iso9660 defaults 0 0
重启服务器查看目录(线上环境不能重启服务器)
[root@oldboyedu ~]# mount /dev/cdrom /media/ #手动挂载到自动挂载的目录,切记不能重启 mount: /dev/sr0 is write-protected, mounting read-only [root@oldboyedu ~]# ll /media/ total 694 -rw-rw-r--. 1 root root 14 sep 10 2019 centos_buildtag drwxr-xr-x. 3 root root 2048 sep 6 2019 efi -rw-rw-r--. 1 root root 227 aug 30 2017 eula -rw-rw-r--. 1 root root 18009 dec 10 2015 gpl drwxr-xr-x. 3 root root 2048 sep 10 2019 images drwxr-xr-x. 2 root root 2048 sep 10 2019 isolinux drwxr-xr-x. 2 root root 2048 sep 6 2019 liveos drwxrwxr-x. 2 root root 671744 sep 12 2019 packages drwxrwxr-x. 2 root root 4096 sep 12 2019 repodata -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-7 -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-testing-7 -r--r--r--. 1 root root 2883 sep 12 2019 trans.tbl
connecting to 10.0.0.200:22... connection established. to escape to local shell, press 'ctrl+alt+]'. warning! the remote ssh server rejected x11 forwarding request. last login: mon apr 6 17:58:06 2020 from 10.0.0.1 [root@oldboyedu ~]# ll /media/ total 694 -rw-rw-r--. 1 root root 14 sep 10 2019 centos_buildtag drwxr-xr-x. 3 root root 2048 sep 6 2019 efi -rw-rw-r--. 1 root root 227 aug 30 2017 eula -rw-rw-r--. 1 root root 18009 dec 10 2015 gpl drwxr-xr-x. 3 root root 2048 sep 10 2019 images drwxr-xr-x. 2 root root 2048 sep 10 2019 isolinux drwxr-xr-x. 2 root root 2048 sep 6 2019 liveos drwxrwxr-x. 2 root root 671744 sep 12 2019 packages drwxrwxr-x. 2 root root 4096 sep 12 2019 repodata -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-7 -rw-rw-r--. 1 root root 1690 dec 10 2015 rpm-gpg-key-centos-testing-7 -r--r--r--. 1 root root 2883 sep 12 2019 trans.tbl
4.5、/etc/issue和/etc/issue.net:本地窗口显示内核参数文件
清除这俩文件内容
[root@oldboyedu ~]# > /etc/issue [root@oldboyedu ~]# > /etc/issue.net
4.6、/etc/redhat-release : 查看系统版本
[root@oldboyedu ~]# uname -r 3.10.0-1062.18.1.el7.x86_64 [root@oldboyedu ~]# cat /etc/redhat-release centos linux release 7.7.1908 (core) [root@oldboyedu ~]# cat /etc/os-release #这个文件比较详细也比较复杂 name="centos linux" version="7 (core)" id="centos" id_like="rhel fedora" version_id="7" pretty_name="centos linux 7 (core)" ansi_color="0;31" cpe_name="cpe:/o:centos:centos:7" home_url="https://www.centos.org/" bug_report_url="https://bugs.centos.org/" centos_mantisbt_project="centos-7" centos_mantisbt_project_version="7" redhat_support_product="centos" redhat_support_product_version="7"
4.7、/etc/sysctl.conf:linux内核参数设置文件
linux系统内核的配置和优化的文件
4.8、/etc/init.d:软件启动程序所在目录(centos7以前)
4.9、/etc/initab:设置开机运行级别以及启动相应级别脚本的文件(centos7以前)
[root@oldboyedu ~]# cat /etc/inittab # inittab is no longer used when using systemd. # # adding configuration here will have no effect on your system. # # ctrl-alt-delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target # # systemd uses 'targets' instead of runlevels. by default, there are two main targets: # # multi-user.target: analogous to runlevel 3 # graphical.target: analogous to runlevel 5 # # to view current default target, run: # systemctl get-default # # to set a default target, run: # systemctl set-default target.target #
-
linux系统运行级别的说明:
运行级别 级别所明 0 关机 1 单用户模式(用来找回管理员密码) 2 没有nfs,多用户模式 3 命令行模式 文本模式 4 未使用 5 图形化模式 桌面模式 6 重启 -
查看运行级别
-
centos6:
-
runlevel
[root@oldboyedu ~]# runlevel n 3
-
-
centos7:
-
who -r
[root@oldboyedu ~]# who -r run-level 3 2020-04-06 18:02
-
systemctl get-default
[root@oldboyedu ~]# systemctl get-default multi-user.target
-
-
-
centos7运行级别
[root@oldboyedu ~]# ll /usr/lib/systemd/system | grep level | grep -v wants lrwxrwxrwx. 1 root root 15 apr 4 18:22 runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 apr 4 18:22 runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 apr 4 18:22 runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 apr 4 18:22 runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 apr 4 18:22 runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 apr 4 18:22 runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 apr 4 18:22 runlevel6.target -> reboot.target -rw-r--r--. 1 root root 761 mar 18 07:46 systemd-update-utmp-runlevel.service
-
切换运行级别
[root@oldboyedu ~]# systemctl set-default graphical.target removed symlink /etc/systemd/system/default.target. created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target. [root@oldboyedu ~]# systemctl get-default graphical.target #图形化 [root@oldboyedu ~]# systemctl set-default multi-user.target removed symlink /etc/systemd/system/default.target. created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target. [root@oldboyedu ~]# systemctl get-default multi-user.target #文本
-
上一篇: 你知道索引失效嘛?举例看看?