2019-08-11 Linux面试常用命令

一Linux结构体系

Linux从结构体系上看,可以分为二大部分,用户态和内核态,用户态主要是用户上层的活动,内核态本质上是一段计算机硬件设备的程序,这个程序直接管理硬件,包括CPU,内存空间,硬盘接口,网络接口等,所有的计算机操作都要经过内核传递给硬件,用户态及上层应用,程序的活动空间,应用程序的执行,必须要依托内核提供的资源,包括CPU资源,存储资源,IO资源等,为了是上层应用可以访问到这些资源,内核必须为上层应用提供访问的接口,即系统调用,系统调用是一种不能在简化的操作,即原子操作。

image.png

二.Shell

shell是一个特殊的应用程序,实际上就是一个命令行,本质上是一个命令解释器,下通系统调用,上通各种应用,在没有图形化界面之前,shell充当了图形化界面的功能。当用户要运行某些命令的时候,要通过shell输入命令,来运行程序,同时shell是可以编程的。他可以执行符合shell语法的文本,这个文本称为shell脚本。
这个shell语句,通常都对系统调用做了一层封装,为了方便和系统和用户进行交互,一般一个shell对应一个终端,终端是一个硬件设备,呈现给用户的是我们可以看到的图形化的窗口,我们可以通过这个窗口输入或者输出文本,这个文本直接传递给shell,进行分析解释执行,

三.Linux常用命令

1.查找命令find

1.查询目录下的文件指令---ls
2.查看文件内容--- cat nohup.out
3.查看o2odb的SQL文件里面的内容--- less/more o2odb.sql
4.对文件进行增删改查---vi/vim employ.sql 
5.查看本机使用的shell版本---echo $SHELL
6.查看本机支持的shell版本---cat /etc/shells
7.切换到指定的shell版本---chsh -s 版本

查看已开启端口对应的进程号
1、lsof -i:端口号
2、netstat -tunlp|grep 端口号
1.终止进程---kill -9
2.备份--- cp -rf seas seas2019
3.查看java进程的端口号---ps -ef |grep java
5.查看进程打开了哪些文件--- lsof -p PID
6.cpu使用率---top
7.实时查看正在更新的日志--- tail -f log

4.查看指定的端口被哪个进程所占用 lsof -i:端口号


image.png

image.png
find -name “target.java”和 find ~ -name “target.java”都是在当前目录下查找target.java文件。
find / -name “target.java”表示在根目录下查找 target.java,在Linux当中,”/”表示根目录

grep -v “target”---过滤掉有target的字符串。
grep -o “正则”--- 获取到我们想要的字符串

2.检索指定字符串grep

grep 查找文件里符合条件的字符串,如果在某个类里面查找的话,会将整个类都查询出来。如果是文本的话,只会查询出带有关键字的哪一行.
grep “imooc”  test* 
---在以test开头的文件当中,查找出有imooc字段的行或者类。注意要查询的文件是不用双括号的。

如果我们不指定要查询的文本,即grep “imooc”,此时终端就会等待我们输入文本,只有当我们输入的文本当中包含“imooc”时,他才会给我们返回我们输入的,否则没有反应.
image.png

3.管道操作符|

image.png

将左边指令标准输出内容作为标准输入,传出到右边,使用管道操作符可以将shell指令组合起来。

4.对文件内容做统计awk

image.png

image.png

awk默认使用空格作为分隔符,可以使用 -F “?”来定义使用什么符号作为分隔符
image.png

5.批量替换sed

image.png

image.png
--将全文当中的Jack替换成me,若不加/g,只会替换每一行的第一个Jack
sed -i 's/Jack/me/g' replace.java
-- 将所有的Str替换成String
sed -i 's/^Str/String/' replace.java
-- 将“.”结尾的替换为“;”结尾的
sed -i 's/\.$/\;/' replace.java

你可能感兴趣的:(2019-08-11 Linux面试常用命令)