Linux相关

序号地址
1计算机网络核心
2数据库相关
3Redis
4Linux相关
5JVM的内容
6GC相关的
7Java多线程与并发
8Java多线程与并发-原理
9Java常用类库与技巧
10Java框架-Spring


1、Linux的体系结构

请添加图片描述

  • 体系结构主要分为用户态(用户上层活动)和内核态。
  • 内核:本质是一段管理计算机硬件设备的程序。
  • 系统调用∶内核的访问接口,是一种能再简化的操作。
  • 公用函数库:系统调用的组合拳(系统调用封装)。
  • Shell:命令解释器,可编程。
man 2 syscalls    //查看所有的系统调用说明
man 3                //系统的库函数
ls -lrt        //
which ls    //

cat 
less
more

vim
echo $SHELL    //当前shell版本
cat /etc/shells    //本机支持的shell版本
chsh -s /bin/dash    //切换到上面查询到的shell版本

2、如何查找特定的文件(Find)

Find:在指定目录下查找文件

find path [options] params

使用:

find -name "test.java"       #	在当前目录下查到test.java文件
find / -name "test.java"     #	从根目录开始查到test.java文件
find ~ -name "test*"         #	从用户目录下,找到以test开头文件
find ~ -iname "test.java"    #	从用户目录下,找到test.java文件(忽略大小写)

3、检索文件内容(grep)

grep [options] pattern file
  • 全称:Global Regular Expression Print。
  • 作用:查找文件里符合条件的字符串。
grep "start" test*    //从test开头文件中,查找含有start的行

管道操作符 |

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

请添加图片描述

find ~ |grep "test"
find ~                //查找当前用户所有文件
grep "test"            //从文件中

使用管道注意的要点

  • 只处理前一个命令正确输出,不处理错误输出。
  • 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃
  • sed,awk,grep,cut,head,top,less,more,c,join,sort,split等
grep 'error' email.log            #	从email.log文件中查询包含error的行
grep 'error' email.log | grep -o '\[0-9\]' #	获取到error的行,并取[]含有数字的内容
ps -ef|grep tomcat |grep -v        #	并过滤掉含有当前进程

4、对文件内容做统计(awk)

awk  [options]  'cmd'  file
  • 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分。
  • 将切片直接保存在内建的变量中,$1,$2…($0表示行的全部)。
  • 支持对单个切片的判断,支持循环判断,默认分隔符为空格。
  • -F 指定分隔符(默认为空格)

请添加图片描述

// 将email.out进行切分,打印出第1/3列内容
awk '{print $1,$3}' email.out        
// 将email.out进行切分,当第1列为tcp,第2列为1的列,全部打印。
awk '$1=="tcp" && $2==1{print $0}' email.out
//在上面的基础上将表头进行打印(NR表头)
awk '($1=="tcp" && $2==1)|| NR==1 {print $0}' email.out

//以,为分隔符,切分数据,并打印第二列的内容
awk -F "," '{print $2}' test.txt

将日志中第1/3列进行打印,并对第1列的数据进行分类统计

awk '{print $1,$3}' email.out
| awk '{count[$1]++} END {for(i in count) print i "\t" count[i]}'

请添加图片描述

请添加图片描述

5、批量替换文件内容(sed)

sed [option] 'sed commond' filename
  • 全名Stream Editor,流编辑器
  • 适合用于对文本行内容进行处理
  • sed commond为正则表达式
  • sed commond中为三个/,分别为源内容,替换后的内容
sed -i 's/^Str/String/' replace.java 

请添加图片描述

将末尾的.替换为;(转义.)

sed -i 's/\.$/\;/'

全文将Jack替换为me(g是全部替换,不加只替换首个)

sed -i 's/Jack/me/g/ replace.java

删除replace.java中的空格(d是删除)

sed -i '/^ *$/d' replace.java

删除包含Interger的行(d是删除)

sed -i '/Interger/d' replace.java

6、lsof

查看某一端口的占用情况

lsof -i:8080

7、netstat

netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等;
列出所有处于监听状态的tcp端口:

包括 PID 和进程名称

netstat -tulpn

查看指定端口号占用的TCP网络连接情况

netstat -tunlp|grep 8080

8、jstack

