zoukankan      html  css  js  c++  java
  • Linux学习

    操作系统(本件的图片操作过程在个人有道云笔记里)

    作用

    管理计算机硬件和软件的系统。

    计算机哪几部分组成

    运算器,控制器,存储设备,输入设备,输出设备

    文件格式

    Windows

    FAT,NTFS,exFAT

    Linux

    Ext,Ext2-4

    主流LINUX

    Centos

    7 mini 64bit

    Ubuntu

    Ubuntu 1604 server 64

    下载地址

    centos下载地址:

    网易镜像:http://mirrors.163.com/centos/6/isos/

    搜狐镜像:http://mirrors.sohu.com/centos/6/isos/

    ubuntu下载地址:

    官网下载汇总信息:http://mirrors.zju.edu.cn/ubuntu-releases/16.04/

    http://mirrors.zju.edu.cn/ubuntu-releases/16.04/ubuntu-16.04.5-server-amd64.iso

    http://mirrors.zju.edu.cn/ubuntu-releases/16.04/ubuntu-16.04.5-server-i386.iso

    安装虚拟机前提条件

    软件环境

    这个windows自带的虚拟机:

    不好用

    功能不强大

    收费

    基于ubuntu系统集成的

    硬件环境

    需要打开笔记本BIOS中的IVT对虚拟化的支持

    虚拟机的选择

    Vmware

    功能强、收费

    Oracle VM VirtualBox(推荐)

    免费、开源、轻量好用

     

    安装VMWare虚拟机

    安装CentOS

    http://archive.kernel.org/centos-vault/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso

    安装VMTools工具

    1)什么是VMtools

    VM tools顾名思义就是Vmware的一组工具。主要用于虚拟主机显示优化与调整,另外还可以方便虚拟主机与本机的交互,如允许共享文件夹,甚至可以直接从本机向虚拟主机拖放文件、鼠标无缝切换、显示分辨率调整等,十分实用。

    2)先启动CentOS并成功登录如下图,发现底部提示且窗口中等大小,准备安装

    3)选择虚拟机菜单栏--安装VMware tools

    4)光驱自动挂载VMTools

    5)右键解压VMwaretools-9.6.2-1688356.tar.gz

    进入文件夹并确认看到vmware-install.pl文件

    6)运行vmware-install.pl文件

    最后用./vmware-install.pl”命令来运行该安装程序,然后根据屏幕提示一路回车。到此整个安装过程算是完成了。

    7)直接按到/dev/hdc...停止为止,安装完成

    8)重启CentOS, 这时候屏幕变成全屏了

    9)设置共享文件夹,实现Windows ß--------àCentOS文件共享

    虚拟机屏幕保护设置

    IVT虚拟化支持

    1)异常情况

    2)宿主机BIOS设置中的硬件虚拟化被禁用了

    需要打开笔记本BIOS中的IVT对虚拟化的支持

    安装VirtualBox虚拟机

    网址

    https://www.virtualbox.org/

    下载

    安装

    创建虚拟机

    终端工具

    XShell

    有免费共享版,轻量级、界面好看、操作友好。

    SecureCRT

    商业版本需要破解

    其他

    SSH Secure Shellnettermputty

    Ubuntu网络设置

    允许root直接登录

    编辑/etc/ssh/sshd_config

    注释掉PermitRootLogin without-password

    增加PermitRootLogin yes

    /etc/init.d/ssh restart

    保存,重启ssh

    配置静态IP

    vi /etc/network/interface

    auto enp0s3

    iface enp0s3 inet static

    address 192.168.0.217

    netmask 255.255.255.0

    gateway 192.168.0.252

    dns-nameservers 114.114.114.114 1.1.1.1   //域名解析服务器

    重启应用配置

    /etc/init.d/networking restart

    或者service network restart

    CentOs网络设置

    配置静态IP

    vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

    IPADDR=192.168.0.116    //IP地址信息

    GATEWAY=192.168.0.252 //网关信息

    netmask 255.255.255.0  //子网掩码

    ONBOOT=yes //是否系统启动就应用

    BOOTPROTO=static //IP静态分配

    DNS1=114.114.114.114 //域名服务器IP

    DNS2=1.1.1.1

    service network restart //重启网卡

    ping 163.com //测试连接域名是否正常

     

    重启
    reboot

    init 6
    shutdown -r now 立刻重启(root用户使用)
    shutdown -r 10 10分钟自动重启(root用户使用
    shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
    如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

    关机

    init 0
    1halt   立刻关机
    2poweroff  立刻关机
    3shutdown -h now 立刻关机(root用户使用)
    4shutdown -h 10 10分钟后自动关机

    启动级别

    0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。

    1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。

    2:多用户状态,没有NFS支持。

    3:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。

    4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。

    5:X11控制台,登陆后进入图形GUI模式,XWindow系统。

    6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启。

    目录结构

    /bin:是Binary的缩写,这个目录存放着系统必备执行命令

    /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里

    /dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

    /etc:所有的系统管理所需要的配置文件和子目录。

    /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

    /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

    Linux:动态库.so 静态库.a

    Window:动态库.dll 静态库.lib

    动态库是运行时调用,静态库是开发程序时调用.

    /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

    /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

    /misc: 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。

    /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

    /net  存放着和网络相关的一些文件.

    /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

    /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

    /root:该目录为系统管理员,也称作超级权限者的用户主目录。

    /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

    /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙

    /srv:service缩写,该目录存放一些服务启动之后需要提取的数据。

    /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

    /tmp:这个目录是用来存放一些临时文件的。

    /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。

    /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    VI编辑器

    Vi有三种基本工作模式:

    +  命令模式

    +  文本输入模式

    +  末行模式。

    命令行模式

    任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。

    文本输入模式

    在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。

    末行模式

    末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。例如:

    :sp newfile

    则分出一个窗口编辑newfile文件。如果要从命令模式转换到编辑模式,可以键入命令a或者i;如果需要从文本模式返回,则按Esc键即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。

    vim基础操作

    vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富

    进入插入模式:

    i: 插入光标前一个字符

    I: 插入行首

    a: 插入光标后一个字符

    A: 插入行未

    o: 向下新开一行,插入行首

    O: 向上新开一行,插入行首

    进入命令模式:

    ESC:从插入模式或末行模式进入命令模式

    :set nu显示文本行编号

    移动光标:
    Shift+^进入行头shift+$进入行尾  

    h: 左移

    j: 下移

    k: 上移

    l: 右移

    M: 光标移动到中间行

    L: 光标移动到屏幕最后一行行首

    G: 移动到指定行,行号 –G   //先按数字,再按大写字母G

    w: 向后一次移动一个字

    b: 向前一次移动一个字

    {: 按段移动,上移

    }: 按段移动,下移

    Ctr-d: 向下翻半屏

    Ctr-u: 向上翻半屏

    Ctr-f: 向下翻一屏

    Ctr-b: 向上翻一屏

    gg: 光标移动文件开头

    G: 光标移动到文件末尾

    删除命令:

    x: 删除光标后一个字符,相当于 Del

    X: 删除光标前一个字符,相当于 Backspace

    dd: 删除光标所在行,n dd 删除指定的行数

    D: 删除光标后本行所有内容,包含光标所在字符

    d0: 删除光标前本行所有内容,不包含光标所在字符

    dw: 删除光标开始位置的字,包含光标所在字符

    撤销命令:

    u: 一步一步撤销   //word里面ctrl+z

    Ctr-r: 反撤销 //ctrl+y

    重复命令:

    .: 重复上一次操作的命令

    文本行移动:

    >>: 文本行右移

    <<: 文本行左移

    复制粘贴:

    yy: 复制当前行,n yy 复制 n

     

    p: 在光标所在位置向下新开辟一行,粘贴 

    可视模式:

    v: 按字符移动,选中文本

    V: 按行移动,选中文本可视模式可以配合 d, y, x,>>, << 实现对文本块的删除,复制,左右移动

    替换操作:

    r: 替换当前字符

    R: 替换当前行光标后的字符

    查找命令:

    /: str查找

    n: 下一个

    N:上一个

    替换命令:

    abc全部替换成123

    末行模式下,将光标所在行的abc替换成123

    :%s/abc/123/g

    末行模式下,将第一行至第10行之间的abc替换成123

    :1, 10s/abc/123/g

    退出操作

    末行模式下

    q:未修改或已保存

    q!:强制退出

    w:保存   //vim newfile 打开可以直接保存,

    或者vim启动编辑后,通过:w newfile 保存到自定义文件名中。

    qw(x):保存并退出

    命令操作

    用户目录

    cd  /home/用户名   或  cd ~

    绝对路径

    凡事以/打头的都是。

    相对路径

    凡事不是能/打头的

    当前目录

    ../  

    上一级目录

    访问用户

    -rwxr-xr-x

    用户权限

    组权限

    其他用户权限

    访问权限

    读权限(r

     对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。

    写权限(w

    对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

    可执行权限(x

    对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

    示例说明

    1个字母代表文件的类型:d” 代表文件夹、“-” 代表普通文件“c” 代表硬件字符设备、“b” 代表硬件块设备、“s”表示管道文件、“l” 代表软链接文件。 后 9 个字母分别代表三组权限:文件所有者、用户者、其他用户拥有的权限。

    每一个用户都有它自身的读、写和执行权限。

    第一组权限控制访问自己的文件权限,即所有者权限。

    第二组权限控制用户组访问其中一个用户的文件的权限。

    第三组权限控制其他所有用户访问一个用户的文件的权限。

    这三组权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。

    常用基本命令

    命令行的使用方法

    command  [-options]  [parameter1]  …

    command: 命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选 parameter1 …:传给命令的参数:可以是零个一个或多个

    查看帮助文档

    ls --help 或者 man ls

    自动补全

    Tab

    历史命令

    History

    文件管理

    查看文件信息 ls -lh(加a是显示隐藏)

    ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

    Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

    DOS下的文件操作类似,在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

    重定向>

    linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

    如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

    注:>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。

    分屏显示more

    查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助.

    more 文件名

    显示文件前多少行

    head 文件名

    管道(|)

    一个命令的输出可以通过管道做为另一个命令的输入。

    管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(),右端取东西()

    ls -lh | grep python

    清屏(clear)

    clear作用为清除终端上的显示(类似于DOScls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )

    切换目录 cd

    显示当前路径pwd

    创建目录(mkdir)

    mkdir -p a/b/c  创建多级

    删除目录rmdir

    删除文件或目录rm

    rm -rf  文件名(r是强制f是递归删除)

    :windows里面强制删除文件shift+del

    建立链接文件ln

    前提更改要连接文件的权限,加上运行权限

    chmod +x readme.txt

    ln -s readme.txt  readme

    文本搜索grep

    文件查找find

     find /etc -name interfaces

    新建文件touch

    touch 文件名

    复制文件cp

    cp test.txt copy.txt

    移动文件mv(也可以改名字)

    mv test.txt /etc/

    归档文2tar

    tar -cvf all.txt.tar *.txt(以txt结尾)

    压缩文件gzip

    gzip -z all.txt.tar all.txt.tar.gz

    :gzip 压缩和解压过程中会删除源文件.

    tar –cvf aa.tar aa ;gzip aa.tar aa.tar.gz 相等于 tar –czvf aa.tar.gz aa

    解压用法: tar -zxvf 压缩包包名

    -z:指定压缩包的格式为:file.tar.gz

    压到指定目录:-C 大写字母“C”

    文件压缩解压:bzip2

    gzip -jcvf all.txt.tar all.txt.tar.bz2

    文件压缩解压:zipunzip

    不需要指定扩展名

    zip myzip *.txt

    unzip -d myzip

    看命令位置:which(whereis)

    whereis ls

    查看当前用户(whoami)

    查看登录用户:who

    退出登录账户: exit

    :快捷键ctrl+d

    添加用户账号:useraddadduser

    推荐用adduser 用户名  后续只需要写密码,其他直接回车

    注:推荐用adduser更方便,添加完后,用passwd修改密码

    设置用户密码:passwd

    删除用户:userdel

    切换用户:su 

    查看有哪些用户组

    cat /etc/group

    添加、删除组账号:groupaddgroupdel

    修改用户所在组:usermod

    usermod -G 用户组 用户名

    查看用户在哪些组

    groups 用户名

    修改文件权限:chmod

    如果需要同时进行设定拥有者、同组者以及其他人的权限,参考如下:

    r代表4w代表2x代表1

     chmod 777 文件

    ls -lh 进行查看

    修改文件所有者:chown

    Chown 用户名 文件

    修改文件所属组:chgrp

     chgrp 用户组 文件

    系统管理

    查看当前日历:cal

    显示或设置时间:date

    查看进程信息:ps

    ps -aux | grep 进程号

    动态显示进程:top

    终止进程:kill

    killall

    killall[参数][进程名]

    后台执行程序

    nohup ./test.py &

    监控文件变化

    tail –f 文件名

    关机重启:rebootshutdowninit

    检测磁盘空间:df

    df -ls

    检测目录所占磁盘空间:du

    du -sh

    查看或配置网卡信息:ifconfig

    测试远程主机连通性:ping

    打印文件内容cat

    查看程序端口netstat

    netstat -anpt | grep 80

    http:80端口

    证书https:443端口

    收邮件端口:143

    发邮件端口:25

    FTP(File Transfer Protocol):21

    远程桌面:3389 

    Mysql 3306

    Oracle 1521

    netstat –apnt

    安装软件

    1.在线市场安装

    Centosyum

    Ubuntuapt-get

    2.安装包

    Centos:rpm

    rpm –ixv 3.10a13.i386.rpm

    Ubuntu:deb

    dpkg -i Package.deb

    3.源代码编译安装

    1. 安装编译器
    2. 下载源代码

    远程登陆(SSH)

    ssh 用户名@IP

    使用ssh访问,如访问出现错误。可查看是否有该文件 ~/.ssh/known_ssh 尝试删除该文件解决。

    远程上传下载文件(SCP)

    远程拷贝文件,scp -r 的常用方法:

    1.使用该命令的前提条件要求目标主机已经成功安装openssh-server

    如没有安装使用 sudo apt-get install openssh-server 来安装

    2.使用格式:

    scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径  /保存到本机的绝对/相对路径

     

    举例:

    scp -r itcast@192.168.1.100:/home/itcast/QQ_dir/ ./mytest/lisi

     

    在后续会提示输入“yes”此时,只能输“yes”而不能简单输入“Y”

    拷贝单个文件可以不加 -r参数,拷贝目录必须要加。

    本地文件复制到远程:

    scp FileName RemoteUserName@RemoteHostIp:RemoteFile

    scp FileName RemoteHostIp:RemoteFolder

    scp FileName RemoteHostIp:RemoteFile

    本地目录复制到远程:

    scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder

    scp -r FolderName RemoteHostIp:RemoteFolder

    远程文件复制到本地:

    scp RemoteUserName@RemoteHostIp:RemoteFile FileName

    scp RemoteHostIp:RemoteFolder FileName

    scp RemoteHostIp:RemoteFile FileName

    远程目录复制到本地:

    scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName

    scp -r RemoteHostIp:RemoteFolder FolderName

    ssh免密码登录

    第一步生成密钥:ssh-keygen

    第二步复制密钥ssh-copy-id root@192.168.0.211

     都是在自己用户下面做,然后直接在自己用户里输入ssh ip地址登录

    中断免登:修改对方机器~/.ssh/authorized_keys 文件内容删除掉

    源码安装python

    下载源码

    https://www.python.org/downloads/source/

    Python-3.5.6.tgz

    解压

    tar -xvf Python-3.5.6.tgz

    查看README文件

    vim README

    ./configure

        Make   // make -j

        make test

    sudo make install

    apt-get install make

    make –j //-j会用系统多个CPU编译

    make install

    windows 开机启动

    Linux 调度任务

    crontab 详细用法 定时任务

    https://www.cnblogs.com/aminxu/p/5993769.html

    FTP安装

    chmod a-w /home/test/ftp/

    chmod 777 -R /home/test/ftp/share

    每日一linux命令网址

    https://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97%A5%E4%B8%80linux%E5%91%BD%E4%BB%A4/default.html?page=4

  • 相关阅读:
    IntelliJ IDEA隐藏不想看到的文件或文件夹
    IntelliJ IDEA更改字体和大小
    Dubbo实践(一)入门示例
    部署Jar包到远程Maven仓库
    Linux网卡别名
    ORACLE NLS_LENGTH_SEMANTICS 参数的用途
    Oracle编辑数据时提示:这些查询结果不可更新,请使用ROWI或者SELECT……FOR UPDATE获得可更新结果
    Notepad++格式化JSON字符串
    Xshell配色为Ubuntu风格
    【剑指offer】判断一个序列是否是二叉搜索树的后序遍历,C++实现
  • 原文地址:https://www.cnblogs.com/pursue339/p/10402975.html
Copyright © 2011-2022 走看看