• Linux基础知识入门


     

    前言:
    最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里.


    1,V8:192.168.40.10
    V1:192.168.40.11
    Linux ip:192.168.40.128

    2,Linux是一个操作系统, 与windows的区别:
    Linux:图形化界面简单,性能很快,在企业中当做服务器来使用.
    Windows:图形化界面很炫,性能相对差,大众用户.
    windows的服务器: windows2003,windows2008,windows2012

    3,Linux的作用:
    当做服务器来使用

    4,Linux中目录结构:
    bin:存放二进制可执行文件
    sbin: 存放二进制可执行文件,只有root才能访问
    etc:存放系统配置文件
    usr:用于存放共享的系统资源
    home:存放用户文件的根目录
    root:超级的用户目录
    dev:用于存放设备文件
    lib:存放跟文件系统中的程序运行所需要的共享库及内核模块
    mnt:mount系统管理员安装临时文件的安装点
    boot:存放用于系统引导时使用的各种文件
    tmp:用于存放各种临时文件
    var:用于存放运行时需要改变数据的文件(log日志)

    5,NetWork connection:
    Host-only:本地跟远方的Linux通信需要用这个
    NAT:多个Linux系统之间相互通信

    6,使用SecureCRT

    Linux命令:
    ifconfig: 查看ip
    service network restart:重启
    命令分类:
    内部命令:执行shell解析器的一部分,存放在bash目录,执行速度快,不需要创建子进程
    cd:切换目录change directory
    pwd:显示当前工作目录 print working directory
    help:帮助

    外部命令:独立于Shell解析器之外的文件程序,执行速度慢,一般存放在bin/sbin/usr/sbin/此类目录,执行时创建子线程.
    ls:显示文件和目录列表
    mkdir:创建目录
    cp:复制文件或目录

    操作文件或目录的命令:
    pwd
    touch:创建空文件
    echo:写文件内容: echo "aaa">a.txt
    mkdir:创建目录
    -p父目录不存在的情况下先生成父目录
    cp:复制文件或目录
    -r:递归处理,将指定目录下的文件与子目录一并拷贝
    mv:移动文件或目录,文件或目录改名
    rm:删除文件
    -r同时删除该目录下的所有文件
    -f强制删除文件或目录
    rmdir:删除空目录
    cat:显示文本文件内容
    more,less:分页显示文本文件内容
    head,tail:查看文本中开头或结尾部分的内容.


    查看帮助文档:
    内部命令 :help+命令(help cd)
    外部命令: man+命令(man ls)

    7,常见命令
    ===========常用命令=============
    一,目录与文件命令
    1,目录处理命令:mkdir,rm,ls,find,cd,mv,cp,pwd,chmod
    2,操作文件命令:touch,rm,find,cat,more,less
    3,压缩/解压命令:gzip,bzip2,tar
    4,其他常用命令:head,tail,wc,in,mount

    二,用户操作命令
    useradd,userdel,usermod

    三,用户组操作命令
    groupadd,groupdel,groupmod

    四,安装软件命令
    yum,rpm

    五,网络命令
    ping,ifconfig,netstat


    ===========================
    echo "welcome to linux" > a.txt: 往a.txt中写入字符
    cat a.txt: 查看a.txt中的内容
    ctrl+L: 清屏
    ctrl + z: 退出(cat > file 写入文件时使用这个键退出写入)
    vi模式下: 编辑完成后点esc ,然后 如果要保存退出输入:wq,不保存退出输入:q!
    点击esc, shift + z + z 退出并保存
    ============详解============
    mkdir:创建目录 (touch a.txt :创建文件)
    mkdir dir : 创建名称叫做dir目录, 创建单个目录
    mkdir dir1 dir2 : 创建多个目录,dir1, dir2
    mkdir dir{3..10}: 创建dir3 dir4...dir10


    cp:copy复制
    复制文件: 
    cp a.txt b.txt: 复制a.txt 且复制后的文件名为b.txt
    cp a.txt dir: 将a.txt拷贝到dir文件夹下
    cp *.txt dir
    cp ../*.txt ../dir2:将上一级目录下的所有txt文件拷贝到上一级目录的dir2文件夹下
    cp ../file* . //拷贝到上一级目录下的所有file文件到当前目录

    复制目录:
    cp -r dir1 dir2: 将dir1 目录复制到dir2目录中
    cp -r dir/* dir1/ : 将dir中的所有文件和目录复制到dir1目录中


    mv:目录移动(剪切)
    移动文件:
    mv file1 file2 //如果file2不存在,将file1重命名为file2
    mv file2 file1//将file2命名为file1, 如果file1中有内容, 则覆盖
    mv dir/* dir1//将dir 中所有目录及文件移动到dir1目录中


    移动目录:
    mv dir dir1//将dir目录移动到dir1目录中
    mv dir2 dir3 dir1//将dir2和dir3移动到dir1中


    rm:remove 删除
    删除文件:
    rm a.txt //删除a.txt
    rm a.txt b.txt //同时删除a.txt b.txt
    rm *txt//删除所有扩展名为txt的文件
    rm -rf dir1/* //强制删除dir1下所有文件和目录

    删除目录:
    rm -rf dir1// 删除dir1 下的所有文件和目录, f是强制删除, 不需要提示


    cd:切换目录
    cd .. //跳转到上一级目录
    cd ~ //跳转到根目录
    cd /usr/local //跳转到usr下的local目录


    pwd:显示当前的目录


    touch:创建文件
    语法:touch filename

    touch myfile1//创建单个文件,文件名为myfile1
    touch myfile2 myfile3//同时创建两个文件
    touch myfile{1..10}//创建多个文件

    cat
    功能1: 查询文件内容,查询全部文件内容(如果文件过大, 会卡死)
    cat filename// 查看文件名filename的文件内容

    功能2: 可以创建文件, 并且写入内容
    cat > myfile10

    功能3:合并文件,合并内容
    cat myfile1 myfile2 > myfile10//将myfile1 和 myfile2 中的内容合并到myfile10中, myfile10中内容被覆盖

    more: 查看文件, 可以分页查看
    +n 从第几行开始
    -n 定义屏幕显示多少行

    more myfile//分页查看myfile文件
    more +3 myfile//从第三行开始查看myfile文件
    more -2 myfile//每页显示两行
    more +/pattern myfile//从myfile中搜索pattern, 结果显示在第三行


    less: 查看文件, 分页上下翻滚页


    head: 查看文件, 分页显示, 每页只显示10条
    head myfile// 默认每页只显示10条
    head -n 5 myfile//查看myfile1,每页显示5条记录
    head -c 12 myfile//查看myfile,只显示前面12字节符


    tail:查看文件, 实时监控文件
    tail -f myfile// 实时监控myfile文件的变化

    which:查找命令
    which 命令
    which mv//将mv命令的别名和mv所在的位置都给查询出来


    whereis: 查找命令
    whereis mv: 查找命令的所在位置, 帮助文档,命令源码


    locate: 查找文件
    locate myfile//搜索出来myfile所在目录, 需要先刷新db, 使用命令: updatedb
    新创建的文件搜索不到,新创建的文件被放在Linux的文件数据库, 需要属性文件数据库才能够找到

    find: 查找文件
    find -name myfile//根据文件名, 在当前的目录进行查询
    find -name "myfile"//和上面一个没有区别
    find /etc/ /root/ -name "*[A-Z]*" //查询目录etc和root下以A-Z开头的所有文件
    find /etc/ /root/ -name "*[A-Z]*" -exec ls -l {} ;// 把查询结果交给ls命令继续执行, 显示前面查询结果详细信息.
    -exec:执行,执行后面的命令,执行ls -l命令
    {}: 标识查询结果在一行显示
    ; :命令要使用很好结束,斜杠是用来转义的.


    | (管道命令)
    把前面的查询结果交给后面的命令进行执行
    ls -al | more -5 //查询所有,把查询的结果交给more命令去执行


    grep (过滤命令) 经常和管道命令一起使用
    ps -ef | grep svn//查询所有进程, 过滤查询svn



    ln: 连接命令,创建快捷方式
    ln -s myfile link//给myfile创建一个快捷方式link


    top:显示当前系统中消耗资源的进程情况
    top //每隔5秒显示徐偶有进程的资源占用情况
    top -d 2//每隔2秒刷新


    ps: 查看进程(常用)
    ps -ef//查看所有进程
    ps -ef | grep redis //查看redis进程是否存在


    kill: 杀死进程(常用)
    kill -9 PID

    df: 显示磁盘使用情况
    df -h//查看当前磁盘使用情况, 包括占用量单位


    shutdown: 关机
    shutdown 系统关机
    shutdown -r 关机后立即重启
    shutdown -h 关机后不重新启动


    halt: 关机后关闭电源


    reboot: 重新启动


    =============================解压缩命令
    gzip zip bzip2 压缩命令

    gzip: 压缩文件, 不能够压缩目录
    gzip file3// 把file3压缩, 压缩后文件名变为: file3.gz

    gunzip: 解压
    gunzip file3.gz//解压单个文件
    gunzip file1.gz file2.gz //解压多个文件
    通常使用 gzip -d 来解压
    gzip -dv file1.gz// 解压file1, v 是视图可以看到解压过程


    bzip2和gzip压缩方式一样


    zip:
    zip myzip.zip file1 //将file1 压缩成myzip.zip
    unzip myzip.zip// 解压


    tar: 打包命令, 将多个文件压缩成一个文件
    tar -cvf dir.tar dir//将dir目录下所有文件打包成dir.tar
    tar -xvf dir1.tar//解包

    gzip dir.tar //压缩tar文件变成dir.tar.gz
    tar -zxvf dir.tar.gz//解压dir.tar.gz到dir
    -z:解压gz扩展名的文件
    -x:解压tar包
    -v:显示执行过程
    -f:指定解压文件

    bzip2 dir.tar//使用bzip2压缩tar包: dir.tar.bz2
    tar -jxvf dir.tar.bz2//解压bzip2格式包




    ==============vim文本编辑器
    vim进入编辑器
    vi有3总模式: 插入模式,命令模式,低行模式
    1,插入模式
    i 进入插入模式

    2,命令模式
    esc 进入命令模式

    3,底行模式
    :或者/ 进入底行模式

    在命令模式下:
    基本:
    a:在当前光标位置的右边添加文本
    i:在当前光标的位置的左边添加文本
    A:在当前行的末尾位置添加文本
    I:在当前行的开始处添加文本
    O: 在当前行上面创建一行
    0: 在当前行下面创建一行
    R:替换(覆盖)当前光标位置及后面的若干文本
    J:合并光标所在行及下一行为一行

    删除,撤销:
    x:删除当前字符
    nx: 删除从光标开始的n个字符
    dd:删除当前行
    ndd:删除n行
    u:撤销上一步操作
    U:撤销当前行的操作

    搜索:
    /vpser: 向光标下搜索vpser字符串
    ?vpser: 向光标闪搜索vpser字符串
    n: 先下搜索前一个搜索动作
    N: 向上搜索前一个搜索动作

    跳转指定行:
    n+: 向下跳转n行
    n-: 向下跳转n行
    nG: 调到行号为n的行
    G: 跳至文件的底部

    设置行号:
    :set nu //显示行号
    :set noun//取消显示行号

    复制粘贴:
    yy: 将当前行复制到缓存区
    nyy:将当前行向下n行复制到缓存区
    p: 当前行的下面进行粘贴
    P: 当前光标所在行的上面进行粘贴
    yw:复制光标到单词词尾
    nyw:复制从光标开始的n个单词
    y^: 复制从光标到行首的内容
    y$: 复制从光标到行尾的内容


    替换:
    :s/old/new //用new替换行中首次出现的old 这个单词为new
    :s/old/new/g //用new替换当前行中所有的old单词
    :n,m s/old/new/g //用new替换从n到m行在哪个所有的old单词
    :%s/old/new/g //用new替换当前文件中的所有old



    8,权限管理
    ==================权限管理
    -rwxrw-r--
    - :类型
    rwx:所属用户权限
    rw-:所属组权限
    r--:其他用户权限

    最高位:文件类型
    -: 普通文件
    d: 目录
    l: 快捷方式文件

    高三位:u 所属用户权限(rwx)
    中间三位:g 用户所属组权限(rw-)
    第三位:o 其他用户权限(r--)
    设置权限第一种方式举例:
    ---------- file1: file1 无权限 (使用chmod 0 file1 就取消所有权限)
    设置权限: (x:执行权限 r:读权限 w:写权限)
    chmod u+x file1----> ---x------ file1
    chmod u+r file1----> -r-x------ file1
    chmod g+w file1----> -r-x-w---- file1
    chmod g+rx file1---> -r-xrwx--- file1
    chmod o+rwx file1--> -r-xrwxrwx file1

    chomod o=x file1---> -r-xrwx--x file1


    设置权限第二种方式举例:
    用421来代表rwx, 对应关系如下:
    421 421 421
    rwx rwx rwx

    chmod后面每一位数字匹配三位: 3=2(w)+1(x) 5=4(r)+1(x)

    chmod 421 file1-----> -r---w---x file1 (4代表用户的读权限,2代表组的写权限,1代表其他用户的执行权限)
    chmod 354 file1-----> -rwxrwxw-x file1

    9,安装软件
    =======================安装软件
    rpm: 安装麻烦 不建议使用
    yum: 支持在线升级

    1,关联dvd磁盘到本地: 右键CentOS 选择Settings, 然后找到CD/DVD 选择connected即可.



    2,Yum命令支持在线升级,执行yum命令的时候,检测/etc/yum.repos.d/下面所有repo文件.
    repo文件里面存储的是网址,yum命令检测repo文件里面网址直接去网上下载.
    可以把repo文件修改, 让repo文件指向本地的dvd盘.
    3,挂载dvd盘到mnt目录
    挂载命令:mount /dev/cdrom/ mnt/
    挂载成功截图:


    4,修改repo文件
    先备份repo文件: rename .repo .bak * //将所有repo扩展名的文件修改为后缀为.bak
    创建自己的repo文件,指向本地文件:touch mine.repo
    进入vim编辑repo文件: vim mine.repo
    [centos6.6]
    name=centos-dvd
    baseurl=file:///mnt
    gpgcheck=0
    enabled=1
    清空yum源:yum clean all
    加载yum源:yum repolist all

    安装mysql: yum install mysql-server


    启动mysql:service mysqld start


    登录数据库:mysql -uroot p


    查询数据库:show databases;



    ======================安装jdk和tomcat
    1, 先将jdk和tomcat传输到Linux root目录下

    2, 在usr/local 下建立文件夹存放jdk和tomcat安装包: mkdir hadoop

    3, 移动root目录下安装包 到 usr/local目录下: mv jdk-7u55-linux-i586.tar.gz apache-tomcat-7.0.47.tar.gz /usr/local/hadoop/


    4, 解压安装包: tar -zxvf jdk-7u55-linux-i586.tar.gz 
    tar -zxvf apache-tomcat-7.0.47.tar.gz
    5,配置环境变量: vim profile
    在最后一行添加: export JAVA_HOME=/usr/local/hadoop/jdk1.7.0_55
    export PATH=$JAVA_HOME/bin:$PATH

    6,刷新设置: source /etc/profile
    7,查看是否安装成功:java -version



    常见问题:
    1,修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
    解决方案:在64系统里执行32位程序如果出现/lib/ld-linux.so.2: 
    bad ELF interpreter: No such file or directory,
    安装下glic即可:sudo yum install glibc.i686
    2,error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
    使用:sudo yum install zlib.i686 



    ====================安装lrzsz(可以上传文件到指定目录)
    1,安装:yum install lrzsz
    2,安装后使用命令: cd /usr/local/hadoop/
    rz: 直接弹出传输对话框
    3,将tomcat传递到hadoop目录下
    4,启动tomcat
    cd /usr/local/hadoop/apache-tomcat-7.0.47/bin/
    ./startup.sh

     
    分类: Linux
  • 相关阅读:
    mac上finalShell的安装
    c 字符串与字符串操作
    .net5 MailKit
    c 99乘法表
    element 动态表单加自定义校验
    遇到的问题 vscode 问题
    vue-element-admin eslint 规则查询表
    利用html2canvas 导出网页 (只是用于自己的笔记,如果需要看配置,自行查找插件api)
    git 常用命令
    uniapp中自动打包微信小程序后自动上传代码
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5763499.html
Copyright © 2020-2023  润新知