Linux常用指令(超详细整理)

  • Post author:
  • Post category:linux




关机&重启命令

shutdown    –h    now   :表示立即关机  
shutdown    –h    1     :表示一分钟后关机 
shutdown    –r    now   :立即重启

halt        :直接使用,等价于关机
reboot      :重启系统                
sync        :把内存中的数据同步到磁盘上,关机前执行一下,防止数据丢失



用户相关

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。


添加用户:

useradd  用户名
当创建用户成功后,会自动的创建和用户同名的家目录
也可以通过 useradd -d  指定目录 新的用户名,给新创建的用户指定家目录


指定/修改密码:

passwd    用户名


删除用户:

(删除用户时建议保留家目录)

userdel   用户名


查询用户信息:

(当用户不存在时,返回无此用户)

id  用户名

样例:

在这里插入图片描述


注销用户:

logout 
logout注销指令在图形运行级别无效
在运行级别3一下有效


切换用户:

登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用

su - 用户名

命令来切换成系统管理员身份。 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。

su  – 切换用户名


返回到原来用户:

exit


查看当前登录用户:

whoami

样例:

在这里插入图片描述



用户组

用户组类似于角色,系统可以对有共性的多个用户进行统一的管理。


新增组:

groupadd 组名


删除组:

groupdel 组名


增加用户时直接加上组:

useradd  –g 用户组 用户名


修改用户的组:

usermod  –g 用户组 用户名

案例:

在这里插入图片描述



组管理和权限管理

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。


文件/目录 所有者:

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。


查看文件的所有者:

创建一个组police(

groupadd police

),再创建一个用户tom(

useradd -g police tom

),将tom放入police组,登录用户tom并创建一个文件。

ls –ahl

样例:

在这里插入图片描述


修改文件所有者:

chown 用户名 文件名

样例:

在这里插入图片描述


文件/目录 所在组:

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。


修改文件所在的组:

chgrp 组名 文件名
chgrp -R 组名 目录名 (递归修改目录下所有文件组名)

案例:

在这里插入图片描述


其它组:

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。


改变用户所在组:


在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

usermod   –g   组名 用户名
usermod   –d   目录名 用户名 改变该用户登陆的初始目录。

样例:

在这里插入图片描述


用户和组的相关文件:


/etc/passwd 文件:用户(user)的配置文件,记录用户的各种信息

每行的含义:

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell


/etc/shadow 文件:口令的配置文件

每行的含义:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志


/etc/group 文件:组(group)的配置文件,记录Linux包含的组的信息

每行含义:

组名:口令:组标识号:组内用户列表



指定运行级别


六个运行级别:


  • 0 :关机

  • 1 :单用户【找回丢失密码】

  • 2:多用户状态没有网络服务


  • 3:多用户状态有网络服务


  • 4:系统未使用保留给用户


  • 5:图形界面


  • 6:系统重启



vi和vim编译器:

https://blog.csdn.net/Lzy410992/article/details/113789294

修改默认的运行级别可改文件:

/etc/inittab的id:5:initdefault

这一行中的数字

命令:

init [012356]


在这里插入图片描述



帮助指令

当我们对某个指令不熟悉时,我们可以使用linux提供的帮助指令来了解这个指令的使用方法


man 获得帮助信息:

man [命令或配置文件](功能描述:获得帮助信息)


help指令:

help 命令 (功能描述:获得shell内置命令的帮助信息)



文件目录类


pwd 指令:

pwd (功能描述:显示当前工作目录的绝对路径)


ls指令:

ls [选项] [目录或是文件]

-a :显示当前目录所有的文件和目录,包括隐藏的

-l :以列表的方式显示信息


cd 指令:

cd  [参数] (功能描述:切换到指定目录)


绝对路径和相对路径:


cd ~ 或者cd :回到自己的家目录



cd .. 回到当前目录的上一级目录

案例:

在这里插入图片描述


