Linux常用命令

序言

作为后端开发,我们对Linux肯定是不陌生的,Linux作为服务器的话相较于Windows会有一个安全性的保证,因为大量的木马病毒是无法在Linux上执行的,Linux不支持.exe的文件。

目前Linux主要是发布了两大版本,分别是:

  • 一:(redhat,centOS,fedora,turboLinux)
  • 二:(ubuntu,debian)

我们一般最常用的还是红帽子的CentOS系列了,今天就记录下CentOS上简单的命令。

工具

vmWare:

使用vmWare工具可以让我们快速方便的使用Linux系统,我们只需要下载一个镜像到vmWare中就可以使用Linux了,不需要再单独的创建一个Linux系统了。

vmWare的两大功能:快照和克隆

  • 快照:为当前的虚拟机生成一个快照,常见于马上要执行一些不熟悉的命令的时候,可以提前生成快照,如果命令执行失败导致出现了一些灾难性的问题,我们可以很方便的将Linux恢复到快照时的样子。
  • 克隆:克隆可以分为两种方式,分别是:链接克隆和完整克隆,完整客隆的话就是克隆出一份和当前虚拟机一模一样的子虚拟机,所占大小也完全一样,两者互不干扰。链接克隆的话就是克隆出的子虚拟机所占大小比之前小很多,且主虚拟机删除,链接克隆的子虚拟机也会随之删除。

划分硬盘

对于一个新的Linux系统和Windows一样是需要对其的硬盘进行划分的,主要分为以下几个步骤:

分区——>对分区进行格式化(将分区写入文件系统)——>为分区设置分区名——>为每个分区进行挂载(挂载:相当于为每一个分区都设置一个入口文件,类似于Windows当中C,D,E,F盘的作用)

分区的概念

分区的目的就是为了让我们的数据更加方便于管理,且增加可读性,不同的盘存放不同类型的数据。

分区可以分为主分区,扩展分区,逻辑分区,一般扩展分区不允许存放数据但它可以存放逻辑分区,主分区和逻辑分区是可以存放数据的,一个系统主分区+逻辑分区最多只能有4块。

Linux的注意事项

  • Linux当中是严格区分大小写的
  • Linux当中所有东西都是以文件格式存储的,包括硬件,所以要想修改配置需要到文件内修改,直接在命令行修改只是临时生效的。
  • Linux中的文件是不需要写扩展名的,一般文件有扩展名的话目的只是为了让我们更便于区分。
  • 在/usr/local下存放第三方软件,在/etc下存放配置文件,在/dev下存放硬件设备文件,在/bin或/usr/bin下存放的系统文件所有用户都可以访问,在/sbin和/usr/sbin下存放的系统文件只有管理员可以访问,/root目录即管理员目录,/home/用户名即普通用户目录,/src:服务数据目录,一些服务启动后在这个目录存放所需的数据,/var:日志目录

文件/目录操作命令

查看文件的命令:

ls(list),ls表查看当前目录下的所有文件/目录,ls -l:打印出详细信息,ls -a:打印出所有文件/目录包括隐藏文件

创建目录:mkdir 目录名

删除目录:rmdir 目录名

注意:要删除的目录必须是空白目录,其目录下不能有其他文件或目录,否则会删除失败。

切换目录:cd 目录名

显示当前所在目录:pwd

复制文件/目录:cp命令:cp 源文件 目标文件

注意:当拷贝的是目录时需要添加-r参数。使用小技巧:复制时修改文件名:cp /tmp/guo.conf /root/rong.conf,复制guo.conf文件并将文件名改为rong.conf

剪切文件/目录:mv命令:mv 源文件 目标文件

注意:剪切时无需考虑是否是目录不需要添加-r,使用小技巧:实现强制改名的效果 :mv /tmp/guo.conf /tmp/hao.conf

删除文件:rm命令:rm 文件名:删除一个文件

要删除的是文件夹时可以添加 -r 参数,rm是支持递归删除的,添加-f参数可实现强制删除,强制删除就是指没有系统的提示直接全部删除掉。

创建文件:touch 文件名

创建链接文件:ln命令

ln 源文件 目标文件:创建硬链接文件,它类似于cp拷贝文件,只不过硬链接文件的内容是动态刷新的,源文件内容发生变化硬链接内容也随之发生变化。

ln -s 源文件 目标文件:创建软链接文件,软链接文件所占的大小比源文件少很多,软链接文件有点类似于Windows中的快捷方式,源文件删除,目标文件也随之删除

