1、什么是Linux?
组成部分:硬件、内核、lib库、应用程序
 
硬件:工作中真正工作的组成部分是硬件
 
linux内核(kernel):管理硬件
Linux团队管理的版本
 
lib库:封装内核接口,提供系统调用
 
应用程序:和用户交互,提供某项特定的服务
GNU:在linux内核之上研发了很多常见的应用程序,并且把这些应用程序开源了
 
2、Linux发行版?
RedHat:按照特定的格式将linux内核、lib库、应用程序,组成一个操作系统,redhat发行版
 
CentOs:6.6   
 
Ubuntu:
 
3、Linux哲学思想:
    1、Linux中一切皆文件
    2、Linux将一个大型需求,分解成非常多的的小需求,有专门的小程序去完成每个小需求,一个小程序只干一件事情             
 
4、什么是shell?
可以简单理解为shell是命令解析器,将你输入的命令解析并传达给内核
 
shell是用户接口(用户和操作系统之间的接口,)
shell是应用程序,shell是个特殊的应用程序,所有运行在内核之上的程序都称之为应用程序
 
shell是一个特殊的交互式实用程序。它为用户提供了一种启动程序、管理文件系统中的文件和管理运行在Linux系统上的进程的方式。
 
shell包含一组内部命令,此命令可以用来控制文件复制、文件移动、文件重命名,以及显示当前运行在系统上的程序等操作。除了内部命令外,shell还允许命令在命令提示符处输出程序的名称shell可以将程序名称传递到内核以启动该程序.
 
命令分类:
    内部命令:
    外部命令:
 
命令提示符:
[\u@\h \W]\$
 
配置命令提示行的样式:PS1 =
\d   显示日期,格式为"日 月 年"
\h   本地主机名
\H   完整的域名
\t   显示时间;为24小时制,格式为"小时:分钟:秒"
\T   显示时间;为12小时制,格式为"小时:分钟:秒"
\u   当前用户名
\w   当前工作目录
\W   当前工作目录的绝对路径
 
路径:
根目录:/
/root/test
/etc/text
/bin/text
cd test
cd /root/test
 
相对路径:从当前路径开始查找
绝对路径:从根路径开始查找
 
 
 
命令格式:
命令  命令选项   命令参数
 
命令:程序
 
命令选项:指定怎么来运行这个命令
长选项:--
短选项:-
 
命令参数:指定这个程序作用再那个对象上
 
如何获取命令帮助:
内部命令的帮助:help 命令
外部命令的帮助:1、命令  --help
                2、man 命令
 
帮助手册:
            NAME
            SYNOPSIS
            DESCRIPTION
            OPTIONS
            EXAMPLES
            AUTHOR
            BUGS
            SEE ALSO
            SYNOPSIS:
                []: 可选内容
                <>:必选内容
                a|b: 从中选一;
                ...: 同类的内容可出现多个
    使用手册:是压缩格式文件的,且有章节之分
        1:用户命令;
        2:系统调用;
        3:C库函数;
        4:设备文件及特殊文件;
        5:文件格式;
        6:游戏;
        7:杂项;
        8:管理工具及守护进程;
        man手册的存放位置:/usr/share/man
            man命令自己有配置文件:/etc/man.config
                MANPATH /path/to/somewhere: 定义man手册查找路径;
            -M /path/to/somewhere: 指定查找帮助手册的路径列表
  
 
  man命令操作方法:
        翻屏:
            空格键:向文件尾部翻屏;
            b: 向文件首部翻屏;
            回车键:向文件尾部翻一行;
            k: 向文件首部翻一行;
            Ctrl+d:向文件尾部翻半屏;
            Ctrl+u:       首部
            G:跳转至文件尾部
            1G:跳转至第一行;
            #G:跳转至第#行;
        文本搜索:
            /keyword: 搜索指定字串;不区分字符大小写;从文件首部向文件尾部方向进行查找;
                n: 下一个
                N:前一个
            ?keyword: 搜索指定字串;不区分字符大小写;从文件尾部向文件首部方向进行查找;
                n: 下一个
                N:前一个
                退出:q
 
 
 
 
