写点什么

Linux 入门及常见 Shell 命令

作者:宇宙之一粟
  • 2022 年 5 月 21 日
  • 本文字数:857 字

    阅读完需:约 3 分钟

Linux 入门及常见Shell命令

Linux 体系结构

  • Linux 体系结构:用户态(用户上层活动)和内核态

  • 内核:本质是一段管理计算机硬件设备的程序

  • 系统调用:内核的访问接口,是一种能再简化的操作

  • 公用函数库:系统调用的组合拳


uname -a man 2 syscalls  # 系统调用man 2 acct 
man 3 # 公共库函数
复制代码

Shell:命令解释器,可编程

这个是常考点,充当用户的界面


ls -lrtwhich lscatlessmorevivimecho $SHELLcat /etc/shellschsh -s path
复制代码

如何查找特定的文件

find

find path [options] params


作用:在指定目录下查找文件


find -name "target3.java"find / -name "target3.java"find ~ name "target*"find ~ -iname "target*"  # 忽略大小写
复制代码

检索文件内容

grep


语法:grep [options] pattern file


全称:Global Regular Expression Print


作用:查找文件里符合条件的字符串


grep "moo" target*
复制代码

管道操作符 |

  • 可将指令连接起来,前一个指令的输出作为后一个指令的输入

  • 只处理前一个命令正确的输出,不处理错误输出

  • 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃

  • sed、awk、grep、cut、head、top、less、more、wc、join、sort、split 等


grep 'partial\[true\]' bsc-plat-al-data.info.loggrep -o 'engine\[[0-9a-z]*\]'grep - v 'grep'
ps -ef | grep ps -ef | grep tomcat | grep -v "grep"
复制代码

对文件内容做统计

awk


语法: awk [options] 'cmd' file


  • 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分

  • 将切片直接保存在内建的变量中,2...($0 表示行的全部)


awk '{print $1, $4}' netstat.txtawk '$1="tcp" && $2==1{print $0}' netstat.txt
awk '($1=="tcp" && $2==1) || NR==1 {print $0}' netstat.txt
awk -F "," '{print $2}' test.txt
awk '{enginearr[$1]++}END{for(i in enginearr)print i"\t" enginearr[i]}'
复制代码

批量替换文本内容

sed


语法:sed [option] 'sed command' filename


全名:stream editor,流编辑器


适合用于对文本的行内容进行处理


sed -i 's/^Str/String/' replace.java
sed -i 's/\.$/\;/' replace.java
sed -i 's/Jack/me/g' replace.java
复制代码


发布于: 刚刚阅读数: 3
用户头像

宇宙古今无有穷期,一生不过须臾,当思奋争 2020.05.07 加入

🏆InfoQ写作平台-第二季签约作者 🏆 混迹于江湖,江湖却没有我的影子 热爱技术,专注于后端全栈,轻易不换岗 拒绝内卷,工作于软件工程师,弹性不加班 热衷分享,执着于阅读写作,佛系不水文

评论

发布
暂无评论
Linux 入门及常见Shell命令_Linux_宇宙之一粟_InfoQ写作社区