Linux常用命令-运维-部署-基础命令

Linux常用命令

Linux一切皆文件

一、命令基本格式

    命令 [选项] [文件或目录]
    ls [选项] [文件或目录]
    #-超级用户;$-普通用户
    -a  显示隐藏文件
    -l 显示详细信息
    -d 查看目录属性
    -h 人性化显示文件大小
    -i 显示inode
    ls  -查询目录中内容
    ls -l   -查看详细信息
    -rw-r--r--   -权限,默认10位,
    1:文件类型(-:文件,d:目录,l:软连接文件)
    2-4:u所有者  5-7:g所属组   8-10:o其他人
    用户基本权限:r-读; w-写;x-执行
    1:引用计数
    ls -lh   -文件大小,人类可读
    ll===ls -l

二、文件处理命令

    1、目录处理命令
    2、文件处理命令
    建立目录:mkdir(make directories)
    mkdir -p[目录名]
    mkdir -p father/children 递归创建
    切换目录:cd(change directory)
    cd [目录]
    cd ~   进入当前用户的家目录
    cd      同上
    cd -   进入上次目录
    cd ..   进入上一级目录
    cd .   进入当前目录
    查询所在目录位置:pwd(print working directory)
    删除空目录:rmdir(remove empty directories)
    rmdir [目录名]
    删除文件或目录:rm(remove)
    rm -rf [文件或目录]
    选项: -r  删除目录    -f 强制
    ***注意***   rm -rf /    -删除根目录下所有文件
    复制命令:cp(copy)
    cp [选项] [原文件或目录] [目标目录]
    选项: -r:复制目录   -p:连带文件属性复制
                -d:若源文件是 链接文件,则复制链接属性
                -a:相当于 -pdr
    剪切或改名命令:mv(move)
    mv [原文件或目标] [目标目录]
    原文件和目标文件在同一目录-改名;
    原文件和目标文件不在同一目录-剪切
    mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql

    ===常用一级目录的作用===
    /根目录
    /bin命令保存目录(普通用户可以读取的命令)
    /boot启动目录,启动相关文件
    /dev设备文件保存目录
    /etc配置文件保存目录
    /home普通用户的家目录
    /lib系统库保存目录
    /mnt系统挂载目录
    /media挂载目录
    /root超级用户的家目录
    /tmp临时目录
    /sbin命令保护目录(超级用户才能使用的目录)
    /proc直接写入内存的
    /sys保存内存的过载点,不能直接操作
    /usr系统软件资源目录
       /usr/bin(普通用户)
       /usr/sbin系统命令(超级用户)
    /var系统相关文档内容(系统可变文档)

    3、链接命令
    链接命令:ln(link)---生成链接文件
    ln -s [原文件] [目标文件]
    选项   -s 创建软链接  (soft)
    硬链接特征:(hard)
    拥有相同的i节点和存储block块,可以看做是同一个文件
    可以通过i节点识别
    不能跨分区
    不能针对目录使用
    软连接特征:(soft)
    类似Windows快捷方式
    软链接拥有自己的I节点和Block块,但数据中只保存原文件的文件名和I节点,并没有实际的文件数据
    Irwxrwxrwx  ---I软链接,软链接文件的权限都为rwxrwxrwx
    修改任意文件,另一个都改变
    删除原文件,软链接不能使用
    软链接 原文件 写绝对路径

