linux基础知识的总结

USB接口(2)——USB控制器EHCI、OHCI、UHCI与usb hub芯片 EHCI和OHCI,UHCI的比较和区别 UHCI(universal host controller interface): Intel用在自家芯片组上的usb 1.1主控制器(host controller)的硬件实例。 EHCI(enhanced host controller interface): usb 2.0的主控制器标准接口。 OHCI(open host controller inferface):一个不仅仅是usb用的主控制器接口标准。主要是遵循csr (configuration sp 阅读详情

     如下内容是我对linux基础知识的总结,因为本人在初期学习linux的时候走了不少的弯路,对于基础的掌握耗费了不少的时间,所以为了后来者对linux的基础部分有个清晰的了解,特对基础知识进行了总结,因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的传播。^_^
​

*******************************************************************************************************

                                           linux基础知识总结

一.课程结构:

(一)预科部分:

    1.初始linux

        (1)了解linux的历史

        (2)对linux操作系统的认知

        (3)体会linux的优点

        (4)理解linux的基本思想

    2.学会如何安装linux操作系统

    3.掌握linux下的常规操作(登陆和注销)

    4.了解linux的目录结构

    5.掌握linux下的常规操作

    6.linux下的常规网络配置

    7.制作yum源(本地、远程)及yum命令的基本操作

(二)linux系统知识:
    
    1.redhat7下图形界面使用(包括gedit使用)、字符界面和图形界面的切换
    
    2.使用nautilus以图形方式管理文件(显示隐藏文件、访问远程ftp)
 
    3.熟悉redhat的文档阅读(redhat官方网站下载或者在本地owncloud处下载redhat7文档并阅读)
   
    4.配置本机系统时钟(ntpdate、system-config-date使用)

    5.shell的简介和使用
   
    6.管理物理存储(磁盘分区)
    
    7.使用LVM灵活存储(LVM的创建、使用、扩展、销毁)

    8.使用man手册获取帮助
    
    9.查看管理系统进程(关键字:ps、top、kill使用)
 
    10.建立网络链接(关键字:DNS、子网掩码、ping)

    11.系统服务的管理(关键字:systemctl)
    
    12.管理系统用户和组

    13.文件权限(文件权限的意义和修改)
     
    14.使用ssh远程管理系统(关键字:公私钥、ssh-keygen)

    15.apache、vsftpd和vnc服务器的配置

    16.管理物理存储(关键字:tune2fs、swap交换分区)

    17.selinux和iptables基本设置(设置文件的selinux标签、关闭打开iptables)

    18.软链接和硬链接(ln命令)
   
    19.归档和压缩(关键字:tar命令)
  
    20.vim的使用(关键字:快捷键操作)
    
    21.正则表达式(管道与重定向)
  
    22.网络故障的排除过程
    
    23.访问网络文件共享服务(NFS和CIFS(samba服务))
       
    24.管理文件系统(文件系统的加密)

*******************************************************************************************************

二.详细介绍
  
*******************************************************************************************************
    1.linux系统简介:
    
    Linux的含义

    严格的来讲,Linux不算是一个操作系统,只是一个Linux系统中的内核,即计算机软件与硬件通讯之间的平台;Linux的全称是GNU/Linux,这才算是一个真正意义上的Linux系统。GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动。但是,修改后的程序必须遵循GPL协议。    

    Linux的特点

    Linux之所以流行,是因为它拥有如下几方面的特点:

    开放性

    开放性是指系统遵循世界标准和规范,特别是遵循开发系统互联(OSI)国际标准。凡是,遵循国际标准开发的硬件和软件,都彼此兼容,可以方便的实现互联。

    稳定性

    Linux的稳定性是众所周知的,由于他没有太多的UI界面,所以他相对其他操作系统较稳定。

    多用户

    多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源,多任务文件系统,系统设备等。有特定的使用权。而彼此之间却不相互影响。Linux和Unix都具有多用户的特定。

    设备独立性

    是指操作系统把所有外部设备统一当成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道他们的具体存在形式。具有设备独立性的操作系统,通过把每一个外围设备看做一个独立的文件来简化增加新设备的工作。当需要向系统添加新设备时,系统管理员就在内核中增加必要的连接。这种连接(也称做设备驱动程序)保证每次调用设备提供服务时,内核都可以使用相同的方式来处理他们。当新的及更好的外设被开发并交付给用户,这些设备都连接到内核后,用户就能够不受限制的立即使用它们。设备独立性的关键在于内核的适应能力。其他的操作系统只允许一定数量或者一定种类的外部设备连接。而设备独立性的系统,能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问的。

    丰富的网络功能

    完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优越于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。

    可靠的系统安全性

    Linux采用了许多安全技术措施,包括对读/写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了安全性。

    良好的可移植性

    可移植性是指系统从一个平台移植到另一个平台它仍能按其自身的方式运行的能力。Linux是一种可移植的系统,它能够从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而又有效的通信提供了手段,不需要增加任何特殊的和昂贵的通信接口。

    支持多种文件系统

    Linux能够支持多种文件系统。目前支持的文件系统有EXT2、EXT3、ISOFS、MSDOS、UMSDOS、NFS、SYSV、Minix、SMB、UFS、NCP、VFAT、NTFS、AFFS等数十种。Linux最常用的文件系统是EXT4。 

    但是redhat7采用的文件系统是xfs,xfs与ext4相比有着更大的优势,为了云计算发展方向,redhat更换文件系统是一个比较明智的选择。对于ext4和xfs的性能对比参照以下的地址:
    
    不同linux文件系统的比较
    链接地址:http://man.ddvip.com/linux/Mandrakelinuxref/ch09s01.html

    Linux的发行版本

    发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件。基本上可以分为两大类:一类是由商业提供商提供的,在一定的时间内提供技术支持,该类版本的提供商有Red Hat和SUSE等;另一类是由具有共同的技术爱好者社区提供支持的,如BSD、Slackware、Debian、Fedora、Ubuntu等。以下是发行版本中较为流行的几种:

    FreeBSD

    需要强调的是:FreeBSD并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。FreeBSD拥有两个分支:stable和current。顾名思义,stable是稳定版,而 current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。

    Slackware

    Slackware是目前所有linux发行版本时间最久的一个版本,始于1993年的Partick Volkerding。它很具有Unix/BSD的风格,它只吸收经过测试且稳定的软件版本,所以稳定性是所有版本的很强的一个。此外,由于缺少其他发行版本的配置工具和系统外壳,它要求用户必须掌握命令行的操作、编辑文本配置文件。所以对于一般接触linux不久的用户上手较难,但是一旦你熟悉了命令行就会让你用起来十分快速。该系统的优点是系统对硬件要求很低,而且运行速度很快;其缺点是支持的软件较少,要熟悉掌握它需要较长的时间摸索。

    Debian

    Debian系列,包括Debian和Ubuntu等。Debian最早由Ian Murdock于1993年创建,Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统,它拥有很多的支持者,社区发展也非常稳定,软件的安装,升级非常方便,Bug补丁发布非常及时。分为三个版本分支:stable, testing 和 unstable。其中,unstable(不稳定)为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。Testing(测试中)的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable(稳定)一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,在二进制文件发行方式中,APT应该是最好的了。

    SUSE

    SUSE 原是以Slackware Linux为基础,并提供完整德文使用界面的产品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)这个发行版。这套发行版包含的软件非常多,更首次收录了X Window及TCP/IP等套件。Slackware就是一个基于SLS的发行版。原来的名字叫"S.u.S.E."后来改称/简短为"SuSE",意思为"Software- und System-Entwicklung",那是一句德文,英文为"Software and system development"。现在这家公司的名字再度更改成SUSE Linux,"SUSE"一字已经不包含甚么意义了。
    2003年11月4日,Novell表示将会对SUSE提出收购。收购的工作于2004年1月完成。Novell也向大家保证SUSE的开发工作仍会继续下去,Novell更把公司内全线电脑的系统换成SUSE LINUX,并同时表示将会把SUSE特有而优秀的系统管理程序 - YaST2以GPL授权释出。
    2005年8月4日,Novell公共关系科的领导及代言人 - Bruce Lowry表示,SUSE Linux Professional系列的开发将变得更开放以及让社群参与当中的工作。新的开发计划名为openSUSE,目的是为了吸引更多的使用者及开发人员。相比以往,现在所有的开发人员及使用者能够测试SUSE的产品并一起开发新版本的SUSE。在以往,SUSE的开发工作都是于内部进行的。SUSE 10.0是第一个给予公众测试的版本。为了配合这个转变,用户除了能够购买盒装版本的SUSE外,也可以从网络上免费下载。一系列的改变让于2005年10月6日推出的SUSE Linux有三个版本 - "OSS版" (完全地开放原始码)、"试用版"(同时包含开放原始码的程序及专属程序如Adobe Reader、Real Player等,其实就是盒装零售版,也可以免费下载,可以安装在硬盘上,并且没有使用限制或限期,但不含说明手册及Novell提供的技术支援)及盒装零售版。
    2010年,Attachmate收购Novell。SUSE成为Attachmate的产品。
    需要注意的是,Novell Linux Desktop 系列的新产品以后改称 SUSE Linux Enterprise Desktop。他是德国最著名的Linux发行版,在全世界也享有较高的声誉,号称是世界上最华丽的操作系统。它一直致力于创建一个连接数据库的最佳Linux版本。为了实现这一目的,SuSE与Oracle 和IBM合作,以使他们的产品能稳定地工作。他自主开发的软件包管理系统YaST也得到了大家的好评,SuSE还开发了SuSE Linux eMail Server III,是一个非常稳定的电子邮件群组应用。另外,SuSE的硬件检测也非常优秀,该版本在服务器和工作站上都用得很好。在安装方面,SuSE拥有界面友好的安装过程,还有图形管理工具,可方便地访问Windows磁盘,对于终端用户和管理员来说使用它同样方便,这使它成为了一个强大的服务器平台。在桌面方面,SUSE支持kde和gnome,xface等桌面,桌面特效比较丰富,新手用这个也很容易上手,缺点是KDE虽然华丽多彩,但比较不稳定。

    Red Hat

    1991年,Linus的Linux内核发布,同年加拿,多伦多大学毕业的Bob Yong在纽约把UNIX用户组引入系统管理自由软件。加强了Linux用户的管理功能。1993年,Bob Yang 创立了ACC公司,主要营销Linux和UNIX的支持软件和书籍杂志。 1994年,美国卡内基梅隆大学毕业的Marc Ewing建立了自己的Linux分销业务,并发布了Red Hat Linux 1.0。 1995年,AAC公司的Bob Yang 收购了Marc Ewing的业务,合并后的ACC公司成为新的Red Hat软件公司,并发布了Red Hat Linux 2.0。 1997年12月,Red Hat Linux 5.0发布,它支持Intel、alpha和Sparc平台和大多数的应用软件。极其简单易用的RPM模块化的安装、配置和卸载工具,使程序的安装可在15分钟内完成。软件升级也很方便,这对刚开始使用Linux的用户来说是非常好的消息。 2003年4月,Red Hat Linux 9.0发布。重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志著Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自社区的Fedora计划合并,成为Fedora Core发行版本。Red Hat公司宣布不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。
    Redhat系列,包括RHEL、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆免费版本)。发展到RHEL5时分成了两个版本,Server和Desktop。

    Server版本又分为:

    Red Hat Enterprise Linux Advanced Platform对应以前的 Red Hat Enterprise Linux AS
    Red Hat Enterprise Linux对应以前的Red Hat Enterprise Linux AS

    Desktop版本分为:

    Red Hat Enterprise Linux Desktop对应以前的Red Hat Desktop
    Red Hat Enterprise Linux Desktop with Workstation option 对应以前的Red Hat Enterprise Linux WS  

    Fedora

    Fedora(原名 Fedora Core 自第七版更名为Fedora)是众多 Linux 发行套件之一。是一个开放的、创新的、前瞻性的操作系统和平台,基于 Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。Fedora的前身是Red Hat Linux。2003年9月 ,红帽公司 (Red Hat) 突然宣布不再推出个人使用的发行套件Red Hat Linux而专心发展商业版本(Red Hat Enterprise Linux),但红帽公司也同时宣布将原有的 Red Hat Linux 开发计划和 Fedora 计划整合成一个新的 Fedora Project。Fedora Project 将会由红帽公司赞助,以 Red Hat Linux 9 为范本加以改进,原本的开发团队将继续参与 Fedora 开发计划,同时也鼓励开放原始码社群参与开发工作。 Fedora被红帽公司定位为新技术的实验场,与 Red Hat Enterprise Linux 被定位为稳定性优先不同,许多新的技术都会在 Fedora Core 中检验,如果稳定的话红帽公司则会考虑加入 Red Hat Enterprise Linux 中。Fedora 预计每年发行 2~3 次的发行版本。  
        
    Ubuntu

    Ubuntu是现在最流行的Linux桌面系统。它简单方便,有KDE和GNOME等视窗界面可供选择,拥有强大的apt-get软件管理程序,安装个管理软件很方便。
    Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。     

