您当前的位置: 首页 >  java晴天过后 操作系统

Java面试-Linux操作系统

java晴天过后 发布时间:2022-05-17 16:59:07 ,浏览量:4

现在面试基本都会问一些Linux操作系统命令;基本要求是会用,知道使用命令,并不需要知道原理;

1、基本的增删改查;

ls      显示文件或目录

    -l      列出文件详细信息l(list)

    -a     列出当前目录下所有文件及目录,包括隐藏的a(all)

mkdir       创建目录

    -p        创建目录,若无父目录,则创建p(parent)

cd            切换目录

touch          创建空文件

echo        创建带有内容的文件。

cat          查看文件内容

cp                拷贝

mv               移动或重命名

rm               删除文件

    -r      递归删除,可删除子目录及文件

    -f            强制删除

find       在文件系统中搜索某文件

wc          统计文本中行数、字数、字符数

grep         在文本文件中查找某个字符串

rmdir           删除空目录

tree         树形结构显示目录,需要安装tree包

pwd              显示当前目录

ln             创建链接文件

more、less  分页显示文本文件内容

head、tail    显示文件头、尾内容

ctrl+alt+F1  命令行全屏模式 

2、网络端口线程命令;

who               显示在线登陆用户

whoami          显示当前操作用户

hostname      显示主机名

uname           显示系统信息

top         动态显示当前耗费资源最多进程信息

ps         显示瞬间进程状态 ps -aux

du           查看目录大小 du -h /home带有单位显示目录信息

df          查看磁盘大小 df -h 带有单位显示磁盘信息

ifconfig          查看网络情况

ping                测试网络连通

netstat          显示网络状态信息

clear              清屏

kill  杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

3、vim的使用


vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

命令模式下:

:q                      退出

:q!                     强制退出

:wq                   保存并退出

:set number     显示行号

:set nonumber  隐藏行号

/apache          在文档中查找apache 按n跳到下一个,shift+n上一个

yyp               复制光标所在行,并粘贴

h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→) 

4、查看日志相关操作;


1,查看两个时间之间的日志,并且显示关键字:sed -n '/2022-04-03 09:40:55.334/,/2022-04-03 10:20:24.812/p' spring.log | grep --color '发送消息请求体为'

-------时间点一定要在日志中存在,可用:grep --color '2022-04-03 09:40:55.334'看时间点是不是存在

2,查看日志中关键字:grep --color '定时任务01开始执行' spring.log

3,实时查看日志:tail -f spring.log

4,查看日志最后20行:tail -n 20 spring.log

5,查看日志最后20行并且搜索关键字:tail -n 20 spring.log | grep --color 'mis'

6,查看最后20行并且查找关键字(文字标红),上下扩展两行:tail -n 20 spring.log | grep 'mis' --color -a2

7,查看文件头10行: head -n 10 spring.log

8,查看日志除了最后10行的其他日志:head -n -10 spring.log

9,查看日志第5到第10行:sed -n '5,10p' spring.log

10,查看底部最新300行记录并且实时刷新:tail spring.log -n 300 -f

11,查询关键字,并且翻页:grep --color '发送消息成功' spring.log | more 空格键翻页

12,查询关键字,并且翻页:grep --color '发送消息成功' spring.log | less pagedown翻页

13,分页查看日志:cat -n spring.log | grep --color '发送消息成功' | more

14,循环实时查看最后100行记录:tail -fn 100 spring.log

15,循环实时查看最后100行记录,并且查找关键字:tail -fn 100 spring.log | grep --color 'INFO'

16,不解压查看压缩包中信息:gzip -dc spring.log.2018-01-11.gz | grep '消息' | more

17,查看java进程:ps -ef|grep java

18,查看Tomcat进程:ps -ef |grep tomcat

19,看URL能不能用:curl www.baidu.com

20,切换到三快:sudo -iu sankuai

21,使用netstat命令查询有多少台机器连接到9999端口:netstat -nat |grep 9999-c

22,数据库端口3306,使用netstat命令查看已经使用了多少个数据库连接:netstat -nat |grep 3306 -c