三、文件搜索命令

    文件搜索命令 locate ---搜索速度快,只能搜索文件名
    命令搜索命令 whereis 与 which
    文件搜索命令 find ---系统中找文件,遍历搜索,耗时,耗资源(完全匹配-通配符)
    字符串搜索命令 grep---文件中找字符串,包含匹配(正则)
    find命令与grep命令的区别

    locate命令格式---受 /etc/updatedb.conf配置文件 约束
    locate 文件名---在后台数据库中按文件名搜索,搜索速度快
    /var/lib/mlocate--- #locate命令所搜索的后台数据库
    updatedb---更新数据库

    搜索命令的命令 whereis(系统命令)
    where 命令名 ---搜索命令所在路径及帮助文档所在位置
    -b 查找可执行文件
    -m只查找帮助文件
    which(系统命令+别名)
    环境变量 $PATH ---定义的是系统搜索命令的路径
    [root@localhost ~]# echo $PATH
    /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    find命令
    find [搜索范围] [搜索条件] ---搜索文件
    find / -name install.log
    避免大范围搜索,非常耗资源。
    find是在系统当中搜索符合条件的文件名。
    如果需要匹配使用通配符匹配,通配符是完全匹配。

    Linux中的通配符
    *    匹配任意内容
    ?   匹配任意一个字符
    []   匹配任意一个中括号

    find /root -iname install.log   ---不区分大小写
    find /root -user root   ---按照所有者搜索
    find /root -nouser   ---查找没有所有者的文件

    find /var/log/ -mtime +10 ---查找10天前修改的文件
    (-10:10天内修改文件   10:10天当天修改的文件  +10:10天前修改的文件)
    选项:atime-文件访问时间; ctime-改变文件属性;mtime-修改文件内容

    find . -size 25k ---查找文件大小是25k的文件(-25k;25k;+25k)
    find . -inum 262422  ---查找i节点262422的文件

    搜索字符串命令grep
    grep [选项] 字符串 文件名   ---在文件中匹配符合条件的字符串
    选项: -i 忽略大小写;   -v 排除指定字符串(取反)

四、帮助命令

    1.帮助命令man (manual-手册)
    man 命令   ---获取指定命令的帮助
    eg:man man
    man ls   ---查看ls的帮助
    man的级别:1~8
        1.查看命令帮助
        2.查看可被内核调用的函数的帮助
        3.查看函数和函数库的帮助
        4.特殊文件(dev目录下)
        5.配置文件
        6.游戏
        7.其他杂项
        8.系统管理员可用命令
    查看命令拥有帮助级别: man -f 命令  == whatis 命令 || whereis 命令
    eg: man -5 passwd;man -4 null;man -8 ifconfig
    查看和命令相关的所有帮助: man -k 命令 == apropos 命令
    eg:apropos passwd
    2.其他帮助命令
    命令 --help   ---获取命令选项的帮助
    eg:ls --help

    help shell内部命令   ---获取shell内部命令
    eg:whereis cd   ---确定是否是shell内部命令
        help cd   ---获取内部命令帮助

    详细命令帮助info
    info 命令
    -回车  进入子帮助页面(带*标记)
    -u     进入上层页面
    -n     进入下一个帮助小节
    -p     进入上一个帮助小节
    -q     退出

五、压缩与解压缩命令

    常用压缩格式:.zip   .gz   .bz2   .tar.gz   .tar.bz2

    .zip格式压缩  ---与windows通用
    zip 压缩文件名 源文件   ---压缩文件
    zip -r 压缩文件名 源目录   ---压缩目录
    .zip格式解压缩
    unzip 压缩文件   ---解压缩.zip文件

    .gz格式压缩
    gzip 源文件                   ---压缩为.gz格式的压缩文件,源文件消失
    gzip -c 源文件 > 压缩文件名    ---压缩为.gz格式的压缩文件,源文件保留
    gzip -r 目录                  ---压缩目录下所有子文件,但不能压缩目录
    .gz格式解压缩
    gzip -d 压缩文件   ---解压缩.gz文件
    gunzip 压缩文件   ---解压缩.gz文件
    gunzip -r 压缩目录   ---解压缩目录

    .bz2格式压缩
    bzip2 源文件   ---压缩为.bz2格式的压缩文件,不保留源文件
    bzip2 -k 源文件   ---压缩后保留源文件
    bzip2命令不能压缩目录
     .bz2格式解压缩
    bzip2 -d 压缩文件   ---解压缩,-k保留压缩文件
    bunzip2 压缩文件    ---解压缩,-k保留压缩文件

   打包命令tar
   tar -cvf 打包文件名 源文件
        -c 打包
        -v 显示过程
        -f 指定打包后的文件名
    eg:tar -cvf test.tar test

    解打包命令
    tar -xvf 打包文件名
        -x 接打包
    eg:tar -xvf test.tar

    .tar.gz压缩格式
    tar -zcvf 压缩包名.tar.gz 源文件
        -z:压缩为.tar.gz格式
    tar -zxvf 压缩包名.tar.gz
        -x:解压缩.tar.gz格式

    .tar.bz2压缩格式
    tar -jcvf 压缩包名.tar.bz2 源文件
        -z:压缩为.tar.bz2格式
    tar -jxvf 压缩包名.tar.bz2
        -x:解压缩.tar.bz2格式

    tar -ztvf test.tar.gz   ---查看压缩包里的内容

