(转载) linux基础知识

转载自:https://www.cnblogs.com/zhongguiyao/p/8921786.html

linux工作目录详解

认识目录结构:man hier


/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小200M即可

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

注:/etc/X11存放与x windows有关的设置。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found

/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

linux 工作目录的作用

___/bin (binary二进制)普通用户 常用Linux命令存放处
___/sbin 存放管理员使用的系统管理程序命令等
___/boot 存放着启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件
___/cdrom 这个目录在你刚刚安装系统的时候是空的。你可以将光驱文件系统挂在这个目录下。
            例如:mount /dev/cdrom /cdrom 


___/home 存放用户主目录。如果我们建立一个用户,用户名是"xx",
           那么在/home目录下就有一个对应的/home/xx路径
___/lib (library库)存放系统动态连接共享库
___/lost+found 一般情况下是空的,当系统非法关机后,这里就存放了一些文件
___/mnt 挂载其它文件系统
___/root 系统管理员(超级用户)主目录
___/shlib 使用运行SCO UNIX程序的iBCS2用的
___/tmp (temporary临时)存放不同程序执行时产生的临时文件,系统会周期性地清除里面的内容
___/vmlinuz 存放的是系统的内核
___/dev (device设备) 该目录下存放的是Linux的外部设备,
          在Linux中访问设备的方式和访问文件的方式是相同的 
        _____/dev/console 系统控制台
        _____/dev/fd0 第一个软盘驱动器
        _____/dev/hda1 第一个IDE硬盘驱动器的第一个逻辑分区
        _____/dev/hdb3 第二个IDE硬盘驱动器的第三个逻辑分区
        _____/dev/ttys0 第一个串行端口
        _____/dev/lp0 第一个并行端口
        _____/dev/cua 用来连接调制解调器
        _____/dev/sda 第一个SCSI硬盘驱动器
        _____/dev/null 是一个接受设备输入但不产生任何输出的虚拟的设备
        _____/dev/tty1 第一个虚拟控制台
        _____/dev/pty* “虚拟终端”,用于为远程登录提供终端
___/usr 用户应用程序文件夹
        _____/usr/X11R6 存放X-Windows的目录 
        _____/usr/bin 用户用到的大多数应用程序 
        _____/usr/sbin 给超级用户使用的比较高级的管理程序和系统守护程序 
        _____/usr/doc 文档 
        _____/usr/include Linux下开发或编译应用程序需要用的头文件 
        _____/usr/openwin 存放SUN的OpenWin 
        _____/usr/lib 常用的动态、静态库 
        _____/usr/local 普通用户、超级用户安装新软件使用 
        _____/usr/man 联机帮助手册 
        _____/usr/src 系统源代码,(/usr/src/linux系统源代码)