Linux的文件系统:
        /bin: 存储基本的用户命令
        /boot: boot loader相关的静态文件,内核以及ramdisk文件
        /dev: 设备相关的文件
        /etc: 主机特有的系统配置文件
        /home: 用户的家目录(可选)
        /lib: 基本的共享库文件,以及内核模块文件
                .so, .ko
        /lib64: 64bits系统的基本共享库文件
        /media:可移除设备的挂载点
        /mnt:可挂载文件系统的临时使用的挂载点
        /opt:第三方应用程序的安装位置
        /root: 管理员root用户的家目录
        /sbin: 系统管理相关的二进制程序
            注意:执行设定操作时,此目录下的命令仅具有管理权限的用户可执行
        /srv: 当前系统的服务相关的数据
        /tmp: 临时文件目录,具有特殊权限设定
        /usr:可被共享的、只读数据的存放位置
            bin: 二进制程序
            include: C程序用到的头文件
            lib: 库文件
            lib64: 库文件
            local: 本地程序目录结构
            share: 独立于平台架构的数据
            sbin: 管理程序
            src: 源代码目录
        /var:可变文件目录
            cache: 应用程序的缓存数据
            lib: 可变的状态信息数据
            local: 为/usr/local下的程序准备的可变数据目录
            lock: 锁文件目录
            log: 日志文件
            run: 运行进程时相关的数据,如守护进程的PID文件
            tmp: 系统重启之后需要留存的临时文件目录
        /proc: 内核及进程相关信息的虚拟文件系统接口
            伪文件系统:本身不是文件系统,但输出为文件系统
        /sys: 伪文件系统,硬件设备相关信息的虚拟文件系统接口
 
    Linux下应用程序的组成部分:
        二进制程序:bin, sbin
        库文件:lib, lib64
        配置文件:etc
        帮助文件:/usr/share/man, /usr/local/share/man
 
    Linux下的文件类型:
        -:普通文件
        d: 目录文件
        b: block,块设备文件
            随机访问设备
        c:character, 字符设备文件
            线性访问设备
        l: 软链接文件
        p: pipe, 命名管道
        s: socket,套接字文件
 
环境变量:
PS1:定义命令提示符格式:
 
命令:
type:判断一个程序是内部命令还是外部命令
cd:切换工作路径
pwd:显示当前工作路径
ls:显示当前或指定目录的下的文件及目录
    -a:显示所有文件,包括影藏文件
    -A
    -l: 长格式列表,显示文件属性信息
        -rw-r--r-- 1 root root 1619 Nov  9 22:55 /etc/passwd
            -: 文件类型
            rw-r--r--:文件访问权限
            1:文件被硬链接的次数
            root root: 文件的属主(owner),文件属组(group)
            1619:文件大小,默认单位为Bytes
            Nov  9 22:55   文件最近一次被修改的时间;
            /etc/passwd    文件名
    -d:显示目录本身的信息
    -h: human-readable,对文件大小做单位换算以实现易读
    -R: 递归
    -i:显示文件inode号
 
cat:显示文件内容
    cat [FILE]...
        -n: 给输出的内容加上行号;
        -e: 显示非打印字符及行结束符$
 
文件内容类型查看命令:
    file [FILE]...
        判断文件内容的类型
 
回显命令:echo
    echo [options] [argus]
    -n: 不进行换行;
    -e: 让控制符生效;
        \n: 换行
    echo ${VAR_NAME}:显示变量的值
 