根据PID,查看JVM中各线程信息('0x9eb’为nid值)

jstack 2246|grep '0x9eb' -A 50

9、实时查看文件后几行(实时查看日志)

tail -f a.java        查看a.java文件的后10行内容;

10、unzip

unzip file1.zip             解压一个zip格式压缩包
zip -r lib.zip lib/            将目录进行压缩(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar        将多个文件压缩为zip文件(lib.zip)    

11、docker常用命令

#1、查看docker中下载好的镜像:
docker images
#2、查询需要的容器名称:
docker search mysql
#3、将需要的docker容器下载运行到本地(名称、端口号、msyql密码、ID):
docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a
#4、查看运行的docker容器:
docker ps
#5、查看所有的docker容器(包括未运行的):
docker ps -a
#6、停止当前运行的docker容器:
docker stop first
#7、启动docker容器:
docker start first
#8、重启docker容器:
docker restart first
#9、删除docker容器:
docker rm first

更新yum

sudo yum update

安装docker

sudo yum install docker

查看docker版本

docker -v

Docker version 1.13.1, build 0be3e21/1.13.1
启动docker

systemctl start docker
systemctl restart  docker
systemctl stop docker

查看docker是否启动

docker ps -a

搜索Redis镜像

docker search redis

12、查看当前目录所占存储

du -sh    			//查看当前文件夹所占存储空间
du --max-depth=1    //只查看当前目录下文件占用的存储空间
df -h            	//查看系统硬盘使用情况

13、Linux内核优化

打开配置文件

vim /etc/sysctl.conf

14、用户操作

添加用户sum:

useradd –d /usr/sum -m sum

关于useradd的某些参数:

-u: 指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID

-g: 指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在

-G: 指定额外组

-c: 指定用户的注释信息

-d: 指定用户的家目录

已创建的用户sum设置密码

passwd sum

用户添加root权限

visudo

找到root用户权限位置
添加与root用户相同权限

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
eses    ALL=(ALL)       ALL

在这里插入图片描述

新建的用户在面显示

cat /etc/passwd

反反复复

切换下刚才添加的用户

su sum

sum: x:1000:1000:: /usr/sum :/bin/bash
sum: x:0:1000:: /usr/sum :/bin/bash

回到root用户

exit

修改已有用户信息usermod

usermod 选项 用户名

请添加图片描述

删除用户文件夹

rm -rf /usr/sum

删除用户sum

userdel sum

请添加图片描述

15、添加组

添加用户组

groupadd groupname

请添加图片描述
修改用户组
使用者权限:管理员用户

groupmod 选项 用户组
groupmod  -n new-usergroup  usergroup

常用的选项有:

  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n新用户组 将用户组的名字改为新名字
    在这里插入图片描述

删除用户组

groupdel groupname

可以看到自己的分组和分组id

cat /etc/group

16、sudo用户权限操作

比如我们使用普通用户操作用户或者操作用户组、以及修改网卡配置文件的时候,需要切换到root用户才操作,此时我们可以使用sudo命令提高普通用户的操作权限,以达到操作目的

sudo:控制用户对系统命令的使用权限,root允许的操作。
通过sudo可以提高普通用户的操作权限。
使用者权限:普通用户

使用root用户权限执行命令,操作

sudo -s
sudo   vi /etc/sysconfig/network-scripts/ifcfg-ens33 

在这里插入图片描述

17、更换文件所有者

格式:

chown [-R] 所有者 		文件或目录
chown [-R] 所有者:所属组 	文件或目录

kibana-8.3.3-linux-x86_64.tar.gz所有者改为用户sum

chown -R sum /usr/sum/kibana-8.3.3-linux-x86_64.tar.gz

kibana-8.3.3-linux-x86_64.tar.gz所有者改为用户sum、所有组改为sum

chown -R sum:sum /usr/sum/kibana-8.3.3-linux-x86_64.tar.gz
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Linux相关面试题可以包括以下几个方面的内容: 1. 简要介绍Linux文件系统的特点和概念:在Linux操作系统中,一切都被看作是文件,包括网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录。这种概念源于Unix哲学,Linux继承并发展了它。Linux支持五种文件类型,并且可以通过文件的方式来访问硬件设备。 2. Linux内核的定义和功能:Linux系统的核心是内核,它控制着计算机系统上的所有硬件和软件。它负责分配硬件资源,执行软件程序,并管理系统内存、应用程序、硬件设备和文件系统等方面的功能。 3. Linux的基本组件:Linux拥有内核、shell和GUI、系统实用程序和应用程序等基本组件。内核是操作系统的核心,shell是用户与内核交互的接口,GUI提供了图形化界面,系统实用程序提供了一些实用工具和服务,应用程序是用户可以使用的各种应用软件。Linux的优势在于每个方面都有其他功能的补充,并且所有代码都可以免费下载。 根据这些方面,可以提出以下几个面试题: 1. 在Linux中,一切资源都被看作是什么? 2. Linux文件系统有哪些特点? 3. 请简要介绍Linux内核的功能。 4. Linux的基本组件有哪些?请简要描述它们的作用。 回答这些面试题时,可以参考引用内容,结合自己的理解进行回答。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [linux相关面试题.zip](https://download.csdn.net/download/luoluoal/88013439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [史上最全Linux面试题(2020最新版)](https://blog.csdn.net/enmotech/article/details/105304068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ha_lydms

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值