本文介绍: Linux相关:包括常用的Linux命令、Vim、Linux进程间的基本通信

Linux

RedHat公司已经宣布停止维护CentOS服务器操作系统可以选择华为开源欧拉系统阿里开源龙蜥系统腾讯开源TencentOS系统

面试

几个基本的Linux命令

pwd #查看当前绝对路径  结果/home/stu 
touch / vi编辑器 #创建文件
mkdir -p /home/stu/test #当前绝对路径创建test文件夹
cd /home/stu #切换目录 回到当前绝对路径  
cd ~ 进入用户目录 cd .. 返回上一级目录cd ../..返回上两级目录
ls  #查看当前目录文件名称,明确是否创建成功
ll #罗列出当前目录中所有文件文件夹的详细信息
rm-rf) #用来删除文件文件夹
du #当前目录、所有子目录大小(以**KB**为计数单位)
du -h #查看当前目录、所有子目录大小(以**MB**为计数单位)
按照文件大小顺序列出文件 ls-laS -S选项默认情况下,它以降序显示输出(从大到小)ssh user1@192.168.10.1 用户名 IP地址或者域名 通过远程连接服务器
su  root切换root用户 
du-sh 查看所有子目录的大小
cp-rf 强制递归复制
scp用于远程数据传输
uptime服务器运行了多长时间以及有多少个用户登录快速获知服务器的负荷情况

cat   #一次显示整个文件的内容,适用于文件内容少的情况;
tac   #一次显示整个文件的内容 倒序显示
moreless  #用于显示文件内容超过一屏的内容,并且提供翻页的功能
tail 和 head #分别显示文件的后几行和前几行内容。常用于大文件的截取

file word.txt  #辨识文件类型 结果 word.txt: ASCII text
file -b word.txt #辨识文件类型不显示文件名 结果ASCII text
file -z a.tar.gz  #解压文件

**grep** #指定文件中搜索特定的内容,并将含有这些内容的行标准输出 给定文件中查找与设定条件相符字符串
grep "牛客" 文件名 | wc -l 统计一个文件中"牛客"出现的行数
awk基本功能是在文件或字符串基于指定规则浏览和抽取信息awk '{if($4~/Brown/) print $0}' tab2
cut:数据文件或者命令的输出中截取(也就是剪出)各种各样的数据域,cutcchars file

nohup命令:在你退出帐户/关闭终端之后继续运行相应的进程

alias [别名]=[指令名称]  用于设置指令别名find #按照文件名/类型 搜索文件

netstat  #用来本机网络连接端口占用情况的
netstat -ntlp /查看当前所有tcp端口 t-tcp相关,u-udp相关,n-拒绝显示别名,l-列出监听服务状态,p-建立相关链接程序netstat -ntulp | grep 80 /查看所有80端口使用情况
lsof -i:8080:查看8080端口占用 但是需要root权限

