• Linux常用命令总结


    基本格式

    command [-options] [parameter]

    • command:命令本身
    • -options:可选命令,可以通过选项控制命令的行为细节
    • parameter:可选命令的参数,多数用于命令的指向目标等

    基础命令

    ls:列出全部文件

    语法:ls [-a -l -h] [Linux路径]

    • -a:all,列出全部文件(包含隐藏的文件/文件夹)
    • -l:表示以列表形式展示内容,并展示更多信息
    • -h:表示以易于阅读的形式,列出文件大小。如K、M、G。-h必须要搭配-l一起使用
    • Linux路径:此命令的可选参数
      当不使用选项和参数的时候,直接使用ls命令本体,表示以平铺形式,列出当前工作目录下的内容

    cd:切换当前工作目录

    语法:cd [Linux路径]

    • cd命令无需选项,只有参数。表示要切换到哪个目录下
    • cd命令直接执行,不写参数,表示切回到用户的HOME目录

    pwd:查看当前工作目录

    语法:pwd
    pwd命令,无选项,无参数,直接输入pwd即可

    mkdir:创建目录(文件夹)

    语法:mkdir [-p] [Linux路径]

    • 参数必填,表示Linux路径,即要创建的文件夹的路径
    • -p选项表示,自动创建不存在的父级目录,适用于创建连续多层级的目录

    touch:创建文件

    语法:touch [Linux路径]

    • touch命令无选项,参数必填,表示要创建的文件路径

    cat:查看文件内容

    语法:cat [Linux路径]

    • cat命令无选项,参数必填,表示被查看的文件路径

    more:查看文件内容

    cat将内容直接全部显示出来。
    more支持分页,如果文件内容过多,可以一页一页展示。
    空格翻页,按q退出查看,b切换上一页。
    语法:more [Linux路径]

    • more命令没有选项,参数必填,表示被查看的文件路径

    cp:复制文件、文件夹

    语法:cp [-r] 参数1 参数2

    • -r:可选,用于复制文件夹使用,表示递归
    • 参数1:Linux路径,表示被复制的文件或者文件夹
    • 参数2:Linux路径,表示被复制去的地方
      示例:
    • cp a.txt b.txt:复制当前目录下a.txt为b.txt
    • cp a.txt test/:复制当前目录下a.txt到test文件夹内
    • cp -r test test2:复制文件夹test到当前test2文件夹内

    mv:移动文件、文件夹

    语法:mv 参数1 参数2

    • 参数1:Linux路径,表示被移动的文件或者文件夹
    • 参数2:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

    rm:删除文件、文件夹

    语法:rm [-r -f] 参数1 参数2 … 参数N

    • -r:选项,用于删除文件夹
    • -f:表示force,强制删除(不会弹出提示确认信息)
    • 普通用户删除内容时候不会弹出提示,只有root管理员用户删除内容时候会有提示
    • 参数1、参数2、…参数N表示要删除的文件或者文件夹路径,按照空格隔开

    rm命令支持通配符*,用来做模糊匹配

    • 符号*表示通配符,即匹配任意内容
    • test*:表示匹配任何以test开头的内容
    • *test:表示匹配任何以test结尾的内容
    • test:表示匹配任何包含test的内容

    which:查看命令的程序文件存放位置

    语法:which 参数

    • 参数:被查看的命令

    find:查找文件

    语法:find 起始路径 -name “被查找的文件名”
    find命令支持通配符*,用来做模糊匹配

    • 符号*表示通配符,即匹配任意内容
    • test*:表示匹配任何以test开头的内容
    • *test:表示匹配任何以test结尾的内容
    • test:表示匹配任何包含test的内容
      示例:
    • 查找名字中包含test的文件:find / -name “test

    find:按文件大小查找文件

    语法:find 起始路径 -size + | -n [kMG]

    • ±表示大于和小于
    • n表示大小数字
    • kMG表示大小单位,KB、MB、GB。k小写
      示例:
    • 查找小于10KB的文件:find / -size -10K
    • 查找大于100MB的文件:find / -size +100M
    • 查找大于1GB的文件:find / -size +1G

    grep:过滤文件内容

    语法:grep [-n] 关键字 文件路径

    • -n:可选,表示在结果中显示匹配的行的行号
    • 关键字:必填。表示过滤的关键字,带有空格或者其他特殊符号
    • 文件路径:必填。表示过滤内容的文件路径,可以作为内容输入的端口

    wc:统计内容数量

    语法:wc [-c -m -l -w] 文件路径

    • -c:统计bytes数量
    • -m:统计字符数量
    • -l:统计行数
    • -w:统计单词数量
    • 文件路径:被统计的文件,可以作为内容输入的端口

    管道符 | :将管道符左边命令的结果作为右边命令的输入

    示例:

    • cat a.txt | grep test:将cat a.txt的结果,作为grep命令的输入
      支持嵌套:
    • cat a.txt | grep test | grep hello

    echo:在命令行内输出指定内容
    语法:echo 输出的内容

    • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围
      示例:
    • echo “hello Linux”

    反引号`

    示例:

    • echo pwd。pwd被作为普通字符输出了,如果使用反引号包括,则会将pwd执行后的结果进行输出

    重定向符:> 和 >>

    • :将左侧命令的结果,覆盖写到符号右侧指定的文件中

    • :将左侧命令的结果,追加写到符号右侧指定的文件中
      示例:

    • echo “hello” > test.txt
    • echo “hello test1” > test.txt:执行后覆盖新内容
    • echo “hello test2” >> test.txt:再次执行,使用>>追加新内容

    tail:查看文件尾部内容,跟踪文件的最新更改

    语法:tail [-f -num] Linux路径

    • Linux路径:表示被跟踪的文件路径
    • -f:表示持续跟踪
    • -num:表示查看尾部多少行,不写默认为10行

    head:查看文件头部内容

    语法:head [-n] 参数

    • 参数:被查看的文件
    • -n:查看的行数

    su:切换用户

    su [-] [用户名]

    • -:可选,表示是否在切换用户后加载环境变量
    • 用户名:表示要切换的用户。省略时候表示要切换到root用户

    用户、用户组

    Linux系统中可以

    • 配置多个用户
    • 配置多个用户组
    • 用户可以加入多个用户组
      Linux中关于权限的管控有两个级别,分别是:
    • 针对用户的权限控制
    • 针对用户组的权限控制

    用户组管理

    • 创建用户组:groupadd 用户组名
    • 删除用户组:groupdel 用户组名
      用户管理
    • 创建用户:useradd [-g -d] 用户名
    • -g:指定用户的组,不指定时候会创建同名组并自动加入。指定-g需要组已存在
    • -d:指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
    • 示例:
    • useradd test2 -g test -d /home/test
    • 删除用户:userdel [-r] 用户名
    • -r:删除用户的HOME目录,不使用-r,删除用户的时候,HOME目录会保留
    • 查看用户所属组:id [用户名]
    • 用户名:被查看的用户,如果不提供则查看自身
    • 修改用户所属组:usermod -aG 用户组 用户名,将指定的用户加入指定的用户组

    getenv:查看系统用户或者组信息

    • getenv passwd:查看系统全部用户信息
    • getenv gropu:查看系统全部组信息

    ctrl + c:强制停止

    ctrl + d:退出或者登出,不能用于退出vi/vim

    history:搜索历史输入过的命令

    ctrl + l:清屏

    clear:清屏

    yum安装

    RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题
    语法:yum [-y] [install | remove | search] 软件名称

    • -y:自动确认,无需手动确认安装或者卸载过程
    • install:安装
    • remove:卸载
    • search:搜索
      yum命令需要有root权限,可以su切换到root或者使用sudo,同时需要联网

    systemctl:控制系统服务的启动或者关闭等

    语法:systemctl [start | stop | status | enable | disable] 服务名

    • start:启动
    • stop:关闭
    • restart:重启
    • status:查看状态
    • enable:开启开机自启
    • disable:关闭开机自启

    ln:创建文件、文件夹软连接(快捷方式)

    在系统中创建软连接,可以将文件、文件夹链接到其他位置,类似于windows中的快捷方式
    语法:ln -s 参数1 参数2

    • -s:创建软连接
    • 参数1:被链接的文件或者文件夹
    • 参数2:要链接去的目的地
      示例:
    • ln -s /etc/yum.conf ~/yum.conf
    • ln -s /etc/yum ~/yum

    date:在命令行中查看系统的时间

    date [-d] [+格式化字符串]

    • -d:按照给定的字符串显示日期,一般用于日期计算
    • 格式化字符串:通过特定的字符串来标记,来控制显示的日期格式
    • %Y:年
    • %y:年份后两位数字(00_99)
    • %M:月份(01_12)
    • %d:日(01_31)
    • %H:小时(00_23)
    • %M:分钟(00_59)
    • %S:秒(00_60)
    • %s:自1970-01-01 00:00:00 UTC到现在的秒数
      示例:
    • date +%Y-%m-%d
    • date +%Y-%m-%d %H:%M:%S

    时区

    修改时区为中国时区
    rm -f /etc/localtime
    sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    ntp:同步时间

    安装:yum install -y ntp
    启动管理:systemctl start | stop | restart | status | disabled | enable ntpd
    手动校准时间:ntpdate -u ntp.aliyun.com

    ifconfig:查看本机ip地址

    如果无法使用ifconfig,需要安装yum -y install net-tools
    或者使用ip addr

    hostname:查看主机名

    • hostname:查看主机名
    • hostnamectl set-hostname 主机名:修改主机名,需要root权限

    ping:检查服务器是否可以联通

    ping [-c num] ip或者主机名

    • -c:检查的次数,不使用-c选项,将无限次数持续检查
    • 参数:ip或者主机名,被检查的服务器的ip地址或者主机名地址

    ps:查看进程信息

    语法:ps -ef:查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx

    Kill:关闭进程

    语法:kill [-9] 进程ID

    • -9:表示强制关闭进程。不使用此选项会向进程发送信息要求其关闭,但是是否关闭需要看进程自身的处理机制

    wget:下载文件

    wget是非交互式的文件下载器,可以在命令行内下载网络文件
    语法:wget [-b] url

    • -b:可选,后台下载,会将日志写入到当前工作目录的wget-log文件
    • 参数:url,下载链接

    curl:发起网络请求

    curl可以发送http网络请求,可以用于下载文件、获取信息等
    语法:curl [-O] url

    • -O:选项,用于下载文件,当url是下载链接的时候,可以使用此选项来保存文件
    • 参数:url,要发起请求的网络地址

    nmap:查看端口占用

    安装nmap:yum -y install nmap
    语法:nmap ip地址

    netstat:查看指定端口的占用情况

    语法:netstat -anp | grep xxx

    top:查看主机运行状态

    语法:top:查看基础信息

    df:查看磁盘占用

    语法:df [-h]

    iostat:查看CPU、磁盘等相关信息

    语法:iostat [-x] [num1] [num2]

    • -x:显示更多信息
    • num1:数字,刷新间隔
    • num2:数字,刷新几次

    环境变量

    • 临时设置:export 变量名 = 变量值
    • 永久设置
    • 针对用户,设置用户HOME目录内:.bashrc文件
    • 针对全局,设置/etc/profile

    $符号:取出指定的环境变量的值

    语法:$变量名
    示例:

    • echo $PATH:输出PATH环境变量的值
    • echo P A T H A B C :输出 P A T H 环境变量的值以及 A B C 。如果变量名和其它内容混淆在一起,可以使用 {PATH}ABC:输出PATH环境变量的值以及ABC。如果变量名和其它内容混淆在一起,可以使用 PATHABC:输出PATH环境变量的值以及ABC。如果变量名和其它内容混淆在一起,可以使用{}

    压缩

    语法:tar -zcvf 压缩包 被压缩…被压缩2…被压缩N

    • -z:表示使用gzip
      语法:zip [-r] 参数1 参数2 参数N
    • -r:被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
      示例:
    • zip test.zip a.txt b.txt c.txt:将a.txt b.txt c.txt压缩到test.zip内
    • zip -r test.zip test a.txt:将test、a.txt文件压缩到test.zip内

    解压

    语法:tar -zxvf 被解压的文件 -C要解压去的地方

    • -z:表示使用gzip,可以省略
    • -C:指定要解压去的地方,不写默认解压到当前目录

    语法:unzip [-d] 参数

    • -d:指定要解压去的位置
    • 参数:被解压的zip压缩包文件
      示例:
    • unzip test.zip:将test.zip解压到当前目录
    • unzip test.zip -d /home/test,将test.zip解压到指定的文件夹内(home/test)

    SCP:文件传输

    示例:

    • 压缩:zip -r test.zip test
    • 传输:scp -p test.zip root@ip地址:/opt/apache-tomcat-8.5.56-new/webapps
  • 相关阅读:
    谷粒商城10——分布式缓存Redis 分布式锁Redisson SpringCache自定义缓存配置
    java计算机毕业设计医药垃圾分类管理系统源程序+mysql+系统+lw文档+远程调试
    继续刷刷--《十大经典排序算法》
    【Android Gradle 插件】Gradle 构建机制 ⑤ ( 在 Android Studio 中查看 Android Gradle 插件源码 )
    SSH-KeyGen -认证密钥的生成、管理和转换
    C#中的隐式操作符,如何简化类型转换
    PTA 7-82 三个整数排序
    用了TCP协议,就一定不会丢包嘛?
    Android dumpsys 常用命令
    猿创征文丨深度学习基于双向LSTM模型完成文本分类任务
  • 原文地址:https://blog.csdn.net/qq_42737644/article/details/136213247