Day06-Linux下目录命令讲解及重要文件讲解

2024-02-01 18:12

本文主要是介绍Day06-Linux下目录命令讲解及重要文件讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Day06-Linux下目录命令讲解及重要文件讲解

  • 1. Linux目录文件
    • 1.1 Linux系统目录结构介绍
      • 1.1.1 Linux与Windows目录结构对比
    • 1.2 重要的Linux配置文件介绍
      • 1.2.1 /etc系统初始化及设置相关重要文件
      • 1.2.2 /usr目录的重要知识介绍------应用程序目录
      • 1.2.3 /var目录下的路径知识------可变化的目录
      • 1.2.4 /proc下的重要路径知识 ------进程和内核信息的文件
      • 1.2.5 /dev下目录知识

1. Linux目录文件

1.1 Linux系统目录结构介绍

1.1.1 Linux与Windows目录结构对比

在这里插入图片描述
相对路径和绝对路径:
绝对路径:
从根开始,开始有一个/目录

ls /etc/sysconfig/

地球亚洲中国北京昌平沙河白沙路 父类。。。。老男孩教育77期

相对路径:
root@oldboy 老男孩教育#
cd Linux77期

[root@oldboy ~]# mkdir oldboy -p
[root@oldboy ~]# cd oldboy   #相对路径
[root@oldboy oldboy]# cd ../ #相对路径
[root@oldboy ~]# cd /root/oldboy #绝对路径

无效的:

cd oldboy   #相对路径
[root@oldboy ~]# cd oldboy   #相对路径

linux第一级目录结构:

[root@oldboy oldboy]# tree -L 1 /
/
├── bin -> usr/bin       #/bin等同/usr/bin     #普通用户二进制命令目录。
├── sbin -> usr/sbin     #/sbin/等同/usr/sbin  #root管理员使用的二进制命令目录
├── boot                 #内核程序及引导程序所在的目录,100M
├── dev                  #设备目录(光驱 磁盘)
├── etc                  #系统基础服务配置文件所在的目录(yum rpm安装的软件)
├── home                 #普通用户的家目录(三间茅草房) 
├── root                 #管理员的家目录(皇宫)
├── lib -> usr/lib       #库文件所在目录       
├── lib64 -> usr/lib64   #库文件所在目录     
├── media                #媒体 光驱等挂载点
├── mnt                  #临时的挂载点(u)
├── opt                  #第三方程序目录
├── proc                 #虚拟的文件系统,内核和进程信息的目录。汽车仪表盘。#汽车仪表盘:车况 油耗 跑了公里数 速度
├── sys                  #虚拟的文件系统
├── tmp                  #临时目录,所有用户都可以进入这里做各种操作(黑客跳板目录),监控目录。
├── usr                  #c:/program file 应用程序所在目录
└── var                  #数据变化的目录,日志文件存放目录。

1.2 重要的Linux配置文件介绍

1.2.1 /etc系统初始化及设置相关重要文件

  1. /etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件
[root@oldboy oldboy]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=00:0C:29:C4:6F:D9     #MAC地址 网卡的物理地址
TYPE=Ethernet                 #以太网
BOOTPROTO=none           #
IPADDR=10.0.0.129        #IP地址
PREFIX=24                #子网掩码
GATEWAY=10.0.0.254       #网关
DNS1=223.5.5.5           #DNS1 域名解析为IP。
DNS2=202.106.0.20        #DNS2 域名解析为IP。
NAME=eth1   #设备名
UUID=cf363dd6-05ce-37d3-8caa-242f64883a8f #唯一标识
ONBOOT=yes    #网卡随着linux开启启动

在这里插入图片描述

  1. /etc/resolv.conf:Linux系统过时的DNS客户端配置文件
[root@oldboy oldboy]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 202.106.0.20

重启网卡时候,网卡配置文件里的DNS设置会覆盖这里的设置。

配置客户端DNS有两种方法;

1.网卡配置文件里设置(优先)2.直接在/etc/resolv.conf里配置(很容易被覆盖)
  1. /etc/hostname:主机名配置文件

查主机名:

[root@oldboy ~]# hostname
oldboy
[root@oldboy ~]# uname -n
oldboy

修改主机名:

1.nmtui
2.hostnamectl set-hostname oldboy
3.vim /etc/hostname
  1. /etc/hosts:系统本地的DNS解析文件(局域网 域名和IP解析文件)