*******************************************************************************************************

    2.安装redhat系统

    对于安装系统我们有以下主要的方法:
        
        (1)DVD光盘安装;
        (2)u盘引导安装;
        (3)网络引导安装;
        (4)使用iso文件安装(虚拟机时可以使用)
    
    *对于redhat安装时主要有以下几个方面要注意:
    
        (1)/boot、/和swap的大小设置建议大小分别为:

             /boot          200M
             /                  5G(或者更多,最好使用LVM)
             swap         所分配内存的大小

        (2)设置好时区(为Asian/Shanghai)、超级用户密码
   
*******************************************************************************************************           
    3.掌握linux下的常规操作

        登陆和注销
        
        登陆linux系统需要用户名和密码,分为超级用户(root)和普通用户,两者之间存在着权限的差异。
   
        虚拟控制台:RHEL在电脑为用户提供了6个可以使用的虚拟控制台(Virtual Console)拟当Unix的”哑终端“。我们可以用CTRL+ALT+F1~F6这6个组合键来访问对应的VC,每个VC对应6个组合键中的一个,在图形界面时可以用组合键CTRL+ALT+F7回到图形环境。
        
        如果是在控制台中要进行用户的切换使用su命令,超级用户切入到普通用户可以直接切换。
        
        登陆控制台之后我们可以看到一个等待用户输入命令的行提示符号:
        
        [root@server home]#

       第一个是指用户为root,server为我们的主机名(输入命令hostname可以查看),第三个为我们当前工作目录
       这个格式在当前用户的家目录中的文件下设置,如果是超级用户root,可以查看文件:
        
        [root@foundation0 ~]# vim /root/.tcshrc

       命令行提示符的结尾为#说明是超级用户,如果是$说明是普通用户
        
       
       文件路径(绝对路径和相对路径)
       
       绝对路径:在Linux中,绝对路径是从/(也被称为根目录)开始的,比如/usr、/etc/X11。
       相对路径:对应的就不是从/开始描述的,以当前目录.开始进行描述。(.为当前目录,..为当前目录的上一级目录)

       文件和目录操作命令
        
       1.ls命令

       这个命令就相当于 dos 下的 dir 命令一样 也是 Linux 控制台命令中最为重要几个命令之一,ls 最常用的参数有三个-a、-l 和 –F:

       ls -a
       Linux 系统上的文件以.开头的文件被系统视为隐藏文件,仅用 ls 命令是看不到他们的。而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。

       ls –l
       这个命令可以使用长格式显示文件内容 如果需要察看更详细的文件资料就要用到 ls -l 这个指令。
       
       ls -F
       在列出的文件 目录 名称后加一符号 例如可执行文件加 "*", 目录则加 "/"。
       
       2.cd命令

       cd 这个命令是用来进出目录的,它的使用方法和在 dos 下没什么两样,但和dos不同的是Linux的目录对大小写是敏感的如果大小写拼写有误,你的cd操作是成功不了的。另外,cd 如果直接输入,cd 后面不加任何东西。会回到使用者自己的 Home 目录,假设如果是 root 那就是回到/root。这个功能同 cd ~是一样的。
       
      3. mkdir rmdir命令

      mkdir 命令用来建立新的目录
      如输入如下命令
      mkdir work
      将在当前目录下新建一个 work 目录
      rmdir 用来删除已建立的目录
      如输入如下命令
      rmdir work
      将删除已存在的空目录 work        

      *如果要删除的目录不为空的话,使用rmdir无法进行删除,使用命令:
      [root@foundation0 Desktop]# rm 目录文件 -fr
     
      4. cp命令

      cp 这个命令相当于 dos 下面的 copy 命令
      具体用法是:

      cp –r 源文件(source) 目的文件(target)
      参数 r 是指连同源文件中的子目录一同拷贝  
      在我们的shell设置中,把cp -r的别名设置成了cp,两者功能相同。
      
      5. rm命令

      rm 这个命令是用来删除文件的
      rm 命令常用的参数有三个-i,-r,-f

      比如我现在要删除一个名字为 text 的一个文件
      输入如下命令
      rm –i test
      系统会询问我们是否要删除 test 文件 敲了 y/n 确认是否要删除 test 文件

      rm –r 目录名
      这个操作可以连同这个目录下面的子目录都删除
      功能比上面讲到的 rmdir 更强大 不仅可能删除指定的目录 而且可以删除该目录下所有文件和子目录。

      rm –f 文件名
      这个操作可以不经确认强制删除文件
      
      *需要强调的是,rm 文件 -fr这个命令是十分危险的,当你不清楚它执行后的结果的时候请不要轻易使用,以免造成文件的丢失。
      
      6. mv命令

      mv 这个命令的功能是移动目录或文件
      引申的功能是给目录或文件重命名
      比如:
      mv /tmp/xxx.tar /root
      该命令将/tmp 目录下的 xxx.tar 文件移动到/root 目录下,需要注意的是mv此时和cp命令有着些许差别,mv会把移动文件的安全上下文属性保留,cp则会使用目标目录的安全上下文。
      
      查看文件的安全上下文:
      [root@foundation0 mnt]# ll file -Z
      -rw-r--r--. root root unconfined_u:object_r:mnt_t:s0   file

      这个是cp后的结果,安全上下文由mnt_t改为public_content_t。
      [root@foundation0 mnt]# cp file /var/ftp/pub/file1
      [root@foundation0 mnt]# ll /var/ftp/pub/file1 -Z
      -rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/pub/file1
      这个是mv后的结果,安全上下文未发生改变:
      [root@foundation0 mnt]# mv file /var/ftp/pub/
      [root@foundation0 mnt]# ll /var/ftp/pub/file -Z
      -rw-r--r--. root root unconfined_u:object_r:mnt_t:s0   /var/ftp/pub/file

      *安全上下文是linux系统中另外一种安全机制,与selinux是息息相关的。相当于给每个文件一个标签,通过安全上下文可以限制文件的功能。

      文件重命名:
      mv aaa.tar bbb.tar
      则是将当前目录下的文件 aaa.tar 更名为 bbb.tar      
       
      7. cat命令

      cat 这个命令是 linux 中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。它的用法如下:

      cat text
      该命令显示 text 这个文件的内容

      cat file1 file2
      该命令依顺序显示 file1,file2 的内容

      cat file1 file2>file3
      该命令把 file1,file2 的内容结合起来再重定向>到 file3 文件中  

      8. more命令

      more 是显示一般文本文件的指令,如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想就可以试试 more。

      用法如下:
      more file1 
     
      9. pwd命令

      pwd 这个命令的作用是显示用户当前的工作路径,直接输入 pwd 即可。

      示例:
      [root@foundation0 mnt]# cd /var/ftp/pub/
      [root@foundation0 pub]# pwd
      /var/ftp/pub

      用户及用户组管理命令

      1. useradd命令

      useradd 命令可以创建一个新的用户帐号,其最基本用法为:
      useradd 用户名

      如输入以下命令
      useradd newuser,系统将创建一个新用户 newuser,该用户的 Home 目录为/home/newuser。
      
      useradd 命令的参数较多,常用的组合为:

      useradd 用户名 -g 组名 –G 组名 -d Home目录名 -p 密码
      其中:
      -g 指定该用户的首要组
      -G 指定该用户的次要组
      -d 指定该用户的 Home 目录
      -p 指定该用户的密码

      如输入以下命令:
      useradd oracle –g oinstall –G dba –d /home/oracle –p ora123

      系统将创建一个用户oracle,oracle用户的首要组为oinstall,次要组为dba,Home目录为/home/oracle,密码为 ora123。
     
      *当要查看系统是否有某个用户的时候,使用命令id:

      id 用户名

      2.userdel命令

      userdel命令用于删除一个已经存在的帐号,其用法为:
      userdel 用户名

      3.groupadd命令
      groupadd 命令可以创建一个新的用户组,其最基本用法为:

      groupadd 组名

      如输入以下命令:
      groupadd newgroup

      系统将创建一个新的用户组 newgroup    
      
      4.groupdel命令

      groupdel 命令用于删除一个已存在的用户组,其用法为:

      groupdel 组名

      5.passwd命令

      出于系统安全考虑 Linux 系统中的每一个用户除了有其用户名外还有其对应的用户口令,用户可以随时用passwd命令改变自己的口令,该命令的一般格式为:

      passwd

      输入该命令后,按系统提示一次输入密码和密码确认后,即可完成对用户密码的修改      此外,超级用户还可以修改其他用户的密码,命令如下:
      
      passwd 用户名
      
      6.su命令

      su 命令这个命令非常重要,它可以让一个普通用户拥有超级用户或其他用户的权限也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令,如果想要离开当前用户的身份可以键入 exit 命令。su 命令的一般形式为:
      su - 用户名

      7.chmod命令

      使用权限 : 所有使用者
      使用方式 : chmod [-cfvR] [--help] [--version] mode file...
      说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。

      参数 :
      mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中:

      u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
 
      + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
      r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
      -c : 若该档案权限确实已经更改,才显示其更改动作
      -f : 若该档案权限无法被更改也不要显示错误讯息
      -v : 显示权限变更的详细资料
      -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
      --help : 显示辅助说明
      --version : 显示版本

      范例 :将档案 file1.txt 设为所有人皆可读取 :\
      chmod ugo+r file1.txt 

      将档案 file1.txt 设为所有人皆可读取 :
      chmod a+r file1.txt 

      将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
      chmod ug+w,o-w file1.txt file2.txt 

      将 ex1.py 设定为只有该档案拥有者可以执行 :
      chmod u+x ex1.py 

      将目前目录下的所有档案与子目录皆设为任何人可读取 :
      chmod -R a+r * 

      此外chmod也可以用数字来表示权限如 chmod 777 file
      语法为:chmod abc file
      其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
      r=4,w=2,x=1
      若要rwx属性则4+2+1=7;
      若要rw-属性则4+2=6;
      若要r-x属性则4+1=5。

      范例:
      chmod a=rwx file和chmod 777 file效果相同。
      chmod ug=rwx,o=x file和chmod 771 file 效果相同。
      若用chmod 4755 filename可使此程序具有root的权限。

      8.chown命令

      chown 用于更改某个文件或目录的属主和属组,这个命令也很常用,例如root用户把自己的一个文件拷贝给用户 oracle 为了让用户 oracle 能够存取这个文件,root用户应该把这个文件的属主设为 oracle 否则用户oracle无法存取这个文件。

      chown 的基本用法为:
      chown [用户:组] 文件

      举例:
      chown oracle:dba text
      该命令将 text 文件的属主和属组分别改为 oracle 和 dba。

      磁盘及文件系统管理命令:

      1.df命令

      作用:df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。

      格式 df [options]

      主要参数

          -s:对每个Names参数只给出占用的数据块总数。
          -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则
          只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
          -k:以1024字节为单位列出磁盘空间使用情况。
          -x:跳过在不同文件系统上的目录不予统计。
          -l:计算所有的文件大小,对硬链接文件则计算多次。
          -i:显示inode信息而非块使用量。
          -h:以容易理解的格式印出文件系统大小,例如136KB、2 4MB、21GB。
          -P:使用POSIX输出格式。
          -T:显示文件系统类型。

      说明

      df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。

      超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作。 

      使用示例:
      [root@foundation0 yum.repos.d]# df -h
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda1       462G   50G  413G  11% /
      devtmpfs        1.8G     0  1.8G   0% /dev
      tmpfs           1.8G   12K  1.8G   1% /dev/shm
      tmpfs           1.8G   17M  1.8G   1% /run
      tmpfs           1.8G     0  1.8G   0% /sys/fs/cgroup
      /dev/loop0      3.5G  3.5G     0 100% /content/rhel7.0/x86_64/dvd

      2. mount 和 umount
      mount 命令有很多参数,其中大多数都不会在日常工作中用到,mount 命令最常见的用法如下所示:

      mount [选项] 设备 目录
      其中最常用的选项是 -a,把/etc/fstab 文件中列出的文件系统都挂装上

      挂装软驱和光驱的命令比较简单,直接输入以下命令即可:

      mount /mnt/cdrom
      mount /mnt/floppy

      umount 命令用于卸载一个文件系统,命令的格式如下:

      umount [ -f ] directory

      其中directory 是准备卸载的目录名

      umount 命令有一个不足之处 如果文件系统正在使用中 也就是说有人在那个分区上打开了文件 就无法把这个文件系统卸载下来 这时可以使用和- f参数强制执行卸载操作 当然这种操作可能会造成用户数据的丢失。如:

      umount -f /mnt/cdrom

      该命令将强制卸载挂装在/mnt/cdrom 目录下的文件系统
     
      所以我们给出的建议是,最好先退出所要卸载的目录,然后再执行卸载命令。
      
          

