查看shell

  • cat /etc/shells 查看系统支持的shell
  • echo $SHELL 查看目前正在使用的shell

快捷键

  • Ctrl+a 跳到行首
  • Ctrl+e 跳到行尾
  • Ctrl+u 删除光标至行首的内容
  • Ctrl+k 删除光标至行尾的内容
  • Ctrl+<-- 光标跳到离自己最近的一个单词前
  • Ctrl+l 清屏

命令替换

把命令中的某个子命令替换为其结果

  • $(COMMAND) (推荐)
  • 'COMMAND'

命令行展开

  • ~ 展开为用户的家目录
  • ~USERNAME 展开为USERNAME用户的家目录
  • {} 可承载一个以逗号分隔的列表,并将其展开为多个目录,例如
    • /tmp/{a,b} = /tmp/a, /tmp/b
    • /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

文件名通配

  • * 匹配任意长度的任意字符
  • ? 匹配任意单个字符
  • [] 匹配任意范围内的单个字符
  • [^] 匹配任意范围外的任意单个字符
    • [abc] [a-m] [0-9]
    • [[:space:]] 空白字符
    • [[:punct:]] 标点符号
    • [[:lower:]] 小写字母
    • [[:upper:]] 大写字母
    • [[:alpha:]] 大小写字母
    • [[:digit:]] 数字
    • [[:alnum:]] 数字和大小写字母

环境变量

  • PATH 命令搜索路径(系统会从这个路径的文件里搜索命令,如果把这个改了,很有可能会导致无法使用部分命令)
  • HISTSIZE 命令历史缓冲区大小
  • SHELL 当前shell

命令别名

仅在当前shell生命周期内有效

  • alias CMDALIAS='COMMAND [options] [arguments]'

命令类型

  • linux分为两种命令

    • 内部命令,shell内置
    • 外部命令,在文件系统下有一个与命令名称相应的可执行文件
  • type 显示命令类型

目录管理

  • ls 列出目录内容
  • 选项:
    • -l 长格式
      文件类型:

        • 普通文件(f)
      • d 目录文件
      • b 块设备文件(block)
      • c 字符设备文件(character)
      • l 符号链接文件(symbolic link file)
      • p 命令管道(pipe)
      • s 套接字文件(socket)
    • -h 人性化单位转换
    • -a 显示隐藏文件(以.开头的文件)
    • -d 显示目录自身属性
    • -i 显示文件的inode
    • -r 逆序显示
    • -R 递归显示
  • cd 切换目录
  • psw 查看当前所在目录路径
  • msdir 创建目录
  • 选项:
    • -p 创建目录是,若父目录不存在则创建
    • -v 显示目录创建过程
  • tree 查看目录的树状结构
  • 选项:
    • -d 只显示目录
    • -l LEVEL 指定显示的层数
    • -P PATTERN 只显示指定PATTERN匹配到的路径

文件管理

  • touch 创建空文件,或修改时间戳
  • stat 查看文件或文件系统状态
  • rm 删除文件
  • 选项:
    • -r 递归删除
    • -f 强制删除
    • 在rm前加,即\rm也可以起到强制删除的作用
    • 不要手贱去删除/bin/、/usr/等系统目录,《Linux从删库到跑路》
  • cp 复制文件
  • 选项:
    • -r 递归复制,复制目录必须带
    • -a 归档复制,常用于备份
    • -p 带权限拷贝
  • mv 移动文件
  • install 复制文件并设置属性,常用于安装或升级软件或备份数据
    选项:

    • -m mode模式,自行设定权限
    • -o owner模式,自行设定属主
    • -g group模式,自行设定属组

压缩、解压命令

