文章目录
- 文件目录管理
- 文件内容查看
- 文件内容查询
文件目录管理
1、绝对路径、相对路径
绝对路径:全称,都是以 / 开头的
相对路径:根据当前目录确定
cd :切换目录命令
cd . : 当前目录
cd . . : 返回上一级目录
2、pwd 显示当前用户所在的目录!
3、mkdir 创建目录,-p 递归创建文件夹
4、rmdir 删除目录,-p 递归删除文件夹
rmdir 仅能删除空的目录,如果下面存在文件,需要先删除文件,递归删除多个目录参数 -p 即可。
5、touch创建空文件
举例:touch aaa.txt (touch 后面也可以跟路径,如:touch /test/aaa.txt)
创建多个文件 touch a.txt b.txt
6、cp(复制文件或者目录)
cp 原来的地方 新的地方 !(复制到当前文件夹(此时已在当前文件夹)使用 cp /file ./ ./代表当前文件夹)
如果复制一样的文件,会出现提示,y表示可以覆盖,n表示不可以覆盖。
cp命令主要参数
-d:若文件为链接文件,则复制链接文件属性而非文件本身
-f:强制复制,若目标文件存在且无法开启,删除后再次尝试
-i:覆盖前询问
-l:创建硬链接
-p:复制文件并复制其所有属性
-r:递归复制,用于目录复制
cp -r /home/user1 /tmp #此处省略 user1,默认为同名复制
-s:创建符号链接(软链接、快捷方式)
-a:相当于-dpr 同时使用
-u:源文件更新时才复制
7、rm(移除文件或者目录!)
-f 强制删除!忽略不存在的文件,不会出现警告.
-r 递归删除目录!
-i 互动,删除询问是否删除
-v:显示步骤
rm -rf / #系统中所有文件就被删除了,删库跑路?
8、mv 移动文件或者目录!重命名文件!
mv 命令中根据第二个参数的不同(文件或者目录),mv 命令将目标文件重命名或移至新的目录中。当第二个参数类型是文件时,是重命名。当第二个参数是已经存在的目录名时,源文件或目录参数可以有多个,mv 命令将各参数制定的源文件均移至目标目录中。在跨文件系统移动文件时,mv 先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
-f 强制
-u 只替换已经更新过的文件(用的比较少)
- mv *.txt testDir 当前目录下所有以txt结尾文件移动到子目录
9、ls 命令 列出当前目录下的文件和目录信息
- 常见参数
-a:列出所有文件,包括隐藏文件
-A:列出除了 . 和 … 之外的所有文件
-l:列出详细信息
-h:以合适的单位换算大小,配合 l 使用
-t:按照时间进行排序
-S:按照文件大小排序
文件内容查看
linux 系统中使用以下命令来查看文件的内容:
10、cat 由第一行开始显示文件内容
- 常用选项
- -n : 显示行号(包括空行)
- -b : 显示行号(不包括空行)
- -s : 自动合并连续两行以上的空白行为一行
- -E : 在每行结尾上加上$ 符号
- cat file1 file2 叠加显示两个文件的内容
- cat file | more 管道符会先执行|左边的命令,然后将结果再代入到后面的命令
- 使用cat创建文件:
- cat > file1 << EOF
- 追加文件内容:
- cat >> file1 <<EOF
- 合并文件
- cat file1 file2 > file3
将文件 1 和文件 2 内容合并后写入新创建文件 3 - cat file1 file2 >> file3
将文件 1 和文件 2 内容追加到已存在的文件 3 后面
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写
- nl 显示的时候,顺道输出行号!
11、more 一页一页的显示文件内容
空格代表翻页,enter表示向下看一行(:f 看行号)
- 常用选项
- +n : 从第n行开始显示
- -n : 定义屏幕的大小为n行
- +/pattern :在每个文件显示前搜索字符串 pattern,然后从该字符串的前两 行之后开始显示
- -c:从顶部清屏然后显示
- -d:提示相关信息
- -p:通过清除窗口而不是滚屏来对文件进行换页(与-c 类似)
- -s:连续多个空行显示为一条空行
- -u:文件中的下划线去掉
- 空格键:向下滚动一屏
- Ctrl+F:向下滚动一屏
- Ctrl+B:返回上一屏
- =:输出当前行号
- :f :输出文件名和当前行号
- q:退出 more
12、less查看文件
- less 与 more 类似,但是比more 更好的是,他可以往前翻页!
空格代表翻页,上下键代表反动页面!END表示结束,然后按q , 即可退出。查找字符串 :
向上查询使用 ? 要查询的字符串
向下查询使用 / 要查询的字符串
n继续搜寻下一个,N是向上搜索!
- 常用选项
- -b:设置缓冲区大小
- -e:文件显示结束自动退出
- -f:强迫打开特殊文件
- -g:只标志最后搜索的关键词
- -i:忽略搜索的大小写
- -m:显示类似 more 命令的百分比
- -N:显示行号
- -o filename:将 less 输出的内容保存至指定文件
- -s:显示连续空行为一行
- -S:行过长是舍弃超出部分
- 常用功能
- /string : 向下搜索字符串 string
- ?string :向上搜索字符串 string
- n:重复上一个搜索结果
- N:反向重复前一个搜索结果
- b:向前翻整页
- d:向后翻半页
- q:退出
- u:向前翻半页
- y:向前翻一行
- 空格:滚动一页
- 回车:滚动一行
- page up:向上翻整页
- page down:向下翻整页
总结more与less:less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
13 、head 只看头几行( -n 表示要看 n 行)
- head -n 3 file 显示前三行
- head -n -3 file 显示除了最后三行之外的内容
14 、tail 只看尾巴几行( -n 表示要看 n 行)
- head -n 3 file 显示最后三行
- head -n +3 file 显示除了前三行之外的内容
你可以使用man 来查看各个命令的使用文档,如:man cp。
网络配置目录:cd / etc / sysconfig / network-script (CentOS7)
ifconfig 命令查看网络配置 cenos7 目前为 ip addr
- Ctrl + C 表示“结束进程“
文件内容查询
grep 家族,grep 在文本中查找指定的字符串所在的行
常用选项
- -E:开启扩展的正则表达式
- -i:忽略大小写
- -v:打印没有匹配的行,匹配的不打印
- -n:显示行号
- -w:匹配整个单词,不能是单词的某一部分
- -c:显示匹配的行数,不显示匹配到的内容
- -o:只显示匹配到的字符串
- -A n:显示匹配到的字符串所在的行及其后 n 行
- -B n:显示匹配到的字符串所在的行及其前 n 行
- -C n:显示匹配到的字符串所在的行及其前后各 n 行
匹配模式( 正则 )
- 直接输入字符串本身
- 匹配字符
- . :任意一个字符
- [abc]:a、b、c 中的任意一个
- [a-zA-Z] :大小写字母中的一个
- [^123] :除了 1、2、3 之外的所有字符中的一个
- 匹配次数
- *:前面的字符 0 次或多次
- ?:前面的字符 0 次或 1 次
- {m,n}:前面的字符至少 m 次,至多 n 次
- 匹配位置
- ^:锚定行首
- $:锚定行尾
- ^$可以匹配空白行
- \<:单词的词首
\< like 将匹配 likeme,而不匹配 alike
- >\:单词的词尾
like \>匹配 alike,不匹配 liker
- 实例
- grep abc /etc/passwd 普通查找
- grep abc /etc/passwd /etc/shadow 在多个文件中查找
- grep -n abc file 查找指定字符串并显示匹配行的行号
- grep -l abc file1 file2 file3 列出包含指定字符串的文件的文件名
- grep -v abc file1 显示不匹配的行
- grep ^root /etc/passwd 显示匹配指定行首的行
显示注释行以及行号
- grep abc$ 列出文件中所有以abc 结尾的行
- grep -r root /etc/ 递归查找目录下所有包含字符串的文件的所在行和文件名