Linux操作系统文档

 

一、 Linux操作系统概述

为什么要学习Linux操作系统

 

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

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

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

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

    

Linux系统的特点:

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

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

3、 出色的运行速度

4、 基于UNIX

5、 加入GNU组织(GNU---自由软件组织 CopyLeft)

 

Linux组成:

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

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

 

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

和ntfs

 

5、 应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office等。

 

 

Linux版本

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

2、 发行版本一些厂商将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合,例如RedHat LinuxCentOSDebianUbuntu, Novell/SuSE Linux等。 

RedHat : Rhel(企业) CentOS(社区版)

DebianDebian Ubuntu(桌面)

   

二、Linux系统安装

 

l 安装vmware虚拟机

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

l 在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)

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

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

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

d

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

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

 

 

2、 命令交互通道

[zrgk@localhost ~]$

zrgk 用户名

localhost 主机

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

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

五、 Linux常用命令

查看系统版本

Cat /etc/redhat-repase

详细内核信息: cat /proc/version

 

系统使用Linux3.10内核64位操作系统,gcc()

Linux基本命令

1、 cd 切换目录

例如 cd Desktop 切换到桌面

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

 

2man(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目录

6、 tab 自动补全

 

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

例如 touch aa.txt

       

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

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

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

        

9、 cat 查看文件内容

例如 cat aa.txt

   

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

 

11、 cp 复制

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

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

        11mv 剪切、重命名

            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用户切换到其他用户不需要输入密码

l Linux系统命令

 

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

例如:stat aaa.txt

2、 whowhoami

who 查看在线的用户

whoami 查看当前自己的用户

       

3、 hostname     显示主机名

4、 uname        显示系统信息

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

        5top           显示当前耗时的进行的信息 ,每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

 

手动配置

重启网络服务: service network restart

10ping命令    windowsping命令相同

11clear 清除   windows cls

12kill    杀死进程

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

    

13netstat 网络连接详细信息

14useradd 操作用户

   1

     切换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脚本的解析方式     shbashrbash

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     gzbzipzip

    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  把压缩文件解压成归档文件

 

3、 打包及压缩

  --打包及压缩

 

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

 

 

              --拆包及解压缩

 

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

 

 

七、管理软件

Windows   .exe 安装、卸载

           安装:双击执行.exe 文件

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

 

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   在线安装

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

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

            Ubuntu 系统 需要安装

没有安装手动安装: yum -y  install vim*

2 使用 vim

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

   操作模式

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

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

2 编辑模式:

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

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

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

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

    wq 保存退出

    set number 显示行号

    set nonumber 不显示行号

4 vim中翻页

ctrl+f  ctrl+b

                 5 vim中检索(查找)    按/键

更多使用: http://www.runoob.com/linux/linux-vim.html

  

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

8.1  SSH

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

 

OpenSSH

 

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

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

CentOS系统中默认安装了OpenSSH

 

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

 

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

 

 

- 支持中文设置

https://blog.csdn.net/xdfwsl/article/details/3031116?utm_source=blogxgwz1

n 使用winscp 软件,进行客户端和服务器端文件传输

 

 

8.2 安装Python

8.3 安装django部署环境

8.4  IDE及常用工具安装

 

 

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

1. 安装JDK

 

步骤 

1进入root用户

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 开启防火墙

 

 

原文地址:https://www.cnblogs.com/cwx-0324/p/10858719.html