• Linux基础与实战精华—命令与工具


    shell

    命令解释器,会根据输入的命令执行相应的命令

    [bsk@localhost ~]$ cat /etc/shells
    
    • 1

    此命令是用来查看当前系统下支持有哪些shell
    结果就是:

    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    /bin/tcsh
    /bin/csh
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    接下来再介绍一个命令 echo &SHELL
    此命令是查看当前系统下正在使用的shell

    快捷键

    tab键 命令补齐功能,可以方便我们敲代码的效率
    Ctrl+p 向上
    Ctrl+n 向下
    Ctrl+b 向左
    Ctrl+f 向右
    Ctrl+d del删除光标后面的
    Ctrl+a home,回到第一个字符
    Ctrl+e End,到最后一个字符
    backspace 删除光标前面的

    目录

    Linux系统目录的简单介绍:
    bin目录主要存放二进制可执行文件
    dev目录主要存放是和设备相关的文件,比如鼠标,键盘
    etc目录主要存放用户配置的文件信息,比如密码
    home目录主要存放当前系统中用户的信息
    lib目录主要存放系统中使用的库文件
    media目录默认存放挂载磁盘
    boot目录主要存放开机启动程序
    root目录主要存放管理员宿主目录(家目录)
    user目录主要存放用户资源管理目录

    文件

    Linux系统文件类型(八大类)
    普通文件 : -
    目录文件 : d
    字符设备文件: c
    块设备文件: b
    软连接: l
    管道文件: p
    套接字 : s
    还有未知文件

    链接

    链接有两种,一种被称为硬链接,另外一种被称为符号链接

    建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。
    而对于符号链接来说,就不会存在这个问题。
    在默认情况下,ln产生硬链接,如果给ln命令加上 -s选项则变成建立符号链接

    硬链接

    touch xiaojiejie
    ln xiaojiejie jiejie.h
    
    • 1
    • 2

    在硬链接中,对任意一个硬链接进行修改,其他用同文件创建出来的硬链接也会发生变化,几个文件之间是同步的
    原因就是,他们有相同的I节点(Inode)。操作系统

    但是当删除时,只会把硬链接计数减一,当减为0时,inode被释放。

    软链接

    ln -s xiaojiejie jiejie.s
    
    • 1

    软连接的创建最好使用绝对路径,因为当把软链接移动后也能可以访问。

    创建用户

    sudo adduser 新用户名
    
    • 1

    修改文件所属用户
    chown修改用户,读写执行权限
    方式:
    sudo chown 新用户名 待修改文件
    如下代码所示:

    sudo chown zhangsan hello.cpp
    
    • 1

    删除用户

    sudo deluser 用户名
    
    • 1

    创建用户组

    sudo addgroup 新组名

    修改文件所属组
    chgrp修改
    方式:

    sudo chgrp fine hello.cpp
    
    • 1

    删除用户组

    sudo delgroup 用户组名
    
    • 1

    也可以两个修改一起做具体方法如下所示:

    chown nobody:nogroup hello.cpp
    
    • 1

    find命令

    本质:查找文件
    -type 按文件类型搜索

    -name按文件名进行搜索

     find ./ -name “*file *.c”
    
    • 1

    -maxdepth指定搜索深度,应作为第一个参数出现

     find ./-maxdepth l -name “*file *.c”
    
    • 1

    -size按文件大小搜索

     find  ./ -size +20M -size -50M
    
    • 1

    查找大小在20M到50M之间的文件

    -atime/mtime/ctime 以天为单位
    -amin/mmin/cmin 以分钟为单位

    -ok 以交互的方式将find 搜索的结果集执行某一指定命令

    -exec 将find搜索的结果集执行某一个指定命令

    find/user/-name ‘* tmp *-exec ls -ld {} \ ;
    
    • 1

    需注意find后不能直接使用管道来执行某一命令,但是配合 | xargs参数可以正常使用
    使用xargs的好处就是当结果集特别多的时候,可以分片映射

    但是xargs有一个小缺点,就是当文件名中有空格时,它会默认把其拆分(默认是以空格为拆分依据),从而报错
    解决办法就是加入 -print0参数,(以·NULL作为拆分依据)即可解决

    find/user/-name ‘* tmp *-print0 | xargs -0 ls -ld {} \ ;
    
    • 1

    -print0参数,这个0代表重新设定了结果集里面每个结果的分隔符为null

    grep命令

    查找文件内容
    第一条常用命令:grep -r 'list' ./ -n
    第二常用: ps aux | grep ' ' 得到检索进程结果集

    压缩命令:
    tar 压缩
    tar -zcvf 要生成的压缩包名 压缩材料
    tar zcvf test.tar.gz file dir 使用gzip方式压缩
    tar jxvf test.tar.gz file dir 使用bzip方式压缩

    tar解压

    将压缩命令中的c-》x
    tar zcvf test.tar.gz 使用gzip方式解压
    tar jxvf test.tar.gz 使用gzip方式解压

    rar压缩

    rar a -r 压缩包名(带.rar后缀) 压缩材料
    rar a -r test.rar stdio.h tset.mp3

    rar解压

    unrar x 压缩包名 (带.rar后缀)

    zip压缩

    zip -r 压缩包名(带.zip后缀) 压缩材料
    zip -r teat.zip stdio.h test.mp3

    zip解压

    unzip 压缩包名(带.zip后缀)

    tar本来是打包的意思
    c 创建新的文档文件
    r 列出档案里的文件内容
    x 从档案中释放文件
    u 更新文件
    z 的意思才是压缩 及gzip
    f 使用档案文件或设备,

    网络

    ifconfig 查看网卡信息
    sudo ifconfig eth0 down 关闭网卡
    sudo ifconfig eth0 up 开启网卡eth0
    sudo ifconfig eth0 IP 给eth0配置临时IP
    netstat 查看网络状态

    man

    man是系统的手册分页程序。指定给man的页 选项通常是程序,工具或函数名。
    下面是手册的章节号以及包含的手册类型

    1可执行程序或shell命令
    2系统调用(内核提供的函数)
    3库调用(程序库中的函数)
    4特殊文件(通常位于/dev)
    5文件格式和规范,
    6游戏
    7杂项
    8系统管理命令
    9内核例程

    alias起别名
    alias pg = ‘ps aux | grep’
    此后执行pg命令也就相当于ps aux | grep 命令

    umask

    指定用户创建文件时的掩码,默认指定权限

    vi编辑器

    跳转到指定行
    第一种:88G(命令模式)
    第二种::88(末行模式)
    跳转行首:
    gg(命令模式)
    跳转行尾:
    G(命令模式)
    自动化格式程序:
    gg=G(命令模式)
    大括号对应:
    %(命令模式)
    光标移至行首:
    0(命令模式)执行结束,工作模式不变
    光标移至行尾:
    $(命令模式)执行结束,工作模式不变
    删除单个字符:
    x(命令模式)执行结束,工作模式不变
    删除一个单词:
    dw(命令模式)光标至于单词的首字母进行操作
    替换单个字符:
    将待替换的字符用光标选中,r(命令模式)再按欲替换的字符
    删除光标至行尾:
    D或者 d $(命令模式)
    删除光标至行首:
    d0(命令模式)
    删除指定区域:
    按V(命令模式)切换位可视模式,移动光标来选中待删除区域,按d删除
    删除指定一行:
    光标所在行,按dd(命令模式)
    删除指定n行:
    在光标所在行 (向下删除)n+dd (命令模式)
    复制一行:
    yy
    粘贴:
    p 向后
    P向前
    查找:
    1.找想要找的内容
    命令模式下,按 / 树=输入想要搜索的关键字,回车即可,按 n检索下一个
    2.找 看到的内容
    命令模式下,将光标置于单词任意一个字符上,按 * 或者 #
    单行替换:
    将光标置于待替换行上,进入末行模式,输入 :s /原数据 / 新数据
    通篇替换:
    末行模式下输入 :%s/原数据/新数据/g g不加,只替换每行首个
    指定行的替换:
    末行模式下输入 :起始行号,终止行号s /原数据/新数据/g g不加,只替换每行首个
    举例 :s30,61s /vim/vi/g

    撤销:
    命令模式下按 u
    反撤销:
    ctrl + r(撤销撤销)

    分屏:
    (末行模式下)输入sp 横分屏 ctrl+ww 切换
    vsp :竖分屏 ctrl+ww 切换

    跳转到man手册:
    将光标置于 待查看函数单词上,使用K(命令模式)跳转到指定卷 nk
    查看宏定义:
    将光标置于待查看宏定义单词上,使用 [ d查看定义语句
    在末行模式执行shell命令
    输入 :! 命令

  • 相关阅读:
    leetcode334. 递增的三元子序列(java)
    Vue简单介绍
    TAP 文章系列-12 | 小步快跑的代码扫描,实现质量左移
    前端设计模式之【外观模式】
    自动化运维机器人(RPA)在银行IT运维领域应用场景分析
    黑马点评--优惠卷秒杀
    【操作系统】文件管理——文件的物理结构(个人笔记)
    最佳实践-SQL语法校验
    痞子衡嵌入式:i.MXRT中FlexSPI外设不常用的读选通采样时钟源 - loopbackFromSckPad
    【MAC】OpenResty安装
  • 原文地址:https://blog.csdn.net/2202_75623950/article/details/133950992