10.0.0.129  oldboy
10.0.0.129  oldboy www.oldboyedu.com  www.baidu.com

内部测试,临时访问。服务器之间联系会用主机名的形式

【大公司】还是【小公司】?
有大厂的经历,但不代表就去大厂。
【大公司】
1.业务流量大。
2.规范的制度和流程。
3.学习到很多大流量知识框架。
4.背景好。

缺:
1.实际工作范围很窄。
2.自动化了,鼠标点点点。了解业务,落后了。开发主导运维。

【小公司】
1.全面锻炼自己。
2.单打独斗能力很强。

  1. /etc/fstab:配置开机设备自动挂载的文件

(危险的文件容易导致linux无法启动

特殊知识点:

linux设备 直接插上去 用不了。

[root@oldboy ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@oldboy ~]# ls /mnt/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

重启,挂载就失效。

/etc/fstab 永久挂载。

[root@oldboy ~]# df -h  #查看挂载结果
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 2.0G     0  2.0G    0% /dev
tmpfs                    2.0G     0  2.0G    0% /dev/shm
tmpfs                    2.0G   12M  2.0G    1% /run
tmpfs                    2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.9G   16G   11% /     #自动挂载
/dev/sda1               1014M  138M  877M   14% /boot #自动挂载了
tmpfs                    394M     0  394M    0% /run/user/0
/dev/sr0                 4.5G  4.5G     0  100% /mnt   #挂载结果#/etc/fstab 
/dev/cdrom              /mnt                 iso9660  defaults       0 0 
  1. /etc/rc.local:存放开机自启动程序命令的文件
软连接到/etc/rc.d/rc.local
[root@oldboy ~]# ls -l /etc/rc.local 
lrwxrwxrwx. 1 root root 13 57 09:23 /etc/rc.local -> rc.d/rc.local
[root@oldboy ~]# ls /etc/rc.d/rc.local -l
-rw-r--r--. 1 root root 473 41 2020 /etc/rc.d/rc.local
默认不能用,必须给权限。
[root@oldboy ~]# chmod +x /etc/rc.d/rc.local     #给执行权限。
[root@oldboy ~]# ls /etc/rc.d/rc.local -l
-rwxr-xr-x. 1 root root 473 41 2020 /etc/rc.d/rc.local
  1. /etc/issue

闷声发大财
绝对不背后说人坏话,如果要说,说好话。 ====拉高人品
祸从口出,病从口入
简单做事,低调做人。

[root@oldboy ~]# cat /etc/issue
\S
Kernel \r on an \m[root@oldboy ~]# >/etc/issue #清空内容
[root@oldboy ~]# cat /etc/issue
  1. /etc/motd:配置用户登录系统之后显示提示内容的文件
[root@oldboy ~]# echo "这是老男孩Linux77期" >/etc/motd 
[root@oldboy ~]# cat /etc/motd
这是老男孩Linux77期

用途:提醒自己。。提醒使用服务器人员。

  1. /etc/redhat-release:声明Red Hat版本号和名称信息的文件
[root@oldboy ~]# cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)
[root@oldboy ~]# uname -r
3.10.0-1127.el7.x86_64
[root@oldboy ~]# uname -n
oldboy
[root@oldboy ~]# uname -a
Linux oldboy 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  1. /etc/sysctl.conf:Linux内核参数设置文件(系统优化)****

配置完:sysctl -p生效,直接编辑完不生效

在这里插入图片描述

  1. /etc/profile、/etc/bashrc 配置系统的环境变量/别名等的文件※※※
    PS1

1.2.2 /usr目录的重要知识介绍------应用程序目录

  1. /usr/local/:编译安装软件默认的位置路径,c:\Program files。
  2. /usr/src:源代码目录

日志:计算机遇到各种问题,记录日志里,告诉管理员他们的情况。

1.2.3 /var目录下的路径知识------可变化的目录

  1. /var/log/messages #linux系统日志文件,系统故障可以去看看。

  2. /var/log/secure #安全日志(ssh日志记录到这里),监控日志。

  3. /var/log/dmesg #记录硬件信息加载情况的日志文件(dmesg)

1.2.4 /proc下的重要路径知识 ------进程和内核信息的文件

路径名称 路径说明

/proc/cpuinfo 当前cpu信息文件

/proc/meminfo 当前内存信息文件

/proc/loadavg 当前系统的平均负载文件

/proc/mounts 当前设备挂载列表信息文件

/proc/interrupts 当前系统中断信息文件

1.2.5 /dev下目录知识

/dev/hd[a-t] IDE设备
/dev/sd[a-z] SCSI设备
/dev/null 无限数据接收设备,相当于黑洞
/dev/zero 无限零资源
/dev/cdrom 光驱

可以看看
链接: https://blog.51cto.com/aqiang/1891893

目录命令:
1)cp 复制目录
cp 选项 源 目标

