Linux命令行

Linux命令行

简介

Shell是什么?

  • Shell是一个命令解释器,它通过接受用户输入的shell命令来启动、暂停、停止程序的运行或对计算机进行控制
  • Shell是一个应用程序,它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用Linux内核

为什么用shell

  • 对机器来说兼容性更好,对人来说更加准确灵活

  • 现代shell其实是一种编程语言

Bash使用技巧

  • Ctrl-r:搜索命令行历史记录(按下按键之后,输入关键字便可以搜索,重复按下 Ctrl-r 会向后查找匹配项,按下 Enter 键会执行当前匹配的命令,而按下右方向键会将匹配项放入当前行中,不会直接执行,以便做出修改)
  • Ctrl-w:删除键入的最后一个单词
  • Ctrl-u:删除行内光标所在位置之前的内容
  • Alt-b/Alt-f:以单词为单位移动光标
  • Ctrl-a:将光标移至行首
  • Ctrl-e:将光标移至行尾
  • Ctrl-k:删除光标
  • Ctrl-l:清屏

常用基础命令

  • pwd:查看当前目录
  • cd:切换目录
  • ls:显示文件或目录信息
    • -a:查看全部的文件,包括隐藏文件
    • -l:列出所有文件,包括文件的属性和权限,没有隐藏文件
  • mkdir:在当前目录下创建一个空目录
    • -p:创建多级目录
  • rmdir:删除目录(要求目录为空)
  • touch:生成一个空文件或更改文件的时间
  • cp:复制文件或目录
  • rm:删除文件或目录
    • -f:忽略不存在的文件,不会出现警告,强制删除
    • -r:递归删除目录
    • -i:互动,删除询问是否删除
  • mv:移动文件或目录,重命名文件或目录
    • -f:强制
    • -u:只替换已经更新过的文件
  • cat:从第一行开始显示文件内容,tac从最后一行开始显示
  • nl:显示文件内容,顺带输出行号
  • more:一页一页的显示文件内容(空格代表下翻页,Enter代表向下看一行)
  • less:与more类似,但支持回翻(PageUp、PageDown代表翻动页面)
  • tail -n 10: 查看文件的尾部10行
  • head -n 20:查看文件的头部20行
  • file/stat:查看文件类型或文件属性信息
  • ln:建立硬链接文件
    • -s:创建软链接文件
  • find:查找文件
  • echo:把内容重定向到指定的文件中 ,有则打开,无则创建

root

sudo 对紧跟着它的命令生效

新建文件:

$ sudo touch file

错误命令:

$ sudo echo 1 > file

正确命令:

$ echo 1 | sudo tee file

grep

grep(global search regular expression)是一个强大的文本搜索工具。grep使用正则表达式搜索文本,并把匹配的行打印出来。

格式:grep [options] PATTERN [FILE...]

  • PATTERN是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号括起来
  • FILE是要查找的文件,可以是用空格间隔的多个文件,也可以使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输中查找
  • grep命令不会对输入文件进行任何修改或影响,可以使用重定向将结果存为文件

例子:

  • 在文件myfile中查找包含字符串mystr的行
grep -n mystr myfile
  • 显示myfile中第一个字符为字母的所有行
grep '^[a-zA-A]' myfile
  • 在文件myfile中查找首字符不是#的行(即过滤掉注释行)
grep -v '^#' myfile
  • 列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
grep -lr root /etc/*

系统管理命令

  • who :显示在线登陆用户

  • uname -a:查看当前使用的系统(Unix/kernel 信息)

  • whoami: 显示当前操作用户

  • hostname :显示主机名

  • du :检查当前目录的空间使用量

    • -a:显示隐藏文件

    • -h: 带有单位显示目录信息

  • df :列出文件系统整体的磁盘使用量

    • -h :带有单位显示磁盘信息
  • ps :查看当前系统中正在执行的各种进程的信息,显示瞬间进程 ps-aux

  • pstree -p:以一种优雅的方式展示进程树

  • top :动态显示当前耗费资源最多进程信息

  • htop:获取CPU和硬盘的使用状态(top的加强版)

  • kill :杀死进程,可以先用pstop命令查看进程的id,然后再用kill命令杀死进程

  • ping :测试网络连通

  • ip addr:查看网络配置信息

  • netstat: 显示网络状态信息

  • dmesg:查看开机信息(排查硬件或驱动问题)

  • uptime:查看系统启动时间与工作负载

长句换行

  • 在 shell 中为避免一个语句过长,可以使用 “\” 进行换行
  • 使用 “\” 换行,在脚本执行过程中还是当做一行一个语句执行,不同于 Enter 直接换行

Tips

  • 注意看报错信息

  • sudo 不是解决问题的万金油

  • 网络上的命令不是解决问题的万金油

  • “Linux系统不容易中毒” 不是因为系统非常安全

  • 摆脱Windows中多个“磁盘”的习惯

  • 哪些文件应该在你的 “home” 里(自己的代码、文档)

  • shell默认没有 “回收站” 或 “废纸篓”

posted @ 2021-11-01 22:43  TNTksals  阅读(115)  评论(0编辑  收藏  举报