mkdir指令:

mkdir指令用于创建目录

mkdir  [选项]  要创建的目录


-p :创建多级目录


rmdir指令:


rmdir指令删除空目录

rmdir  [选项]  要删除的空目录

rmdir 删除的是空目录,如果目录下有内容时无法删除的。如果需要删除非空目录,需要使用

rm -rf 要删除的目录

样例:

在这里插入图片描述


touch指令:


touch指令创建空文件

touch 文件名称
touch 文件名称1 文件名称2 


cp指令:


cp 指令拷贝文件到指定目录

cp [选项] source dest


-r :递归复制整个文件夹



强制覆盖不提示的方法:\cp


在这里插入图片描述


rm指令:


rm 指令移除文件或目录

rm  [选项]  要删除的文件或目录


-rf :递归删除整个文件夹



-f : 强制删除不提示


mv指令:


mv 移动文件与目录或重命名

mv  oldNameFile newNameFile     (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)

样例:

在这里插入图片描述


cat指令:


cat 查看文件内容,cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more

cat  [选项] 要查看的文件


-n :显示行号

样例:

在这里插入图片描述


more指令:


more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

more 要查看的文件

more指令中内置了若干快捷键:

在这里插入图片描述


less指令:


less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

less 要查看的文件

在这里插入图片描述


echo指令:


echo输出内容到控制台

echo  [选项]  [输出内容]


head指令


head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

head 文件
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)


tail指令:


tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。

tail  文件
tail  -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
tail  -f  文件 (功能描述:实时追踪该文档的所有更新)

案例1:

在这里插入图片描述

案例2: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期

在这里插入图片描述


> 指令 和 >> 指令:


> 输出重定向:将原来的文件内容覆盖



>> 追加:不会覆盖原来的文件内容

在这里插入图片描述


ln 指令:


软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

样例:

在这里插入图片描述

细节说明:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。


history指令:


查看已经执行过历史命令,也可以执行历史指令

history (功能描述:查看已经执行过历史命令)

在这里插入图片描述



时间日期类


date指令-显示当前日期:

date (功能描述:显示当前时间)
date +%Y(功能描述:显示当前年份)
date +%m(功能描述:显示当前月份)
date +%d(功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)


date指令-设置日期:

date  -s  字符串时间


cal指令:


查看日历指令

cal [选项] (功能描述:不加选项,显示本月日历)

案例:

在这里插入图片描述



搜索查找类


find指令:


find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终

端。

find  [搜索范围]  [选项]

在这里插入图片描述

在这里插入图片描述


locate指令:


locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

locate 搜索文件

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

在这里插入图片描述


grep指令和 管道符号 | :


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

grep [选项] 查找内容 源文件

在这里插入图片描述

案例:

在这里插入图片描述



压缩和解压类


gzip/gunzip 指令:


gzip 用于压缩文件, gunzip 用于解压的

gzip 文件       (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz  (功能描述:解压缩文件命令)


zip/unzip 指令:


zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的

zip      [选项] XXX.zip  将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip    [选项] XXX.zip (功能描述:解压缩文件)


-r:递归压缩,即压缩目录



-d<目录> :指定解压后文件的存放目录

案例:

在这里插入图片描述


tar 指令:


tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。

tar  [选项]  XXX.tar.gz  打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)      

在这里插入图片描述

案例:

在这里插入图片描述



权限管理

在这里插入图片描述


0-9位说明:

  1. 第0位确定文件类型(

    d:目录、 - :普通文件 、l :链接文件、 c:字符设备 、 b:块文件

    )
  2. 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—所有者权限
  3. 第4-6位确定所属组(同用户组的)拥有该文件的权限,—所在组的用户权限
  4. 第7-9位确定其他用户拥有该文件的权限 —其他组用户权限


修改权限-chmod:


通过chmod指令,可以修改文件或者目录的权限。

第一种方式:+ 、-、= 变更权限,

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