*******************************************************************************************************

    4.linux的目录结构
    
    关于linux的目录结构,我这里找到一篇博客解释的非常详细,对于目录及其各个文件的功能都有着非常详细的解释,大家可以学习并进行理解:
    
    链接地址:http://yangrong.blog.51cto.com/6945369/1288072

*******************************************************************************************************
    
    5.linux下的网络配置:
    
    关于linux的网络配置,redhat6和redhat7有着细微的差别:
    
    网卡的名称发生了改变,在redhat6中,我们着重关注的文件是ifcfg-eth0和ifcfg-br0(与虚拟机进行桥接的文件),而在redhat7中,ifcfg-eth0变成了ifcfg-enp3s0f0的形式,也就是说eth0网卡失效了。但是这几个文件的目录并没有发生改变:
    
    网络配置文件目录:/etc/sysconfig/network-scripts/
    
    如果我们不进行桥接的情况下,在ifcfg-eth0和ifcfg-enp3s0f0中需要写入以下参数:
    
    DEVICE       设备名称                                   与ifcfg-后的名字要相同,否则系统无法识别;

    ONBOOT       YES|NO                                 在重新启动网络时是否开启该网卡

    BOOTPROTO    dhcp | (static | none) 

dhcp表示我们主机的IPADDR,GATEWAY,DNS都是自动获取的,这个设置要想成功的话,当前的环境中必须要有dhcp服务器开启,否则会获取失败,如果设置为static或者none,则需要手动设置IPADDR,GATEWA Y和DNS1的值。    

    GATEWAY      环境的网关IP
    IPADDR       与网关在同一网段的IP
    DNS1         域名解析服务器IP
    NETMASK      子网掩码(可以与IPADDR进行与运算确定该IP网段)      
     
