• 林克的小本本之——记一些基础的linux命令


    查看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前加,即 m也可以起到强制删除的作用
      • 不要手贱去删除/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 查看程序依赖
      • 二进制程序
      • 库文件
      • 帮助文件
      • 设置文件
  • 相关阅读:
    有一种努力叫“凌晨四点”
    编程思想
    小记
    团队精神与集体主义
    变量起名
    软件项目估量方法
    戏说QQ
    压力说
    AngularJS指令基础(一)
    Leetcode 1021. Best Sightseeing Pair
  • 原文地址:https://www.cnblogs.com/lynk/p/12061692.html
Copyright © 2020-2023  润新知