它俩的区别:软链接可以跨分区,硬链接不能跨分区,软链接可以链接目录,硬链接不能链接目录

文件浏览命令

cat 文件名

适合浏览内容较少的文件,添加-n参数可在浏览时打印行号

less 文件名

适合浏览内容较多的文件,可以通过page up/page down来实现上下翻页且可以在浏览文件时输入/关键字,来对关键字进行查找,按n表查找下一个关键字,按q退出

head 文件名

简明之意,就是浏览文件前10行的内容,指定-n 3,后可以查看前3行的内容

tail 文件名

简明之意,就是浏览文件后10行的内容,指定 -n 3,可查看后3行的内容,指定-f参数,可实现一个动态变化的效果,文件内容发生变化,浏览时也随之变化。

文件搜索命令

find命令

根据文件名:-name

find 路径 -name /关键字,查找指定路径下文件名包含关键字的文件。-iname表不区分大小写

根据文件大小:-size

find 路径 -size (±=) 大小,+代表大于,-代表小于,=代表等于,Linux当中的文件大小用的单位是数据块,一数据块=0.5KB

根据文件的创建这:-user

find 路径 -user 用户名:查看指定用户创建的所有文件

根据访问时间

find 路径 -admin ±时间:查看指定时间内被访问过的所有文件

find 路径 -cmin ±时间,查看指定时间内被修改过文件属性的所有文件

find 路径 -mmin ±时间:查看指定时间内被修改过文件内容的所有文件

时间单位都是分钟

-a和-o参数

-a参数表两个条件都需要满足,-o参数表满足两个条件中的一个即可

命令搜索

which和whatis可以搜索某一命令所在的目录,eg:which ls:查看ls命令在哪个目录下存放(前面就说过在Linux中所有东西都是以文件的形式存储)

文件内部搜索

grep 关键字 文件名:查看指定文件中包含关键字所在的行内容,-v参数表取反的意思,即查询除关键字所在行外的其他所有行。

权限命令

一个文件包括3种权限,rwx分别是读权限,写权限,执行权限,一个文件所属的用户分为3种,分别是所有人,所属组和其他人。

对于文件的读权限可以是:cat/less/tail/head,对于文件的写权限就是vim,对于文件的执行权限一般就是针对于二进制文件的rpm,yum命令

对于文件夹的读权限可以是:ls,对于文件夹的写权限可以是:touch,mv,mkdir,对于文件的执行权限就是cd。

chmod命令(只有root管理员和文件的所有者可以执行)

chomod 【ugoa】 【±=】 【rwx】 文件名/目录名

ugoa分别代表:文件的所有者即创建者,文件的所属组,文件的其他人,文件的所有人(包括ugo)

±=分别代表:增加权限,减少权限,恒等于权限

rwx分别代表:读权限,写权限和可执行权限

数字表示法:421分别代表rwx,eg:rwx-w—x代表(rwx=7,-w-=2,–x=1)

chmod 763 list:设置list文件中所有者的权限为读写执行,所属组的权限为读写,其他人的权限为写执行,-R参数,即当设置目录时添加-R参数,将其的所有子目录也设置为相同的权限。

chown命令(只有文件的管理员可以执行)

修改文件的所有者,chown wang list,将list文件的所有者设置为wang。

文件解压/压缩命令

gz

gzip 文件名:将文件压缩成.gz格式的文件,gunzip 文件名:将文件进行解压
(gz格式只能压缩文件而不能压缩目录,gz格式在压缩和解压缩后不会保留源文件)

tar

tar -cvf guo.tar guo:将指定目录打包成guo.tar文件,然后就可以通过gzip guo.tar将其压缩成guo.tar.gz压缩文件了

tar -zcvf guo.tar.gz guo:直接将指定目录压缩成guo.tar.gz文件

tar -zxvf guo.tar.gz:将指定文件进行解压

zip

zip guo.zip guo:将guo文件压缩成guo.zip文件,添加-r参数可压缩目录

unzip guo.zip:将guo.zip文件进行解压缩

三者的区别

zip和tar支持压缩目录,gz仅支持压缩文件。gz和tar的压缩效果比zip好。gz会覆盖源文件,tar和zip不会覆盖源文件。

其他常用命令

帮助命令

用于查看某一命令或者配置文件的详细信息及作用,可以帮助我们更好理解命令和配置文件。

man 命令名/配置文件名

命令名 --help

注意:可能存在一种情况当命令名和配置文件名一样的时候,我们可以添加1表示查看的是命令,添加5表示查看的是配置文件。

用户管理命令