___/etc (etcetera) 系统管理的配置文件和子目录 
        _____/etc/DIR_COLORS 设定颜色 
        _____/etc/HOSTNAME 设定用户的节点名 
        _____/etc/NETWORKING 只有YES标明网络存在
        _____/etc/host.conf 文件说明用户的系统如何查询节点名 
        _____/etc/hosts 设定用户自已的IP与名字的对应表 
        _____/etc/hosts.allow 设置允许使用inetd的机器使用 
        _____/etc/hosts.deny 设置不允许使用inetd的机器使用 
        _____/etc/hosts.equiv 设置远端机不用密码 
        _____/etc/inetd.conf 设定系统网络守护进程inetd的配置 
        _____/etc/inetd.pid inetd这个进程的进程id 
        _____/etc/hosts.lpd 设定远端有哪些节点可以使用本机的打印机 
        _____/etc/gateways 设定路由器 
        _____/etc/protocols 设定系统支持的协议 
        _____/etc/named.boot 设定本机为名字服务器的配置文件 
        _____/etc/named.pid 本机上运行的名字服务器的进程id 
        _____/etc/networks 设定网络的配置文件 
        _____/etc/resolv.conf 设定系统的名字服务器 
        _____/etc/services 设定系统的端品与协议类型和提供的服务 
        _____/etc/exports 设定NFS系统用的 
        _____/etc/NNTP_INEWS_DOMAIN 设置新闻服务器的配置文件 
        _____/etc/nntpserver 设置用户使用的新闻服务器的地址 
        _____/etc/XF86Config X Window的配置文件 
        _____/etc/hostid 系统独有的一个硬件id 
        _____/etc/at.deny 设置哪些用户不能使用at命令 
        _____/etc/bootptab 给MAKEDEV程序设定各种不同的设备驱动文件的格式 
        _____/etc/makedev.cfg 同DEVINFO一样给MAKEDEV使用的设置文件 
        _____/etc/diphosts 设置拔号服务器的用户名和口令 
        _____/etc/slip.hosts,/etc/slip.login 设定SLIP的配置文件 
        _____/etc/fastboot 使用shutdown -f产生的,重启系统要查这个文件 
        _____/etc/fstab 记录开机要mount的文件系统 
        _____/etc/mtab 系统在启动时创建的信息文件 
        _____/etc/ftpaccess FTP服务器的一些配置 
        _____/etc/ftpconversions 设定在FTP时使用的过滤器的位置 
        _____/etc/ftpusers 设定不能使用FTP服务的用户 
        _____/etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel 
        _____/etc/ld.so.cache 查找系统动态链接库的缓存 
        _____/etc/ld.so.conf 系统动态链接库的路径 
        _____/etc/lilo.conf lilo的配置文件 
        _____/etc/magic 给file命令使用的 
        _____/etc/aliases 给sendmail使用的设置别名的文件 
        _____/etc/mail.rc,
                  /etc/mailcap,
                  /etc/sendmail.cf,
                  /etc/sendmail.st 设置sendmail的 
        _____/etc/issue 记录用户登录前显示的信息 
        _____/etc/motd 超级用户发布通知的地方 
        _____/etc/organization 存放用户的名字和组织 
        _____/etc/group 设定用户的组名与相关信息 
        _____/etc/passwd 用户密码文件(重要呀) 
        _____/etc/shadow 见/etc/passwd 
        _____/etc/pnpdevices 列出支持的Plug&Play设备 
        _____/etc/snooptad 监控用户的屏幕,监听的终端列表 
        _____/etc/sudoers 可以sudo命令的配置文件 
        _____/etc/syslog.conf 系统记录程序syslogd的配置文件 
        _____/etc/utmp 目前在用系统的用户信息 
        _____/etc/wtmp 同utmp差不多,只是它累加 
        _____/etc/nologin 系统在shutdown时不希望用户登录就产生这个文件 
        _____/etc/securetty 设定哪些终端可以让root登录 
        _____/etc/termcap 设置系统终端信息的 
        _____/etc/ttys 设定系统的终端类型 
        _____/etc/gettydefs getty_ps的定义文件 
        _____/etc/yp.conf NIS的配置文件 
        _____/etc/mtools.conf 设定mtools程序的参数 
        _____/etc/fdprm 设定格式化软盘的参数 
        _____/etc/login.access 控制用户登录权限的文件 
        _____/etc/login.defs 所有用户登录时的缺省配置文件
___/proc 虚拟系统,内存映象
        _____/proc/1 关于进程1的信息目录。每个进程在/proc 下有一个名为其进程号的目录。 
         _____/proc/cpuinfo 处理器信息,如类型、制造商、型号和性能。 
         _____/proc/devices 当前运行的核心配置的设备驱动的列表。 
         _____/proc/dma 显示当前使用的DMA通道。 
         _____/proc/filesystems 核心配置的文件系统。 
         _____/proc/interrupts 显示使用的中断
         _____/proc/ioports 当前使用的I/O端口。 
         _____/proc/kcore 系统物理内存映象
         _____/proc/kmsg 核心输出的消息。也被送到syslog 。 
         _____/proc/ksyms 核心符号表。 
         _____/proc/loadavg 系统"平均负载";3个指示器指出系统当前的工作量。 
         _____/proc/meminfo 存储器使用信息,包括物理内存和swap。 
         _____/proc/modules 当前加载了哪些核心模块。 
         _____/proc/net 网络协议状态信息。 
         _____/proc/self 到查看/proc 的程序的进程目录的符号连接。当2个进程查看/proc 时, 是不同的连接。这主要便于程序得到它自己的进程目录。     
         _____/proc/stat 系统的不同状态
         _____/proc/uptime 系统启动的时间长度。 
         _____/proc/version 核心版本。

