Linux课程中的学习笔记
1.文件系统命令
1.1、文件目录结构

1.2、命令详解
pwd(显示当前工作目录的绝对路径)
例如:
✦
绝对路径
从根目录算起的路径叫做绝对路径 【可以理解为全路径】
例如:
✦/home/python/Desktop ✦/usr/bin 【可以直接使用 cd /home/】
相对路径
从当前目录算起的路径叫做相对路径
例如:
✦./test/hello ✦../static/images
绝对路径和相对路径的使用
1.使用绝对路径切换到桌面
cd /home/python/Desktop
2.在下载录以相对路径切换到桌面
cd Downloads
cd ../Desktop
3.在桌面使用相对路径切换到上一级目录的上一级目录
cd Desktop
cd ../../
find(查找目录或文件)

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 | 赋值一个用户定义变量。 |
