JiaHe's Blog

读万卷书,行万里路

Linux系统目录结构

系统启动必须:

  • /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
  • /etc:存放所有的系统需要的配置文件子目录列表,更改目录下的文件可能会导致系统不能启动。
  • /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

  • /bin:存放着最常用的程序和指令
  • /sbin:只有系统管理员能使用的程序和指令。

外部文件管理:

  • /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
  • /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
  • /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
  • /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
  • /tmp:这个目录是用来存放一些临时文件的。

账户:

  • /root:系统管理员的用户主目录。
  • /home:用户的主目录,以用户的账号命名的。
  • /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin:系统用户使用的应用程序与指令。
  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:内核源代码默认的放置目录。

运行过程中要用:

  • /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
  • /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

  • /opt:默认是空的,我们安装额外软件可以放在这个里面。
  • /srv:存放服务启动后需要提取的数据(不用服务器就是空)

常用命令

ls mkdir pwd cd rmdir rm cp mv cat tail less grep find tar gzip unzip help whatis exit ping who su uname df ps top shutdown lscpu uptime top free df ps ip netstat useradd groupadd passwd usermod userdel groupdel chmod chown

软件管理

RPM安装/卸载软件包

概念:Linux中的软件包类型种类就像Linux发行版本一样丰富多样,但这种多样性也给用户带来了不少烦恼,终端用户需要考虑哪个软件包的格式适用于相应的Linux发行版本,因为很多特定软件包格式仅使用于特定的发行版本。目前比较流行的软件包格式有:可执行的RPM于DEB,源码形式的gzip与bzip2压缩包。

安装与卸载RPM包,对于RPM软件包的安装,我们可以使用rpm -iVH 软件包名称这样的方式进行安装。
-v:显示详细的信息
-h:显示安装进度条

RPM命令工具提供了强大的软件查询功能,使用rpm -q 软件包名这样的格式可以进行大量的查询工作,查询时可以使用多选项
-q 查询指定软件包是否已经安装,如果已安装则显示详细名称,否则显示package XXXXX is not installed
-qa 查询系统中已经按照的所有软件
-qi 查询指定安装软件包的详细信息
-ql 查询指定软件的安装路径与文件列表
-qc 查询指定软件的配置文件
-qf 查询指定文件由哪个软件所安装

使用YUM安装软件包

概念:YUM的全称:yellow dog Update Modified,YUM是改进版的RPM软件管理器,YUM很好的解决了RPM所面临的软件包依赖问题,大量的软件依赖会让RPM成为恶魔,YUM可以从很多源中搜索软件以及他们的依赖包。并自动安装相应的依赖软件。使用yum安装时至少需要一个yum源,yum源就是存放有很多rpm软件的文件夹,用户可以使用HTTP、FTP或者本地文件file的方式访问到yum源。

设置YUM源,Centos 7默认的yum源定义文件存放在/etc/yum.repos.d目录下,用户可以自行定义任意可以使用的yum源。但文件名的扩展名必须是repo。文件格式如下:

[rhel7]         //填写yum源唯一的ID号,中括号内的可以是任意字符串
name="chuhan" //指定YUM源名称,可以为任意字符串
//指定yum源的url地址(可以是http、FTP或file)
baseurl="http://****"、"ftp://****"、"file:///****注:file冒号后面是三根斜杠,最后一根斜杠代表Linux的根"
enabled=1 //是否激活改yum源(0表示禁用、1代表激活)
gpgcheck=0 //安装软件时是否检查签名(0表示禁用,1代表激活)
gpgkey="签名地址" // 如果检查软件包的签名,该语句定义检查签名的密钥文件

yum命令

  • install 使用yum安装软件包
  • update 使用yum源升级软件包
  • check-update 使用yum源中所有可用的升级
  • remove 卸载软件包
  • clean all 清空所有的缓存信息

网络配置

概念:通常Linux都可以通过两种方式为系统设置网络参数。
一种时通过命令设置的方式,这种方式的有点是方便、快捷,并且设置后可以立即生效。但是确定是一旦服务器重启后,所有的配置均失效。
另一种是通过修改系统配置文件来实现,这种方式的有点是设置后可以永久保存,计算机重启后仍然有效,确定是这样设置不会立刻生效,需要重启计算机或者相关服务才可以生效。

  1. 网络接口参数 ifconfig 命令
    描述:显示或者设置网络接口信息 相关服务:net_tools
    用法:ifconfig 网卡名称 地址
    示例:ifconfig eth0 192.168.23.131

  2. 主机名参数 hostnamectl 命令
    描述:显示或设置系统主机名称
    用法:hostnamectl [选项]
    示例:hostnamectl set-hostname chuhan //设置chuhan为主机名

  3. 路由参数 route 命令
    描述:显示或设置静态ip路由表。
    用法:route [选项]
    选项:-n 显示路由信息
    示例:
    route add 目标网络 gw 网关地址 //添加路由表记录
    route del 目标网络 //删除路由表记录

网络接口参数

概念:linux系统中网卡配置文件为/etc/sysconfig/network-scripts/ifcfg-网卡名。该文件的语法格式如下:
DEVICE=设备名称
TYPE=设备类型"默认为Ethernet"以太网
BOOTPROTO=启动协议 "none()|dhcp(自动获取)|static(静态)"
HWADDR=硬件地址
ONBOOT=开机是否启动该网卡,对虚拟接口无效
IPADDR=ip地址
PREFIX=网络掩码个数,对虚拟接口无效
NETMASK=默认网关
DNS{1,2}=DNS服务,多个服务器使用数字标记

注:写完后需要重启网络服务使其生效
systemctl restart network