zoukankan      html  css  js  c++  java
  • linux基础知识

    linux的哲学思想:
    1.一切皆文件:
    把几乎所有资源,包括硬件设备都组织委员文件格式
    2.由众多单一目的的小程序组成;一个程序只实现一个功能,而且要做好
    组合小程序完成复杂任务
    3.尽量避免和用户交互
    目标: 实现脚本编程,以自动完成某些功能
    4. 使用纯文本文件保存配置信息
    目标:一款实用的文本编辑器即能完成系统配置工作

    linux的发行版
    1. slackware:
    suse
    opensuse
    2.debian:
    ubuntu
    mint
    3. redhat
    rhel: redhat enterprise linux
    每18个月发行一个新版本
    centOS:兼容rhel的格式
    fedora: 每6个月发行一个版本
    此外:linux还有其他分支
    比如 ArchLinux、Gentoo、LFS等

    linux开源协议
    常见的开源协议
    GPL:开源,不能闭源,用户修改后的代码也遵循相同的协议
    APACHE: 源码修改后可以闭源,但是每一个修改后的文件都要放置版权说明
    BSD: 源码修改后可以闭源,衍生的软件广告不能以你的名字进行促销

    linux终端
    用户与主机交互,必然用到的设备
    物理终端:设备文件/dev/console
    虚拟终端: 附加在物理终端之上的以软件方式虚拟实现的终端,默认启动6个虚拟终端
    切换方式:Ctrl+Alt+F#:[1,6]
    图形终端: 附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境
    设备文件路径: /dev/tty#

        模拟终端:
                图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的
                设备文件: /dev/pts/# [0,+oo]
        查看当前终端:tty
    

    shell
    命令提示符:
    管理员:#
    普通用户:$

     显示当前使用的shell:
                # echo ${SHELL}
     显示当前系统使用的所有shell: 
                # cat /etc/shells
        
     输入命令,回车: 
         提请shell程序找到命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程
       
     在shell中可执行的命令有两类:
            内建命令: 由shell自带,而且通过某命令形式提供
            外部命令: 在当前系统的某文件系统路径下有对应的可执行程序文件:可用which,whereis来查看
            
            查看命令是内部命令还是外部命令:
                    # type COMMAND
    

    linux的文件系统
    根文件系统(rootfs)
    遵循的协议是FHS(Filesystem Heirache Standard)
    /boot: 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放在此目录
    /bin: 供所有用户使用的基本命令,不能关联至独立分区,OS启动即会用到的程序
    /sbin: 管理类的基本命令,不能关联至独立分区,OS启动即会用到的程序
    /lib:基本共享库文件,以及内核模块
    /lib64:专用于x86_64系统上的辅助共享库文件存放位置
    /etc: 配置文件目录(纯文本文件)
    /home/USERNAME:普通用户家目录
    /root:管理员的家目录
    /media:便携式移动设备挂载点,比如cdrom,usb
    /mnt: 临时文件存储位置
    /usr: universal shared readonly data
    bin
    sbin
    lib
    lib64
    include: 程序的头文件(head files)
    share: 结构化独立的数据,例如doc,man等
    local:第三方应用程序的安装位置
    bin,sbin,lib,lib64,etc,share
    /var: variable data files
    cache:应用程序缓存数据目录
    lib:应用程序状态信息数据
    local:专用于为/usr/local下的应用程序存储可变数据
    lock:锁文件
    log:日志目录及文件
    opt:专用于为/opt下的应用程序存储可变数据
    run:运行中的进程相关的数据,通常用于存储进程的pid文件
    spool:应用程序数据池
    tmp: 保存系统两次重启中间产生的临时数据
    /proc: 用于输出内核与进程信息相关的虚拟文件系统
    /sys: 用于输出当前系统上硬件设备相关信息的虚拟文件系统
    /selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置

    linux命令查看帮助文档
    内部命令:
    # help COMMAND
    外部命令:都有一个可执行程序,位于文件系统某目录下,可用which,whereis查看
    外部命令:
    (1)# COMMAND --help
    # COMMAND -h
    (2) 使用手册(manual)
    # man COMMAND
    (3) 信息页
    # info COMMAND
    (4) 程序自身的帮助文档
    README
    INSTALL
    ChangeLog
    (5) 程序官方文档

  • 相关阅读:
    cmake 添加头文件目录,链接动态、静态库(转载)
    Opencv 2.4.10 +VS2010 项目配置
    郑捷《机器学习算法原理与编程实践》学习笔记(第七章 预测技术与哲学)7.3 岭回归
    Spark在Windows下的环境搭建(转)
    郑捷《机器学习算法原理与编程实践》学习笔记(第七章 预测技术与哲学)7.2 径向基网络
    郑捷《机器学习算法原理与编程实践》学习笔记(第七章 预测技术与哲学)7.1 线性系统的预测
    郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.5 Boltzmann机算法
    cython学习
    郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.3 自组织特征映射神经网路(SOM)
    郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.2 BP神经网络
  • 原文地址:https://www.cnblogs.com/ckh2014/p/10761377.html
Copyright © 2011-2022 走看看