复制文件:

[root@oldboy ~]# cp /etc/hosts /tmp/
[root@oldboy ~]# ls /tmp/

复制目录:

[root@oldboy ~]# cp -r /etc /tmp/
[root@oldboy ~]# ls /tmp/[root@oldboy ~]# cp -a /etc /opt
[root@oldboy ~]# ls /opt
etc

cp -t 目标 源

[root@oldboy ~]# cp -t /home/oldboy/ /etc/hosts
[root@oldboy ~]# ls /home/oldboy/
ddasdf  hosts

2)mv 移动目录或文件

把当前目录下的dir1,移动到/tmp目录。
[root@oldboy ~]# mv dir1 /tmp/

练习:

[root@oldboy ~]# ls
a                a.out  c            oldboy      stu1   stu2  stu4  stu6  stu8
anaconda-ks.cfg  b      epel-7.repo  oldboy_dir  stu10  stu3  stu5  stu7  stu9

1)直接删,会提示

[root@oldboy ~]# rm a.out 
rm:是否删除普通空文件 "a.out"?y

2)强制删

[root@oldboy ~]# rm -f epel-7.repo 
[root@oldboy ~]# ls
a                b  oldboy      stu1   stu2  stu4  stu6  stu8
anaconda-ks.cfg  c  oldboy_dir  stu10  stu3  stu5  stu7  stu9

3)直接删目录 提示

[root@oldboy ~]# rm -r oldboy
rm:是否删除目录 "oldboy"?y

4)强制删

[root@oldboy ~]# rm -fr a
[root@oldboy ~]# rm -fr b
[root@oldboy ~]# rm -fr c
[root@oldboy ~]# ls
anaconda-ks.cfg  stu1   stu2  stu4  stu6  stu8
oldboy_dir       stu10  stu3  stu5  stu7  stu9

5)批量删

[root@oldboy ~]# rm -fr stu*
注意:*表示匹配所有
[root@oldboy ~]# ls
anaconda-ks.cfg  oldboy_dir

生产慎用:

  1. 用mv替代rm,把/tmp当做回收站
[root@oldboy ~]# touch a.txt b.txt
[root@oldboy ~]# mv a.txt /tmp/
[root@oldboy ~]# ls
anaconda-ks.cfg  b.txt  oldboy_dir
处理错了,移动回来
[root@oldboy ~]# mv /tmp/a.txt .
[root@oldboy ~]# ls
anaconda-ks.cfg  a.txt  b.txt  oldboy_dir
  1. find+rm 提高删除的门槛。
    命令复杂,多少天以前,多大的删。。什么类型的。

  2. 不要全路径删文件。

今天作业:
1.有道笔记,对今天学的内容,发录音。
2.文件相关命令 vim cat tail head grep tr more less echo 等
3.预习 视频目录12-13 启动流程放弃

跑火车:
1.上网
2.epel源
配置第三方epel源更新地址:
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3.yum install sl -y
4.sl
5.效果

                              (@@) (  ) (@)  ( )  @@    ()    @     O     @     O(   )(@@@@)(    )(@@@)====        ________                ____________D _|  |_______/        \__I_I_____===__|_________||(_)---  |   H\________/ |   |        =|___ ___|      _______________/     |  |   H  |  |     |   |         ||_| |_||     _||      |  |   H  |__--------------------| [___] |   =|| ________|___H__/__|_____/[][]~\_______|       |   -||/ |   |-----------I_____I [][] []  D   |=======|____|__________________/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__|__________________|/-=|___|=    ||    ||    ||    |_____/~\___/          |_D__D__D_|  |_D\_/      \O=====O=====O=====O_/      \_/               \_/   \_/    \_

[root@oldboy ~]# yum install cowsay -y
[root@oldboy ~]# cowsay “I am oldboy”

< I am oldboy >
\   ^__^\  (oo)\_______(__)\       )\/\||----w |||     ||

这篇关于Day06-Linux下目录命令讲解及重要文件讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668056

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语