23,ps命令查看Java线程数:ps -eLf |grep java -c

24,查看所有有关Tomcat的进程:ps -ef |grep tomcat

25,高亮要查询的关键字: ps -ef |grep --color java

26,查看端口属于哪个程序:lsof -i :8080

27,查看所有的进程:ps aux,查看Java进程:ps aux|grep  java

28,查找日志中关键行,并向后扩展10行: grep --color=always -A 10 "20220404205050ghVXhvA9IItest01" spring.log

29,查找日志中关键行,并向前扩展几行: grep --color=always -B 10 "20220404205050ghVXhvA9IItest01" spring.log

30,查找日志中关键行,并在关键行前后扩展10行:  grep --color=always  -10  "XXXXX" spring.log 

5、文件权限;

    格式:chmod [参数] 权限文件名


 chmod可以使用八进制数来指定权限,无需再使用指定的权限和用户的字母来进行标识,通过读写执行等3个权限的数字来进行设置

r(读)的权限的数字为4

w(写)的权限的数字为2

x(执行)的权限数字为1

所以7表示的赋权的用户有读写执行权限,最大的权限,下面是对照表。

| #八进制值 | 权限       | 二进制值 | rwx  |
| --------- | ---------- | -------- | ---- |
| 7         | 读+写+执行 | 111      | rwx  |
| 6         | 读+写      | 110      | rw-  |
| 5         | 读+执行    | 101      | r-x  |
| 4         | 只读       | 100      | r–   |
| 3         | 写+执行    | 011      | -wx  |
| 2         | 只写       | 010      | -w-  |
| 1         | 只执行     | 001      | –x   |
| 0         | 无权限     | 000      | —    | 

首个字符不用管 1.第一组rwx,也就是2 3 4为user: 文件所有者(owner)文件属于谁, 即用户,

2.第二组r-x,也就是5 6 7为group: 用户组(group),用户的集合。 体现共享的特性。

3.所以的8 9 10就是others: 其他人(others),不属于用户组的集合。需要注意root也属于其他,但是root用户可以访问用户组的内容。

-rw------- (600)      只有拥有者有读写权限。
-rw-r--r-- (644)      只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700)      只有拥有者有读、写、执行权限。
-rwxr-xr-x (755)      拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711)      拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666)      所有用户都有文件读、写权限。
-rwxrwxrwx (777)      所有用户都有读、写、执行权限。 

6、压缩与解压命令
1、.zip格式:zip是Windows中最常见的压缩格式,Linux也可以正确识别,zip命令所在目录为/usr/bin/zip,所有用户可以执行,用来压缩文件或目录   命令格式:

zip [选项] 压缩包名 源文件或源目录 

 选项: 

   -r:压缩目录   

示例:

zip ana.zip ananda-ks.cfg
 

压缩多个文件:

zip test.zip abc abcd 

 

 zip对应的解压缩命令为unzip:命令所在目录为/usr/bin/unzip,所有用户可执行,   命令格式:

unzip [选项] 压缩包名

 2、.gz格式:.gz格式和.bz2格式是Linux中最常见的压缩格式,使用gzip命令   命令格式:

gzip [选项] 压缩包名

-c, -stdout. -stdout: 将输出写到标准输出上,并保留原有文件。

-d, --decompress, --uncompress: 将被压缩的文件解压缩。 -r,-rcurivee递归地查找指定目录并压缩其中的所有文件或解压缩。索-t, --test: 测试,即检查压缩文件的完整性。

注意:使用gzip压缩文件后会将原文件删除,如果想保留原文件则可以使用-c选项将压缩过程产生的标准输出写入一个新的文件中,示例如下:>的作用是覆盖内容,>>的作用是追加内容

 压缩目录下的每个文件:下述命令会将123这个目录下的每个文件分别进行压缩,而不是将整个123目录进行压缩,也就是说gzip命令不会打包压缩

gzip -r 123

解压缩也可以使用gunzip 

 

关注
打赏
查看更多评论

java晴天过后

暂无认证

  • 4浏览

    0关注

    185博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录