*******************************************************************************************************
    
    6.制作yum源(本地、远程)及yum命令的基本操作

    关于yum源很多同学并不了解它的机理,yum是一个软件包管理器,一般我在安装完一个虚拟机的时候第一时间就是设置它的yum仓库,因为只有这样我们才可以轻松的安装redhat官方提供给我们的各种工具包。所以熟悉和懂得yum仓库的配置是非常重要的。

    为什么是YUM?

    基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
    是的,它帮助我们把各种RPM包的依赖性解决好了,只需要执行yum命令安装就可以了,所以很实用。

    制作远程yum源

    这个就相当于是别人把yum源做好之后,把地址共享出来,我们设定好远程yum源后,每次在安装某个软件的时候,其实是在本地查询软件的包依赖关系,按照依赖关系在远程的ftp服务器下载指定的包,完成安装后删除(系统默认,可保存包)所下载的包。
    此时你只需要设置一个配置文件即可,该文件的目录为:
    
    /etc/yum.repos.d/
    在这个目录下的文件都是以repo为后缀结尾的,例如:yum.repo

    编辑yum.repo文件,下面是我给出的一个示例:
    
    [source]
    name=localserver
    #baseurl=ftp://192.168.3.252/pub/rhel7.0
    baseurl=file:///content/rhel7.0/x86_64/dvd
    gpgcheck=0

    我们做下解释,第一行为一个源的名称(可以自定义),name是对这个源的描述(可以自定义),baseurl是yum源的指定目录。如果是远程的yum源使用ftp://,如果是本地的yum源使用file://然后加上yum源的绝对路径
    gpgcheck决定是否要对所下载的包进行校验,0为否,1为是。

    这个是repo文件里主要的参数,还有其他的参数,以后有需求了再进行应用:

    cachedir:  yum缓存的目录,yum在此路径下存储下载的rpm包和数据库,一般是/var/cache/yum。
    debuglevel:除错级别,0──10,默认是2
    logfile:   yum的日志文件,默认是/var/log/yum.log。

    pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。

    distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。

    exactarch:有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用i686的包来升级。
 
    retries:   网络连接发生错误后的重试次数,如果设为0,则会无限重试。
    tolerent:  也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1则yum不会出现错误信息,默认是0。

    exclude:   排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
 
    gpgcheck: 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。
    plugins:  是否启用所有的插件(plug-in),默认为0,代表不启用。由于RHEL为YUM提供了一个名为rhn-plugin的插件,以便读取RHN提供的YUM下载源,因此你必须保持这个参数为1,才能顺利使用RHN的YUM下载源来安装、升级你的RHEL。

    metadata_expire: 定义YUM缓存中数据的过期时间,单位为秒。
    proxy:    指定读取下载源时使用的代理服务器的路径(URL)。

    制作本地yum源:
    
    制作本地yum源分为两个步骤:

    (1)首先,我们要把iso镜像文件挂在到指定的目录中,写入/etc/fstab文件;

     写入的内容与下面内容类似:

