技术岗面试基础知识复习——Linux命令和DOS命令

Linux内核

内核是操作系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层,操作系统是计算机的核心,而内核是操作系统的核心。
Linux内核版本号由3个数字组成:r.x.y
r:目前发布的内核主版本
x:偶数表示稳定版本,奇数表示开发中版本
y:错误修补次数

文件目录详解

对Linux来说,一切皆文件。
Linux系统下只有一个根目录,用/表示。
Linux有两个用户目录(root管理员用户和普通用户),root用户的家目录是/root,普通用户的家目录是/home或~。
/bin和/usr/bin 都是存放可执行文件
/etc 存放系统配置文件,不建议存放可执行文件
/lib 系统使用的函数库的目录
/tmp 一般用户或正在执行的程序临时存放文件的目录
/usr 应用程序存放目录
/var 放置系统执行过程中经常变化的文件

Linux基本命令

文件管理

ls命令 显示目录下的文件和属性信息

Linux:

	ls [目录] 显示当前目录下所有文件。
	ls -a [目录] 显示所有文件,包括隐藏文件。
	ll [目录]或ls -l [目录] 显示所有文件的详细信息。

Dos:

	dir [目录]
	attrib -h 显示隐藏文件
mkdir命令 创建目录

Linux:

		mkdir b  创建一个目录b
		mkdir b1,b2,b3,b4或者mkdir b{1,2,3,4}或者 mkdir b(1..4) 创建多个b目录(b1,b2,b3,b4) 
		mkdir 目录1/目录2 -p   在一个不存在的目录1下创建一个不存在的目录2

Dos:

	mkdir b 创建一个b目录。
	mkdir b1,b2,b3  创建多个目录
	md 目录:新建目录  
	rd 目录:删除目录结构(里面必须是空的才能删除)
	del 目标目录\目录+名字:删除目录内的所有文件\指定的文件
	del *.*:删除当前目录中的所有文件(不是文件夹)
touch命令 创建文件

Linux:

	touch a.txt  创建一个a.txt文件(若文件不存在则创建,若存在则修改最后访问时间)
	touch a1,a2,a3,a4 或者touch a{1,2,3,4} 或者touch a(1..4)   创建多个a文件(a1,a2,a3,a4)

DOS:

	没有直接创建文件的命令
cp命令 复制文件或目录

Linux:

	cp a.txt b.txt      复制a文件并命名为b
	cp 文件名 目录  将文件拷贝到指定目录下(可复制多个文件,用空格隔开)
	cp -r 源目录 新文件名/目录 拷贝源目录下的所有文件到新文件下(在当前目录)或者指定目录下

DOS:

	cp 改为copy
mv命令 移动或改名文件

Linux:

	mv a.txt 目录    将a 文件移动到指定目录下
	mv a.txt b.doc     将文件a.txt重命名为b.doc (a.txt文件必须存在 且 b.doc在当前路径下必须唯一且不存在)
	mv test1.c test2.c     把test1文件的内容移动到test2中,原来的test1就删掉了,相当于给test1文件改名为test2了

DOS:

	mv改为move
	ren可以重命名文件
rename命令 修改后缀名

Linux:

批量更改文件扩展名
rename 's//.txt//.ext/' *   txt后缀更改为ext后缀
批量删除文件扩展名
rename 's//.txt//' *    将所有txt后缀都删掉
 批量添加文件扩展名
 rename 's/$//.txt/' *

DOS:

rename *.jpg *.png   将所有的ipg文件更改为png文件
grep命令 文本搜索工具

Linux:

grep 关键字 文件名  输出文件中包含关键字的所在行
grep -n 关键字 文件名  输出文件中包含关键字的行和行号
grep -v 关键字 文件名  输出文件中不包含关键字的所在行
grep -vn 关键字 文件名  输出文件中不包含关键字的所在行及其行号
grep -c 关键字 文件名   输出包含关键字的行的数量
grep -l 关键字 test*.c   输出包含关键字的文件名,不输出具体的行	(如:返回test1.c  test2.c...)
grep -c ^[^$] 文件名  查找文件中非空行的数量
grep -c ^$ 文件名  查找文件中空行的数量
grep -f 文件名1 文件名2   输出两个文件中相同的内容
grep -vf 文件名1 文件名2   输出两个文件中不相同的内容(文件2中有,但文件1中没有的行)
grep 字符串 文件名|wc -l ,找出关键字出现的次数,grep输出,wc -l按行统计。
如果是多个字符串出现次数,可使用: grep 'objStr1\|objStr2'  文件名|wc -l  。直接用 | 链接起来即可。

