• Linux基础及入门介绍


    一、linux发展历程

    ①1969年unix诞生贝尔实验室

    ②谭宁邦:minix unix

    ③斯托曼(stallman),公司:自由软件基金会(FSF)

    项目:GNU

    规则:GPL(所有人可以自由传播,自由修改)

    ④斯托曼:91年开发出linux内核。

    二、如何选择linux的发行版本

    (一)linux桌面系统

    ①Ubuntu(乌班图),开发人员开发平台

    ②服务器linux系统:

    redhat,centos(去掉redhat收费软件,去掉红帽里面的log)

    ③安全性较高:debian,freedsd

    ④数据库高级服务:openSUSE

    ⑤新技术、新功能:Fedora(稳定性:Fedora》redhat》centos)

    ⑥中文版本:红旗linux,麒麟linux。

    三、企业标准选择系统

    (一)系统分类

    centos6.*,centos7. *

    官网为:Centos.org

    国内镜像网站:mirrors.aliyun.com

    镜像源解释:

    LiveDVD:体验版,写入到光盘中个,刻录到u盘中。

    bin-DVD:生产中使用的。

    torrent:下载种子。

    (二)系统位数区别及虚拟机

    32位和64位区别

    ①设计时候定位不同。

    ②安装配置要去不同。

    ③运算速度不同。

    ④寻址能力不同。

    四、虚拟机

    在一台计算机上,虚拟出多台计算机。

    (一)学习环境的选择与推荐配置

    Win7/10,intel i5以上cpu,内存8G以上,硬盘500G

    虚拟机版本选择:

    windows:Vmware 8.0/12

    mac:vmware fusion

    (二)虚拟机创建(vmware)

    创建新的虚拟机--自定义--稍后安装操作系统--linux/redha/centos--虚拟机名称、虚拟机存放位置(vmware)--处理器配置(默认)--内存设置(大于1G)--网络类型(推挤nat)--磁盘(默认)-创建一个新的磁盘--指定磁盘容量(20G)--指定磁盘位置。

    (三)虚拟机常见问题

    ①权限不够:右击以管理员身份运行

    ②编辑虚拟机配置:

    CD/DVD:使用ISO读取文件,选择镜像所在的位置。

    ③点击运行虚拟机

    Inter-vt-x不支持。

    重启计算机后-F1,F2 进入安全模式:

    security-vitualizaition-vitualizaition(开启)

    vmware 相关windows服务没有开启:

    services.msc 启动所有vmware

    (四)企业级标准安装centos系统

    运行虚拟机:选择

    ①install or upgrade an existing system

    rescue installled system 启动救援模式

    ②media found --skip

    ③语言选择:English

    ④键盘:默认

    ⑤安装硬件存储类型:basic storage device

    ⑥hostname:centos6.9

    ⑦时区:上海

    ⑧设置root密码:123456

    ⑨分区:

    use all space 使用所有空间

    replace existing linux system 替换现有linux系统

    shrink current system 缩小现有系统

    use free space 使用剩余空间

    ***create custom layout 创建自定义布局

    /boot 引导系统启动--200M

    swap --内存的1.5倍。交换分区,临时作为内存使用

    / 根分区,剩余多少给多少。一切从根开始(c盘)。

    点击(分区3次,点击3次):Free,选择分区,force to be primary partion。--format(格式化)

    选择安装方式安装系统:minmal 最小化,customize now(自定义)

    base system:base,cmpatibility libraries,debugging tools

    deveplopment:deveplopment tools

    reboot (重启)

    配置虚拟机网络:

    vmware 编辑虚拟网络编辑器:点击nat模式

    (五)Linux网络配置

    网络配置:

    ①setup-②network-configuration-③device conf -④eth0-⑤network configuration(去掉型号,按空格)-⑥ok-⑦save-⑧saveandquit-⑨quit

    网卡的配置生效:

    重启网卡:ifdown eth0;ifup eth0

    查看网卡信息:ifconfig

    (六)xshell 安装与优化

    常用登陆登陆工具:xshell,secureCRT,putty

    文件-属性:进行个性化设置

    工具-选项:文件存储位置

    登陆失败问题排除:

    ip地址+端口(22)

    vmware 的3种的网络模式

    ①电脑pc--皇帝

    ②虚拟机--贫民百姓

    贫民百姓只关注谁给分配房子。

    NAT模式:

    ①电脑pc---皇帝

    ②nat----宰相

    ③虚拟机---贫民百姓

    贫民百姓的房子是宰相分配的,与皇帝无关。

    虚拟机的ip是nat分配的,电脑环境无论怎么变化,都不会影响虚拟机。

    好处:无论何处,连接虚拟机都可以使用相同的IP。

    桥接模式:

    ①电脑pc--皇帝

    ②虚拟机--贫民百姓

    只要更换环境,电脑和虚拟机的ip地址都会变化。

    仅主机模式:

    ①电脑pc--皇帝

    ②虚拟机--贫民百姓

    虚拟机贫民百姓被控制了,无法与外界联系,无法上网。

    远程连接排错:屌丝去洗浴中心之路

    ①查看道路是否畅通

    ping服务器的ip地址(本地shell进行ping测试)

    ②是否有人打劫

    ③查看是否提供服务

    本地测试:telnet ip 端口

    五、知识回顾

    (一)基础知识

    1.1解释下什么是GPL,GNU,自由软件

    GNU:GNU is not unix

    自由软件:gawk,bash,gcc,cmacs

    GPL:通用许可证

    1.2.如何选择linux操作系统发行版本?

    redhat ,centos

    1.3linux下面进行分区的几种方法?

    /boot 引导分区

    swap 交换分区

    / 根目录

    1.4远程连接排错问题?

    使用ping和telnet命令在本地进行测试:ip和端口。

    (二)初次接触linux必会规则

    [root@centos6-kvm2 ~]#

    用户名,主机名,当前位置,提示符

    linux系统命令操作语法的命令

    命令和参数之间要有空格。

    六、linux使用命令

    / 一切从根从开始。(斜线方向和win相反)

    (1)创建一个目录(directory):

    mkdir /data

    ls #list 列表,显示目录里面的内容。

    ls -l /data #查看目录里详细信息(tap键可以自动补全)。

    (2)进入到某个目录:

    cd /data

    绝对路径:从根开始的路径,最前面有个/,如:/data,/etc/hosts

    相对路径:不是从根目录开始,前面无/。

    pwd #查看当前目录位置。

    (3)创建文件:

    touch /data/oldboy.txt

    ls -l /data/

    (4)编辑文件内容

    vim /data/oldboy.txt

    编辑文件:i

    保存编辑文件:esc ,:wq!(q!强制退出,不保存编辑内容)。

    (5)查看文件内容

    查看编辑文件的内容:cat /data/oldboy.txt

    (6) echo 命令使用

    echo hello world

    将内容追加到文件最后一行:(》重定向符号)

    echo hello world >>/data/oldboy.txt

    ⑥在文件中放入多行内容

    cat >>/data/oldboy.txt<<EOF

    i

    am

    。。。

    EOF(end of file ,也可以使用其他符号,和上面配对使用即可)

    (7)重定向符号

    标准输出重定向(>),将文件内容清空后再写入。

    追加重定向(>>),把内容放在文件最后一行。

    重定向符号前有1(1>>,1>),将正确的内容重定向至文件。

    重定向符号前有2(2>,2>>),将错误的内容重定向至文件。(错误命令执行的结果),如:eho hello >>/data/oldboy.txt 2>>/data/oldboy.txt。可以简写成:eho hello >> /data/oldboy.txt 2>&1 #把错误的对的信息都放入。

    小于号(<):输入重定向

    xargs #分组命令

    [root@centos6-kvm2 ~]# mkdir /data
    [root@centos6-kvm2 ~]# touch /data/num.txt
    [root@centos6-kvm2 ~]# echo 1 2 3 4 5 >>/data/num.txt
    [root@centos6-kvm2 ~]# xargs -n2 </data/num.txt 
    1 2
    3 4
    5
    [root@centos6-kvm2 ~]# 
    

    两个大鱼号(>>):

    [root@centos6-kvm2 ~]# cat >> /data/num.txt << EOF
    > I AN
    > STUDING
    > LINX
    > EOF
    [root@centos6-kvm2 ~]# 
    

    (8)复制(cp)

    复制文件:

    cp /data/oldboy.txt /data/num.txt

    备份:

    cp /data/oldboy.txt /data/oldboy.txt .bak

    复制目录:

    cp /data /temp (omitting directory 忽略这个目录)

    cp -r /data /temp (递归复制)

    复制目录也可以:cp -a /data /tmp (-a,-pdr,复制所有:-p保持属性)

    (9)将文件移动(mv,剪切)

    mv /data/oldboy.txt /temp

    ls -l /data/oldboy.txt

    注意:vmware快照功能。

    (10)进入目录删除文件

    cd /tmp/data

    ls -l #查看当前目录内容

    rm oldboy.txt #-f,强制删除

    rm -r /data #删除目录-r,-rf强制删除

    注意:快捷键

    ctrl +c #退出

    ctrl + l #清屏

    (11)find 命令使用

    find /root/ -type f -name "oldboy.txt"

    -type :类型,f文件,d目录

    -name :名字,使用双引号。范围查找:“*.txt”

    管道符:|,把前面命令的结果,传递给后面的命令。管道符和xargs 搭档使用。

    [root@centos6-kvm2 /]# find /data/ -type f -name "num.txt" | xargs ls -l
    -rw-r--r-- 1 root root 28 Dec 11 00:01 /data/num.txt
    [root@centos6-kvm2 /]# 
    

    (12)退出至上一级目录

    cd ..#退至上一级目录

    cd ../#退至根目录

    注意:(.)一个点表示当前目录。

    (13)删除文件中固定的内容

    grep :查找内容所在的行,-v,取相反的内容

    [root@centos6-kvm2 /]# grep -v 'AM' /data/num.txt

    head #默认取前10行,-nxx,取前xx行。

    [root@centos6-kvm2 /]# head /data/num.txt -n 2

    tail:#默认取后10行,-nxx,取后xx行。

    [root@centos6-kvm2 /]# tail -2 /data/num.txt

    awk:过滤,!表示取反。

    [root@centos6-kvm2 /]# awk '!/OLDBOY/' /data/num.txt

    sed:过滤

    [root@centos6-kvm2 /]# sed '/OLDBOY/d' /data/num.txt

    (14)使用一条命令创建目录(多级)

    mkdir -p /oldboy/test #-p,创建多级命令;-v显示创建过程。

    (15)已知tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。

    强制:不提示确认键

    方法1:反斜线

    方法2:使用命令的绝对路径,全路径(如:which cp)

    -i #命令提示参数,linux别名中带有-i

    linux别名:防止危险命令,简化命令。

    临时设置linux别名:

    查看系统中别名:alias cp

    配置别名:

    执行rm 让其显示 do not rm:

    alias rm='echo do not rm'

    永久设置linux别名:

    vim /etc/profile

    alias rm='echo do not rm'

    source /etc/profile #使其生效。

    移动光标至最后一行:G

    移动光标至第一行:gg

    在光标所在位置的下一行插入一行,并进入编辑模式:o

    在vim /root/.bashrc 中有:rm,cp,mv -i的别名,如果要修改,需要将这个文件中的别名注释掉。

    命令前加,临时取消别名。

    (16)取出某一行或者多行

    sed -n '20p' /data/num.txt

    sed 默认取出所有内容,-n参数,只取出所选择的内容。

    [root@centos6-kvm2 /]# sed -n '10,15p' /data/num.txt 
    [root@centos6-kvm2 /]# sed -n '10p' /data/num.txt 
    

    head +tail组合:

    [root@centos6-kvm2 /]# head -15 /data/num.txt | tail -5
    

    awk:

    [root@centos6-kvm2 /]# awk 'NR==10,NR==15' /data/num.txt 
    1
    1
    1
    
    1
    4
    [root@centos6-kvm2 /]# sed -n '10,15p' /data/num.txt 
    1
    1
    1
    
    1
    4
    [root@centos6-kvm2 /]# 
    

    小结:

    1取出文件某一行

    awk:三剑客之老三,擅长取列,NR表示行号。

    sed :三剑客之老二,取行,与p配合使用。-n取消默认输出

    '10p','10,15p'

    head + tail组合使用。

    grep -A10,找到显示的内容及接下来的行。

    (17)替换文件工作

    找出文件

    find /data/ -type f -name '*.text'

    把oldboy文件的内容替换成oldgirl

    [root@centos6-kvm2 /]# sed -i 's#OLDBOY#OLDGIRL#g' /data/num.txt 
    

    把find命令找到内容交给后面命令处理

    [root@centos6-kvm2 /]# find /data/ -type f -name num.txt | xargs  sed -i 's#OLDBOY#OLDGIRL#g' /data/num.txt 
    

    注意:linux命令帮助,man 命令

  • 相关阅读:
    C/C++中0xcccccccc...
    函数指针定义
    Visual C++的DLL
    RGB
    链接指示:extern "C"
    for_each用法
    漫画 | 夜深了,程序员的电脑却没关,发生了这样的故事…
    漫画 | 小公司卧薪尝胆三年,意外拿到美团offer
    Java 可变参数
    使用程序往Neo4j导入CSV报错
  • 原文地址:https://www.cnblogs.com/cuiyongchao007/p/12046835.html
Copyright © 2020-2023  润新知