林克的小本本之——记一些基础的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 递归显示
- -l 长格式
- 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 基于列的文本报告工具
- 该命令用法较为复杂,建议查阅:菜鸟教程-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命令的更多相关文章
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- 基础的linux命令(一)
我练习使用的 Linux 系统是 CentOS 7 它是通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统. 首先你需要一台Linux虚拟机,如果没有,也没关系,点这里 一.命令格 ...
- 林克的小本本之——HCL网络知识随笔
单臂路由 单臂路由是一种通过在路由器的一个接口上配置逻辑接口,来实现不同Vlan之间互通的方法. 实例: #配置SW1的VLAN [SW1]vlan 2 #配置端口vlan略 [SW1]int g1/ ...
- 基础的Linux命令(二)
本文介绍两大类命令,都是最基础的部分 系统状态监测命令 工作目录切换命令 一.系统状态监测命令 1. ifconfig 命令 用于获取网卡配置与网络状态等信息 如下图:inet后面是 IP 地址,et ...
- 【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 ...
- Linux基础-1.Linux命令及获取帮助
1.Linux命令的格式 1)了解Linux命令的语法格式: 命令 [选项] [参数] 2)掌握命令格式中命令.选项.参数的具体的含义 a)命令:告诉Linux(UNIX)操作系统做(执行)什么 b) ...
- C语言基础 (2) linux命令
01.课程回顾 链接 ln 1.txt aaa.txt 硬链接 (两个相互独立 删除一个另外一个还在) ln -s 1.txt aaa.txt软连接 (后面的是快捷方式) 硬链接只能是文件,软连接可 ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
- 【转】Linux基础与Linux下C语言编程基础
原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...
随机推荐
- 6. 彤哥说netty系列之Java NIO核心组件之Buffer
--日拱一卒,不期而至! 你好,我是彤哥,本篇是netty系列的第六篇. 简介 上一章我们一起学习了Java NIO的核心组件Channel,它可以看作是实体与实体之间的连接,而且需要与Buffer交 ...
- 【Java基础】字面量相加的类型转换
Java字面量的相加类型转换 1.Java 编译期间(javac),凡是字面量和常量的运算,都会先运算出结果 2.运行期当字符串池中有 String"字面量"时,Java 会直接用 ...
- PHP安装扩展补充说明
上一篇文章中用到了,php的sodium扩展,那么如何安装PHP扩展呢?基于我之前踩过的一些坑,大致整理了几种安装php扩展的方法.已安装sodium为例 1.先做点准备工作,安装sodium依赖 r ...
- 删除排序数组中的重复项II
Given a sorted array nums, remove the duplicates in-place such that duplicates appeared at most twic ...
- php方法注释
注释格式 <?php /** * @method 发送邮件 * @url email/send?token=xxx * @http POST * @param token string [必填] ...
- 图解leetcode —— 124. 二叉树中的最大路径和
前言: 每道题附带动态示意图,提供java.python两种语言答案,力求提供leetcode最优解. 描述: 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到 ...
- 上手spring boot项目(四)之springboot如何返回json数据
在springboot整合thymeleaf中,经常会在HTML页面中接收来自服务器的json数据,然后处理json数据并在页面上渲染.那么如何在服务器中返回json类型的数据呢? 1.使用@Resp ...
- react-native IOS TextInput长按提示显示为中文(select | selectall -> 选择 | 全选)
根据手机系统语言(简体中文/英文),提示不同的长按效果 长按提示效果图 英文长按提示 中文长按提示 解决 1.手机系统语言为简体中文: 设置->通用->语言与地区 2.ios/项目/inf ...
- Java修炼——反射机制
反射机制常见的作用: 1) 动态的加载类.动态的获取类的信息(属性,方法,构造器) 2) 动态构造对象 3) 动态调用类和对象的任意方法.构造器 4) 动态调用和处理属性 5) 获取泛型信息 6) 处 ...
- HDU4670 cube number on a tree(点分治+三进制加法)
The country Tom living in is famous for traveling. Every year, many tourists from all over the world ...