Linux命令行小记

由于工作需要,接触到macOS系统,想学习到shell的脚本编程,故阅读了《Linux命令行与shell脚本编程大全》,也借鉴到了实验楼的Linux相关基础知识,以下为读书笔记之Linux命令行篇。

1、文件及目录操作

终端根目录为/,刚开始进入终端时,默认当前目录为用户目录,即/home/user,在终端中以~符号代替,当然也可以用pwd命令打印当前目录。根目录下有很多默认的子目录:
在这里插入图片描述

1.1 查看目录或文件的整体信息

  1. cd 目录名:用于切换目录

目录名的书写格式分为两种,以/开头的是绝对路径,非/开头的是相对路径,表示以当前目录(用.表示,父目录用..表示)为起点。

  1. ls:展示当前目录下的子目录和文件列表
参数功能
-a显示以点号开头的隐藏文件
-F区分展示目录和文件,目录后带/
-i显示目录和文件的inode编号,标识文件的唯一数字
-l显示目录或文件详尽信息,包括文件类型、权限等
-R递归显示所有文件,可用CTRL+Z停止递归,然后kill杀死递归进程

命令参数可以写到一起,比如ls -al;
除了可以用命令参数,还可以查看特定文件或用正则表达式过滤,只需在参数后加上文件名。

补充说明:

利用-l查看文件信息时,权限后会有一个数字表示文件的硬链接总数。Linux文件链接分为两种:

  1. 符号链接:是一个真实存在的文件,里面的内容相当于指向源文件的指针,可以通过ln -s 源文件名 符号链接名创建;
  2. 硬链接:是虚拟文件,包含了源文件的信息和位置,根本上和源文件是同一个文件,但是当源文件作出修改后,硬链接和源文件的inode编号就会不一致,可以通过ln 源文件名 符号链接名创建。

1.2 查看文件内容

  1. file 文件或目录名:查看文件类型
  2. cat 文件名:显示文件所有内容
参数功能
-b只给有文本的行加上行号
-n给所有的行加上行号
-T隐藏制表符
  1. more 文件名:分页显示文件内容且只能向前浏览,Enter向下滚动一行,Space向下滚动一页,Q退出
  2. less 文件名:分页显示文件内容,PGUP向上翻页,PGDN向下翻页,Q退出
  3. tail/head 文件名:默认显示文件末尾/开头10行,可以使用-数字改变显示行数

2、处理数据

  1. sort 文件名:排序数据

默认状态下执行标准的字符排序,参数-n按数值大小排序。按分隔符区分的数据进行排序的方法是sort -t '分隔符' -k 第几个位置的数据 参数 文件名,其中位置从1开始计数。

  1. grep 正则表达式 文件名:搜索数据
参数功能
-c显示一共匹配到数据的行数
-n显示匹配到数据所在的行
-e指定多个匹配模式

3、shell

终端中可以通过输入如zshbash的命令在父shell的基础上创建子shell,可以和进程列表联合使用。通过分号可以依次运行一系列命令,当在这一系列命令上加()时命令列表就成为了进程列表,即自动创建出一个子shell去执行命令列表。

通过在进程列表或睡眠进程sleep 秒数之后加&可以将其置于后台执行,在后台执行的命令可以通过jobs -l查看。如果进程列表只包含一个命令,那么只会创建一个额外的进程,否则为两个。

命令分为内建命令和外部命令。区别是是否需要子进程执行命令,通过type -a 命令名称可以查看命令的类型,而which 命令名称只显示外部命令。

命令历史记录保存在.bash_history中,只有退出shell时才会将历史命令写入到该文件中。通过history可以查看自打开终端以来的历史命令,然后利用!命令编号可以重新执行该命令。

可以通过alias 别名='命令(可以带参数)'为命令设置别名,通过alias -p查看当前可用别名。需要注意的是本次设置的别名在别的shell中不起作用,需要更改环境变量。

4、Vim编辑器

  • 普通模式:按Esc进入
命令作用
dd删除整行,前面加数字n表示删除n行,删除后用p进行粘贴
G光标移动到最后一行,前面加数字n表示移动到第n
gg光标移动到第一行
w/b光标移动到下一个/前一个单词的开头
Home光标移动到当前行行首
End光标移动到当前行行尾
yy复制整行,前面加数字n表示复制n行,复制后用p进行粘贴
>>向右进行缩进
/或?字符串向下/上进行字符串查找,n/N查找下/上一个内容
u撤销一次操作
  • 插入模式:按i进入

  • 命令模式:按进入

命令作用
set shiftwidth?获取缩进值,通过=以字符为单位进行设置
q退出
wq保存并退出

结语

目前只记录一些常用的命令,如果在工作过程中发现其它好用的命令会及时进行更新~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值