___/var 存放着那些不断在扩充着的东西,为了保/usr的相对稳定,那些经常被修改的目录可以
          放在这个目录下。包括系统一般运行时要改变的数据。
   每个系统是特定的,即不通过网络与其他计算机共享。
        _____/var/adm 
        _____/var/catman 当要求格式化时的man页的cache。
           man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,
     存在/usr/man/cat* 中。而其他的man页在第一次看时需要格式化,
     格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待
     格式化了。 (/var/catman 经常被清除,就象清除临时目录一样。) 
_____/var/lib 系统正常运行时要改变的文件。 
_____/var/local    /usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。
               注意,如果必要,即使本地安装的程序也会使用其他/var 目录,
        例如/var/lock 。 /var/lock 锁定文件。
        许多程序遵循在/var/lock 中产生一个锁定文件的约定,
        以支持他们正在使用某个特定的设备或文件。
        其他程序注意到这个锁定文件,将不试图使用这个设备或文件。 
_____/var/log 各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统
      的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息。 
                /var/log 里的文件经常不确定地增长,应该定期清除。 
_____/var/run 保存到下次引导前有效的关于系统的信息文件。例如, /var/run/utmp 
                包含当前登录的用户的信息。
_____/var/spool mail, news, 打印队列和其他队列工作的目录。
              每个不同的spool在/var/spool 下有自己的子目录,
              例如,用户的邮箱在/var/spool/mail 中。 
_____/var/tmp 比/tmp 允许的大或需要存在较长时间的临时文件。 
               (虽然系统管理员可能不允许/var/tmp 有很旧的文件。)
               
               
               
               
               
一些重要的目录:
家目录: /root,/home/username
用户执行的命令: /bin, /usr/bin, /usr/local/bin
系统执行的命令: /sbin, /usr/sbin, /usr/local/sbin
其他挂载点: /media, /mnt
配置文件: /etc
临时文件: /tmp
内核和启动文件: /boot
服务器数据: /var, /srv
系统信息: /proc, /sys
共享库: /lib, /usr/lib, /usr/local/lib

特殊文件:

img

Linux目录结构:

img

linux文件系统知识介绍

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

必须要掌握的linux目录路径知识

  • 修改网卡配置文件
  • 配置文件路径:
    /etc/sysconfig/network-scripts/ifcfg-eth0
    (1)查看eth0(第二块eth1)
    (2)通过setup===>"network configuration"修改网卡配置就是再改这个文件
    屏幕快照 2017-01-02 下午5.56.18.png-39.8kB
    屏幕快照 2017-01-02 下午5.56.27.png-65.5kB
    屏幕快照 2017-01-02 下午5.57.25.png-858kB
    (3)固定IP地址
    (4)重启网卡/etc/init.d/network restart(影响所有网卡)
    (5)ifdown eth0 && ifup eth0只针对eth0网卡

注意

  • 设置文件ifcfg-interface-name包含了初始化接口所需要的大部分周详的信息。其中interface-name将根据网卡的类型和排序而不同,一般名字为eth0,eth1,ppp0等,其中eth表示以太(eth0)类型网卡,0表示第一块网卡,1表示第二块网卡,而ppp0则表示第一个point-to-poirt protocol网络接口。在ifcfg文件中定义
    的各项目取决于接口类型。
    下面的值较为常见:
  • DEVICE=name,其中,name是物理设备名
  • IPADDR=addr,其中addr是IP地址
  • NETMASK=mask,其中,mask是网络掩码值
  • GATEWAY=addr,其中addr是网关地址
  • ONBOOT=answer,其中answer是yes(引导时激活设备)或no(引导时不激活设备)
  • USERCTL=answer,其中,answer是yes(非root用户能控制该设备)或no
  • BOOTPROTO=proto,其中,proto取下列值之一:none,引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议