压缩格式:gz、bz2、xz、zip、Z

  • compress 压缩后文件名为FILENAME.Z

    • uncompress 解压
  • gzip 压缩后文件名为FILENAME.gz,会删除原文件
  • 选项:
    • -d 解压,会删除原文件
    • -c 输出结果
    • -# [1-9] 指定压缩比,默认6
  • gunzip 解压,会删除原文件
  • zcat 不解压的情况下查看文本内容
  • bzip2 压缩后的文件名为FILENAME.bz2,比gzip压缩比更大,格式相近
  • 选项:
    • -d 解压,会删除原文件
    • -k 压缩保留原文件
    • -# [1-9] 指定压缩比,默认6
  • bunzip2 解压,会删除原文件
  • xz 压缩后的文件名为FILENAME.xz
  • 选项:
    • -d 解压,会删除原文件
    • -k 压缩保留原文件
    • -# [1-9] 指定压缩比,默认6
  • unxz 解压,会删除原文件
  • xzcat 不解压的情况下查看文本内容
  • zip 既归档又压缩,可以压缩目录,不删除原文件
    • zip filename.zip file1 file2
    • zip filename.zip DIR/*
  • unzip 解压,不删除原文件
  • archive 归档,不压缩
  • tar 归档,不压缩(常用)
  • 选项:
    • -c 创建归档文件
    • -f file.tar 指定归档操作的文件
    • -x 还原归档
    • -cf 归档文件,f选项必须在归档后文件名前
    • -xf 解压归档文件,f选项必须在归档前文件名前
    • -v 显示详细信息
    • -p 保留权限信息,只有管理员才有此选项的使用权限
    • -C 将展开的归档文件保存到指定的目录下
    • --delete 从归档文件中删除文件
    • --xattrs 归档时保留扩展属性信息
    • -tf 不展开归档,直接查看归档了哪些文件
    • -tvf 不展开归档,直接查看归档了哪些文件,可以查看归档文件的详细信息
    • -zcf 归档并调用gzip压缩
    • -zxf 调用gzip解压并展开归档
    • -jcf 归档并调用bzip2压缩
    • -jxf 调用bzip2解压并展开归档
    • -Jcf 归档并调用xz归档
    • -Jxf 调用xz解压并展开归档

查看文本

  • cat 拼接文件内容并输出至标准输出,使用cat查看文件会将文件的所有内容加载至内存,所以应该避免使用cat打开巨大文件

    • -n 显示行号
    • cat a b >> c 拼接文件内容
  • tac 链接文件并倒叙打印内容至标准输出,和cat类似。但这个命令并没有什么卵用
  • more 全屏查看文本文件内容。只能从前往后,显示完自动退出
  • less 全屏查看文本文件内容。可以往前也能往后,比more高到不知道哪里去了。推荐使用
  • 选项:
    • -N 显示每行的行号
  • 快捷键:
    • /字符串:向下搜索"字符串"的功能
    • ?字符串:向上搜索"字符串"的功能
    • n:重复前一个搜索(与 / 或 ? 有关)
    • N:反向重复前一个搜索(与 / 或 ? 有关)
    • b 向后翻一页
    • d 向后翻半页
    • h 显示帮助界面
    • Q 退出less 命令
    • u 向前滚动半页
    • y 向前滚动一行
    • 空格键 滚动一页
    • 回车键 滚动一行
    • [pagedown]: 向下翻动一页
    • [pageup]: 向上翻动一页
  • head 查看文本文件头部内容,默认打印10行
    • 选项:
    • -n 指定要打印的行数,可以是-n [NUM],也可以是-[NUM]
  • tail 查看文本文件尾部内容
    • 选项:
    • -n 指定要打印的行数,可以是-n [NUM],也可以是-[NUM]

文本处理

  • cut 截取文本内容

    • 选项:
    • -d 指定字段分隔符,默认是空格
    • -f 指定要显示的字段区域,与-d连用
      • -f 1,3 显示1和3
      • -f 1-4 显示1到4
    • -b 以字节分割,可以指定要显示的字节范围
  • sed 基于行的过滤与转换文本的流编辑器,可以对字段进行替换
    • 选项:
    • -e [script] 以选项中的指定的script来处理输入的文本文件
    • -f [script文件] 以选项中指定的script文件来处理输入的文本文件
    • 命令:
    • a 在当前行下面插入文本。
    • i 在当前行上面插入文本。
    • c 把选定的行改为新的文本。
    • d 删除,删除选择的行。
    • D 删除模板块的第一行。
    • s 替换指定字符
    • = 打印当前行号码。
  • awk 基于列的文本报告工具

文本排序

  • sort 默认升序,不是按数值大小排序

    • 选项:
    • -n 根据数值大小排序
    • -r 逆序排序
    • -t 字段分隔符
    • -k 以哪个字段为关键字进行排序
    • -u 去重,排序后相同的行只显示为一行
    • -f 排序时忽略大小写
  • uniq 报告重复的行
    • 选项:
    • -c 显示文件中行的重复次数
    • -d 只显示重复的行
    • -u 只显示为重复的行

文本统计

  • wc 统计

    • 选项:
    • -c 显示字节数
    • -l 显示行数
    • -w 显示单词数

系统统计

  • du 查看文件或目录占用的磁盘空间

    • 选项:
    • -h 人性化单位转换
    • -s 显示总占用
  • df 报告文件系统磁盘空间使用情况
    • 选项:
    • -h 人性化单位转换
    • -i 显示inode信息

主机名管理

  • hostname 查看或临时修改主机名,生存期到关机前
  • hostnamectl 查看或永久修改主机名,生存期到永久

其他

  • time 显示命令执行花费的时间
  • clear 清屏,更推荐使用快捷键
  • whoami 查看当前登录用户,也可写作who am i
  • w 显示当前在线用户并显示其在运行的程序
  • who 查看当前在线用户
  • which 显示指定命令的绝对路径
  • date 显示或设置日期与时间
    • 选项:
    • -s 以字符串方式设置时间
    • 格式化输出时间 +
      • %Y 年
      • %m 月
      • %d 日
      • %H 时
      • %M 分
      • %S 秒
  • cal 打印日历
  • bc 数学运算时保留小数(不常用)
  • ldd 查看程序依赖
    • 二进制程序
    • 库文件
    • 帮助文件
    • 设置文件

林克的小本本之——记一些基础的linux命令的更多相关文章

  1. SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  2. 基础的linux命令(一)

    我练习使用的 Linux 系统是 CentOS 7 它是通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统. 首先你需要一台Linux虚拟机,如果没有,也没关系,点这里 一.命令格 ...

  3. 林克的小本本之——HCL网络知识随笔

    单臂路由 单臂路由是一种通过在路由器的一个接口上配置逻辑接口,来实现不同Vlan之间互通的方法. 实例: #配置SW1的VLAN [SW1]vlan 2 #配置端口vlan略 [SW1]int g1/ ...

  4. 基础的Linux命令(二)

    本文介绍两大类命令,都是最基础的部分 系统状态监测命令 工作目录切换命令 一.系统状态监测命令 1. ifconfig 命令 用于获取网卡配置与网络状态等信息 如下图:inet后面是 IP 地址,et ...

  5. 【Linux基础】Linux命令date 日期时间

    1.显示到纳秒 date +%F.%H:%M:%S.%N --:38.740127086 date +%Y-%m-%d.%H:%M:%S.%N2019-04-25.00:28:24.060756673 ...

  6. Linux基础-1.Linux命令及获取帮助

    1.Linux命令的格式 1)了解Linux命令的语法格式: 命令 [选项] [参数] 2)掌握命令格式中命令.选项.参数的具体的含义 a)命令:告诉Linux(UNIX)操作系统做(执行)什么 b) ...

  7. C语言基础 (2) linux命令

    01.课程回顾 链接 ln 1.txt aaa.txt  硬链接 (两个相互独立 删除一个另外一个还在) ln -s 1.txt aaa.txt软连接 (后面的是快捷方式) 硬链接只能是文件,软连接可 ...

  8. Linux基础与Linux下C语言编程基础

    Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...

  9. 【转】Linux基础与Linux下C语言编程基础

    原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...

随机推荐

  1. Lua和C交互的简易教程

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52458051 本文出自: [HansChen的博客] Lua栈 要理解Lua和C++ ...

  2. c语言l博客作业09

    问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8655 我在 ...

  3. 混淆矩阵-MATLAB代码详解

    一.混淆矩阵 (一).简介 在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵.在图像精度评价中,主要用于比较分类结果和实际测得值, ...

  4. java调用webservice,比较简单方便的方法。

    首先,请同学们自行了解webservice的基础知识. 个人理解,webservice约等于使用http+xml技术进行跨平台的数据交互. http和xml我们都很熟悉了,把他们两个组合到一起就是we ...

  5. 硬核! 逛了4年Github ,一口气把我收藏的 Java 开源项目分享给你!

    Awsome Java Great Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序 ...

  6. JS的Form表单转JSON格式

    一.serialize()方法 格式:var data = $("#formID").serialize(); 功能:将表单内容序列化成一个字符串. 注意:要使用params = ...

  7. CSS自定义默认样式

    html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, ...

  8. 华为云ModelArts 2.0全面升级,革新传统AI开发模式

    [中国,上海,9月20日] 在HUAWEI CONNECT 2019期间,华为云EI服务产品部总经理贾永利宣布--华为云AI重装升级,并重磅发布一站式AI开发管理平台ModelArts 2.0. 现场 ...

  9. 曹工杂谈:Spring boot应用,自己动手用Netty替换底层Tomcat容器

    前言 问:标题说的什么意思? 答:简单说,一个spring boot应用(我这里,版本升到2.1.7.Release了,没什么问题),默认使用了tomcat作为底层容器来接收和处理连接. 我这里,在依 ...

  10. [TimLinux] JavaScript 如何在html标签的data-*属性使用JSON数据

    1. HTML data-*属性 H5引入的data-*属性,可以在JavaScript通过.dataset.*的方式来获取属性的值,例如: /* HTML标签: * <input id=&qu ...