8、bash基础特性之globbing:
    文件名通配:元字符
        *: 匹配任意长度的任意字符
            pa*, *pa*, *pa, p*a, *p*a
        ?:匹配任意单个字符
            p?
            思考:
                pad: p?d, p*d
                pd: p?d, p*d
                paad: p?d, p*d
        []:匹配指定集合内的任意单个字符
            [0-9]:任意数字
            [a-z]:任意小写字符
            [A-Z]:
            [0-9a-zA-Z]
            p[mn]*
        [^]:匹配指定集合外的任意单个字符
            p[^m-z]*
        字符集合:
            [:space:] 所有的空白字符, [[:space:]]
            [:punct:] 所有标点符号
            [:lower:] 所有小写字母
            [:upper:]     大
            [:digit:] 所有数字
            [:alpha:] 所有字母
            [:alnum:] 所有字母和数字
    练习1:显示/var目录下所有l开头,以一个小写字母结尾,且中间出现一位数字的文件或目录;
    # ls -d /var/l*[0-9]*[a-z]
    # ls -d /var/l*[[:digit:]]*[[:lower:]]
        
    练习2:显示/etc/目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
    # ls -d /etc/[0-9]*[^0-9]
        
    练习3: 显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录;
    # ls -d /etc/[^[:alpha:]][[:alpha:]]*
        
    练习4:复制/etc/下,所有以m开头,以非数字结尾的文件或目录至/tmp/mageedu目录中;
    #cp -r /etc/m*[^0-9] /tmp/mageedu    
    练习5:复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu2目录中;
    #cp -r /etc/*.d /tmp/mageedu2
        
    练习6:复制/etc目录下,所有以.conf结尾,以m,n,r,p开头的文件或目录至/tmp/mageedu3目录中;
    #cp -r /etc/[mnrp]*.conf /tmp/mageedu3
        
9、目录管理类命令:cd, pwd, ls
    mkdir, rmdir
    mkdir:
        mkdir [options] DIRECTORY ...
            -v: verbose,详细信息
            -p: parent,级联创建目录,指定的目标目录的父目录如果不存在,则先创建之;
    aa/bb
    rmdir: 删除空目录
        rmdir [options] DIRECTOTRY ...
            -v
            -p:
    问题1:如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b
    mkdir -pv x/{y1,y2}/{a,b}
    mkdir -pv x/y1/a
    mkdir -pv x/y1/b
    mkdir -pv x/y2/a
    mkdir -pv x/y2/b
    问题2:如何创建a_d, a_c, b_d, b_c四个目录?
        # mkdir a_d a_c b_d b_c
 
10、 文件管理工具:cp, mv, rm
        cp  选项  源文件  目标位置
        cp  源文件  目标文件
        cp  file1   file2
                    存在    
                    不存在  
        cp  源文件  目录
        cp  源目录  目录
        cp的常用选项:
            -r: 复制目录时实现递归复制
            -d: 不跟随符号链接文件指向的源文件,即复制链接文件本身而非其指向的文件
            -a: 相当于-dr
            -i: interactive, 目标文件存时,提醒用户是否执行覆盖(y/n);
            -f: force,强行覆盖;
        注意:如果源文件是符号链接文件,则复制时会拷贝链接指向的源文件的内容;
        文件移动:mv
            mv [OPTION] SRC DEST
            mv [OPTION] SRC... DIRECTORY
            mv  源文件   目标文件
                源文件   目录
                源目录   目标目录
            -i:interactive
            -f: force
        文件删除:rm
            rm [OPTION] FILE...
                -r: 递归删除目录及其内部的所有文件;
                -f: 强制删除
            注意:建议先移动至某专用的目录下;过一段时间再清理;
 
 
 
 
 
 
 