六、关机与重启命令

    1.shutdown命令
    [root@localhost ~]#shutdown [选项] 时间
    选项    -c  取消前一个关机命令
            -h  关机
            -r  重启
    eg:shutdown -r now   ---立即重启
    *** 服务器不建议远程关机
    2.其他关机命令   ---安全性没shutdown高
    [root@localhost ~]#half
    [root@localhost ~]#poweroff
    [root@localhost ~]#init 0
    2.其他重启命令   ---安全性没shutdown高
    [root@localhost ~]#reboot  ---相对安全
    [root@localhost ~]#init 6  ---不建议
    4.系统运行级别
        0   关机
        1   单用户   ---系统修复时
        2   不完全多用户,不含NFS服务   ---NFS-文件共享服务
        3   完全多用户   ---字符界面
        4   未分配
        5   图形界面
        6   重启
    init 级别数   ---调用系统运行级别

    [root@localhost ~]#cat /etc/inittab
     #修改 系统默认 运行级别
     id:3:initdefault   ---定义系统默认运行级别 3-字符界面

    [root@localhost ~]#runlevel
     #查询系统运行级别

     5.退出登录命令
     [root@localhost ~]#logout

七、其他常用命令

    NO1.挂载命令 ---Linux中所有存储设备必须挂载后才能正常使用(分配盘符)
        1.查询与自动挂载
         [root@localhost ~]#mount
          #查询系统中已经挂载的设备
        [root@localhost ~]#mount -a
          #依据配置稳健 /etc/fstab 的内容,自动挂载
        2.挂载命令格式
        mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点(盘符)
          -t 文件系统:加入文件系统来指定挂载类型,eg:ext3、ext4、iso9660
          -o 特殊选项:可以指定挂载的额外选项
        3.挂载光盘
            mkdir /mnt/cdrom   ---建立挂载点
            mount -t iso9660 /dev/sr0 /mnt/cdrom   ---挂载光盘
            mount /dev/sr0 /mnt/cdrom   ---简写
        4.卸载命令
            umount 设备文件名或挂载点
            umount /mnt/cdrom
        5.挂载U盘
            fdisk -l   ---查看U盘设备文件名
            mount -t vfat /dev/sdb1 /mnt/usb
        ***Linux默认不支持NTFS文件系统   ---解决:安装ntfs-3g

    NO2.用户登录查看命令 和 用户交互命令
        1.查看登录用户信息
        w 用户名
            命令输出:
            USER:登录的用户名
            TTY:登录终端
            FROM:从哪个IP地址登录
            LOGIN@:登录时间
            IDLE:用户闲置时间
            JCPU:和该终端连接的所有进程占用的时间
            PCPU:当前进程占用的时间
            WHAT:当前正在运行的命令
        who 用户名
            命令输出:用户名   登录终端   登录时间(登录IP地址来源)
        last   ---查看当前登录和过去登录的用户信息
            last命令默认读取/var/log/wtmp文件数据
            命令输出: 用户名  登录终端  登录IP 登录时间 退出时间(在线时间)
        lastlog    ---查看所用用户的最后一次登录时间,默认读取/var/log/lastlog文件数据

