Linux课程中的学习笔记

1.文件系统命令

1.1、文件目录结构

1.2、命令详解

pwd(显示当前工作目录的绝对路径)

例如:

​ ✦image-20221210133922614

  1. 绝对路径

从根目录算起的路径叫做绝对路径 【可以理解为全路径】

例如:

​ ✦/home/python/Desktop ​ ✦/usr/bin 【可以直接使用 cd /home/】

  1. 相对路径

从当前目录算起的路径叫做相对路径

例如:

​ ✦./test/hello ​ ✦../static/images

  1. 绝对路径和相对路径的使用

1.使用绝对路径切换到桌面

cd /home/python/Desktop

2.在下载录以相对路径切换到桌面

cd Downloads
cd ../Desktop

​ 3.在桌面使用相对路径切换到上一级目录的上一级目录

cd Desktop 
cd ../../

find(查找目录或文件)

image-20221210134226594

image-20221210134403647

tar(解压包)

tar打包跟解包都都需要使用对应文件名后缀的选项

zip(解压包)

如果没有zip、unzip命令,需要先安装

sudo yun install zip unzip

(openeuler/centos/redhat)

sudo apt install zip unzip

(deepin/debian/ubuntu)

使用方法:

zip -r dir.zip dir 

(打包 -r表示递归打包)

unzip  dir.zip 

(解包)

2.重定向和管道

2.1重定向

重定向标准输出:>(输出到指定文件) »(追加输出到指定文件)

重定向标准错误: 2>(保存错误信息到指定文件) 2»(追加保存错误信息到指定文件)

重定向标准输出和错误:&>(输出跟错误都保存到指定文件) &»(追加输出跟错误都保存到指定文件)

特殊的重定向(2>&1)将标准错误重定向到标准输出

2.2管道

语法:命令1 | 命令2 | 命令3

例如:

echo先输出hello,利用管道将第一个命令的输出给第二个命令使用,所以grep h 会在hello中查找h

2.3 wc命令

wc可以显示行数、单词数和字符数

选项说明: -l:仅显示多少行

​ -w:仅显示多少字

​ -m:多少字符

3.Linux之三剑客

1.grep文本过滤

语法格式:

grep -option(参数) ‘word’(关键词) file(文本文件)

选项说明:

-a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数>或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。

2.sed擅长取行

1.sed语法

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

2.sed的查看功能

①查看passwd文件的第5到第8行内容

[root@control data]# sed -n '5,8 p' passwd
rootaaaa1a1:x:0:0:root:/aa1a2sroot:/bin/bash
rootaaaa1a1:x:0:0:root:/aa1a2sroot:/bin/bash
rootaaaa1a1:x:0:0:root:/aa1a2sroot:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

②查看passwd文件中以roo开头的行

[root@control data]# sed -n '/^roo/ p' passwd
root:x:0:0:root:/root:/bin/bash

③忽略大小写,对含有root字符的行打印出来

[root@control data]# sed -n '/root/I p' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

3.sed的查找及替换功能

将passwd的5到10的bin字符串查找出来替换为aaaa

[root@control data]# sed -n '5,10 s/bin/aaaa/ p' passwd |head
lp:x:4:7:lp:/var/spool/lpd:/saaaa/nologin
sync:x:5:0:sync:/saaaa:/bin/sync
shutdown:x:6:0:shutdown:/saaaa:/sbin/shutdown
halt:x:7:0:halt:/saaaa:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/saaaa/nologin
operator:x:11:0:operator:/root:/saaaa/nologin

3.awk擅长取列

语法格式:

awk 选项 '模式或条件 {操作}' 文件 1 文件 2 …

选项:

选项含义备注
-f从脚本文件中读取awk命令。常用
-F指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F: (–field-separator)常用
-v赋值一个用户定义变量。