useradd 用户名:添加一个用户,passwd 用户名:修改用户的密码(只能root用户执行)

passwd:修改当前用户的密码

who/w:查看当前登录系统的用户

网络命令

wall hello:给当前登录Linux系统的所有用户发送一条hello消息。

ping 地址:可以检测出当前系统的网络是否连接成功。

ifconfig/ip addr:打印出当前的ip地址。

last:查看所有用户的登录退出时间。

lastlog:查看所有用户的最后登录时间。

traceroute 域名:打印出当前网络到达指定域名所要经过的所有节点。

netstat:netstat -tlun:打印出当前机器所监听的端口,netstat -an:打印出当前机器的所有网络连接

setup:修改我们的网络配置,修改后需要重启网络配置才能让配置生效,service netstat restart

关机重启命令

shutdown -h:关机,shutdown -r 重启

文本编辑器

Linux中的文本编辑器vim:

文本编辑器会有三个模式:命令模式,插入模式,编辑模式,vi 文件名进去就是命令模式,按一下a/i/o可进入插入模式,输入:在输入命令就是编辑模式。

aio:a:进入插入模式并定位在光标的后面,i:进入插入模式并定位在光标的前面,o:进入插入模式定位在光标的下一行

行的操作

:set nu:显示行号

:set nonu:取消行号

:n:定位到第n行

$:定位到光标所在行的行尾

0:定位到光标所在行的行首

gg:移动到当前文件的第一行

G:移动到当前文件的最后一行

nG:定位到第n行

删除操作

x:删除当前光标所在的字符

dd:删除当前光标所在行

复制和粘贴命令

yy:复制当前光标所在行

nyy:复制当前光标所在行及以下的n-1行

dd:剪切当前光标所在行

ndd:剪切当前光标所在行及以下的n-1行

p/P:复制到当前光标所在行的上面/下面

取消命令

u:取消上一步的操作,类似于撤销操作

搜索命令

/关键字:进行搜索,按n可查看下一个关键字(查找时是区分大小写的,如果想不区分大小写可以在搜索前输入:set ic然后再进行搜索)

替换命令

:%s/old/new/c(全文替换),%s表全文,old:旧词,new:新词,c表示替换的时候会询问一下。

:start,ends/old/new/g(范围替换),start表开始行,end表结束行,g表示直接替换不会询问。

退出保存命令

:wq:保存并退出,:q!:不保存并退出,:w:保存,:w 文件名:将文件另存为,:wq!强制保存并退出(只有root可用)

其他命令

:r 文件名,将指定文件中的内容插入到当前光标所在行的下面

软件包

Windows当中软件一般就是使用.exe可执行程序直接安装,Linux当中的软件包分为两种,一种是源码包,一种就是二进制包也称为RPM包。

两者的区别:

  • 源码包相较于二进制包安装起来比较繁琐容易出错且安装的顺序慢
  • 二进制包相较于源码包虽然安装块但是看不到源码内容,并且它会对其他的二进制包有依赖性

RPM包的包全名:包名+版本+软件发布的次数+适合的Linux平台+适合的硬件平台+rpm包扩展名

rpm包的依赖性问题:大体上可分为三种依赖性分别是树形依赖,环形依赖和模块依赖

  • 树形依赖:a->b->c:当我们要安装a时a依赖到了b依赖到了c需要先安装b和c最后再安装a
  • 环形依赖:a->b->c->a:解决这种依赖问题的话,通过一条命令下载abc的方式来解决
  • 模块依赖:这种依赖方式,它不会告诉你具体依赖到那个rpm包,而是只告诉你依赖到rpm包中的具体一个包,这种需要自己找出要依赖的rpm包然后进行下载

rpm命令操作rpm包:

rpm -ivh rpm包全名:根据指定包全名来进行软件的安装

rpm -e rpm包名:根据指定包名来进行软件的卸载

rpm -q rpm包名:查看指定rpm对应的软件是否已下载

rpm -qa:查看所有已经下载好的rpm包

解决rpm包依赖的方式:可以通过yum命令来解决,yum数据源中有百分之99的rpm包,使用yum命令可帮助我们自动下载所需的依赖包。

yum命令操作rpm包:

yum -y install rpm包名:安装软件,-y表示在安装时所有询问都自动回复yes

yum -y update rpm包名:更新软件

yum -y remove rpm包名:卸载软件

yum list:查看yum数据源下的所有rpm包

yum search 关键字:根据关键字来查询rpm包的详细信息

总结

以上就是Linux当中一些基础常用的命令了。

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页