Linux基础复习总结

前言

对于linux,因为日常开发使用的不是太频繁,有些东西总是会忘记,遂写一篇总结。加深记忆,便于使用时查看。

系统

选用linux系统作为服务器的话,一般选用centos系列,为什么呢,首先是因为它是redhat旗下的开源版本,是商用免费的,其次它是没有界面的,直接命令行,所以性能和稳定性相比ubantu会好一些。

一般选择稳定的7点几版本,如7.2.

我使用的是centos7.7版本,镜像地址:https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/

vmware采用的14版本

安装

打开vmvare,点击创建新虚拟机--典型--安装程序光盘映像文件(iso)--选择下载的iso系统镜像--定义虚拟机名字以及虚拟机所有文件的位置--20g(选择将磁盘拆分为多个)--自定义硬件--完成--等待加载虚拟机--然后配置磁盘--开始安装--安装期间配置root密码,还可以添加非root用户--重启。

网络配置

安装完成后,首先就是要配置网络,对于网络配置这块,很多人都配不好,这块要着重说一下。

我使用的是笔记本电脑,连接的无线网络,需要对无线网络这块做设置,让vmnet8可以来连接,如图:

Linux基础复习总结_第1张图片

进入命令行后,先测试下能否访问网络,输入:

ping www.baidu.com

因为没有配置网络,保证是ping不通的。接下来开始配置网络。

首先,用vmware--虚拟机--设置--网络适配器--自定义虚拟网络--选择vmnet8(NAT模式),如果没有就添加vmnet8,

然后去window电脑上,网络--更改适配器设置--右键vmnet8--属性--修改ipv4--手动配置ip,如下图:

Linux基础复习总结_第2张图片

 

上边的Ip地址是随便写的192.168.前边是不变的,后边的137是允许vmnet8连接wifi系统分配的,如果没有自动分配就随便给一个,

然后打开vmware--编辑--虚拟机网络编辑器--更改设置--选择vmnet8--设置下边的子网ip:192.168.137.0,子网掩码255.255.255.0---nat设置--网关ip:192.168.137.1,为vmnet8的ip。DNS设置中跟windows对应。

Linux基础复习总结_第3张图片

Linux基础复习总结_第4张图片

然后修改linux中的网卡,

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

如果打不开这个文件可能输入的有误,可以cd一级一级的进入到network-scripts目录,在通过

vi ifcfg-ens33

 打开文件如下:

Linux基础复习总结_第5张图片

然后按i进入编辑模式,修改为如下:

Linux基础复习总结_第6张图片

按esc退出编辑模式,按:wq保存退出。

接着重启网络

systemctl restart network

通过如下命令,查看ip是否已经修改成功: 

ip addr

查询结果如下:

 

Linux基础复习总结_第7张图片

 说明修改成功,

接着ping一下百度

ping www.baidu.com

能正常ping通代表配置成功。

关闭防火墙,以便让主机ping通

systemctl stop firewalld
systemctl disable firewalld

网上很多配置可能比我这种方式简便一些,但是我照着都没有成功,这时自己实验通过的方式,仅供参考。 

修改主机名

通过如下命令,查看当前主机名:

hostname

打开如下文件,修改主机名:

vi etc/hostname

内容如下:

 将其修改为你想要的hostname,然后reboot重启,就可以生效了。

服务相关

通过如下命令,查看系统运行的服务:

systemctl list-units --type=service

 列表中可以看到熟悉的firewalld(防火墙)、network等服务。

通过如下命令,查看某个服务状态,如防火墙:

systemctl status firewalld.service

参考文章:https://www.cnblogs.com/devilmaycry812839668/p/8481760.html 

可以通过start \restart \stop 来启动、重启、停止服务。stop的停止仅限当前的停止,假如开机自启还是会启动的,

可以通过ennable\disable 来使服务开机启动/开机禁止启动。可以通过kill来杀掉服务。

以上这几个命令都是前边加上systemctl start servicename 

关机重启

由于linux系统有时是先将数据存于内存,然后再同步到硬盘,假如直接关机,有可能会丢失数据。

最好先执行命令sync,就是让内存数据先同步到硬盘。

然后再halt关机或者reboot重启。

也可以通过shutdown -h来关机,通过shutdown -r来重启。shutdown关键字的作用是后边可以跟时间,单位是分钟。如10分钟后关机,就可以执行shutdown -h 10即可。

安装wget

如果通过网络下载一些文件,需要用到wget,系统默认是没有这个命令的,需要通过yum来安装,命令:

yum -y install wget  

yum

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

用法:yum [选项] [参数] rpm名称

选项

功能

-y

对所有提问都回答“yes”

 

参数

功能

install

安装rpm软件包

update

更新rpm软件包

check-update

检查是否有可用的更新rpm软件包

remove

删除指定的rpm软件包

list

显示软件包信息

clean

清理yum过期的缓存

deplist