/content/rhel7.0/x86_64/isos/rhel-server-7.0-x86_64-dvd.iso   /content/rhel7.0/x86_64/dvd   iso9660   loop,ro   0 0

     *每次修改完/etc/fstab中需要执行命令mount -a;  
  
    (2)然后在/etc/yum.repos.d/yum.repo文件中写入baseurl参数中。

     *每次修改完repo文件,请执行yum clean all命令进行刷新。

     关于yum的基本操作有以下几个命令:

         查看所有安装包的列表    yum list
         查看命令是何种包支持的  yum whatprovides 命令
         安装包                  yum install 包
         删除安装过的包          yum remove 包
         再次安装包              yum reinstall 包
         组安装                  yum groupinstall 包
         组删除                  yum groupremove 包
    
*******************************************************************************************************

(二)linux系统知识:

*******************************************************************************************************

    1.redhat7的图形界面和6有着比较大的区别,它将之前的几个目录集和到了Applications里边,大家可以尝试着里边的应用,图形界面我们不做过多的解释。
    
    图形界面和字符界面的切换:
     
    图形---->字符: 
    [root@foundation0 yum.repos.d]# init 3
    
    字符---->图形:
    [root@foundation0 yum.repos.d]# init 5

    如果我们想要修改系统的开机默认界面,redhat6和7的方法有区别:
    
    redhat6修改开机启动界面:
    编辑/etc/inittab文件,在最末尾设置开机级别,0-6七个级别。

    redhat7修改开机启动界面:

    查看/etc/inittab文件如下所示:
 
    # multi-user.target: analogous to runlevel 3
    # graphical.target: analogous to runlevel 5
    #
    # To set a default target, run:
    #
    # ln -sf /lib/systemd/system/<target name>.target /etc/systemd/system/default.target
 
    可以看到图形界面和字符界面对应的参数分别为:

    graphical.target(5)和multi-user.tartget(3)

    开机默认为图形界面:

    ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target    

    开机默认为字符界面:

    ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target    
    