屏幕快照 2017-01-02 下午6.17.02.png-1097.7kB
上图配置实际上修改的是/etc/sysconfig/network-scripts/ifcfg-eth0文件

屏幕快照 2017-01-02 下午6.55.28.png-590.2kB
上图设置实际上修改的是/etc/resolv.conf这个文件

小结

1,linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)

2,linux客户端DNS也可以在/etc/resolv.conf里设置

3,网卡里的设置DNS优先于/etc/resolv.conf,如果重启网络网卡的dns会覆盖/etc/resolv.conf的设置
4,/etc/hosts:设定用户IP与名字(域名)的对应解析表,相当于本地LAN局域网内的DNS解析文件
5,/etc/sysconfig/network:可修改主机名及网卡启动,网关等配置。永久更改主机名,需同时修改以下两项:
(1)vi /etc/sysconfig/network
(2)hostname 主机名

  • /etc/fstab:开机自动挂载文件系统的一个列表(具体配置以后详说)

    思考: fstab一旦配置错误,会导致服务器无法启动。如何修复?

  • /etc/rc.local:用于存放开机自启动程序命令的文件(chkconfig 常用来管理yum/rpm安装的程序的服务的开机自启动/etc/init.d)

在开机时,linux会把/etc/rc.local里的内容执行一遍

  • /etc/inittab:设定系统启动时init进程将把系统设置成什么样的,runlevel运行级别及加载相关的级别对应启动文件设置
  • /etc/exports:NFS网络文件系统用的配置文件
  • /etc/init.d:这个目录是用来存放通过yum或rpm工具安装的软件的默认启动程序(启动脚本)的目录
  • /etc/xinit.d:如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录里。有些系统没有这个目录,比如Slackware,(无人值守pxe+kickstart安装系统时会用到/etc/xinit.d)
  • /etc/profile:系统全局环境变量,永久生效的配置文件
    (用户的环境变量:~/.bash_profile,~/.bashrc)

/etc/目录下的重要目录和文件

  • /etc/issue(/etc/issue.net):记录用户登录前显示的系统版本等信息
  • /etc/motd:登录提醒(里面写的任何东西都会在所有用户登录前显示出来)
  • /etc/redhat-release:包括一行声明RedHat版本号和名称的信息。
  • /etc/group:设定用户的组名与相关信息
  • /etc/passwd:用户账号信息文件
  • /etc/shadow:用户密码信息文件
  • /etc/gshadow:组密码文件
  • /etc/sudoers:可以执行使用sudo命令的配置文件(权限提升)
  • /etc/securetty:设定哪些中断可以让root登录
  • /etc/login.defs:所有用户登陆时的缺省配置
  • /etc/modprobe.conf:内核模块额外参数设定
  • /etc/rsyslog.conf:日志设置文件(仅限centos6.x)

其他目录

  • /lib:系统会使用到的函数库
  • /lib/modules:kernel的相关模块
  • /var/lib/rpm:rpm套件安装处
  • /usr/bin:这个目录是可执行程序的目录;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。
  • lib64:库文件存放目录
  • /usr/sbin:这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令;相似目录是/sbin或/usr/local/sbin或/usr/X11R6/sbin等;
  • /usr/local:这个目录一般用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。
  • /usr/local/bin:用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接
  • /usr/local/sbin:系统全局环境目录,可放置一些不需要加路径执行的脚本
  • /usr/share:系统共用的东西存放地,比如/usr/share/doc和/usr/share/man帮助文件
  • /usr/src:内核源码存放目录,比如下面有内核源码目录,比如linux,linux-2.xxx.xx目录等。