显示yum软件包的所有依赖关系

 修改yum源

假如觉得自己系统默认yum源下载很慢的话,可以尝试更换yum源,记得先安装wget,在使用wget下载。

参考文章:https://www.cnblogs.com/powerwu/articles/11467106.html

安装vim

默认系统是不支持vim的,现在网络已经配通了,可以通过yum来安装vim了,vim编辑器由于vi的地方是,打开文件后,部分单词是彩色的,看起来更方便,可以详细txt和editplus的区别。通过如下命令安装vim:

yum install vim

然后就一直y,到安装结束即可。也可以通过如下命令,省去一直手动输入y:

yum install -y vim

安装SecureCRT

既然宿主机能ping通虚拟机了,那就可以使用SecureCRT来远程连接虚拟机了,具体的下载安装这里就不介绍了,在网上找个破解版本,使用SecureCRT还是很方便的。这里备注下使用注册机破解SecureFX,将注册机拷贝到安装目录,然后打开注册机,随便数个name和company,然后generate生成序列号和date,然后打开FX,下一步,选择左下角的手动填写licence,输入注册机生成的name、company、序列号、date,下一步、完成即可。

这里注意一点,在使用secureCRT连接过程中,假如出现连接非常慢的情况,需要做相应处理,

通过命令打开ssh_config文件

vi /etc/ssh/sshd_config

 将#UseDNS yes 修改为UseDNS no。

修改后记得重启sshd服务

systemctl restart sshd

然后在secureCRT中,属性,ssh2中,将publicKey的勾去掉。这样就不会弹框了。

指令

vi/vim编辑文本

通过vi/vim进入文本的一般模式,通过i/a进入编辑模式,通过esc退出编辑模式,通过:进入命令模式,通过esc退出命令模式,

在命令模式中,w代表保存,q代表退出,!代表强制退出。:wq代表保存并退出。

当通过命令查看,数据一页显示不全,可以使用 | less/more,less可以用箭头来回切换,more可以空格到下一页。

帮助命令

通过man/help/info + 命令 可以查看该命令的使用帮助,如 man ls即可查看ls的使用帮助,help cd 查看cd的使用帮助。

具体区别这块不罗列了,参考:https://www.cnblogs.com/kumata/p/8993914.html

目录命令

pwd:显示当前工作目录绝对路径

cd:切换目录

mkdir:创建目录 -p可以创建多级目录

rmdir:删除一个空目录

touch:创建空文件

cp:复制文件或目录 格式前边是原路径 后边是目标路径

rm:删除文件或目录 -r 递归删除 -f强制删除 -v显示操作过程

mv:移动文件或重命名文件

     mv oldNameFile newNameFile (功能描述:重命名)

     mv /temp/movefile /targetFolder (功能描述:移动文件)

cat:查看文件内容 -n显示行号

more:分页查看文件

        操作说明

操作

功能说明

空白键 (space)

代表向下翻一页;

Enter

代表向下翻『一行』;

q

代表立刻离开 more ,不再显示该文件内容。

Ctrl+F

向下滚动一屏

Ctrl+B

返回上一屏

=

输出当前行的行号

:f

输出文件名和当前行的行号

less:比more更强大一些

操作说明

操作

功能说明

空白键

向下翻动一页;

[pagedown]

向下翻动一页

[pageup]

向上翻动一页;

/字串

向下搜寻『字串』的功能;n:向下查找;N:向上查找;

?字串

向上搜寻『字串』的功能;n:向上查找;N:向下查找;

q  

离开 less 这个程序;

echo:数据内容到控制台

head:显示文件头部内容

tail:输出文件尾部内容

> 覆盖 和 >> 追加

基本语法

(1)ll >文件       (功能描述:列表的内容写入文件a.txt中(覆盖写))

(2)ll >>文件            (功能描述:列表的内容追加到文件aa.txt的末尾)

(3)cat 文件1 > 文件2   (功能描述:将文件1的内容覆盖到文件2)

(4)echo “内容” >> 文件

in:软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径,结合-s使用

参考示例:ln -s test.txt ./test

history:查看已执行的历史命令

搜索查找命令

find:查找文件或者目录,find [搜索范围] [选项]

选项说明

选项

功能

-name<查询方式>

按照指定的文件名查找模式查找文件

-user<用户名>

查找属于指定用户名所有文件

-size<文件大小>

按照指定的文件大小查找文件。

案例实操

(1)按文件名:根据名称查找/目录下的filename.txt文件。

[root@hadoop101 ~]# find xiyou/ -name “*.txt”

(2)按拥有者:查找/opt目录下,用户名称为-user的文件

[root@hadoop101 ~]# find xiyou/ -user atguigu

3)按文件大小:在/home目录下查找大于200m的文件(+n 大于  -n小于   n等于)

[root@hadoop101 ~]find /home -size +204800

grep:过滤查找, | :管道符,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

用法:grep 选项 查找内容 源文件,选项:-n:显示匹配行及行号

