• Linux操作系统文档


    一 Linux操作系统概述

    l为什么要学习Linux操作系统: 

    1、  大部分服务端都是使用Linux操作系统(Django,爬虫,科学运算等项目是部署到服务器中的)

    2、  一些企业和学校(国外学校)采用Linux进行研发和教学

    3、  很多嵌入式开发使用Linux系统

    4、  大数据、云计算,采用Linux操作系统(CentOS)

     Linux系统的特点:

    1. 开放、开源、多用户的网络操作系统

    2. 可靠地系统安全、良好的移植性

    3. 出色的运行速度

    4. 基于unix

    5. 加入GNU组织(GNU---自由软件组织 copyleft)

     

    Linux 的组成

     

    1. 内核: 是系统的内脏, 是运行程序和管理像磁盘和打印机等硬件设备的核心程序

    2. shell(外壳):是系统的用户界面,提供了用户和内核进行交互操作的一种接扣。它接受用户输入的命令把它送入内核去执行,是一个命令解释器但它不仅是命令解释器, 而且还是高级编程语言, shell编程。

    3. 文件系统: 文件系统是文件存放在磁盘等存储设备上的组织方法, Linux支持多种文件系统如:ext3、ext2、NFS、SMB、iso9660等。类似于window的 fat32和ntfs

    4. 应用程序:标准的Linux操作系统都会有一套应用程序列如: x-window,openoffice等。

    Linux 版本

    1. 内核版本,最新版本为5.0版本 http://www. kernel.org/

    2. 发行版本: 一些厂商将Linux系统内核于应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合,列如:

    Redhat Linux centos Debian Ubuntu Novell/SuSE  Linux等。

    Redhat:Rhel(企业版) centos(社区版)

    Debian: Debian Ubuntu(桌面)

     

    二、Linux系统安装

     

    安装vmware虚拟机

    (Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

    在VM中安装Linux操作系统

    三、Linux目录结构

    bin   存放二进制可执行文件(cd,ls,cat,mkdir等)

    boot  存放用于系统引导时使用的各种文件

    dev   用于存放设备文件

    etc    存放系统配置文件

    home  存放所有用户文件的根目录

    lib    存放跟文件系统中的程序运行所需要的共享库及内核模块

    mnt   系统管理员安装临时文件系统的安装点

    opt    额外安装的可选应用程序包所放置的位置

    proc   虚拟文件系统,存放当前内存的映射

    root   超级用户目录

    sbin   存放二进制可执行文件,只有root才能访问

    tmp   用于存放各种临时文件

    usr    用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录

    var    用于存放运行时需要改变数据的文件

     

    四、Linux系统环境(CentOS)

    分为命令交互通道和图形界面交互通道,默认进入图形界面交互通道。

    Ctrl+Alt+F2 由图形通道进入命令通道

    Ctrl+Alt+F1 由命令通道进入图形通道

    1、图形界面交互模式下的

    terminal: 图形界面的命令终端,它是图形界面交互通道的延伸,要依赖于图形界面(类似于命令交互通道)

    二、命令交互通道

    [zrgk@localhost ~]$

    zrgk 用户名

    localhost 主机名

    ~  路径 ,假如当前的路径正好是 该用户存放数据的根目录 ,则显示~

    $ 用户类型  $表示普通用户   #超级用户

     

    五、Linux常用命令

    Linux基本命令

    1、  cd 切换目录

    例如: cd Desktop 切换到桌面

           cd .. 切换到上级目录(Linux中cd和..之间必须有空格)

     

    2、man(manual)  帮助命令,相当于windows中的 help

    例如: man ls 查看 ls命令的使用方式    q退出

     

    3、ls 查看目录内容

    ls –l 查看详细信息  也可以直接使用 ll

    ls –a 查看全部文件(包括隐藏文件)

     

    4、mkdir 创建目录

    例如: mkdir java 创建一个java目录

           cd java

           mkdir JEE 在java目录下,又创建一个JEE目录

    5、tab 自动补全 

    6、touch 创建一个普通空白文件

    例如: touch aa.txt

          

    7、echo 把内容重定向到指定文件中,如果文件有则打开,无则创建

    例如: echo “helloworld” > aa.txt  覆盖原有数据

             echo “helloworld” >> aa.txt 追加方式

           

    8、cat 查看文件内容

    例如: cat aa.txt

      

    9、more 查看文件内容,分页显示,按空格翻页

     

    10、cp 复制

    例如:cp aaa.txt  ./java/jee 把aaa.txt 拷贝到 java/jee目录下

              cp aaa ./java/jee –r  拷贝文件夹

    11、mv 剪切、重命名

                mv bbb.txt ./java/jee 把bbb.txt 剪切到 java/jee 目录下

                mv bbb.txt aaa.txt 把bbb.txt 重命名为aaa.txt

    12、rm 删除 

    rm aaa.txt 删除aaa.txt 

    -f : 假如要删除的文件不存在,也不提示  rm aaa.txt -f

    -i : 删除前提示 ,默认不删除,要删除,输入y  rm aaa.txt -i

    -d : 删除空白目录

     rm python–d  python必须是一个空白目录(不包含任何文件的文件夹)

    -r :递归删除       rm –r python   删除python这个文件夹 有提示

     rm –rf python 没有提示

    13、wc 统计字符数

     154  233  3418

             154 :行数

             233 :单词数

              3418 :字符数

    例如: wc aa.txt 

    14、ln 创建链接文件

       默认创建的是硬连接,好比复制 ,但是两个文件会同步

          ln aaa.txt bbb   硬连接

          ln –s aaa.txt bbb 软连接 类似于windows中创建一个快捷方式

           

    15、pwd 查看当前路径的绝对路径

       

    16、passwd 设置密码(需要先输入原密码,再设置新密码)

    17、su  切换用户 

                su root

                su zrgk

    由其他用户切换到root目录不需要输入密码

    由root用户切换到其他用户不需要输入密码

    Linux系统命令

    1、stat 查看文件的详细信息

    例如:stat aaa.txt

    2。who与whoami

    who 查看在线的用户

    whoami 查看当前自己的用户      

    3、hostname     显示主机名

    4、uname        显示系统信息

    uname –a     显示完整的系统信息

    5、top       显示当前耗时的进行的信息 ,每3秒刷新一次

               cltr+c 中断

    6、ps 显示当前进程的快照 (没有自动刷新的效果)

     

    7、du 显示文件大小信息

     

    8、df 磁盘使用情况

    9、ifconfig 查看或配置网卡信息,相当于windows中的ipconfig

     

    设置虚拟机ip地址:

    1、设置vmware的连接方式

     

      NAT模式:共享宿主机的ip地址,在网上邻居找不到(默认)

              这里说的共享主机ip,不是和宿主机的ip完全相同

              而是一种内部映射(类似于网吧中的一个光纤(一个ip),带多台电脑)

             

     桥接方式:需要单独设置ip,可以在网上邻居查找

     仅主机模式:只有宿主机才能访问虚拟机,其他机器不能访问虚拟机

     

    2、  图形界面设置ip地址

    3、  命令方式设置ip地址   切换到root用户

    ifconfig eth0 192.168.15.122 netmask 255.255.255.0

    eth0----------->第一块以太网卡

    10、ping命令    和windows的ping命令相同

    11、clear 清除   windows cls

    12、kill    杀死进程

         Kill pid (pid指进程id,使用top命令或ps命令查看)  

    13、netstat 网络连接详细信息

    14、useradd 操作用户

    切换到root用户    cat /etc/passwd   查看所有用户信息

         例如:zrgk:x:500:500:zrgk:/home/zrgk:/bin/bash

         zrgk  用户名

         x     密码 已加密  加密文件存放在 /etc/shadow 目录下

         500   账号id    user id

         500   组id      group id

         home/zrgk 该账号存放文件的默认位置

         /bin/bash 该账号shell脚本的解析方式     (sh、bash、rbash)

    2 创建账号:

         useradd lixin –d  /home/lixin –s /bin/bash   

           lixin 用户名

           -d   指定该用户的home路径

           -s   指定该用户的shell脚本解析方式

      操作步骤:

      1 创建 /home/lixin 目录

       2 执行 useradd 命令

       3 用passwd命令改密码

       4 使用su命名切换用户

    打包、压缩(解压)文件

        常见压缩文件格式:

          Windows  rar 、zip

          Linux     gz、bzip、zip

        1、tar 打包命令 (归档文件)

           tar –cxzjvf 打包后的文件 欲打包的文件

            - c :创建的一个归档文件 ,即打包文件夹

                - x :拆包

                - z :以gzip 格式压缩,默认压缩倍数 6倍  (0-9)

                - j :以bzip2格式压缩

                - v :显示打包或者拆包的文件信息

                - f : 后面紧接一个 归档文件

             例如: tar –cvf news.tar ./java   把当前目录下的java目录打包

          tar –xvf news.tar 拆包

    2、 gzip 压缩文件

     --压缩:

    gzip news.tar 对归档文件直接进行压缩,生成 new.tar.gz文件

     

    --解压:

    gzip –d new.tar.gz  把压缩文件解压成归档文件

    1、  打包及压缩

      --打包及压缩 

         tar –czvf news.tar.gz ./java       对java文件进行打包及压缩

     拆包及解压缩 

      tar –xzvf news.tar.gz    对new.tar.gz 进行解压

     

    七、管理软件

    Windows   .exe 安装、卸载

               安装:双击执行.exe 文件

               卸载:该软件的唯一标识(包名, 当软件做到公认时,包名就会简短,例如MySQLQQ)

     

    Linux

    ubuntu  : debian的升级  所以  *.deb 格式

              安装:sudo dpkg –i 要安装的文件 I   install

              卸载:sudo dpkg –r 包名

     

               red hat *.rpm    rpm命令

               CentOS Red Hat的社区版    *.rpm

                          rpm –ivh xxx.rpm   离线安装

                          yum –y install xxx   在线安装

     vim 软件,相当于windows中的记事本,但是功能比记事本强大

     1 安装vim  CentOS系统,默认安装了vim

      Ubuntu 系统 需要安装

    2 使用 vim

    例如:vim aaa.txt 使用 vim 打开 aaa.txt 文档

    操作模式:

    1 一般模式:默认进入的模式,这个模式不能编辑文档,只能查看文档

    在一般模式中i (insert) 进入编辑模式

    2 编辑模式:

    该模式可以编辑文档,按esc进入一般模式

    3 命令模式:在一般模式中按 进入命令模式

    安全退出,当没有操作该文档,则直接按q退出vim

    q! 当修改了内容,不想保存  q!强制退出

    wq 保存退出

     set number 显示行号

     set nonumber 不显示行号

    4 vim中翻页

    ctrl+f  ctrl+b

     5 vim中检索(查找)    / 

    八、使用ssh远程安全访问Linux系统

    8.1  SSH

    传统的网络服务程序,FTPPOPtelnet 本质上都是不安全的,因为它们在网络上通过明文传送口令和数据,这些数据非常容易被截获。SSH叫做Secure Shell。通过SSH,可以把传输数据进行加密,预防攻击,传输的数据进行了压缩,可以加快传输速度。

     

     

    OpenSSH

     

    SSH是芬兰一家公司开发。但是受到版权和加密算法限制,现在很多人都使用OpenSSHOpenSSHSSH的替代软件,免费。

    OpenSSH由客户端和服务端组成。

     

    CentOS系统中默认安装了OpenSSH

     

    通过windows ssh客户端来访问linux服务端

     

    Windows系统 使用 putty 软件访问 Linux服务端

     

     

    8.2       安装Python

    8.3       安装django部署环境

    8.4        IDE及常用工具安装 

    8.5       安装JDK、配置环境变量、运行HelloWorld程序

    1.安装JDK

     

    步骤:

    1、进入root用户

    9         Linux版本的JDK(jdk1.7) 文件 拷贝到 /opt

    3、解压:

          如果是.gz文件 使用 tar -xzvf 命令解压

          如果是 .bin文件(可执行文件) 使用 ./xxx.bin 执行后就自动解压

          

              4、在bin 目录下编写HelloWorld.java 程序   编译、运行

     (bin 目录下运行 javac命令和java命令时,需要加 ./)

    ./javac HelloWorld.java

    ./java HelloWorld 

    5设置环境变量

    1       vim etc/profile

    2       一定要加在文件的末尾

    export JAVA_HOME="/opt/jdk1.7.0_51"

    export PATH="$JAVA_HOME/bin:$PATH"

    3  刷新配置,让配置生效

    source /etc/profile (一定要刷新,不刷新不能生效)

    4       编写HelloWorld.java  编译、运行

     

    九、设置Linux系统防火墙

     service iptables stop 关闭防火墙

      service iptables start 开启防火墙  

     

  • 相关阅读:
    ZOJ 3954 Seven-Segment Display
    ZOJ 3955 Saddle Point
    ZOJ 3950 How Many Nines
    ZOJ 3957 Knuth-Morris-Pratt Algorithm
    PAT L2-018. 多项式A除以B
    hihocoder 1500 EL SUENO
    hihocoder 1498 Diligent Robots
    hihocoder 1497 Queen Attack
    hihocoder 1490 Tree Restoration
    SCU 4443 Range Query
  • 原文地址:https://www.cnblogs.com/haozong/p/11140684.html
Copyright © 2020-2023  润新知