第二种方式:通过数字变更权限:用数字表示rwx:

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

chmod   u=rwx,g=rx,o=x   文件目录名
chmod   o+w    文件目录名
chmod   a-x    文件目录名


chmod u=rwx,g=rx,o=x    文件目录名  
||
chmod   751  文件目录名

样例:

在这里插入图片描述


修改文件所有者-chown:

chown  newowner  file  #改变文件的所有者
chown  newowner:newgroup  file  #改变用户的所有者和所有组
-R   #如果是目录 则使其下所有子文件或目录递归生效

案例:

在这里插入图片描述



定时任务调度

任务调度crand:系统在某个时间执行的特定的命令或程序


任务调度分类:


1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等

2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。


crontab 进行定时任务的设置:

crontab [选项]

crontab –e:编辑定时任务。
crontab –r:终止任务调度。
crontab –l:列出当前有那些任务调度
service crond restart   [重启任务调度]

样例:

在这里插入图片描述

定时调度我们的脚本或这代码,如果只是简单的任务可以不用写脚本,直接再crontab中加入任务即可。

样例:每小时的每分钟执行

ls –l /etc/ >> /tmp/to.txt

命令

在这里插入图片描述


5个占位符的说明:


在这里插入图片描述


特殊符号的说明:

在这里插入图片描述

案例:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中

在这里插入图片描述

实现文件的定时更新:

在这里插入图片描述



Linux磁盘分区与挂载


查看所有设备挂载情况:

lsblk
lsblk -f

案例:

在这里插入图片描述


磁盘情况查询:

df -h         (查询系统整体磁盘使用情况)
du -h  /目录   (查询指定目录的磁盘占用情况,默认为当前目录)
 -s 指定目录占用大小汇总
 -h 带计量单位
 -a 含文件
 --max-depth=1  子目录深度
 -c 列出明细的同时,增加汇总值

样例:

在这里插入图片描述


磁盘情况-工作实用指令


1.

统计/home文件夹下文件的个数

在这里插入图片描述


2.

统计/home文件夹下目录的个数

在这里插入图片描述


3.

统计/home文件夹下文件的个数,包括子文件夹里的

在这里插入图片描述


4.

以树状显示目录结构

在这里插入图片描述



网络配置

Linux网络配置原理图

在这里插入图片描述


查看网络IP和网关:

查看虚拟网络编辑器

在这里插入图片描述

查看ip地址、网关

在这里插入图片描述

查看windows环境的中VMnet8网络配置 (ipconfig指令)

在这里插入图片描述

ping 测试主机之间网络连通性

ping 目的主机 (功能描述:测试当前服务器是否可以连接目的主机)

应用实例

测试当前服务器是否可以连接百度

在这里插入图片描述



linux网络环境配置

第一种方法(自动获取):

说明:登陆后,通过界面的来设置自动获取ip

特点:linux启动后会自动获取IP,缺点是每次自动获取的ip地址可能不一样。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第二种方法(指定固定的ip)

直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),编辑


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

要求:将ip地址配置的静态的, IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议),ip地址为192.168.42.131。

在这里插入图片描述

重启网络服务或者重启系统生效:service network restart 、reboot



进程管理


显示系统执行的进程:

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数.

 ps –aux|grep xxx ,比如我看看有没有sshd服务

案例:

在这里插入图片描述


ps -ef

是以全格式显示当前所有的进程,-e 显示所有进程。-f 全格式。

ps -ef|grep xxx

案例:

在这里插入图片描述


终止进程kill和killall:

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