查找某文件在第几行

[root@hadoop101 ~]# ls | grep -n test

which:查找命令在哪个目录,如 which ls

压缩解压命令

gzip:压缩文件,用法:gzip 文件,压缩成.gz结尾的文件。

gunzip:解压.gz结尾的文件

zip:压缩文件或目录,用法:zip 选项 待压缩内容,其中选项:-r :压缩目录

unzip:解压缩文件或目录,用法:unzip 选项 待解压内容, 其中选项:-d:指定解压后的文件目录

tar:打包,用法:tar  [选项]  XXX.tar.gz  将要打包进去的内容

选项说明

选项

功能

-z

打包同时压缩

-c

产生.tar打包文件

-v

显示详细信息

-f

指定压缩后的文件名

-x

解包.tar文件

例子:

(1)压缩多个文件

[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt

houge.txt

bailongma.txt

[root@hadoop101 opt]# ls

houma.tar.gz houge.txt bailongma.txt

(2)压缩目录

[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/

xiyou/

xiyou/mingjie/

xiyou/dssz/

xiyou/dssz/houge.txt

(3)解压到当前目录

[root@hadoop101 ~]# tar -zxvf houma.tar.gz

(4)解压到指定目录

[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt

[root@hadoop101 ~]# ll /opt/

系统进程线程命令

ps:查看当前系统进程状态:

       ps aux | grep xxx          (功能描述:查看系统中所有进程)

       ps -ef | grep xxx           (功能描述:可以查看子父进程之间的关系)

netstat:显示网络统计信息和端口占用信息,

       netstat -anp |grep 进程号     (功能描述:查看该进程网络信息)

       netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

软件包管理命令

rpm:RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe

 是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的

rpm -qa                        (功能描述:查询所安装的所有rpm软件包)

由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包

rpm -e rpm软件包      (卸载软件包)

rpm -e nodeps  rpm软件包   (卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了)

rpm -ivh RPM包全名 (安装软件包)

磁盘命令

df -h 查看磁盘使用情况

分区的目的:https://www.zhihu.com/question/22453727

用户管理命令

useradd:添加用户,用法:useradd 用户名/useradd -g 组名 用户名(添加用户到某个组)

passwd:设置密码,用法:passwd 用户名

id:查看用户是否存在,用法:id 用户名

cat /etc/passwd :查看创建了几个用户。

su:切换用户,

su 用户名称   (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)

su - 用户名称  (功能描述:切换到用户并获得该用户的环境变量及执行权限)

userdel  用户名         (功能描述:删除用户但保存用户主目录)

userdel -r 用户名       (功能描述:用户和用户主目录,都删除)

whoami                (功能描述:显示自身用户名称)

who am i             (功能描述:显示登录用户的用户名)

sudu:

[root@hadoop101 ~]#vi /etc/sudoers

修改 /etc/sudoers 文件,找到下面一行(91),在root下面添加一行,如下所示:

## Allow root to run any commands anywhere

root    ALL=(ALL)     ALL

atguigu   ALL=(ALL)     ALL

或者配置成采用sudo命令时,不需要输入密码

## Allow root to run any commands anywhere

root      ALL=(ALL)     ALL

atguigu   ALL=(ALL)     NOPASSWD:ALL

修改完毕,现在可以用atguigu帐号登录,然后用命令 sudo ,即可获得root权限进行

文件权限命令

参考下图:

Linux基础复习总结_第8张图片

0的三种表示,-代表文件,d代表目录,l代表链接稳定

rxw作用文件和目录的不同解释

(1)作用到文件:

[ r ]代表可读(read): 可以读取,查看

[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

[ x ]代表可执行(execute):可以被系统执行

(2)作用到目录:

[ r ]代表可读(read): 可以读取,ls查看目录内容

[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

[ x ]代表可执行(execute):可以进入该目录

chmod:改变权限,

1.  用法:

第一种方式变更权限

              chmod  [{ugoa}{+-=}{rwx}] 文件或目录

第二种方式变更权限

       chmod  [mode=421 ]  [文件或目录]

2.经验技巧

       u:所有者  g:所有组  o:其他人  a:所有人(u、g、o的总和)

r=4 w=2 x=1        rwx=4+2+1=7

3.案例实操

       (1)修改文件使其所属主用户具有执行权限

[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./

[root@hadoop101 ~]# chmod u+x houge.txt

(2)修改文件使其所属组用户具有执行权限

[root@hadoop101 ~]# chmod g+x houge.txt

(3)修改文件所属主用户执行权限,并使其他用户具有执行权限

[root@hadoop101 ~]# chmod u-x,o+x houge.txt

(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。

[root@hadoop101 ~]# chmod 777 houge.txt

5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。

[root@hadoop101 ~]# chmod -R 777 xiyou/

chown:改变所有者

chgrp:改变所属组,

更新中。。

你可能感兴趣的:(服务器)