注:wc 默认统计文本中行数、字数、字符数

DOS:

grep改为find
pwd 显示当前绝对路径
pwd [文件]  显示当前所在目录的绝对路径
chmod命令 改变文件或目录权限
chmod u+r test.txt     //增加用户可读
chmod u-w test.txt     //撤销用户可写
chmod u=rw test.txt    //重置用户权限(可读可写)
chmod u=- test.txt     //重置用户权限(无任何权限)
chmod g=rw test.txt    //重置用户组权限(可读可写)

角色:
u (user)主用户(文件所有者)
g (group)用户组(同一组中除了当前用户的其他用户)
o (other)其他用户(其他用户组下的所有用户)
a (all)所有用户
操作符:
+ 增加权限
- 撤销权限
= 设置权限
权限值:
r 可读,权限值4
w 可写,权限值2
x 可执行,权限值1
- 无任何权限,权限值0

注:改变文件所有者的命令为chown
若文件A的创建者希望对所有用户,包括其自身可读写文件A但不可执行A,可以使用chmod 666 A。若是可读可写可执行chmod 777 A

tar命令 解压缩命令
tar zcvf a.tar.gz a   对指定文件进行压缩(将a压缩为a.tar.gz)  参数zcvf 中v代表显示压缩过程,可以省略,zcf不能省略。
tar xf a.tar.gz     解压a.tar.gz    参数xf可以写为xvf 表示显示解压过程
zip -r a1 a 将a压缩为a1.zip
unzip a1.zip   将a1.zip解压

文档编辑

echo命令 输出字符串或提取shell变量的值

Linux:
echo “指定内容” 将指定内容输出到屏幕上
echo “指定内容” > 文件名 将指定内容重定向到指定文件中(文件若不存在,则自动新建该文件) ( >>也是重定向到文件 但是>是以覆盖的形式重定向。>>是以追加到末尾的形式重定向的)
echo $PATH 输出变量PATH的值
DOS:

一样
sed命令 处理编辑文本文件
截取指定时间段日志并输出到指定文件:
sed -n '/2020-01-01 00:00:/,/2020-12-12 24:00:/p' xxx.log  >  xxx.txt
-n:仅显示script处理后的结果。
p:print,打印输出。
注意:日期时间格式要和日志文件中的保持一致。
rm命令 移除文件或目录

Linux:

 rm 文件名    删除指定文件
 rm -r 目录    递归删除指定目录及目录下所有文件
 rm -a  强制删除

DOS:

rm改为del
cat命令 查看文件

Linux:

cat 文件名    查看文件的内容
cat -n 文件名   查看文件内容的同时显示行号

Dos:

cat改为type
head 命令 查看文件头部内容
head 文件名    默认查看文件前十行的内容
head -n 4 文件名  查看文件前4行的内容
tail命令 查看文件尾部内容(实时查看日志)
tail 文件名        默认查看文件最后10行的内容
tail -n 4 文件名     查看文件最后4行的内容
tail -c 3 文件名     输出文件的最后3个字符
tail -f logname.log    查看实时日志文件(默认最后10行,但是是动态刷新的)
tail -n +1000:从1000行开始显示,显示1000行以后的
sed 查看文件第X行到第Y行

查看文件X-Y行
sed -n “X,Yp” 文件名
或者: cat 文件名 |tail -n +X |head -n Y 先从文件中,从第X行开始,找X行,然后从这X行中,找前Y行,最后输出到屏幕上
或者:cat 文件名|head -n Y|tail -n +X 先从文件中,共找到前Y行,然后从Y行的第X行开始,找X行。

rmdir命令 删除空目录

Linux:
注:必须是删除空目录,如果非空,需要用指令:rm -r删除

rmdir -p -v 目录  递归删除路径中的所有空的父目录和子目录。-p显示详细删除过程,-v如果非空则报错

Dos:

rmdir改为rd

系统管理

