找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
三 、Linux的学习
Linux系统:
VMware-workstation ==>虚拟机==》相当于一台不存在实体的虚拟的电脑==》安装操作系统Linux系统,macos系统,Windows系统
Linux系统==》公司的服务器运行的操作系统Windows server系统也是服务器运行系统
70%~80%的公司的后台服务器都是在Linux系统上面进行运行
虚拟机:拍快照的作用:可以让Linux系统恢复到拍快照当时的状态
Linux中管理员用户(高权用户)是rootWindows中管理员用户是admin
su+用户名:切换Linux系统的用户注意:
低权用户((普通用户)切换高权用户是要输入密码的
高权用户切换普通用户是不用输入密码的

ifconfig:查看Linux系统的IP地址,inetaddr后面的就是当前Linux服务器的IP地址
临时修改Linux服务器的IP地址: ifconfig+网卡名称+新IP地址==》ifconfig eth0
192.168.249.153


Linux查看绝对路径PWD:

查看绝对路径: pwd/home/dcs39/Desktop
根目录里面的home目录里面的dcs39目录里面的Desktop
第一个‘/’表示根目录
后面的/表示目录和目录间的分隔
切换目录命令:cd .. :返回上级目录
..是相对路径的用法,表示上一级目录
. 相对路径 表示当前目录

cd +指定目录的绝对路径:切换到对应的计算机位置

查看当前目录下有什么文件或者文件夹指令:ls ls -l等于:查看当前目录下所有文件和目录,并且显示详细信息


ls -ltr :目录和文件按照时间进行排序
ls -t -r -l:目录和文件按照时间进行排序,接参数的第二种方式
在指令后面通过空格之后加-接的东西叫做参数,但是每一条指令的参数都自己的含义,指令接参数的作用,是让指令的功能更加丰富
man ls:查看ls命令的帮助手册,可以查看ls命令后面可以接什么参数,以及对应参数的作用
man +Linux内置命令:查看对应命令的帮助手册
mkdir:创建目录(新建文件夹)

mkdir +目录名称
mkdir -p +xx1/xx2/xx3:创建多层目录,创建xx1目录里面包含xx2目录里面包含xx3目录

mkdir +文件夹1+文件夹2+文件夹3:同时创建多个目录


su ping命令:检查网络是否通,退出任务使用Ctrl+c
挂起任务使用Ctrl+z ==》类似最小化
fg命令:当某些任务被Ctrl+z挂起了,就可以通过fg重新进入这些任务


创建文件的2种方式:
touch+新文件名:创建—个新文件,空文件

vim+新文件名:以编辑文件内容的方式来创建文件,创建文件时要写入数据
1,vim+新文件名:进入一个vim编辑界面(不要使用鼠标了)
2,按i’键进入编辑模式,左下角出现'insert’就可以在空白界面输入字符
3,按‘ESC’键退出编辑模式,左下角的‘insert′消失,输入‘:wq’(w保存,q退出)
":' ==》shift+;




Linux操作的一些注意点:
1,在创建目录和文件之后的操作记得使用一下ll命令检查创建的东西有没有创建成功
2,文件可以用vim编辑,但是不能使用cd进入
3,目录不要使用vim进行编辑,只能使用cd进入
Tab键:在linux里面的作用是自动补全指令(自动补全较长的文件名)
删除命令: rm
rm - +需要删除的文件或者目录
删除时涉及到目录时需要加‘-r’参数
删除时涉及强制删除需要加‘-f’参数
rm -rf *:删除当前目录的所有文件和目录,*表示所有文件和目录,!!注意:不能在 '/' 根目录执行这条指令 这条指令是不允许执行的(rm -rf /*)==》删库跑路===》3年以上有期徒刑



这条指令是不允许执行的(rm -rf /*) ==》删库跑路===》3年以上有期徒刑

xshell:是一个客户端连接工具==》在公司里面一般是碰不到服务器的,所有会使用客户端连接工具连接到服务器进行操作
当通过客户端连接工具连接到服务器之后,你和同事的所有操作都是跟服务器进行同步的
我们项目组成员是通过xshell去连接服务器的
连接服务器的命令: ssh+对应服务器的ip地址==》Linux的IP地址使用ifconfig命令获取
常见的客户端连接工具: xshell、CRT、putty
XFTP工具:实现Windows系统和Linux系统文件传输功能的工具
常见的文件传输工具:xftp, filezilla







yum install IrzSz -y
yum == >linux的在线工具命令
yum install ==》通过yum在线安装一些工具 rlIrzsz是一个Linux的软件工具:只能在客户端连接工具上使用
lrzsz工具只有两条指令:
rz:把Windows系统的文件选择上传到Linux服务器上==》在xshell输入rz命令后,会打开一个Windows窗口,然后选择对应的文件就可以进行文件的传输
sz:把Linux的文件传输到Windows系统本地==》输入sz+文件名,打开一个Windows窗口,可以把文件保存到本地电脑中
文件传输的方法:
方便的方法:lrzsz工具进行文件传输,适用于一些小文件的传输,当文件较大时使用Irzsz工具进行传输容易报错
稳定的方法:通过xftp等文件传输工具进行传输,适用于一些大文件的传输
cp命令:拷贝、复制
格式:cp 源文件目标文件
(1)当目标文件不存在时则会新建一个文件,并把源文件的内容复制到新文件中
(2)当目标文件存在时,就会把源文件的内容覆盖到目标文件中
(3)当对目录进行复制操作时,需要加-r参数:cp -r源目录目标目录


mv命令:移动、重命名
格式:mv 源文件 目标
(1)当目标是一个存在的目录时,源文件会移动到这个目录里面
(2)当目标是不存在的文件或者目录时,源文件会进行重命名



面试题:
给说一下Linux查看文件的几种方式?
(你给我说一下常见的linux命令有哪些?--思路:讲一些有操作意义的命令,例如查看文件的,查看服务器状态的)
1, vim+文件:以编辑的模式来查看文件的内容,注意进入vim模式之后,把你的鼠标扔掉,不要使用你的鼠标滑轮,浏览文件的内容通过键盘的上下左右键移动光标
2, nl+文件:显示行号和每行的内容,完整的打开文件(不怎么常用)

3, less +文件:翻页显示查看文件,通过空格键往下翻页,通过b键往上翻页,通过回车键逐行查看。查看到文件末尾是不会自动退出的,按q键退出。less命令可以做精准查找,less+文件名进入后, /+关键字:往下查对应的关键字内容的行,?+关键字:往上查找对应的关键字
4, more +文件:按百分比显示,当查看完文件(100%)自动退出,通过空格键往下翻页,通过b键往上翻页,通过回车键逐行查看。没有精确查找,按q也可以快速退出
5,head +文件:默认显示文件的头部10行
head -n数字(需要显示的行数)文件名:从头部开始显示指定的行数
6, tail +文件:默认显示文件的尾部10行
tail -n数字(需要显示的行数)文件名:显示文件尾部的指定行数
tail -n+数字(从文件的某行开始)文件名:从指定的行号开始显示文件内容

*tail -f +日志文件:实时打印日志文件的内容,当文件的尾部内容发生改变,同时进行输出改变的内容(非常常用,简称:查看实时日志)
7, cat +文件:查看文件的完整内容---最常见的查看文件的方法
一般cat命令会结合其他命令进行使用grep命令:文本搜索工具
搜索文本中对应关键字匹配到的行的完整内容
-A数字:把匹配到的内容行,和后面对应数字行也打印出来

-B数字:把匹配到的内容行,和前面对应数字行也打印出来

-C数字:把匹配到的内容行,和前后对应数字行也打印出来

“|”管道符(shift键+\键):第一个命令的输出结果作为第二个命令的输入条件去使用

结合cat、head、tail命令查看文件的指定行内容?取13-21行的方法
方法一: cat head_tail.txt|tail -n 18 |head-n 9==》完整打开文件,先取未尾18行,再取前面结果的头部9行

方法二:cat head_tail.txt|head -n 21 |tail-n 9==》完整打开文件,先取头部21行,再取前面结果的末尾9行

方法三: cat head_tail.txt |head -n 21|tail-n +13==>完整打开文件,先取头部21行,再从前面结果的第13行取到末尾

方法四:cat head_tail.txt/tail -n +13/head-n 9==》完整打开文件,先从13行开始取到末尾,再取前面结果的头部9行

sed -n '13,21p' head tail.txtI

'>'重定向符
一个'>′重定向符作用是覆盖 两个'>>′重定向符作用是追加

把重定向符前面指令的结果写入到后面的文件cat file1 >file2:把cat file1的结果(file1的内容)覆盖到file2中



清空日志文件

面试题:怎么快速造一个很大的文件?
在Linux系统中,我们可以通过两个重定向符,反复对两个文件进行追加,通过斐波那契数列的方法,可以快速生成大文件

find命令:查找文件
格式: find+开始路径-name '关键字'
find / -name 'aa'==》查找从根目录开始通过命名匹配aa的文件或者目录==》返回匹配到aa的文件或目录的绝对路径
find / -name 'aa' -type f ==》查找从根目录开始通过命名匹配aa的文件
find / -name 'aa' -type d ==》查找从根目录开始通过命名匹配aa的目录
匹配0个或者多个字符 ? 匹配一个字符
find ./ -name 'a????' ==》查找 从当前目录开始匹配命名 以a开头后面接4个任意字符的文件或目录
find ./ -name 'a*' -type f ==》查找 从当前目录开始 匹配命名 以a开头的文件


堡垒机:也是连接远程的Linux服务器的一种方式,通过打开一个指定网页,登陆公司给到个人的账号,在这个网页里面有很多台linux服务器,通过点击对应的服务器就会打开对应的需要操作的服务器
查看当前linux服务器下有什么用户: cat /etc/passwd
0==>管理员用户、超级用户==》root
1-499==》系统用户(不能操作的)
500及以后==》普通用户==》我们自己创建的用户



查看用户的分组,当前Linux服务器中有什么组:cat/etc/group
1,创建用户时没有指定组就会在自己组里面
2,创建用户时,指定组,就会在对应组中,不会再新建自己的组

useradd dcs40 ==>创建─个linux用户dcs40,这个用户会在自己的组里面
创建dcs40用户之后添加密码:passwd dcs40



groups dcs40 ==>查看dcs40用户是在哪个组中
结果: dcs40 : dcs40 dcs40用户在dcs40组中

useradd dcs41 -g root ==>创建dcs41用户,指定添加到root用户组中
groups dcs41 ==》查看dcs41用户在哪个组结果:dcs41 : root dcs41用户在root组中

groupadd dcs50 =创建一个新的用户组,没有用户的

gpasswd -a dcs41 dcs50 ==>把dcs41用户添加到dcs50组中

gpasswd -d dcs41 dcs50 ===>把dcs41用户从dcs50组中移除
注意,把用户从组中移除,不能把用户移除出它本来创建时指定的组

roupdel dcs50 ==》删除dcs50组:
假设这个组是某个用户的主组,那么删除会报错,需要先删除用户,再删除用户组
userdel dcs42==》删除用户

userdel -rf dcs40 ==>强制删除登陆用户


Linux的权限三剑客:
chmod:改变文件的用户权限
chown:改变属主(文件的拥有者)chgrp:改变属组(文件的拥有组)
-rw-r—r--. 1 root root 0 Feb 22 01:15 bb
最前面的-表示这是文件,第一个rw-表示文件的属主(拥有者root)有r读w写权限,第一个r--表示文件的属组(root用户组里面的其他用户)有r读权限,第二个r--表示其他用户(既不是属主用户也不是属组用户的用户)有r读权限
r read读===》权限4 ==》cat less more等等wwrite 写===》权限2==》vim、vi等等
x execute执行==》权限1 ==》sh(执行shell脚本的命令)
-表示所在位置没有对应的权限权限O
r+W+X ==》4+2+1=7表小有读与执行权限
chmod 777 +文件∶给文件赋予最高权限操作





chmod 666+文件:给文件的所有用户赋值读和写权限,没有执行权限
chmod -x +文件:给文件的所有用户删除执行权限
chmod o-w+文件:给文件的其他用户权限删除写权限

属主(user简称u)︰文件的拥有者,创建者
属组(group简称g)︰和文件的创建者为同一个组里面的其他用户
其他用户(others简称o)︰既不是文件的创建者也不是和文件创建者在同一个组中的用户

chmod 777 -R+目录:对整个目录及底下所有的文件和目录都进行权限操作

chown dcs40:dcs39 bb ==>把bb文件的属主(拥有者)更改为dcs40,属组(拥有组)改为dcs39组

chgrp dcs39 -R a1 ==>把a1目录及底下所有的文件和目录的属组(拥有组)更改为dcs39组


打包命令:
常见的包tar、tar.gz、zip、gz、war包
( 1) tar包的操作打tar包:
tar -cvf +包名.tar+原文件
tar -cvf dcs1.tar dcs1 ==》对dcs1文件打包为tar包,命名为dcs1.tar
c代表执行打包操作,v代表打包的进度、f代表打包的文件
把一个文件打成tar包后,打包后的文件会比原文件大

解tar包:
tar -xvf +包名.tar
-x参数代表执行解压包的操作

(2) tar.gz包==》是有压缩功能的打tar.gz包
tar -zcvf +包名.tar.gz +原文件
tar -zcvf 222.tar.gz admin ==》对admin目录打包为tar.gz包,命名为222.tar.gz
-z参数,表示要操作的文件时tar.gz包



解tar.gz包
tar -zxvf +包名.tar.gz

(3) zip
对文件进行打zip: zip +包名.zip +原文件

对目录进行打zip包,必须要加参数-r,否则会只打包目录,目录里面的文件不会被打包
zip -r +包名.zip +原目录
解zip包: unzip +包名.zip


(4) gz包:它只能对文件进行操作打gz包: gzip+文件名
打gz包: gzip +文件名

解gz包: gunzip +包名.gz
注意:gz包不管是打包还是解包,对应的文件都会消失,它只能操作文件,不能操作目录






总结:tar包、tar.gz包、zip包都是可以对多层的目录进行打包,gz包不能对目录进行打包
但是我们对目录进行打zip包,必须要加参数-r
不同Linux服务器之间的文件传输:
前提:要知道对方服务器的IP、用户名、密码、对方文件的绝对路径,两台服务器要在同一个局域网中
scp +B用户名@B服务器IP:远程文件的绝对路径+本地存放文件的路径
scp -r +B用户名@B服务器IP:远程目录的绝对路径+本地存放文件的路径
2,在A服务器往B服务器送文件--上传文件
scp +本地文件的路径+B用户名@B服务器IP:B服务器的存放位置的绝对路径
scp -r +本地目录的路径+B用户名@B服务器IP:B服务器的存放位置的绝对路径






FTP工具: Linux服务器中内置的命令行工具,里面的命令和Linux系统的指令很像,但是是完成的两回事
ftp==》文件传输协议
sftp==》安全文件传输协议
步骤:
sftp +远程服务器的IP地址==》进入FTP工具
步骤:
1, sftp +远程服务器的IP地址==》进入FTP工具2,输入远程服务器的root用户的密码
3. get或者put命令进行文件的传输操作
( 1) get下载命令拿从远程服务器取文件到本地服务器
get+远程服务器的文件路径+本地服务器的存放路径


**服务器性能情况相关的指令df 查看磁盘的使用情况

du -sh:查看当前目录使用磁盘空间的大小
du Ish+指定文件的路径:查看指定文件使用磁盘空间的大小
du -sh +指定文件的路径:查看指定文件使用磁盘空间的大小
free :查看Linux系统的内存使用情况,默认是KB为单位
free -m :以M兆为单位显示Linux内存的使用情况
1TB=1024GB
1GB=1024MB1MB=1024KB1KB=1024B1B=1byte=8bit
在计算机中最小的单位是bit,1bit=—个字节0或1


top动态显示当前Linux系统的程序进程的性能情况(查看CPU的使用情况、内存的使用情况等等)

top页面的内部命令:
N--以Pid(进程号)的大小进行排序显示进程列表--以CPU使用率(%CPU)大小进行排序
M--以内存使用率(%MEM)大小进行排序

top -p +进程号:查看对应进程的性能情况top -d+数字:让top页面间隔多少秒刷新一次
ps -ef|grep+服务(程序)名称:查看对应的服务(程序)有没有启动,并且获取对应的PID
kill -9 +pid:强制杀死服务
面试题:kill -9和kill-15有什么区别kill -9是直接的强制杀死对应的进程
kill -15是强制杀死进程,但是会清理相关的其他进程




ps -ef |grep +服务名称==》查看服务是否启动
如何查看端口号是否被占用?在不知道端口号的情况下怎么进行查?
2, netstat -anplgrep端口号==》查看对应的端口号是否被占用
3,lsof -i:端口号==》
面试题:
怎么查看服务是否已经启动?
ps -ef lgrep +服务名称==》查看服务是否启动
如何查看端口号是否被占用?在不知道端口号的情况下怎么进行查?
1, netstat -nultp ==》查看当前所有已经使用的端口号情况
2,netstat -anplgrep端口号==》查看对应的端口号是否被占用
3, lsof -i:端口号==》查看对应的端口号是否被占用
不怎么常用的命令:
who ==》显示当前登陆的用户whoami ==》显示当前操作的用户uname ==》显示系统名称
hostname ==》显示主机名称
history ==》查看历史操作过的命令clear ==》清屏
getconf LONG_BIT ==》查看系统的位数
32位系统最多支持4GB的内存,64位系统理论上最大支持256G内存,理论上64位系统比32位快2倍
service命令==》与Linux的内置服务相关的命令service+服务start ==》启动对应的服务service+服务restart ==》重启对应的服务service +服务stop==》结束对应的服务
service +服务status ==》查看服务的运行状态
service命令==》与Linux的内置服务相关的命令
service +服务start==》启动对应的服务
service +服务restart ==》重启对应的服务
service +服务stop ==》结束对应的服务
service +服务status ==》查看服务的运行状态防火墙服务: iptables



mysql服务:mysqld ==现在还没安装mysql网卡服务: network
防火墙服务: iptables
mysql服务:mysqld ==现在还没安装mysql网卡服务:network
打开linux之后,ifconfig查不到IP地址怎么处理1,重启Linux的网卡服务: service network restart2,如果第一步不行就在Windows电脑‘win’键+R输入services.msc进入‘服务′窗口,然后找到VM开头的服务,对所有VM开头的服务,右击重新启动,再回去Linux服务器重启网卡服务: service network restart
date ==》查看当前服务器的时间
面试题:
对于与时效相关的测试场景怎么测试?
我们可以通过date -s +需要修改的时间进行修改服务器时间,模拟与时效相关的测试场景

alias取别名===》自定义一些命令
||命令是linux系统中预定义的自定义命令||=ls -l
alias P='ping' ===》自定义P命令为ping,当执行P时就等同执行ping命令
注意:自定义命令不能和已经存在的命令重名
unalias P ==>取消自定义命令P


ln---创建链接文件,创建时源文件要是绝对路径链接分为软链接和硬链接
软链接(-s):l相当于Windows的快捷方式In -s +源文件的绝对路径+链接文件路径









硬链接(-d):类似于备份,当源文件删除是不影响硬链接文件的,硬链接文件和源文件的内容发生修改时是互相影响的
In -d+源文件的绝对路径+链接文件路径

vim编辑器
vim +文件===》vim编辑器==》对文本的内容进行修改
vim编辑器里面的内置命令不是Linux系统的命令
命令模式:
:q==>退出,但是文件发生修改后,是:q会报错:wq==>先保存再退出
:w==》保存
:q! ==》强制退出,文件修改后,不想进行保存就退出
:wq! ==》强制保存并退出注意:
1,!表示强制执行
2,在命令模式下是不能对文本信息就行输入的3,从编辑模式进入命令模式,按'Esc’键
4,不要使用Ctrl+s,否则就会导致文件无法修改,会生成一个隐藏的缓存文件,这时需要对这个隐藏文件进行删除,才可以继续对文件进行修改操作

编辑模式:文件内容的编辑必须要进入编辑模式才可以就行编辑
i:按‘i’进入编辑模式,在光标所在位置之前进行输入
I:按大写的I’进入编辑模式,在光标所在位置的行首进行输入
a:按'a’光标会后移一位进入编辑模式A:按'A'光标会跳转到行末进入编辑模式
o:在光标所在行,往下插入一行进入编辑模式
O:在光标所在行,往上插入一行进入编辑模式
x:删除光标所在位置的一个字符
X:删除光标所在位置的前一个字符
dd:一次性删除光标所在行
D:删除光标所在位置至行末的内容
u:撤销操作
r:替换光标位置的一个字符
p:把复制的内容粘贴到光标所在行的下面行
P:把复制的内容粘贴到光标所在行的上面行yy:复制光标当前行整行内容
4yy:复制光标包括当前行开始4行
末行模式==》跟命令模式是一样的,也是通过退出编辑模式之后在vim的左下角输入:进入的
:/+关键字==》查找整个文本中的对应‘关键字′并显示高亮
:noh ==>取消高亮显示
:set nu ==>显示行号
:set nonu ==》取消行号
把当前vim编辑器的文件指定范围的内容,写到另一个新文件中
:1,10w /aa/dcs39.txt ==》把当前文件的1~10行写到/aa/dcs39.txt新文件中
:x,yw +新文件的路径
**vim中对文件内容的指定字符进行替换
:%s/23/DCS39/g ==》把当前文件中所有的‘23’替换为‘DCS39'
%s:表示执行替换操作
/表示分隔符,第一个字符串表示需替换的字段,第二字符串表示替换后的字符
g代表全局执行,不加g(全局)参数,只能替换每行的第一个匹配到的字符


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册