zoukankan      html  css  js  c++  java
  • linux 文件目录标准,变量,修改字符集运行级别,设置别名和软件安装,(nginx),换源

    # FHS

    在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,
    于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准。
    FHS 标准规定了 Linux 根目录各文件夹的名称及作用,统一了Linux界命名混乱的局面。

    `FHS` 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新!

    无论何种版本的 Linux 发行版,桌面、应用是 Linux 的外衣,文件组织、目录结构才是Linux的内心。

    # 与windows的区别

    windows系统下,通常会有多个盘符,路径的起始是盘符,而在linux中,没有盘符一切都从根开始,

    这看起来就像一棵树形结构,就像下图:

    ![78f9859egw1etbt8f77f2j20io0bsgm4](https://ws4.sinaimg.cn/large/006tNc79gy1g2pkqyn76jj30io0bsgm4.jpg

    # 挂载

    那其他磁盘的数据如何访问呢?,通过挂载到某个目录下来访问外置的设备,通常挂载到在mnt或是media目录下

    挂载指的是使操作系统可以访问某一个存储设备的的过程,简单的是说就是分配一个路径给存储设备,等同于windows下的指定盘符!

    # 目录详解:

    ```python
    目录 说明 备注
    bin 存放普通用户可执行的指令
    boot 开机引导目录 包括Linux内核文件与开机所需要的文件
    dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中
    etc 各种配置文件目录 大部分配置属性均存放在这里
    lib/lib64 开机时常用的动态链接库 bin及sbin指令也会调用对应的lib库
    media 可移除设备挂载目录 类似软盘 U盘 光盘等临时挂放目录
    mnt 用户临时挂载其他的文件系统 额外的设备可挂载在这里,相对临时而言
    opt 第三方软件安装目录 现在习惯性的放置在/usr/local中
    proc 虚拟文件系统 通常是内存中的映射,特别注意在误删除数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来
    root 系统管理员主目录 除root之外,其他用户均放置在/home目录下
    run 系统运行是所需文件 以前防止在/var/run中,后来拆分成独立的/run目录。重启后重新生成对应的目录数据
    sbin 只有root才能运行的管理指令 跟bin类似,但只属于root管理员
    snap ubunut全新软件包管理方式 snap软件包一般在/snap这个目录下
    srv 服务启动后需要访问的数据目录
    lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
    sys 跟proc一样虚拟文件系统 记录核心系统硬件信息
    tmp 存放临时文件目录 所有用户对该目录均可读写
    usr 应用程序放置目录
    var 包括系统一般运行时要改变的数据.例如各种日志记录,邮件来往等,每个系统是特定的,不通过网络与其他计算机共享.
    ```

    # etc下文件的重要文件

    ![image-20190504212457401](https://ws4.sinaimg.cn/large/006tNc79gy1g2plr3oomsj30ef0h979h.jpg)

    ![image-20190504212511319](/Users/jerry/Library/Application Support/typora-user-images/image-20190504212511319.png)

    # 网卡配置详解

    ![image-20190504212753587](https://ws4.sinaimg.cn/large/006tNc79gy1g2plu54do7j30jd0ftgqk.jpg

    ![image-20190504212801451](/Users/jerry/Library/Application Support/typora-user-images/image-20190504212801451.png)

    DNS也可以在/etc/resolv.conf中进行配置

    ![image-20190504214613089](https://ws3.sinaimg.cn/large/006tNc79gy1g2pmd6sb2mj30ce02et8t.jpg)

    ![image-20190504214617739](/Users/jerry/Library/Application Support/typora-user-images/image-20190504214617739.png)

    **注意key的名称**

    当在network-scripts下配置之后,重启网卡会自动覆盖resolv.conf中的配置,我们可以用PEERDNS参数指定是否覆盖resolv.conf中的信息,但是最终使用的还是resolv.conf中的信息

    另外resolv.conf中的配置修改了之后是立即生效的

    查看主机名称

    uname  -n

    hostname

    获取全部系统信息

    uname -a

    hostnamectl  更详细

    设置主机名称

    hostnamectl   set-hostname  (修改的名字)

    重新连接生效

    字符编码设置

    存在于/etc/locale.conf文件与变量$LANG

    查看 :echo $LANG

    修改变量临时有效

    export  LANG=zh_CN.utf-8

    修改文件

    1.:进入文件修改

    2:命令行  localectl set-locale LANG=en_US.utf-8

    以上两种方式修改后都不会立即生效,需要重新加载配置文件

    ​ source /etc/locale.conf # 当然重新启动也可以

    运行级别

    1.查看详细信息

    ​ ll /etc/systemd/system/default.target

    ​ vim /etc/systemd/system/default.target

    ​ 2仅级别

    ​ systemctl get-default

    runlevel #centos 6

    #### 查看所有可用级别

    ​ ll /usr/lib/systemd/system/runlevel*.target

    ​ ll /etc/inittab #centos 6

    #### 修改当前级别

    ​ init 5 # 修改为第五个级别,使用systemctl get-default来查看效果,发现该方式在centos7下不生效

    ​ systemctl set-default graphical.target

    ​ graphical.target 也可以修改为文件名称

    ​ systemctl set-default runlevel3.target

    ​ **注意**:通常运行在3级别

    别名

    设置别名

    别名指的是 给某个指令设置别名,可用简化命令的编写,或是提供额外的功能

    例如 系统的在执行删除指令前都会先提示,其实就是使用了别名,

    #### 查看别名

    ​ alias

    #### 设置新的别名(临时)

    ​ alias rm='echo rm is dangerouse be careful' # 执行rm时仅提示信息

    ​ 注意:被替换的也一定是一个命令,所以当你要输出内容时,就用echo

    ​ alias rm='echo rm is dangerouse be careful;rm -f' # 执行rm时提示信息 并删除

    #### 设置新的别名(永久)

    ​ 在配置文件中编写 设置别名的指令

    ​ vim /etc/profile

    ​ ![image-20190504233728674](https://ws2.sinaimg.cn/large/006tNc79gy1g2ppkyoc4tj306v03wt8r.jpg)

    ![image-20190504233733838](/Users/jerry/Library/Application Support/typora-user-images/image-20190504233733838.png)

    退出vmi,重新加载文件

    source /etc/profile

    如果别名与系统重复,需要注释其中一个

    vim ~/.bashrc

    注释同名的 `#alias rm ='rm -i'`

    source ~/.bashrc

    变量:

    设置变量

    #### 查看所有变量

    env

    #### 查看某个变量

    echo $变量名称

    #### 设置临时变量

    export 变量名=值

    #### 设置永久变量

    将变量的定义放到某个环境变量文件中

    vim /etc/profile

    MYNAME=jerry

    测试

    echo $MYNAME

    ### 取别名的优化案例:

    ```shell
    cat >>/etc/profile.d/color.sh<<"EOF"
    alias ll='ls -l --color=auto --time-style=long-iso'
    PS1='[e[32;1m][u@h W]$ [e[0m]'
    EOF
    source  /etc/profile

    usr目录

    /usr/local 编译安装软件默认的路径

    /usr/src 存放源码文件的路径

    # 软件安装

    ## yum方式

    yum是通常发行版的linux系统都内置了yum包管理器,使用它可以很方便的管理软件包,必须联网使用

    #### 安装

    yum install -y sl

    #### 搜索

    yum search sl

    #### 删除

    yum remove sl

    #### 查看命令所在软件包

    yum provides sl

    #### 查看源仓库

    yum repolist

    ## rpm方式

    全称 redhat packages manager ,是一个本地的包管理器,需要提供安装文件

    **1.安装一个rpm包:**

    用法:`rpm -ivh rpm_name`

    参数解释:
    -i(install):安装软件包。
    -v(verbose):显示安装的过程信息。可视化。
    -h(hash):软件安装的时候列出哈希标记。即显示安装进度。
    另外在安装一个rpm包时常用的附带参数有:
    --force : 强制安装,即使覆盖属于其他包的文件也要安装

    **2.卸载一个rpm包**

    命令:`rpm -e filename`

    **3.查询一个包是否安装:**

    命令:`rpm -qa rpm包名`

    **4.列出一个rpm包安装的所有文件**

    命令 `rpm -ql 包名`

    **5.列出一个rpm包的配置文件**

    命令 `rpm -qc 包名`

    **6.查看命令所在的绝对路径**

    which netstat

    **7.查看文件归属软件包**

    rpm -qf /usr/bin/netstat

    nginx 安装

    nginx软件编译安装步骤:
    #第一个里程:下载nginx程序软件包
    mkdir /server/tools -p
    cd /server/tools
    wget http://nginx.org/download/nginx-1.14.0.tar.gz
    tar xf nginx-1.14.0.tar.gz


    #第二个里程:解决软件依赖问题
    yum install openssl-devel pcre-devel -y
    openssl-devel --- 为了让nginx服务可以实现https访问的功能
    pcre-devel --- 兼容perl语言的正则表达式(^ shell:以什么开头 perl:^/)
    nginx使用时会应用一个参数rewrite 正则表达式信息(perl)


    #第三个里程:创建worker进程的管理用户
    useradd -s /sbin/nologin -M www



    #第四个里程:编译安装软件过程
    #编译安装软件三部曲
    #01.进行软件的配置

    cd nginx-1.14.2
    ./configure --prefix=/application/nginx-1.14.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
    #重要配置参数总结
    #--prefix=PATH set installation prefix
    # 设置软件程序安装到哪个目录,指定的目录不需要创建出来
    #--user=USER set non-privileged user for worker processes
    #--group=GROUP set non-privileged group for worker processes
    #--with-http_ssl_module enable ngx_http_ssl_module(可以实现https)
    #--with-http_stub_status_module enable ngx_http_stub_status_module(主要用于监控服务运行状态)

    #02.进行软件的编译(将各个语言编写代码翻译成系统可以识别的二进制信息)
    make

    #03.进行编译安装(将软件最终安装到系统中)
    make install


    #第五个里程:创建程序软链接
    ln -s /application/nginx-1.14.2/ /application/nginx
    [root@web01 application]# ll /application/nginx-1.14.2/
    total 16
    drwxr-xr-x 2 root root 4096 May 16 10:49 conf
    drwxr-xr-x 2 root root 4096 May 16 10:49 html
    drwxr-xr-x 2 root root 4096 May 16 10:49 logs
    drwxr-xr-x 2 root root 4096 May 16 10:49 sbin

    一个程序目录部署好,会被其他开发程序或者脚本程序所调用
    代码程序1:nginx_info1="/application/nginx/"
    代码程序2:nginx_info2="/application/nginx/"
    代码程序3: nginx_info3="/application/nginx/"

    #第六个里程:启动nginx服务
    /application/nginx/sbin/nginx


    #查看80端口
    netstat -lntup

    #将sbin添加至环境变量

    vm虚拟机换源

    Vmware 安装CentOS7后替换yum源

    cd /etc/yum.repos.d/
    mv  CentOS-Base.repo  CentOS-Base.repo.bak
    wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
    mv CentOS7-Base-163.repo CentOS-Base.repo
    yum clean all
    yum makecache
    yum install epel-release
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    报错Another app is currently holding the yum lock; waiting for it to exit...的解决办法 
    rm -f /var/run/yum.pid

    检查centos的版本:

    [root@shuimo usr]# cat /etc/centos-release
    CentOS Linux release 7.4.1708 (Core) 
    • 1
    • 2

    设置不休眠

    applications — system tools —setting —power –设置blank 为never。

  • 相关阅读:
    第四十一节 jQuery之bootstrap文档
    第四十节 jQuery之bootstrap简介
    Redis 如何实现查询附近的距离
    线上日志快速定位-grep
    Java字符串操作工具类
    JAVA批量插入数据操作+事务提交
    java开发需求中技术常见名称
    MySQL Binlog--MIXED模式下数据更新
    MySQL Replication--修改主键为NULL导致的异常
    MySQL Replication--复制异常1
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10813958.html
Copyright © 2011-2022 走看看