Shell基础

一、Shell概述

    Shell是一个命令行解释器,它为用户提供一个向Linux内核发送请求以便运行程序的界面系统级程序,
    用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
    Shell是一个功能强大的编程语言,易编写,易调试,灵活性强。
    Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

    ASCII字符 <---> 二进制
            |
    用户<--->Shell<--->内核
    Shell分类
        Bourne Shell:sh  ksh  Bash  psh  zsh
        C Shell:csh  tcsh
        eg:echo $SHELL   ---/bin/bash(exit:退出)
        Bash兼容--->vi /etc/shells

二、脚步执行方式

    1.echo 输出命令
    echo [选项] [输出内容]
    选项: -e 支持反斜线控制的字符转换
      \a   b  \n  \r  \t  \v  \0nnn  \xhh
    echo可以识别颜色 输出颜色
    2.第一个Shell脚步
    [root@localhost sh]vi hello.sh
    #!/bin/bash ---Linux的基本Shell类型bash
    #the first program ---注释
    echo -e "\e[1;34m the first program! \e[0m" ---代码
    3.脚本执行
    赋予执行权限,直接运行
        chmod 755 hello.sh
        ./hello.sh
    通过Bash调用执行脚本
        bash hello.sh

三、Bash的基本功能

    1.命名别名与快捷键
        查看与设定别名
            alias   ---查看系统中所有的命令别名
            alias 别名='原命令'   ---设定命令别名
            eg:alias ls='ls --color=never'
        名永久生效与删除别名
            vi ~/.bashrc   ---写入环境变量配置文件
            unalias 别名   ---删除别名
        命令优先级:
            第一位:用绝对路径或相对路劲径行的命令
            第二位:别名
            第三位:Bash内部命令
            第四位:按照$PATH环境变量定义的目录查找顺序找到的第一个命令
        常用快捷键:
            ctrl+c  强制终止当前命令
            ctrl+l  清屏
            ctrl+a  光标移动到命令行首
            ctrl+e  光标移动到命令行尾
            ctrl+u  从光标所在位置删除到行首
            ctrl+z  把命令放入后台
            ctrl+r  在历史命令中搜索

    2.历史命令
        history [选项] [历史命令保存文件]
        选项:-c  清空历史命令
             -w  把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
        
    3.输出重定向   ---定时任务
        eg:ifconfig > test.log   ---覆盖
            ifconfig >> test.log   ---追加
        错误命令 2>>test.log   ---追加记录错误信息
        ***命令 &>>test2.log   ---同时输出正确和错误信息
        ***ls &>/dev/null  ---垃圾站
        ***cat xdy >> acess.log 2>>error.log   ---true:access.log;false:error.log 
        输入重定向:(应用=软件安装+补丁)
        [root@localhost ~]#wc [选项][文件名]
        选项:-c 字节数;-w 单词数;-l 行数
        eg: wc < access.log 
            wc << bigflag
    4.多命令顺序执行
        ;    多命令顺序执行
        &&   逻辑与
        ||   逻辑或
        eg:ls && echo yes || echo no
        管道符:
        命令1 | 命令2   ---命令1的正确结果传给命令2操作
        eg:ls -l /etc | more
        eg:netstat -an   ---网络连接查看
            netstat -an | grep ESTABLISHED | wc -l   ---服务器连接人数
        
    5.Shell中特殊符号
        通配符:
        ?   任意一个
        *   任意多个
        []  中括号中任意一个

        Bash中特殊符号:
        ''  
        ""  
        ``  引用系统命令
        $() 引用系统命令
        #   注释
        $   调用变量
        \   转义符

    *快捷键
    Ctrl+l:清屏
    Tab:命令补全,目录补全(once,double)

你可能感兴趣的:(学习分享)