1,rpm -ivh(存在rpm包,又无法使用yum的时候)
2,yum install
(习惯:线上对外的服务器很少安装apache,nginx,mysql,功能性软件会用yum)
3,源码(./configure,make,make install),定制。大中小企业重要服务。
门户:源码---定制RPM包---制作yum仓库----yum安装

  • /usr/bin:使用者可执行的binary file目录
  • /usr/local/bin:使用者可执行的binary file目录
  • /usr/lib:系统会使用到的函数库
  • /usr/local/lib:系统会使用到的函数库

/var目录下的路径知识

  • /var:日志文件
  • /var/log:各种系统日志存放地
  • /var/log/messages:系统信息默认日志文件,非常重要。按周自动轮循
  • /var/log/secure:记录登入系统存取信息的文件,按周自动轮循,例如:pop3,ssh,telnet,ftp都会记录在此。系统安全的日志文件
  • /var/spool:定时任务默认路径,按用户名命名的文件(/var/spool/cron/root)
  • var/spool/clientmqueue:sendmail临时邮件文件目录,有很多原因会导致这个目录碎文件很多,比如crontab定时任务命令不加>/dev/null等。工作中偶尔会因为该目录文件太多,导致/var所在的分区inode数量被消耗尽,无法写入文件的情况(centos6.x不会装sendmail,所以不会有这个问题)

/proc下的重要路径知识

top:看cpu等

  • /proc:虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录
  • /proc/version:内核版本
  • /proc/sys/kernel:系统内核功能
  • /proc/sys/net/ipv4:修改proc的配置时临时生效。
    (/etc/sysctl.conf内核参数里配置才是永久生效。两个路径的修改效果是一样的。net.ipv4.tcp_tw_reuse=1实际上就是修改/proc/sys/net/ipv4/tcp_tw_reuse的内容)
  • /proc/cpuinfo:关于处理器的信息,如类型,厂家,型号和性能等
  • /proc/meminfo:系统内存信息,free -m
  • /proc/devices:当前运行内核所配置的所有设备清单
  • /proc/dma:当前正在使用的DMA通道
  • /proc/filesystems:当前运行内核所配置的文件系统
  • /proc/initerrupts:正在使用的中断,和曾经有多少个中断。
  • /proc/ioports:当前正在使用的I/O端口。
  • /proc/loadavg:系统负载平均值信息(系统的繁忙情况,比较准确,但是不够细致系统性能指标),uptime的结果。(负载值不要超过CPU的核数。看负载top,uptime,w
    QQ20170102-220211@2x.png-62.5kB
  • /proc/mounts:设备的挂载信息,df -h类似

必须掌握的路径及文件

  • /etc/sysconfig/network-scripts/ifcfg-eth0(第一块网卡配置文件)
  • /etc/resolv.conf(DNS的配置文件,网卡配置文件优先resolv.conf)
  • /etc/hosts(ip与域名(主机名)解析表)
  • /etc/sysconfig/network(主机)
  • /etc/fstab(开机自动挂载列表)
  • /etc/rc.local(开机自启动文件,自启动命令,脚本)
  • /etc/inittab (Linux开机运行级别配置文件)
  • /etc/init.d(服务启动命令脚本目录)
  • /etc/profile(全局环境变量)
  • /etc/bashrc(别名)
  • /usr/local(编译安装软件默认安装目录)
  • /var/log/message(系统日志)
  • /var/log/secure(系统安全日志)
  • /var/spool/cron/root(定时任务,root目录)
  • /proc/cpuinfo(系统cpu信息)
  • /proc/meminfo(系统内存信息)
  • /proc/loadavg(系统cpu负载程度)
  1. */proc/mounts(系统挂载信息)
    *

讨论:cpu什么情况下算是负载很繁忙?

当cpu平均负载率大于CPU的核数的时候,我们就可以说,服务器cpu的负载已经很繁忙了。

posted @ 2020-10-23 16:51  冲鸭!!!!  阅读(178)  评论(0编辑  收藏  举报