kill  [选项] 进程号 (通过进程号杀死进程)
killall 进程名称    (通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
 -9 :表示强迫进程立即停止

案例1:踢掉某个非法登录用户

在这里插入图片描述

案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务

在这里插入图片描述

案例3: 终止多个gedit 编辑器


killall gedit

案例4:强制杀掉一个终端

在这里插入图片描述


查看进程树pstree

pstree [选项] ,可以更加直观的来看进程信息
 -p :显示进程的PID
 -u :显示进程的所属用户

案例:树状的形式显示进程的pid

在这里插入图片描述


服务(service)管理

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。

在这里插入图片描述

service管理指令:在CentOS7.0后 不再使用service ,而是 systemctl

service  服务名 [start | stop | restart | reload | status]

使用案例:重启防火墙,查看当前防火墙的状况。

在这里插入图片描述

关闭防火墙:

在这里插入图片描述

关闭或者启用防火墙后,立即生效,

[telnet 测试 某个端口即可]

。 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令。


查看服务名:

方式1:使用

setup

-> 系统服务 就可以看到。

在这里插入图片描述

方式2: /etc/init.d/服务名称

在这里插入图片描述


服务的运行级别(runlevel):

查看或者修改默认级别:

vi /etc/inittab


在这里插入图片描述

开机的流程说明:

在这里插入图片描述


chkconfig指令:


通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

chkconfig   --list|grep  xxx  (查看服务)
chkconfig   服务名 --list 
chkconfig   --level  5   服务名 on/off   

案例:

在这里插入图片描述

案例:将sshd 服务在运行级别5下设置为不自动启动

在这里插入图片描述

案例: 在所有运行级别下,关闭和开启防火墙,chkconfig重新设置服务后自启动或关闭,需要重启机器reboot才能生效.

在这里插入图片描述


动态监控进程:

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。

top [选项]

选项说明:

在这里插入图片描述

交互操作说明:

在这里插入图片描述

案例1.监视特定用户


top:输入此命令,按回车键,查看执行的进程。



u:然后输入“u”回车,再输入用户名,即可


在这里插入图片描述

案例2:终止指定的进程。


top:输入此命令,按回车键,查看执行的进程。



k:然后输入“k”回车,再输入要结束的进程ID号


在这里插入图片描述


监控网络状态:

查看系统网络情况netstat

netstat [选项]
 -an 按一定顺序排列输出
 -p  显示哪个进程在调用

案例:

在这里插入图片描述

案例:请查看服务名为 sshd 的服务的信息。

在这里插入图片描述


检测主机连接命令ping:

是一种网络检测检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障。

 ping 对方ip地址



RPM 与 YUM


rpm包的管理:

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。

Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。


rpm包的简单查询指令:

rpm  –qa|grep xx

案例:查询系统中是否安装火狐,X86_64表示64位系统,i686、i386表示32位系统,noarch表示通用。

在这里插入图片描述

rpm包的其它查询指令:

rpm -qa :查询所安装的所有rpm软件包
rpm -qa | more    
rpm -qa | grep X [rpm -qa | grep firefox ]

rpm -q 软件包名 :查询软件包是否安装
rpm -q firefox

rpm -qi 软件包名 :查询软件包信息
rpm -qi file

rpm -ql 软件包名 :查询软件包中的文件
rpm -ql firefox

rpm -qf 文件全路径名 查询文件所属的软件包
rpm -qf /etc/passwd
rpm -qf /root/install.log


rpm包的管理:

卸载rpm包:

rpm -e RPM包的名称
rpm -e --nodeps RPM包的名称  (强制删除) 

如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。如:

$ rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1

, 如果我们就是要删除 foo这个rpm 包,可以增加参数 –nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行,如:

$ rpm -e --nodeps foo

安装rpm包:

rpm -ivh  RPM包全路径名称
 -i=install 安装
 -v=verbose 提示
 -h=hash  进度条

案例:安装firefox浏览器

在这里插入图片描述



yum

Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。


yum的基本指令:


查询yum服务器是否有需要安装的软件

yum list|grep xx软件列表

安装指定的yum包

yum install xxx  下载安装

案例:请使用yum的方式来安装firefox

在这里插入图片描述



版权声明:本文为Lzy410992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。