*******************************************************************************************************          
    2.使用nautilus以图形方式管理文件

    打开文件管理器:
    [root@foundation0 Desktop]# nautilus

    进入管理器后要想看到隐藏文件(以.开头的文件):
    ctrl+h

    想要访问远程ftp文件目录:
    单击“Connect to Server”,输入ftp://XXX.XXX.XXX.XXX即可访问远程ftp(前提是对方开发了ftp服务)

    *管理和访问文件我们建议尽量的使用命令行进行处理。

*******************************************************************************************************

    3.熟悉redhat的文档阅读(redhat官方网站下载或者在本地owncloud处下载redhat7文档并阅读)

*******************************************************************************************************
     
    4.配置本机系统时钟

    时钟的设置是非常有必要的,对于监控和系统报警的软件,准确的时钟是至关重要的,当时钟不准确时我们需要进行及时的调整,有命令和图形的两种方法:
    
    (1)使用命名ntpdate直接修改:
    
     ntpdate XXX.XXX.XXX.XXX(开放ntpd服务的主机)
     
     *完成后使用命令date可以进行确认
    
    (2)使用system-config-date打开图形界面进行同步设置。

*******************************************************************************************************
    
    5.shell的简介和使用

    Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
    实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
    Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多桌面环境系统,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。GNOME。
每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。
    同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell:
   
    Bourne Shell:是贝尔实验室开发的。
    BASH        :是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。
    Korn Shell  :是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
    C Shell     :是SUN公司Shell的BSD版本。
    Z Shell     :The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。

    *shell的使用之前我们已经介绍了部分命令,然而对于shell的学习不仅限于此。在以后的linux学习中我们还要接触脚本的编程,让系统的管理变得自动化。但是前面的命令操作是基石,希望大家能够熟练掌握。

*******************************************************************************************************

    6.管理物理存储
    
        主要掌握的命令fdisk,并且在分区结束后要使用命令partprobe刷新分区表.

        查看设备:
        [root@foundation0 Desktop]# cat /proc/partitions
        
        关于磁盘分区的详细介绍可以查看博客:
        http://blog.chinaunix.net/uid-29622064-id-4221446.html

*******************************************************************************************************

    7.使用LVM灵活存储(LVM的创建、使用、扩展、销毁)

    *这个内容是我们重点进行讲解的,而且大家都要做总结进行整理。 

    请注意xfs和ext4文件系统在扩展的时候使用的命令有所差异:
    
    xfs使用的命令是:
    [root@foundation0 Desktop]# xfs_growfs 设备名(lv)
 
    ext4使用的命令是:
    [root@foundation0 Desktop]# resize2fs 设备名(lv)

    也可以参看博客(ext4文件系统的操作):
    http://blog.chinaunix.net/uid-29622064-id-4225209.html

*******************************************************************************************************

    8.使用man手册获取帮助

    对命令的操作不熟悉时,或者在C语言编程对函数的参数有不了解的地方。则需要使用man命令进行查找,它有很多个查找类型:
    
       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions eg /etc/passwd
       6   Games
       7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]
    
    *小提示:在man中如果搜索某个关键字,使用“/查找关键字”快速的进行定位。并且可以按“n”进行下一个的匹配
   
*******************************************************************************************************

    9.查看管理系统进程    

    熟练掌握以下命令:
    
    ps aux
    top
    kill

    我们可以通过上述的命令关闭某些进程;找到系统所占用资源最大的进程;找到指定的进程。

*******************************************************************************************************
 
    10.建立网络链接
    
    之前我们已经熟悉了网络配置文件里的部分参数意义,这个阶段的内容就是要能够准确的配置,让主机能够连接外网,可以通过ping命令进行检验,一旦能够发送接受数据包说明二者之间可以通信。

    并且我们要熟悉网络故障排错的一般流程(这个是要作为作业总结的^_^)

*******************************************************************************************************

    11.系统服务的管理(关键字:systemctl)  

    对于系统服务的管理,redhat7和6有着不小的区别:
    在redhat6中我们在/etc/init.d/目录下进行服务的开关,例如:
 
    /etc/init.d/network restart
    
    而在redhat7中,我们使用systemctl命令进行开关服务:
    
    systemctl start network

    主要需要掌握以下几个命令:

    systemctl start      服务名称
    systemctl stop       服务名称
    systemctl status     服务名称
    systemctl restart    服务名称

*******************************************************************************************************

    12.文件权限
    
    ls -l可以列出文件的权限,但是这只是一部分。我们要学习如何修改文件权限,如何修改文件的安全上下文,以及setacl和getacl的使用。

*******************************************************************************************************

    13.使用ssh远程管理系统(关键字:公私钥、ssh-keygen)

    ssh可以远程访问系统,使用所访问系统的用户名和密码。
    ssh-keygen可以生成认证文件,通过非对称加密,把公钥拷贝给对应的远程主机,可以实现无密码认证的远程访问。

*******************************************************************************************************

    14.apache、vsftpd和vnc服务器的配置

    了解apache、vsftpd和vnc服务端的安装包有那些;
    安装上述的服务,并且能够简单的修改配置文件;
    开启服务。
 
*******************************************************************************************************

    15.管理物理存储(关键字:tune2fs、swap交换分区)

    通过磁盘分区生成swap分区,并对磁盘分区进行添加和删除

*******************************************************************************************************

    16.selinux和iptables基本设置

    selinux是安全上下文,上面的内容已经做了简单的介绍。

    SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

    我们要知道selinux的配置文件在:
    /etc/sysconfig/selinux中,它有三种模式:
    
    #     enforcing - SELinux security policy is enforced.              强制打开模式
    #     permissive - SELinux prints warnings instead of enforcing.    打开并警告模式
    #     disabled - No SELinux policy is loaded.                       关闭模式

    在命令行下可以进行状态的切换(前提是selinux是打开状态):
    setenforce (0 | 1)  0为permissive,1为enforcing
    getenforce            可以得到selinux的状态    

    对于iptables我们暂时只需要学会如何去打开和关闭iptables,关于iptables的添加策略有兴趣的同学可以在网上搜索资料自行学习。

