美文网首页
linux常用命令

linux常用命令

作者: 钱学敏 | 来源:发表于2020-03-03 09:11 被阅读0次

    vim常用快捷键

    进入编辑

    o 移动到下一行,并处于编辑状态
    O 当前光标上一行,并处于编辑模式
    i 当前光标下处于编辑模式
    A 当前行结尾处于编辑模式

    按行操作

    shift + g 到文件结尾
    gg 到文件开头
    ngg 移动到第n行
    n+回车 从当前行算起,向下移动n行

    行内操作

    $ 行尾 end键
    0 开头 home键 ^

    复制粘贴删除

    yy:复制当前行
    nyy:复制当前行起复制几行
    p:粘贴
    yyp:复制当前行并粘贴
    dd:删除当前行
    ndd:当前行为起点,删除n行
    u:撤销

    行号

    :set nu 显示行号
    :set nonu 取消行号

    搜索

    / 搜索
    n 继续向下搜索,N反向搜索
    ?80 问号回车向上查找

    替换

    :%s/A/B/g 把A换成B 批量替换
    :%s/dd/ff/g

    终端下常用的快捷键

    TAB键:自动补全,连续按3下
    Ctrl+a 光标切到命令行开头
    Ctrl+e 光标切到命令行结尾
    Ctrl+u 剪切光标前的内容
    Ctrl+k 剪切光标后的内容
    Ctrl+y 粘贴剪切的内容
    Ctrl+Insert 复制
    shift+insert 粘贴
    Ctrl+c 终断当前行
    Ctrl+l 清屏(clear)
    Ctrl+d 退出当前窗口

    打包、压缩、解压

    tar 格式:tar 选项 包名 目录/文件名(压缩)

    -z 压缩
    -c 创建
    -v 输出过程信息
    -f 指定文件
    -tf 查看包里的内容
    -h 打包软连接对应的文件
    --exclude 排除文件 --exclude=被排除文件
    -p 打包的时候保持属性 类似于(cp -p)
    -j 以bzip格式打包
    -X 把要排除的文件放到文件列表里 包名称后面直接跟要排除的文件名

    tar 解压

    -x 解压
    zxvf 解压 简写xf

    用户、用户组、权限

    useradd 添加用户
    groupadd 添加用户组
    userdel+用户名 删除用户
    groupdel+组名 删除组
    id + 用户名:查看用户ID及组ID
    passwd+用户名 设置用户密码
    chown root:root + 文件名 修改文件所属的用户用户组
    chmod 修改文件权限
    +x 添加执行权限 +好表示添加

    • 去掉某个权限
      r 读 对应数字4
      w 写 对应数字2
      x 执行 execute 对应数字1
      chmod -R 递归
      用户,用户组,其他用户
      u 用户
      g 用户组
      o 其他用户

    yum、rpm

    yum

    yum install + 名称 安装软件
    yum update 升级系统
    yum upgrade 升级系统
    yum search + 名称 查找包
    yum grouplist 查看包组
    yum groupinstall 安装组包

    rpm

    -qa 查询软件是否安装 query 查询的意思,a就是all
    -ql 显示软件包的内容 list列表
    -ivh
    -e 删除软件包
    -qf+绝对路径 显示命令或软件属于哪个软件包

    通配符、特殊字符、正则

    通配符

    * 代表所有,标示所有
    ? 表示任意单个字符
    [abcd ] 表示括号里的任意单个字符
    [!abcd ] 表示不匹配括号里任意字符,取反
    [^abcd ] 表示不匹配括号里任意字符,取反
    特殊字符
    ‘ ’单引号 所见即所得 引用的内容不会发生变化
    “ ”双引号 最经常使用的,可以对命令和变量进行解析(需要用反引号引起来,或者使用 $())
    ` ` 反引号 引用的命令会被解析,一般用来引能知行的命令,命令要解析,就用反引号
    不加引号一般是指不加单引号和双引号,等同于双引号。适合于连续的数字。
    ; 表示一个命令的结束。也是命令间的分隔符
    # 注释内容
    $ 去变量的值,也是正则的结尾符
    { } 生成序列
    | 表示管道,管道符
    重定向
    1 标准输出
    2 标准错误输出
    0 标准输入
    > 标准输出重定向 把后面接的文件内容清空后,然后放入自己的内容
    >> 追加重定向 不清空内容,在文件尾部追加内容
    2> 错误输出重定向,只放入命令报错的信息
    2>>错误追加重定向
    0<或 < 标准输入
    0<< 或 << 追加标准输入
    2>&1 正确的和错误的都放在同一个文件里面
    & 正确的和错误的都放在同一个文件里面
    && 命令行 前面的执行成功才会执行后面的
    正则表达式
    ^oldboy 表示以oldboy开头,^表示以什么开头
    oldboy$ 表示以oldboy结尾,oldboy可以换任意单词
    ^$ 表示空行 以结尾开头,那就是空行
    * 重复前一个字符0到多次,注意与通配符区别
    . 代表『一定有一个任意字节』的意思,有一个任意的字符
    \ 转义字符,让有意义的字符没有意义(只表示本身)
    .* 代表所有,任意字符重复0或0次以上,那就是匹配所有了
    ^.* 以所有字符开头,匹配所有内容
    [ ] 匹配[ ]集合内的任意一个字符
    [^abc] 匹配不包含^后的任意字符
    扩展正则(应用场景grep -E;egrep;grep +)
    + 匹配前一个字符1次或1次以上
    [ :/ ]+ 匹配括号内的 : 或 / 字符1次或者1次以上
    ? 匹配前一个字符0或1次
    | 表示或者,机同时过滤多个字符串
    () 后向引用,前面用小括号括起来的内容,后面用 \1 再取出来
    a{n,} 匹配前一个字符最少n次
    a{n} 匹配前一个字符正好n次
    a{,m} 匹配前一个字符最多m次

    三剑客grep、sed、awk

    grep grep 文本过滤工具,将过滤内容的整行输出

    -v 把不想要的排除
    -i 不区分大小写过滤
    -n 对搜索到的内容显示行号,显示原文件的行号
    -o 只输出匹配的内容
    --color 对所匹配的内容显示颜色,默认是红色
    -w 按照单词过滤
    -E 过滤多个字符串
    -A 匹配过滤内容之后的N行
    -B 匹配过滤内容之前的N行
    -C 匹配过滤内容前后的N行

    Sed 命令 Stream Editor (字符流编辑器)

    选项
    -n 取消默认输出,常与sed内置命令p连用
    -i 直接修改文件内容,而不输出到终端,不用-i是输出修改,不修改文件
    -e 允许多次编辑
    内置命令
    a 全拼append,表示追加文本 >> ,在指定的行后添加一行或多行文本
    d 全拼delete,删除匹配文本的行
    i 全拼insert,修改源文件
    p 全拼print,打印输出匹配行的内容
    替换:'s#oldboy#oldgirl#g'
    过滤:sed -n '/oldboy/p' oldboyedu.txt
    删除:sed '/oldboy/d' oldboyedu.txt
    替换多个字符串:sed -e 's#oldboy#oldgirl#g' -e 's#49000448#228877690#g' oldboyedu.txt
    第二行后追加:sed '2a I am likaiyu \nI like oldgirl' oldboyedu.txt

    awk 对复杂的内容取列

    -F 指定分隔符,如果不加分隔符,默认是空格
    $1表示第一列 $2表示第二列 $NF取最后一列 $(NF-1)倒数第二列
    NR==数字 表示取第几行
    NR有多种形式 NR==1,NR==2 第一行和第二行
    NR>=1&&NR<=5 取第一行到第五行的内容
    awk过滤功能
    格式:awk ‘/要过滤的内容/ ’文件
    取IP地址
    ifconfig |sed -n '2p' | awk -F ":" '{print $2}'|awk '{print $1}'
    ifconfig eth0 | awk -F "[: ]+" 'NR==2{print $4}'
    ifconfig eth0 | sed -n '2p' | awk -F ":" '{print $2}'|awk -F " " '{print $1}'

    某些高大上命令

    tr按字符替换
    tr "被替换内容" "要替换内容" < 文件
    find 查找文件或目录(find 路径 参数 选项)
    find . -type(按文件类型查找)
    f 文件
    d 目录
    c
    b
    l
    s
    find . -name(按文件名称查找)
    -o 或者
    !取反
    find 按时间查找
    -mtime 按修改时间查找
    -atime 安访问时间查找
    -ctime 按改变时间查找
    +7 7天前
    7 7天
    -7 最近7天
    -exec 对找到的内容进一步处理
    { }中放前面查到的内容,结束的时候用 ; 结尾
    wc 查看文件行数 单词 字节
    -l --lines 一个文件有多少行
    -c --bytes 字节
    -m --字符 chars
    -w --words 单词
    -L --max-line-length 最长行的长度
    cut 切割 简单的按列取内容
    -d 指定分割符 把前面内容和后面内容分割开来的
    -f 显示哪一列
    -c char 取字符
    xargs 从标准输入建立和执行命令 分组处理
    -n 分几行输出
    lsattr 查看文件隐藏属性
    chattr 修改文件隐藏属性
    +a append 只能追加
    +i immutable 无敌
    crontab
    -l 显示当前用户的定时任务
    -e 编辑当前用户的定时任务
    * 每 的意思
    /n n数字 */10 * * * * 每隔/10分钟 /隔
    - 从哪里来到哪里去,连贯,连续时间
    , 分割,不连贯的,没联系的用逗号

    信息属性查看显示

    uname 显示linux系统信息
    -n 查看主机名
    -r 查看内核版本信息
    -m 系统是32位还是64位
    -a 查看全部信息
    hostname 查看修改主机名
    file 查看文件属性
    stat 查看文件目录详细属性
    df 查看分区信息
    -h 以人类可读方式查看
    -i 查看inodes大小
    du 查看文件大小
    -h 人类可读
    -s 概括

    df -hl 查看磁盘剩余空间
    df -h 查看每个根路径的分区大小
    du -sh [目录名] 返回该目录的大小
    du -sm [文件夹] 返回该文件夹总M数
    du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)
    

    ps -ef 显示正在运行的进程信息
    chkcongfig 检查是否开机自启动
    uptime 查看系统负载
    date 查看当前时间
    -s 修改时间
    +%F 显示日期
    还有一大堆显示看man手册吧,太特么多了
    hwclock -w 修改时间后写入硬件

    3W各种查各种看

    whoami 查看当前用户
    whereis + 命令 查看执行命令所在路径
    -b 查二进制
    which +命令 查看命令绝对路径

    运行级别查看及切换

    runlevel 查看当前运行级别
    init 切换运行级别
    0 停机
    1 单用户模式
    2 没有NFS的多用户模式带
    3 完全多用户模式
    4 保留
    5 X11桌面模式
    0 重启

    查看IP,子网掩码,重启网络

    ifconfig 查看网卡配置信息 后面加端口名称 ifconfig eth0
    ip a (ip address)查看IP地址 可以加端口名称
    route -n 查看子网掩码
    /etc/init.d/network restart 重新启动网络
    service network restart 重新启动网络

    关机重启命令

    shutdown -h now 立即关机
    shutdown -r now 立即重启
    reboot 重启
    init 0 立即关机
    init 6 立即重启
    poweroff 关机
    halt 关机
    exit 退出
    logout 注销

    基础操作命令

    ls 列出目录内容
    -l 以长格式列出目录内容
    -a 列出目录中所有内容
    -h 以人类可读方式列出
    -d 列出目录
    --color=auto 对列出内容增加颜色(默认红色)
    -i 显示文件索引号
    -p 在文件夹后面加 / 表示目录
    --time-style=long-iso 改变详细信息中的时间格式
    -F 在列出的文件末尾加字符说明文件类型,@符号链接,/目录,| fifos ,=套接字
    cd 切换目录
    ~ 用户家目录
    . 当前目录
    .. 上级目录
    - 上一次所在目录
    mkdir 创建文件夹
    -p 递归创建文件夹
    touch 创建文件
    cp 拷贝复制
    -r 递归拷贝
    -a 包含所有属性拷贝(-pdr)
    -p 含文件属性拷贝
    mv 移动或重命名
    rm 删除 (慎用)
    -f 强制删除不提示
    -r 删除文件夹
    echo 显示输出
    -n 不换行输出
    -e 激活转义字符
    \n 换行
    \t 相当于tab键
    cat 查看文件内容
    -n 显示行号
    -A显示文件属性
    more 分页显示文件
    less 分页显示文件
    head 查看文件头部内容
    -n 查看几行
    tail 查看文件尾部内容
    -n 查看几行
    -f 动态显示
    pwd 查看当前路径
    tree 树状结构显示目录
    -L 显示几层
    -d 只显示目录
    别名
    alias 添加别名
    unalias 取消别名
    dos2unix 将Windows下编辑的文件转换成linux格式
    ln
    ln 创建硬链接
    ln -s 创建软链接
    updatedb更新mlocate.db 数据库
    locate 通过名字查找文件
    ntpdate ntp1.aliyun.com
    向服务器同步时间

    参考资料

    相关文章

      网友评论

          本文标题:linux常用命令

          本文链接:https://www.haomeiwen.com/subject/rhvflhtx.html