Linux常用命令-详细3

  • 目录

    文件管理

    文件查看

    vim

    awk

    软连接

    文件查找


    文件管理

  • 如果文件不存在就创建文件;如果存在就修改时间属性
  • touch [参数选项] 文件名
  • 例:
  • touch tj.txt(如果不存在则创建tj.txt文件)
  • touch tj{1..10}.txt
  • (批量创建10个文件,分别为tj1.txt,,,,,tj10.txt)
  • 参数选项:
  • a:改变档案的读取时间记录
  • m:改变档案的修改时间记录
  • c:假如目的档案不存在,不会建立新的档案。与--no-create的效果一样
  • d:设定时间与日期,可以使用各种不同的格式
  • t:设定档案的时间记录,格式与date指令相同
  • --help:列出指令格式
  • --version:列出版本讯息
  • 查看文件的详细信息
  • stat 文件名
  • 例:
  • stat tj.txt
  • 展示文本
  • echo 字符串(功能类似printf和cout)
  • 将字符串写到文件中(覆盖文件中内容)
  • echo 字符串>文件名
  • 将字符串写到文件中(不覆盖文件中内容)
  • echo 字符串>>文件名
  • 将命令的失败结果 追加error.log文件的后面
  • cat 不存在的目录 &>> error.log
  • 例:
  • cat aaa.txt &>> tj.txt
  • 文件查看

  • 查看小文件内容(查看大文件会显示不全)
  • cat [参数选项] 文件名
  • 例:
  • cat tj.txt(查看tj.txt的文件内容)
  • cat -n tj.txt(按行号显示tj.txt的文件内容)
  • 分屏显示大文件内容
  • less [参数选项] 文件名
  • 例:
  • less tj.txt(查看tj.txt的文件内容)
  • less -N tj.txt(按行号显示tj.txt的文件内容)
  • 对查询结果的操作
  • 0.上下键
  • 1.全屏导航
  • ctrl+F 向前移动一屏
  • ctrl+B 向后移动一屏
  • ctrl+D 向前移动半屏
  • ctrl+U 向后移动半屏
  • 2.单行导航
  • j 向前移动一行
  • k 向后移动一行
  • 3.其它导航
  • G 移动到最后一行
  • g 移动到第一行
  • q或ZZ 退出less命令
  • 查看文件的前一部分
  • head [参数选项] 文件名
  • 查看文件的最后部分
  • tail [参数选项] 文件名
  • 例:
  • tail tj.txt(查看tj.txt文件的最后部分)
  • tail -3 tj.txt(查看tj.txt文件的最后3行)
  • tail -f tj.txt
  • (动态查看tj.txt文件的最后10行,按ctrl+c退出)
  • tail -4f tj.txt
  • (动态查看tj.txt文件的最后4行,按ctrl+c退出)
  • tail -n+2 tj.txt
  • (从文件的第2行开始一直显示到文件的末尾)
  • tail -c 45 tj.txt
  • (显示文件的最后45个字符)
  • 参数选项
  • -数字:显示文件的最后几行
  • -f:循环读取文档最后10行
  • -n <行数>:显示文件的内容,从指定行至文件末尾
  • -c:显示最后指定的字节数
  • 根据关键字搜索文本文件内容或进程
  • grep [参数选项] 关键字 文件名
  • 例:
  • grep 汤 tj.txt
  • 展示含有'汤'的语句
  • grep -n 汤 tj.txt
  • 展示含有'汤'的语句,点明所在行号
  • grep -i a tj.txt(忽略大小写查找)
  • 展示含有'a'和'A'的语句
  • grep -v 汤 tj.txt
  • 展示不含有'汤'的语句
  • ps -ef | grep sshd
  • 展示含有'sshd'的进程
  • ps -ef | grep sshd | grep -v "grep"
  • 展示含有'sshd'且不含有'grep'的进程
  • ps -ef | grep -c sshd
  • 展示含有'sshd'的进程的个数
  • vim

  • 是文本编辑器
  • vi
  • 只能是编辑文本内容,不能对字体段落进行排版
  • 不支持鼠标操作
  • 没有菜单
  • 只有命令
  • vim
  • 是从vi发展出来的一个文本编辑器
  • 代码补全,编译及错误跳转等方便编程的功能特别丰富
  • 三种模式
  • 命令模式->阅读(只能读,不能操作)
  • 编辑模式->编辑
  • 末行模式->保存
  • 命令模式+i->编辑模式
  • 命令模式+冒号:->末行模式
  • 编辑模式+Esc->命令模式
  • 末行模式+2次Esc->命令模式
  • 打开和新建文件
  • vim 文件名
  • 如果文件已经存在,会直接打开该文件
  • 如果文件不存在,打开一个临时文件,在保存且退出后,就会新建这个文件
  • 进入编辑模式
  • i:在当前字符前插入文本
  • I:在行首插入文本
  • a:在当前字符后添加文本
  • A:在行末添加文本
  • o:在当前行后面插入一空行
  • O:在当前行前面插入一空行
  • 进入末行模式保存文件
  • :q 当vim进入文件没有对文件内容做任何操作可以按q退出
  • :q! 当vim进入文件对文件内容有操作但不想保存退出
  • :wq 正常保存退出
  • :wq! 强行保存退出,只针对于root用户或文件所有人
  • 查看文件并定位到具体行数
  • vim 文件名 +行数
  • 例:
  • vim tj.txt +5
  • 查看tj.txt文件并光标定位到第5行
  • 如果vim异常退出,在磁盘上可能会保存有交换文件
  • vim编辑器为了保证文件的安全性,并不会在原文件上修改;
  • 而是产生一个新文件(交换文件),名字为原文件名+swp后缀名,在这个新文件上编辑
  • 当编辑完成保存时才会写回原文件中
  • 异常退出后,再次使用vim编辑文件时会有提示信息,进行处理即可
  • 不要原修改想重写可终止后用rm把交换文件删掉
  • awk

  • AWK是一种处理文本文件的语言,是一个强大的文本分析工具
  • 过滤和切割
  • awk [参数选项] '语法' 文件
  • 例:
  • cat tj.txt | awk '/zhang|li/'
  • 查找tj.txt文件中包含zhang或者li的语句(之间不要加空格,否则空格也会计入其中)
  • -F ',' 使用指定字符(此处演示为,)分割
  • $ +数字 获取第几段内容
  • $0 获取当前行内容
  • cat tj.txt | awk -F ' ' '{print $1,$2,$3}'
  • 查找tj.txt文件中按照空格为分割符的第1,2,3段
  • 切割后按照指定方式展示
  • OFS="字符" 向外输出时的段分割字符串
  • 例:
  • cat tj.txt | awk -F ' ' '{OFS="==="} {print $1,$2,$3}'
  • cat tj.txt | awk -F ' ' '{OFS="\t"} {print $1,$2,$3}'
  • toupper() 字符转成大写
  • tolower() 字符转成小写
  • length() 返回字符长度
  • 例:
  • cat tj.txt | awk -F ' ' '{print tolower($1)}'
  • cat tj.txt | awk -F ' ' '{print toupper($1)}'
  • 'BEGIN{初始化操作}{每行都执行}END{结束时操作}'
  • NR表示当时处理的是第几行,在某种需求时可利用其功能
  • 例:
  • cat tj.txt | awk -F ' ' 'BEGIN{}{totel=totel+$4}END{print totel}'
  • 每一行按照空格切割,计算第4列的总分并显示
  • cat tj.txt | awk -F ' ' 'BEGIN{}{totel=totel+$4}END{print totel,NR}'
  • 每一行按照空格切割,计算第4列的总分和总人数并显示
  • cat tj.txt | awk -F ' ' 'BEGIN{}{totel=totel+$4}END{print totel,NR,(totel/NR)}'
  • 每一行按照空格切割,计算第4列的总分和总人数和平均分并显示
  • 软连接

  • 类似于Windows的快捷方式
  • Linux的文件名和文件内容是由2个不同的文件存放的:1个文件装文件名,1个文件装文件内容
  • 软连接过程
  • 首先一个文件的软连接会先找到文件名的地址,再找到装着文件名的文件,最后才能找到文件中的内容
  • 语法
  • In -s 目标文件路径 快捷方式路径
  • 例:
  • In -s aaa/bbb/ccc/ddd/eee/tj.txt tj.txt
  • 将aaa/bbb/ccc/ddd/eee目录下的tj.txt文件创建名为tj.txt的软连接在当前目录下
  • 文件查找

  • 在指定目录下查找文件
  • find [参数选项] <指定目录> <指定条件> <指定内容>
  • 参数选项
  • . 表示在当前文件夹中进行查找
  • / 根目录可表全盘查
  • -name filename 查找名为filename的文件
  • -ctime -n或+n 按时间来查找文件,-n指n天以内,+n指n天以前
  • 例:
  • find . -name "*.txt"
  • 在当前目录下查找所有.txt文件
  • find . -ctime -1
  • 在当前目录下查找在1天之内操作过的所有文件和文件夹
  • find / -name "*.txt"
  • 全盘查找所有.txt文件

猜你喜欢

转载自blog.csdn.net/weixin_59624686/article/details/124565084