*******************************************************************************************************
    
    17.软链接和硬链接(ln命令)

    软连接和硬连接可以查看博客:
    http://blog.chinaunix.net/uid-29622064-id-4220416.html

*******************************************************************************************************

    18.归档和压缩(关键字:tar命令)

    这个就是我们windows当中的压缩和解压缩,要求我们要熟悉tar命令。

    关于tar命令的解释,网上有很多博客介绍到了:
    http://blog.youkuaiyun.com/ericbaner/article/details/3966741
    
    关于解压缩除了tar之外,我们有时还需要解压zip和rar压缩包:

    1)对于.zip
  linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,
这里只做简单介绍,依旧举例说明一下其用法:

  # zip all.zip *.jpg
  这条命令是将所有.jpg的文件压缩成一个zip包

    # unzip all.zip
  这条命令是将all.zip中的所有文件解压出来

  2)对于.rar

  要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux不是免费的;然后安装:
  # tar -xzpvf rarlinux-3.2.0.tar.gz
  # cd rar
  # make
  这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。

    它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
  # rar a all *.jpg
  这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar

    扩展名将自动附加到包名后。
  # unrar e all.rar
  这条命令是将all.rar中的所有文件解压出来   
   
*******************************************************************************************************

    19.vim的使用

    关于vim的使用技巧,这里推荐《VI和VIM编辑器(第7版)(中文版).pdf 》,在owncloud上面有电子版,详细的介绍了vim的使用。

    练习:自己安装ctags,并且结合vim进行快速的源码阅读。

******************************************************************************************************* 
    20.正则表达式
    
    在我们今后学习linux下的shell编程时,会详细的进行说明。

    练习:学会使用find命令查找指定文件
  
*******************************************************************************************************



 
                                                                                
                                                                                 作者:linux_player_c
                                                                                 邮箱:597114476@qq.com





     
NXP bootloader NXP bootloader 首先采用官方的bootloader, 直接keil下载即可 然后烧写官方的led_demo,注意,由于官方的失误,需要改一些东西,详情见: https://community.nxp.com/thread/492991 然后下一步修改自己的程序启动地址: ... 阅读详情

相关推荐

18xx:在线玩18xx游戏的平台!

18xx。游戏 关于 是一个免费的开放源代码网站,可用于玩游戏。 所有游戏均在其各自的设计师和/或发行商的许可下发布。 贡献者 特别感谢所有帮助使该项目真正成功的! 发展 请提交并。 有关开发的大多数讨论都发生在#18xxgames和#18xxgamesdev频道中的18xx 上。 如果您想将游戏添加到该站点,请通过Slack与我们联系。 有关更多信息,请参见 。

验证(15位或者18位)身份证号码的正确正则表达式

我们在开发页面的过程中难免会遇到一些表单验证,以下就对身份证号码进行验证,在开发过程中做的简单笔记: 身份证号码: 18位(xxxxxx yy MM dd xxxx) 15位(xxxxxx yy MM dd xxx) 正则表达式: /1\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}KaTeX parse error: Expected 'EOF',...

MrGuo522的博客 7万+

用 n8n 提取静态网页内容:从 HTTP Request 到 HTML 节点全解析