ifconfig # 查看ip地址和**网络接口**linux环境ipconfig是在cmddos下用的
**ps  用来列出系统中当前运行的那些进程
jobs 查看后台进程作业ID的指令**
pg提供了一次性的查看进程结果,但所提供的查看结果不是动态连续的
top 可以查看进程的CPU和内存占用情况
free是查看内存情况和交换空间
df指令系统磁盘使用情况。  对磁盘更改parted(对指定硬盘进行分区resize2fs(放大或者缩小没有挂载文件系统的大小) umount(卸除目前挂在Linux目录中的文件系统**tcpdump**  在Linux系统上抓取网卡上的网络数据包
lsblk | grep sdb  ;fdisk -l | grep sdb 查看当前挂载设备sdb多大

/etc 存放系统主要配件
/etc/hosts主机名到 IP 地址映射关系 
/etc/resolv.conf:DNS 服务配置文件
/etc/gateways:建立动态路由
/etc/services:定义了网络服务的端口 

dhcpd.conf 配置文件option routers 192.168.0.1;    配置默认网关
option subnet-mask 255.255.255.0;    配置子网掩码
option domain-name-servers 192.168.1.1;    指定DNS服务器
option domain-name-servers;    配置多个DNS服务器

lprm一个工作打印机贮列中移除
lpq 命令用于查看一个打印队列的状态,
lpd 命令 是一个常驻的打印管理程序,会根据 /etc/printcap 的内容来管理本地远端打印机。
lpr(line printer,按行打印)一个多个文件放入打印队列等待打印> 表示输出重定向  >> 输出重定向追加
cat file1 file2 > file3 将两个文件拼接在一起生成一个新的文件
cat file1 >> file2  是将文件1直接接在文件2的结尾就可以了
文件file1复制为file2
cp file1 file2 cp指令用于复制文件或目录
cat file1 >file2 , cat < file1 >file2
dd if=file1 of=file2 将文件file1拷贝到文件file2

sed -i 's/xxxx/yyyy/g' ./*.txt 将xxxx 替换yyyy;在当前目录下的所有txt文件 -i 表示的是替换并直接修改文件
查看file1文件的第300-500行的内容
sed -n '300,500p' file1 获取指定范围的内容,其中p :列印,亦即将某个选择数据印出
cat file1 | tail -n +300 | head -n 200  输出从第K行开始的内容,然后输出前200cat file1| head -n 500 | tail -n +300 输出前500行,然后输出其中从第300行开始的内容
+K是输出从第K行开始的内容 K是输出共K行的内容

sed 's/AAA/BBB/g' xyz > xyz  将文件xyz中的单词AAA全部替换为BBB s表示替换命令 /g 表示一行上的替换所有的匹配

ctrl+C 终止一个前台进程常用到的命令和操作
kill 关闭后台进程

dd 命令用于读取转换并输出数据

rwx权限可读、写、执行范围分别是:拥有者(user),和拥有者同组(group),其他(others)。若是文件夹一开始为d,否则为-。r=4,w=2,x=1,三个为一组,空的用-代表
765 的文件 -rwxrw-r-x
chmod 100 /www清空原有权限,只给u一个x权限 =chmod u+x ,g-x,o-x /www  a代表所有用户
chomd 777 修改所有人读写执行权限
chown将指定文件的拥有者改为指定的用户或组

时钟表的命令:*  *  *  *  *  command159 时1230表示0点) 日131 月112 周060表示星期天) 命令
*/5 * * * * exam  每5分钟运行任务exam

退出
esc,在vi插入模式或者底行命令模式进入命令模式
exit,一般用于退出会话程序或者交互式命令行,如ssh远程连接切换 shell(Linux中)
q,用来退出 man 手册查看命令或者配置文件的状态,或者moreless等命令查看文件的状态
quit,一般用于图形界面的退出

linux虚拟内存模型,使得每个进程都以为自己拥有整个内存空间每个进程看到的内存空间一致)

Vim

Linux Vim三种工作模式(命令模式、输入模式和编辑模式)详解 (biancheng.net)

是一个文本编辑器;没有菜单,只有命令;作用:建立、编辑、显示文本文件。

共有3种状态,退出编辑器的命令是:q 删除当前光标所在行开始计5行内容的命令是5dd

Vi:主要用来查看和修改文件内容;i – 插入文本 a – 追加文本 o-光标后插入新的一行

G+dd //编辑模式下 G 其实是 Shift + g,该快捷键表示跳转最后一行,dd 表示删除一行
cc 多数unix通过此调用它们的C编译程序
yy 复制光标所在的一整行
p 将已复制数据在光标的下一行粘贴
P 将已复制的数据在光标的上一行粘贴

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基础知识

Linux进程间基本通信方式

管道 (pipe) (包括匿名管道命名管道、系统管道)、信号 (signal)、消息队列 (queue)、共享内存、信号量和套接字。没有临界区

孤儿进程 僵尸进程

孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作

僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用waitwaitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。

clone fork

fork() 函数复制时将父进程的所有资源都通过复制数据结构进行了复制,然后传递给子进程,所以 fork() 函数不带参数

clone() 函数则是将部分父进程的资源数据结构进行复制,复制哪些资源是可选择的,这个可以通过参数设定,所以 clone() 函数参数没有复制的资源可以通过指针共享给子进程

clone是fork升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等

原文地址:https://blog.csdn.net/Zlionheart/article/details/134693328

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_12577.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注