linux系统方面的知识的更多相关文章

  1. linux系统shell基础知识入门

    什么是shell shell就是我们常说的命令行程序,它是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入要执行的命令.在Linux中安装多个shell是可行的,一般系统有默认的sh ...

  2. LINUX系统的常用知识

    常用的命令: man config   查看linux里面所有命令的详细描述 man pwd   按回车是一行一行的走,按空格是一页一页的走,按q键是退出的意思 mkdir test   创建文件夹p ...

  3. linux系统ext文件系统知识

    ext2文件系统细节 我们都知道,操作系统中的数据分为文件内容和文件属性两部分,其中文件内容就是文件的实体数据,而文件属性就是文件类型.权限.属主.修改时间等信息.操作系统会将上述文件的内容放入磁盘文 ...

  4. Linux系统及lvm知识

    一.磁盘分区是怎样表示的 IDE磁盘的设备文件采用/dev/hdx 来命名,分区则采用/dev/hdxy来命名,其中想表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),与代表分区的号码(由1开始, ...

  5. linux系统文件系统重要知识介绍

    [root@Asterplus:~]$ls -lhitotal 48K3684713 -rw------- 1 root root 5.9K Jul 1 00:23 anaconda-ks.cfg36 ...

  6. Linux系统网络基础知识及配置

    一:DNS(domain name system)简介 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而 ...

  7. linux系统shell基础知识入门二

    条件判断语句 test或[],这两是等价的.但用[]这种可能看起来更简洁 必须在[符号和检查条件之间留出空格,而test命令之后也总是应该有一个空格 如果要把test 和then 放一行上,那么必须在 ...

  8. linux系统安全及应用

    小伙伴们让我们一起回顾一下Linux系统安全基础知识吧 1. 系统账号清理 对于公司里刚离职或停职不久的人,处于公司信息安全考虑,给他们的账号给锁定就好了. usermod -L wangqingxi ...

  9. (三十二)虚拟机linux系统中安装firefox浏览器

    这几天,第二轮项目迭代进入了尾声,同时也接到了上司领导交代下来的新任务,那就是要我们学习linux系统基础的知识,包括常用命令和web应用的部署问题,于是乎安装了虚拟机和linux操作系统. 我安装的 ...

随机推荐

  1. Filter过滤器原理和登录实现

    Filter过滤器API      Servlet过滤器API包含了3个接口,它们都在javax.servlet包中,分别是Filter接口.FilterChain接口和FilterConfig接口. ...

  2. 20145118《Java程序设计》 第7周学习总结

    20145118<Java程序设计> 第7周学习总结 教材学习内容总结 本周学习内容为第十三章,以下为教材内容重点总结: 1.格林威治标准时间简称GMT时间. 2.java.util.Da ...

  3. UVa 10285 Longest Run on a Snowboard - 记忆化搜索

    记忆化搜索,完事... Code /** * UVa * Problem#10285 * Accepted * Time:0ms */ #include<iostream> #includ ...

  4. C#工程详解

    转:https://www.cnblogs.com/zhaoqingqing/p/5468072.html 前言 写这篇文章的目地是为了让更多的小伙伴对VS生成的工程有一个清晰的认识.在开发过程中,为 ...

  5. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 80 Days(尺取)题解

    题意:n个城市,初始能量c,进入i城市获得a[i]能量,可能负数,去i+1个城市失去b[i]能量,问你能不能完整走一圈. 思路:也就是走的路上能量不能小于0,尺取维护l,r指针,l代表出发点,r代表当 ...

  6. HDU 1358 Period(KMP+最小循环节)题解

    思路: 这里只要注意一点,就是失配值和前后缀匹配值的区别,不懂的可以看看这里,这题因为对子串也要判定,所以用前后缀匹配值,其他的按照最小循环节做 代码: #include<iostream> ...

  7. Oracle 存储过程入门(一)

    一,基本入门介绍 公司系统需要用到oracle,可是还没在项目用过oracle,好吧,从基本学起.有问题的地方,欢迎指导啊. 看创建存储过程的基本定义.注意,带有[]的都是可选的,可有可无的.只是语法 ...

  8. 《EMCAScript6入门》读书笔记——23.Module的加载实现

  9. [Pytorch]Pytorch的tensor变量类型转换

    原文:https://blog.csdn.net/hustchenze/article/details/79154139 Pytorch的数据类型为各式各样的Tensor,Tensor可以理解为高维矩 ...

  10. 高精度N的阶乘-N!

    题目:输入一个正整数N(0<N<=30),求N! 代码: #include<stdlib.h> #include<cstdio> #include<strin ...