本文介绍了如何使用n8n的HTTP Request和HTML节点组合提取静态网页内容。首先通过HTTP Request节点获取网页HTML源码,然后使用HTML节点解析并提取所需数据。关键点包括:1)HTTP Request节点设置URL和GET方法;2)HTML节点配置Source Data为JSON并指定data字段;3)重点掌握Extraction Values参数,特别是CSS选择器(使用.和#定位元素)、Key命名、Return Value类型选择等。文章通过实例演示了标题和正文的提取方法,并提供

muyouking 4565

正则表达式

------- android培训、java培训、期待与您交流! ----------  1  匹配 手机号段只有13xxx  15xxx  18xxx String telReg="1[358]\\d{9}"; /* 校验qq号码,首位不能是0,由0到9数字组成,5到15位 */ class QQDemo { public static void main(String[] a

黑马程序员_技术日记 3万+

source tree clone error:fatal remote error: Repository not found

source tree clone error:fatal remote error: Repository not found

Linda的前端开发路 3077

关于ADS重新安装失败的解决方案

ads卸载安装license被锁无法修改导致安装最后没有证书

weixin_47103290的博客 9701

Linux基础知识全面总结

学习Linux系统的重要性应该不用多说,下面我就对Linux的基础知识进行一个全面而又简单的总结。不过建议大家还是装个Linux系统多练习,平时最好只在Linux环境下编程,这样会大有提高。     linux的特点      - 免费的/开源       - 支持多线程/多用户       - 安全性好       - 对内存和文件管理优越     关机命令      shu

常敲代码手不抖 2万+

MIT Mini Cheetah--仿真流程

MIT Mini Cheetah–仿真 摘要 由于官方提供代码中,控制仿真环境中的猎豹机器人运动需要遥控器来控制。官方默认推荐使用logitech Gamepad F310游戏手柄:We use the Logitech F310 controller. There’s a switch in the back, which should be in the “X” position. The controller needs to reconnected if you change the switch

Galaxy_Robot的博客 5915

Linux Android基础知识总结

Linux Android基础知识总结 http://www.ifind.cc/view/136

UKK 784

【第1章】基于FPGA的图像形态学处理学习教程——目录

本课程介绍图像形态学处理技术,通过腐蚀、膨胀、开运算、闭运算等算子对图像进行优化。腐蚀可去除边缘杂色使线条更清晰,膨胀能填补缺口修复图像,开运算擅长去噪,闭运算则用于修补断裂。课程内容涵盖四大形态学处理的理论分析、MATLAB仿真和FPGA开发实现,包括腐蚀、膨胀、开闭运算以及顶帽变换等操作,最后探讨形态学处理的实际应用场景。通过仿真测试和FPGA开发实践,帮助学员掌握图像"美容塑型"的核心技术。

MATLAB,verilog,python,opencv,tensorflow,caffe,C,C++ 337

ABAP 大规模数据并行处理实战,六套 Parallel Processing Framework 如何选,性能调优真正该盯住什么

如果今天真的面对那份执行 14 个小时的生产报表,我不会马上把原来的 Loop 改成 50 个aRFC。我会先用 SAT、ST12、SQL Monitor 和 HANA 侧工具确认时间到底花在哪里。如果 90% 时间其实消耗在一条低效 SQL 上,Parallel Processing 只是让 50 个 Worker 同时执行那条低效 SQL,数据库会比原来更痛苦。应该先把串行逻辑本身优化到合理水平。该做 Set-based Processing 的地方先交给 HANA。该避免SELECT。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 149

Linux系统基础知识

1.Linux基础 Linux概念:Linux是一个以Intel系列CPU(CYRIX,AMD的CPU也可以)为硬件平台,完全免费的UNIX兼容系统,完全适用于个人的PC。它本身就是一个完整的32位的多用户多任务操作系统,因此不需要先安装DOS或其他的操作系统(MS Windows, OS2, MINIX…)就可以进行直接的安装。 Linux版本:其发行版本有Ubuntu、Centos、redhat、debian、opensuse等等;其中ubuntu注重界面,Centos注重服务器。其内核版本可以通过un

AAAA202012的博客 2万+

【从零开始vnpy量化投资】十一. 实盘接入测试与正式实盘

本篇主要讲解如何使用vnpy进行实盘交易,由于上一节我们已经学习了模拟盘运行,如果一切顺利的话,只需要通过穿透测试,就可以正式部署实盘了。

魔落的博客 4229

Linux 基础知识总结

分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。示例:修改/test 下的 aaa.txt 的权限为文件所有者有全部权限,文件所有者所在的组有读写权限,其他用户只有读的权限。:可以列出打开的文件和关联的进程,网络端口也被视为文件,所以可以用来查看占用端口的进程。

夏日 の blog 1829

基于FPGA的车道线检测系统设计

本文设计了一种基于FPGA的车道线检测系统,采用Altera Cyclone IV EP4CE10F17C8作为主控芯片,结合OV7725摄像头和LCD显示屏实现实时车道线检测。系统通过硬件流水线处理架构,依次完成图像采集、灰度转换、中值滤波、Sobel边缘检测和Hough变换直线识别等功能模块。所有模块均采用Verilog HDL实现,充分利用FPGA的并行处理能力,显著提升了系统响应速度。测试结果表明,该系统能够有效检测道路车道线,满足实时性要求,为ADAS系统提供了一种高效的硬件解决方案。

huanghm88的专栏 121

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

超全面的Linux基础知识的梳理

我们是谁?我们为什么要学习Linux?我们想达到什么样的目标?作为一名LINUX运维小白,每日每夜面对着这些 linux生产环境,如何胜任?在今天这篇文章中,我们将分享一些Linux基础性的东西。这篇文章只是针对linux基础性的知识进行梳理、归纳、总结。 Linux基础知识有且不限于以下内容:了解Linux的发展前景,了解Linux的发行版之间的特性,Linux内核命名规范,基于虚拟机环境手动安装CentOS操作系统操作,Linux系统管理、Linux必备命令、Linux用户及权限管理等等,掌握以上

Free雅轩的博客 258

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【linux】linux基础知识的总结

*******************************************************************************************************                                            linux基础知识总结 一.课程结构: (一)预科部分:     1.初始linu

Ezio AC的博客 886

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux基础知识笔记

Linux 基础知识目录结构(一切皆为文件)vim的使用关机&重启命令用户管理指定运行级别帮助指令文件目录类时间日期类搜索查找类压缩和解压缩组权限和权限管理crond任务调度磁盘分区,挂载网络配置进程管理服务管理包管理工具系统设置Shell脚本Linux运维知识日志备份与恢复Linux 可视化管理Linux面试题统计访问量和连接数找回Mysql root密码访问量排名和tcpdump系统权限划分ssh连接虚拟机常用:/bin (/usr /bin,/usr/local/bin) :存放常用命令。/home

weixin_52383177的博客 1081

Linux基础知识详解

一、什么是Linux(利尼克斯)系统? Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 单用户操作系统和多用户操作系统 单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源 Windows XP 之前的版本都是单用户操作系统 多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件

glass__sky的博客 5362

Linux入门基础知识

服务器英文名称为“Server”,指的是网络环境下为客户机(Client)提供某种服务的专用计算机。服务器介绍通过虚拟化技术,在电脑内,虚拟出计算机硬件,并给虚拟的硬件安装操作系统,即可得到一台虚拟的电脑,称之为虚拟机。我们可以通过提供虚拟化的软件来获得虚拟机,如VMWare。

qq_43349542的博客 1443

linux 基础知识

‍‍‍‍。

sywwei的专栏 1387

【Linux系列】Linux基础知识整理

Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识。 本篇日志是我学习Linux过程中的简单记录和总结。本着“理论够用,实践为主”的原则,这里没有对Linux底层原理方面的知识做深入研究,只是记录了相关的基础概念,有兴趣的同学可以参考Linux相关的专业书籍(鸟哥的Linux私房菜)。 Linux简介 历史简介 Linux系统的创始人是芬兰著名程序员Linus Torvalds(发音为 ['li:nэks])。后来经过一众Linux爱好者不断提交代码...

imherer的博客 200

Linux基础知识

Linux是一种开源、多用户、多任务的操作系统内核,基于Unix设计理念开发。其核心特点是高稳定性、安全性及灵活性,广泛应用于服务器、嵌入式设备和个人计算机等领域。

weixin_45915758的博客 2092

linux安装基础知识

linux安装基础知识 linux修改yum源镜像源 1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo [root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、进入yum源配置文件所在的文件夹...

昆仔的博客 246

linux基础知识总结

今天学习一下开源、集成Unix的Linux操作系统基础知识。 学习系统:CentOS。 163提供CentOS下载地址:http://mirrors.163.com/centos/。 学习环境:VMware + CentOS 6.10。 此处省略1w字用户安装VMware和CentOS。可参考的CentOS分区: 安装VMtools: 在VMware工具栏中:虚拟...

malaganguo的博客 323

Linux基础知识—Linux

(3)标准输出重定向:左边命令 > 文件路径(结果会将左边命令的输出结果整个输出到文件中,文件如果不存在会新建,如果存在会覆盖原来的文件)(4)标椎错误重定向:左边命令 2> 文件路径(结果会将原来的输出改向输出到文件中,原来的错误就没有了)(3)路径可以是绝对路径(绝对路径一定是以/开头,如果不是就会默认写的是相对路径),也可以是相对路径。②搜索内容:输入(/搜索的内容)回车,按n到下一个匹配的位置,按shift+n到上一个匹配的位置。(2)阅读模式:可以查看和退出(输入:“:q!按o新建一行进行插入。

m0_61963422的博客 849
上一篇: linux实用技巧:你该使用ctags查找源码了
下一篇: 在redhat下使用x11vnc进行桌面共享
linux_player_c
博客等级 码龄13年 214粉丝 134原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值