find命令 查找和搜索文件
find .     列出当前所在目录下所有文件和子文件
find 目录 -name “文件名”  在指定目录下查找指定文件
文件名表示方式:可以用正则符号  如*ttt* 表示文件名中有ttt,*表示任意长度
如:find 目录 -name “*.c”   查看指定目录下所有后缀名为.c的文件
find 目录 ! -name “test1.c”  找出目录下不为test1.c的文件(包含目录本身)
top命令 实时显示进程动态
top   top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。(动态显示耗费资源最多进程信息)
ps命令 查看进程状态

注:ps是系统在过去执行的进程的静态快照,top命令反应的是系统进程实时动态信息,默认10s更新一次,可以用ps -d指定屏幕刷新的延迟时间。

ps   显示进程状态
ps -l  显示进程详细信息 
ps aux  查看系统所有进程数据
查看指定进程的指令:ps -ef |grep 进程号
kill命令
kill 进程号  杀掉指定进程
kill -9 进程号  强制杀掉指定进程

磁盘管理

df命令 显示磁盘空间使用情况
df [-h]   -h以易读的方式显示
du命令 查看磁盘占用空间
du [-h]   -h以易读的方式显示

网络通信

man 查看帮助

man ping:查看ping命令的用法

ssh命令 管理远程服务器
ssh [-p port] [远程主机]  登录远程服务器(port是端口号,默认是22,后面加上ip地址)
ping命令 测试主机间网络的连通性
ping www.baidu.com    测试主机与百度网站的连通性
ifconfig命令 显示和配置 网络设备信息
ifconfig  显示网络设备信息
ifconfig eth0 192.168.1.56 //给eth0网卡配置IP地址
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 // 给eth0网卡配置IP地址,并加上子掩码
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
hostname命令 显示系统的主机名
hostname -I   显示主机的IP地址
hostname  显示主机名

用户管理命令

id   查看当前用户的信息
whoami   查看当前用户是谁
id 用户名   查看指定用户的信息(或者判断指定用户是否存在)
who 判断登录当前主机的所有用户 
su -   切换到root用户
su - 用户名   切换到指定用户
useradd 用户名  创建新用户(必须在root用户中才能添加用户)
passwd 用户名  为指定用户名设置密码(只能在root用户中才能设置密码)
exit   退出当前用户

其余命令

clear 清楚屏幕(Dos使用cls)
history  显示所有敲过的命令(系统未关机前)
vim 文件名 打开一个文件(进入文件后有三种模式:未编辑模式(默认),编辑模式,命令行模式)
未编辑模式时,按a或者i   进入编辑模式
      输入冒号:   进入命令行模式        
编辑模式时,按esc键     进入未编辑模式
命令行模式时, 按退格键  进入未编辑模式

未编辑模式常用命令:

yy  复制光标所在行内容
p   在光标所在行的下一行粘贴复制的内容
dd  删除光标所在行的内容
u  撤销
Ctrl +r  反撤销
^	跳转到光标所在行的行首
$	跳转到光标所在行的行尾
gg		跳转到当前文档的首行的第一个位置
G		跳转到当前文档的末尾行的第一个位置

命令行模式常用命令 :

wq 保存并退出vim
 q! 不保存强制退出vim
/关键字  搜索关键字
more 文件名    一次查看一屏幕的文件内容 
ln -s a a1  为a创建软链接文件a1(相当于windows中的快捷键)
wget  指定url   下载文件
|  管道符  如:命令1 | 命令2  表示命令1执行后的所有内容,通过管道符传递给命令2使用
uname -a  查看当前内核的信息
free -h 查看当前内存的容量 -h表示以人类正常识别的方式查看
man 命令 查看指定命令帮助信息
netstat  查看当前系统开启的端口号

Linux网络命令

curl :利用url规则在命令行下工作的文件传输工具。如curl www.baidu.com 结果会把网站的所有信息抓取下来(html)

netstat :显示网络状态信息
telnet: 用于登录远程主机

常考的linux命令:https://blog.51cto.com/u_15155099/2775387
查看全部端口号:netstat -an
查看单个端口号:netstat -an |grep 端口号
查看全部进程:ps -ef
查看单个进程号:ps -ef |grep 进程名
动态查看日志:tail -f
判断端口是否存在:netstat -an |grep 端口号 查看该端口是否已被占用
删除一个目录下的txt文件:rm -rf 文件.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值