Linux 常用命令

文章目录

Linux 常用命令

在这里插入图片描述

一、背景知识

​ 在 Linux 系统中任何东西都是以文件形式来存储的。这其中不仅包括我们熟知的文本文件、可执行文件等等,还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。

1、Linux 中的路径

​ 路径,顾名思议,是指从树形目录中的某个目录层次到某个文件的一条道路。 Linux 系统中是从" / "开始的。路径是由目录或文件名构成。有绝对路径相对路径之分。

  • 绝对路径:绝对路径是指从“根”开始的路径。例如/usr/local,/etc/hosts,/opt等,如果一个路径是从“/”开始它一定是绝对路径。
  • 相对路径:相对路径是以“.”或者“…”开始的。“.”表示用户操作所处的位置,“…”表示上级目录。

注意:

  • 绝对路径必须以 “/” 开头,它表示根目录。
  • 相对路径不能以 “ / ” 开头。
  • 每个目录中都有 “ …” 目录文件。

路径的符号说明:

  • . : 当前用户所在目录
  • … :表示上一级目录
  • ~ : 表示当前用户自己家目录
  • ~ USER :表示用户名为 USER 的家目录。这里的 USER 是在 /etc/passwd 中存在的用户。

2、Linux 系统目录结构

目录名作用是否重要
/bin是 Binary 的缩写,这个目录存放着经常使用的命令,存放二进制文件
/boot存放着启动 Linux 时使用的一些核心文件,包括一些链接文件和镜像文件
/dev类似于 windows 的设备管理器,把所有的硬件用文件的形式存储
/etc存放系统和第三方应用程序的配置文件重要
/home存放普通用户的家目录重要
/lib和/lib64系统开机所需要最基本的动态连接共享库
/media挂载Linux系统会自动识别的设备,例如U盘、光驱等
/mnt该目录是为了让用户临时挂载别的文件系统的
/opt存放安装第三方应用程序时使用的压缩包文件重要
/proc这个目录是一个虚拟的目录,它是系统内存的映射
/root该目录为系统管理员,超级权限者的用户目录重要
/run存放进程产生的临时文件,关机重启后会消失
/sbinsbin就是super user的意思,这里存放的是系统管理员使用的系统管理程序
/srvservice缩写,该目录存放一些服务启动之后需要提取的数据。
/sysLinux2.6内核的一个很大变化,该目录安装了2.6内核中新出现的一个文件系统
/tmp存放临时文件
/usr用程序的默认安装目录,类似于Windows下的program files目录重要
/var存放经常变化的内容,例如日志文件重要

3、Linux 的文件属性

​ Linux 可以支持长达256个字符的文件名称,且文件名是区分大小写的,“abc” 与 "ABC"所代表的是不同文件。

在这里插入图片描述

Linux 的文件类型:(文件属性的第一位代表文件类型)

  • 普通文件(-):存放数据,程序等信息的文件,一般为文本文件和二进制文件。
  • 目录文件(d):文件系统中一个目录所包含的目录文件,包括文件名和子目录名。
  • 链接文件(l):可以在不同的文件系统之间建立链接关系来实现对文件的访问。
  • 设备文件©:把IO设备映射为一个设备文件。
  • 管道文件§:主要用于在进程间传递数据。

Linux 的文件权限:(文件属性的第二位到第十位,2-4位代表所属者权限,5-7位代表所属组权限,8-10代表其他用户权限

  • 读(r)- 允许读取文件
  • 写(w)- 允许写、修改和删除某个文件
  • 执行(x)- 允许执行某个文件

所谓的文件权限,是指对文件访问权限,包括对文件的读、写、删除、执行操作。Linux是一个多用户操作系统,它运行多个用户同时登陆和工作,因此Linux将一个文件或者目录与一个用户和组联系起来。

二、常用命令操作

1、处理文件和目录相关命令

1.1 查看目录 ls

1)命令:ls(英文全拼:list files)

2)作用:用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)

3)语法:ls [参数] [目录]

4)参数:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 递归查看目录内容

此命令常用 ll 缩写,即查看当前目录的所有内容详情。

1.2 查看当前所在目录 pwd

1)命令:pwd (英文全拼:print work directory)

2)作用:显示目前所在目录

3)语法:pwd

1.3 创建新目录 mkdir

1)命令:mkdir(make directory)

2)作用:创建新的目录

3)语法:mkdir [参数] 目录名称

4)参数:

  • -p:递归创建目录
[root@localhost ~]# mkdir exercise
[root@localhost ~]# cd exercise/
[root@localhost exercise]# mkdir -p test/test01/test02
[root@localhost exercise]# ll
总用量 4
drwxr-xr-x. 3 root root 4096 1230 14:13 test
1.4 删除空目录 rmdir

1)命令:rmdir

2)作用:删除空的目录

3)语法:rmdir [参数] 目录名称

4)参数:

  • -p:从该目录起,一次删除多级空目录
1.5 创建空文件 touch

1)命令:touch

2)作用:创建空文件

3)语法:touch 文件名

1.6 复制文件或目录 cp

1)命令:cp(copy)

2)作用:拷贝文件和目录

3)语法:cp [参数] 源文件/目录 目标文件/目录

4)参数:

  • -r:递归持续复制,用于目录的复制行为
1.7 删除文件或目录 rm

1)命令:rm(remove)

2)作用:删除文件和目录

3)语法:rm [参数] 文件或目录

4)参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -r :递归删除!最常用在目录的删除了!这是非常危险的选项!!!
1.8 移动文件或目录 mv

1)命令:mv(move)

2)作用:移动文件和目录,或者修改名称

3)语法:mv [参数] 被移动的文件或目录的路径 目标目录

4)参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
[root@localhost exercise]# mv a.txt test/test01/test02/
[root@localhost exercise]# cd test/test01/test02/
[root@localhost test02]# ll
总用量 0
-rw-r--r--. 1 root root 0 1230 14:32 a.txt
[root@localhost test02]# mv a.txt b.txt
[root@localhost test02]# ll
总用量 0
-rw-r--r--. 1 root root 0 1230 14:32 b.txt

2、文件编辑工具 vi/vim

​ vi 或 vim 是 Linux 最常用的文本编辑器工具,vi 或 vim 没有图形界面编辑器那样单机鼠标的简单操作,但 vi 编辑器在系统管理、服务器管理中,永远是图形界面的编辑器所不能比的。vi 与 vim 区别在于 vim 可以语法高亮多级撤销。vim 总共有三种模式:

在这里插入图片描述

2.1 一般模式

​ 输入vim 文件名,便进入了命令模式。即使这个文件不存在也没关系,vim 知道我们打算新建一个文件。

此状态下敲击键盘动作会被 vim 识别为命令,而非输入字符。比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。

命令作用
dd删除(剪切)光标所在的整行
5dd删除(剪切)从光标处开始的5行
yy复制光标所在整行
5yy复制从光标处开始的5行
n显示搜索命令定位到下一个字符串
N显示搜索命令定位到的上一个字符串
u撤销上一步操作
p将之前删除dd或者复制yy过的数据粘贴到光标后面
G文本最后面
gg文本开始
shift+^移动到行头
shift+$移动到行尾
x删除字符
2.2 编辑模式

在一般模式下按下i、I、o、a、A就进入了编辑模式,分别对应不同的方式进入编辑模式:

按键大小写说明大小写说明
i小写不动,就在当前位置,开始输入
I大写移动到行的开头,开始输入
a小写光标向后移动一格,然后开始输入
A大写光标移动到行的末尾,然后开始输入
o小写先在光标所在行的下面插入空行,然后把光标移动到空行的开头,再开始输入

此模式同正常的文本输入一样,各种按键的使用也一样,按 Esc 键则返回一般模式。

2.3 指令模式

​ 主要保存或者退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转所编写文档的特定行数。注意:shift+ zz 快捷保存退出

命令作用
: w保存
: q退出
: q !强制退出
: wq!强制保存退出
: set nu显示行号
: set nonu不显示行号
: 命令执行该命令
: 整数跳转到该行
:s/one/two将当前光标所在行的第一个one替换成two
:s/one/two/g将当前光标所在行的所有one替换成two
:%s/one/two/g将全文中的所有one替换成two
?字符串在文本中从下至上搜索该字符串
/字符串在文本中从上至下搜索该字符串

3、文件内容查看相关命令

3.1 查看内容 cat

1)命令:cat

2)作用:显示文件的全部内容,适用于较小的文件

3)语法:cat [参数] 文件名

4)参数:

  • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
  • -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
  • -v :列出一些看不出来的特殊字符
  • -E :将结尾的断行字节 $ 显示出来;
  • -T :将 [tab] 按键以 ^I 显示出来;
  • -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
3.2 倒着显示文件内容 tac

1)命令:tac

2)作用:文件内容从最后一行开始显示,tac为cat倒着写

3)语法:tac 文件名

3.3 显示行号 nl

1)命令:nl

2)作用:带行号的显示文件内容

3)语法:nl 文件名

3.4 分页显示 more

1)命令:more

2)作用:分页显示文件内容

3)语法:more 文件名

4)在查看的过程中,以下按键可以操作文件:

  • 空白键(space):向下翻页
  • b:向上翻页
  • Enter:向下翻一行
  • /字符串:代表在这个显示的内容当中,向下搜寻『字符串』这个关键字
  • :f :立刻显示出文件名以及目前显示的行数
  • q :立刻离开 more ,不再显示该文件内容
3.5 分页显示 less

1)命令:less

2)作用:分页显示文件内容

3)语法:less 文件名

4)在查看的过程中,以下按键可以操作文件:

  • 空白键(space):向下翻页
  • b:向上翻页
  • [pagedown] ↓、Enter:向下翻一行
  • [pageup] ↑:向下翻一行
  • /字符串:代表在这个显示的内容当中,向下搜寻『字符串』这个关键字
  • ?字串 :向上搜寻『字符串』这个关键字,n 向上找,N 向下找
  • =:显示文件的详细信息
  • q :立刻离开 less ,不再显示该文件内容
3.6 查看头几行 head

1)命令:head

2)作用:取出文件前面几行

3)语法:head [-n number] 文件名

4)参数:

  • -n :后面接数字,代表显示几行
3.7 查看尾几行 tail

1)命令:tail

2)作用:取出文件后面几行

3)语法:tail[-n number] 文件名

4)参数:

  • -n :后面接数字,代表显示几行
  • -f :表示持续监测后面所接的档名,要等到按下 [ctrl]+c 才会结束 tail 的监测

4、打包压缩相关命令

4.1 tar

1)命令:tar

2)作用:tar 包解压缩命令,默认解压到当前目录下,如果当前目录有同名的目录或者文件会被直接覆盖,没有任何提示

3)语法:tar 参数 文件名

4)参数:常用 -zxvf (简记:最小微分)

  • -z:用 gzip 对存档压缩或解压
  • -x:解压 .tar 文件
  • -v:详细显示处理的文件
  • -f:指定压缩后的文件
  • -c:生成 .tar 打包文件
  • -C:指定解压目录,tar 包后面跟 -C 目录名
解压命令:常用
[root@localhost /]# tar -zxvf apache-tomcat-8.5.27.tar.gz -C /usr/local

压缩目录命令
[root@localhost test01]# tar -zcvf java.test.tar.gz test02
test02/
test02/a.txt
test02/std_zt_nljgtj.sql
test02/b.txt
[root@localhost test01]# ll
总用量 16
-rw-r--r--. 1 root root 11815 13 17:13 java.test.tar.gz
drwxr-xr-x. 2 root root  4096 13 10:14 test02
4.2 gzip/gunzip

1)命令:gzip/gunzip

2)作用:解压缩命令

3)语法:gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)

​ gunzip 文件.gz (解压缩文件命令)

5、搜索相关命令

5.1 grep

1)命令:grep

2)作用:将文件内容中匹配的行返回

3)语法:grep [参数] 查找内容 源文件

4)参数:

  • -n:显示行号
  • -v:反向选择,仅列出没有“关键词”的行
  • -c:仅显示找到的行数
  • -i:忽略大小写
  • -b:将可执行文件(binary)当作文本文件(text)来搜索
[root@localhost test02]# grep -n '镇街' std_zt_nljgtj.sql 
[root@localhost test02]# cat std_zt_nljgtj.sql | grep '南村村'
5.2 find

1)命令:find

2)作用:按照指定条件来查找文件

3)语法:find [查找路径] [参数] 表达式

4)参数:

  • -name:匹配名称
  • -user:匹配所有者
  • -group:匹配所有组
[root@localhost /]#  find /opt/ -name "*.txt"

6、用户/组管理命令

Linux是一个多用户、多任务的操作系统。

用户概念:Linux 是真正意义上的多用户操作系统,我们可以在 Linux 系统中建若干用户(user)

用户组概念:用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

Linux 用户和组的关系有四种,分别是:一对一、一对多、多对一、多对多

6.1 添加用户 useradd

对于 UID 的说明:Linux 系统的管理员之所以是 root,是因为该用户的身份号码即 UID 的数值为 0, UID 就相当于我们的身份证号码一样具有唯一性, 因此可通过用户的 UID 值来判断用户身份。

  • 管理员 UID 为 0:系统的管理员用户。
  • 系统用户 UID 为 1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。
  • 普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。 需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000 开始的(即使前面有闲置的号码)。

1)命令:useradd

2)作用:添加用户

3)语法:useradd [参数] 用户名

4)参数:

  • -d:指定用户的家目录(默认为/home/(用户名))
  • -e:账户的到期时间,格式为 YYYY-MM-DD.
  • -u:指定该用户的默认 UID
  • -g:指定一个初始的用户基本组(必须已存在)
  • -G:指定一个或多个扩展用户组
  • -N:不创建与用户同名的基本用户组
  • -s:指定该用户的默认 Shell 解释器
[root@localhost /]# useradd -d /home/java -u 6666 testuser01
[root@localhost /]# id testuser01
uid=6666(testuser01) gid=6666(testuser01)=6666(testuser01)
[root@localhost /]# cd home/
[root@localhost home]# ll
总用量 8
drwx------.  3 testuser01 testuser01 4096 14 11:16 java
drwx------. 15 lyl        lyl        4096 14 10:37 lyl
6.2 修改用户 usermod

1)命令:usermod

2)作用:修改用户的一些信息

3)语法:usermod [参数] 用户名

4)参数:

  • -u:修改用户ID
  • -U:解除密码锁定
  • -l:修改用户帐号名称
  • -L:锁定用户密码,使密码无效
  • -g:修改用户所属的群组
  • -G:修改用户所属的附加群组
  • -d:修改用户登入时的目录
  • -c:修改用户帐号的备注文字
  • -e:修改帐号的有效期限
  • -f:修改在密码过期后多少天即关闭该帐号
  • -s:修改用户登入后所使用的shel
#修改用户id
[root@localhost home]# usermod -u 1314 testuser01
[root@localhost home]# id testuser01
uid=1314(testuser01) gid=6666(testuser01)=6666(testuser01)
#修改用户所属组
[root@localhost home]# id lyl
uid=1000(lyl) gid=1000(lyl)=1000(lyl),10(wheel)
[root@localhost home]# usermod -g lyl testuser01
[root@localhost home]# id testuser01
uid=1314(testuser01) gid=1000(lyl)=1000(lyl)
#将用户加入root组
[root@localhost home]# usermod -G root testuser01
[root@localhost home]# id testuser01
uid=1314(testuser01) gid=1000(lyl)=1000(lyl),0(root)

用户账号口令管理 passwd

1)命令:passwd

2)作用:用于修改用户密码、过期时间、认证信息等

3)语法:passwd [参数] 用户名

4)参数:

  • -d:删除密码,仅有系统管理者才能使用
  • -f:强制执行
  • -k:设置只有在密码过期失效后,方能更新
  • -l:锁住密码
  • -S:列出密码的相关信息,仅有系统管理者才能使用
  • -u:解开已上锁的帐号
[root@localhost home]# passwd -l testuser01
锁定用户 testuser01 的密码 。
passwd: 操作成功
[root@localhost home]# passwd -S testuser01
testuser01 LK 2023-01-04 0 99999 7 -1 (密码已被锁定。)
6.3 删除用户 userdel

1)命令:userdel

2)作用:删除用户

3)语法:userdel [参数] 用户名

4)参数:

  • -f:强制删除用户
  • -r:同时删除用户及用户家目录

说明:删除用户,相关的文件目录有:/etc/passwd、/etc/shadow、/home/(用户名)

[root@localhost home]# userdel -r testuser01
userdel:组“testuser01”没有移除,因为它不是用户 testuser01 的主组   //此处是因为刚才修改了testuser01的所属组
[root@localhost home]# id testuser01
id: testuser01: no such user
6.4 添加用户组 groupadd

1)命令:groupadd

2)作用:添加用户组

3)语法:groupadd [参数] 用户组名

4)参数:

  • -g:指定新建工作组的 id
  • -r:创建系统工作组,系统工作组的组ID小于500
  • -K:覆盖配置文件“/ect/login.defs”
  • -o:允许添加组ID号不唯一的工作组
[root@localhost home]# groupadd -g 255 java
6.5 修改用户组 groupmod

1)命令:groupmod

2)作用:修改用户组

3)语法:groupmod [参数] 用户组名

4)参数:

  • -g:设置欲使用的群组识别码
  • -o:重复使用群组识别码
  • -n:设置欲使用的群组名称
#把java组改为javaweb组并设置GID为265
[root@localhost home]# groupmod -g 265 -n javaweb java
6.6 删除用户组 groupdel

1)命令:groupdel

2)作用:删除用户组

3)语法:groupdel 用户组名

#新建用户如果不设置用户组,会建立一个相同名字的用户组,删除用户组testuser01
[root@localhost home]# groupdel testuser01

7、权限操作

7.1 改变所属群组 chgrp

1)命令:chgrp(change group)

2)作用:改变文件所属群组

3)语法:chgrp [参数] 属组名 文件名

4)参数:

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
[root@localhost test01]# ll
总用量 16
-rw-r--r--. 1 root root 11815 13 17:13 java.test.tar.gz
drwxr-xr-x. 2 root root  4096 13 10:14 test02
[root@localhost test01]# chgrp -R lyl test02
[root@localhost test01]# ll
总用量 16
-rw-r--r--. 1 root root 11815 13 17:13 java.test.tar.gz
drwxr-xr-x. 2 root lyl   4096 13 10:14 test02
[root@localhost test01]# cd test02
[root@localhost test02]# ll
总用量 68
-rw-r--r--. 1 root lyl    65 1230 16:03 a.txt
-rw-r--r--. 1 root lyl   683 1230 16:10 b.txt
-rw-r--r--. 1 root lyl 57988 13 10:14 std_zt_nljgtj.sql
7.2 改变文件拥有者 chown

1)命令:chowm

2)作用:更改文件属主,也可以同时更改文件属组

3)语法:chown [参数] 属主名 文件名

​ chown [参数] 属主名:属组名 文件名

4)参数:

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
[root@localhost test02]# chown lyl a.txt 
[root@localhost test02]# ll
总用量 68
-rw-r--r--. 1 lyl  lyl    65 1230 16:03 a.txt
-rw-r--r--. 1 root lyl   683 1230 16:10 b.txt
-rw-r--r--. 1 root lyl 57988 13 10:14 std_zt_nljgtj.sql
#将a.txt的属主和所属组改回root
[root@localhost test02]# chown root:root a.txt 
[root@localhost test02]# ll
总用量 68
-rw-r--r--. 1 root root    65 1230 16:03 a.txt
-rw-r--r--. 1 root lyl    683 1230 16:10 b.txt
-rw-r--r--. 1 root lyl  57988 13 10:14 std_zt_nljgtj.sql
7.3 改变文件属性 chmod

有两种方法,一种是数字,一种是符号

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute(读/写/执行)权限。

1)命令:chowm

2)作用:更改文件属性

**文字设定法:**用 u、g、o 代表user(用户)、group(组)、others(其他)三种身份的权限。 a 则代表 all,即全部的身份。读写的权限可以写成 r、w、x

3)语法:chmod [u、g、o、a] [+、-、=] [r、w、x]

操作对象可以是下述字母中的任一个或者它们的组合:

  • u 表示“用户(user)”,即文件或目录的所有者。
  • g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
  • o 表示“其他(others)用户”。
  • a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

  • + 添加某个权限。
  • – 取消某个权限。
  • = 赋予给定权限并取消其他所有权限(如果有的话)。

**数字设定法(常用):**0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。

字符对应权限对文件的含义对目录的含义
r读权限可以查看文件可以列出目录的内容
w写权限可以修改文件可以在目录中创建、删除文件
x执行权限可以执行文件可以进入目录

对应的值的组合种类

权限数值
7可读 + 可写 + 可执行7(4 + 2 + 1)
6可读 + 可写6(4 + 2)
5可读 + 可执行5(4 + 1)
4可读4
3可写 + 可执行3(2 + 1)
2可写2
1可执行1
00

3)语法:chmod [-R] xyz 文件或目录

xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。

-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

#将文件权限设置为 - rwx r-x r--
[root@localhost test02]# ll
总用量 68
-rw-r--r--. 1 root root    12 15 16:29 a.txt
-rw-r--r--. 1 root lyl    683 1230 16:10 b.txt
-rw-r--r--. 1 root lyl  57988 13 10:14 std_zt_nljgtj.sql
[root@localhost test02]# chmod 754 a.txt 
[root@localhost test02]# ll
总用量 68
-rwxr-xr--. 1 root root    12 15 16:29 a.txt
-rw-r--r--. 1 root lyl    683 1230 16:10 b.txt
-rw-r--r--. 1 root lyl  57988 13 10:14 std_zt_nljgtj.sql

8、防火墙相关命令

启动防火墙: systemctl start firewalld

关闭防火墙: systemctl stop firewalld

查看防火墙状态:

​ systemctl status firewalld

​ firewall-cmd --state

开机禁用防火墙: systemctl disable firewalld

开机启用防火墙 : systemctl enable firewalld

9、进程管理相关命令

9.1 查看所有进程 ps

1)命令:ps(process status)

2)作用:查看当前正在运行的进程

3)语法:ps [参数]

4)参数:

  • -a:显示所有进程(包括其他用户的进程)
  • -u:用户以及其他详细信息
  • -x:显示没有控制终端的进程
  • -e:显示系统中全部的进程信息
  • -f:表示完整格式

常用参数为:-ef,即 ps -ef 查看所有正在运行的进程

[root@localhost ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 1月03 ?       00:00:08 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
列名含义
UID进程的用户信息
PID进程id。由系统分配,不会重复
PPID父进程的id。父进程和子进程的关系是:父进程启动了子进程
C用整数表示的CPU使用率
STIME进程启动时间
TTY进程所在终端。所谓终端就是用户输入命令的操作界面
TIME进程所占用的CPU时间
CMD当前进程所对应的程序
[root@localhost ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 193968  7072 ?        Ss   1月03   0:08 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
列名含义
USER进程拥有者
%CPU该进程使用掉的CPU资源百分比
%MEM该进程所占用的物理内存百分比
VSZ占用的虚拟记忆体大小
RSS占用的记忆体大小
STAT该进程的状态:D: 无法中断的休眠状态 (通常 IO 的进程);R: 正在执行中;S: 静止状态;T: 暂停执行;Z: 不存在但暂时无法消除
START进程开始时间
COMMAND该进程的实际指令
#分屏查看进程
[root@localhost ~]# ps -ef | less
#精确查看想要查看的进程
[root@localhost ~]# ps -ef | grep sshd
root       1033      1  0 1月03 ?       00:00:00 /usr/sbin/sshd -D
root       2885   1033  0 1月03 ?       00:00:02 sshd: root@pts/0
root      30154  16320  0 11:24 pts/0    00:00:00 grep --color=auto sshd
9.2 实时查看系统状态 top

1)命令:top

2)作用:实时查看系统运行情况和健康状态

3)语法:top [参数]

4)参数:

  • -d:屏幕刷新间隔时间
  • -p:指定进程id

5)在查看的过程中,可以用一下按键操作:

  • P:默认值,根据CPU使用率排序
  • M:以内存的使用率排序
  • N:以PID排序
  • d:设置数据刷新的时间间隔,单位是秒
  • q:退出
9.3 互动的进程查看器 htop

htop 是 Linux 系统中的一个互动的进程查看器,与 Linux 传统的 top 比较的话, htop 更人性化并且还支持鼠标操作。

#安装epel源
yum install epel-release -y
#安装htop
yum install -y htop
#安装完毕后命令行输入
htop
9.4 终止进程 kill

1)命令:kill

2)作用:终止进程,kill命令本质上是给进程发送信号

3)语法:kill [参数] 进程ID

4)参数:

  • -9:强制终止进程
[root@localhost ~]# ps -ef | grep firefox
root      32547   1990 19 13:57 ?        00:00:04 /usr/lib64/firefox/firefox
[root@localhost ~]# kill 32547
9.5 查看网络状态 netstat

1)命令:netstat(net status)

2)作用:监控TCP/IP网络,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息

3)语法:netstat [参数]

4)参数:

  • -a:显示所有正在或不在侦听的套接字
  • -n:显示数字形式地址而不去解析主机、端口或用户名
  • -p:显示套接字所属进程的 PID 和名称

netstat命令显示的网络状态信息包含两部分内容:

  • 本机和外部的连接状态信息
  • 本机系统内部进程间通信信息
[root@localhost ~]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      620/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1301/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1033/sshd 
......
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  2      [ ACC ]     STREAM     LISTENING     26295    1440/X               /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     30473    1790/gnome-keyring-  /run/user/0/keyring/ssh
unix  2      [ ]         DGRAM                    11022    1/systemd            /run/systemd/shutdownd
......

网络连接信息字段名称含义:

列名含义
Proto连接协议
Recv-Q接收数据的队列
Send-Q发送数据的队列
Local AddressLinux系统这一段的套接字
Foreign Address网络另一端的套接字
State连接状态,LISTEN 表示监听,ESTABLISHED 表示已建立连接
PID/Program name进程名称

10、软件安装相关命令

10.1 rpm

在这里插入图片描述

1)命令:rpm

2)作用:安装软件

3)语法:rpm [参数] rpm包

4)参数:

  • -i:install的意思,安装
  • -v:查看更详细的安装信息画面
  • -h:以安装信息栏显示安装进度

RPM 安装软件的默认路径:

  • /etc:配置文件放置目录
  • /usr/bin:一些可执行文件
  • /usr/lib:一些程序使用的动态链接库
  • /usr/share/doc:一些基本的软件使用手册与说明文件
  • /usr/share/man:一些man page档案
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm --force --nodeps
10.2 yum

yum 可以看作是 CS 架构的软件,yum 的存在很好的解决了 rpm 的属性依赖问题。

yum 通过依赖 rpm 软件包管理器, 实现了 rpm 软件包管理器在功能上的扩展, 因此 yum是不能脱离 rpm 而独立运行的。

yum 是一个在线软件管理工具,所以使用 yum 进行的操作大都是需要在联网的条件下才能正常使用。

# 配置阿里yum源
# 1.安装wget(如果已经安装则省略)
yum install -y wget
# 2.备份
mv CentOS-Base.repo CentOS-Base.repo.bak
# 3.下载阿里云的Centos-7.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 4.重新加载yum
yum clean all
yum makecache
# 5.检查配置源是否为阿里云的
cat /etc/yum.repos.d/CentOS-Base.repo

11、系统服务相关命令

11.1 service

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

1)命令:service

2)作用:服务管理,service命令其实是去/etc/init.d目录下,去执行相关程序

3)语法:service 服务名 [start(启动服务)、stop(停止服务)、restart(重启服务)、reload(重新加载服务)、status(查看服务状态)]

11.2 systemctl

1)命令:systemctl

2)作用:管理系统

3)语法:

  • 启动服务:systemctl start 服务名(xxxx.service)
  • 重启服务:systemctl restart 服务名(xxxx.service)
  • 停止服务:systemctl stop 服务名(xxxx.service)
  • 重新加载服务:systemctl reload 服务名(xxxx.service)
  • 查看服务状态:systemctl status 服务名(xxxx.service)
11.3 chkconfig

1)命令:chkconfig

2)作用:用来更新、查询、改动不同执行级上的系统服务,常用systemctl代替此命令

3)语法:chkconfig 服务名 [on(开启服务)、off(停止服务)]

12、系统工作相关命令

12.1 重启 reboot

1)命令:reboot

2)作用:重启系统,由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来重启

3)语法:reboot

12.2 关机 poweroff

1)命令:poweroff

2)作用:关闭系统,默认只有 root 管理员可以关机

3)语法:poweroff

12.3 下载网络文件 wget

1)命令:wget

2)作用:在终端中下载网络文件

3)语法:wget [参数] 下载地址

4)参数:

  • -b:后台下载模式
  • -P:下载到指定目录
  • -t:最大尝试次数
  • -c:断点续传
  • -p:下载页面内所有资源,包括图片、视频等
  • -r:递归下载
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz

13、系统状态监测相关命令

13.1 查看网络配置信息 ip addr

1)命令:ip addr

2)作用:用于获取网卡配置与网络状态等信息

3)语法:ip addr

13.2 查看系统版本信息 uname

1)命令:uname

2)作用:用于查看系统内核与系统版本等信息

3)语法:uname

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
13.3 查看内存信息 free

1)命令:free

2)作用:用于显示当前系统中内存的使用量信息

3)语法:free

[root@localhost ~]# free
              total        used        free      shared  buff/cache   available
Mem:        2027896      943340      402348        9328      682208      902584
Swap:       2097148       13832     2083316
13.4 查看登录记录 last

1)命令:last

2)作用:用于查看所有系统的登录记录,这些信息都是以日志文件的形式保存在系统中

3)语法:last

13.5 查看历史命令 history

1)命令:history

2)作用:用于显示历史执行过的命令,一般配合管道使用

3)语法:history

默认显示最近1000行,如果觉得 1000 不够用,还可以自定义/etc/profile 文件中的 HISTSIZE 变量值。在使用 history 命令时,如果使用-c 参数则会清空所有的命令历史记录。

13.6 查看负载信息 uptime

1)命令:uptime

2)作用:用于查看系统的负载信息

3)语法:uptime

[root@localhost ~]# uptime
 16:10:56 up 2 days,  6:44,  2 users,  load average: 0.00, 0.01, 0.05

它可以显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。

14、磁盘管理相关命令

14.1 查看分区 fdisk

1)命令:fdisk

2)作用:查看分区

3)语法:fdisk [必要参数]

4)必要参数:

  • -m:查看全部可用的参数
  • -l:列出所有可用的分区类型
  • -n:添加新的分区
  • -d:删除某个分区信息
  • -t:改变某个分区的类型
  • -p:查看分区信息
  • -w:保存并退出
  • -q:不保存直接退出
14.2 查看硬盘使用情况 df

1)命令:df

2)作用:用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等

3)语法:df [参数] [目录名或文件名]

4)参数:

  • -a:显示所有文件系统信息,包括系统特有的 /proc、/sysfs 等文件系统
  • -m:以 MB 为单位显示容量
  • -k:以 KB 为单位显示容量,默认以 KB 为单位
  • -h:使用人们习惯的 KB、MB 或 GB 等单位自行显示容量
  • -T:显示该分区的文件系统名称
  • -i:不用硬盘容量显示,而是以含有 inode 的数量来显示
[root@localhost ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
devtmpfs         998396       0   998396    0% /dev
tmpfs           1013948       0  1013948    0% /dev/shm
tmpfs           1013948   10632  1003316    2% /run
tmpfs           1013948       0  1013948    0% /sys/fs/cgroup
/dev/sda2      18240336 7285644 10005088   43% /
/dev/sda1        194235  140737    39162   79% /boot
tmpfs            202792      28   202764    1% /run/user/0
/dev/sr0        4600876 4600876        0  100% /run/media/root/CentOS 7 x86_64
14.3 创建链接文件 ln

1)命令:ln

2)作用:用于创建链接文件(Linux中的快捷方式)

3)语法:ln [参数] 目标文件

4)参数:

  • -s:创建“符号链接”(如果不带-s 参数,则默认创建硬链接)
  • -f:强制创建文件或目录的链接
  • -i:覆盖前先询问
  • -v:显示创建链接的过程
[root@localhost test02]# echo "Hello java " > a.txt
[root@localhost test02]# ll
总用量 68
-rw-r--r--. 1 root root    12 15 16:29 a.txt
-rw-r--r--. 1 root lyl    683 1230 16:10 b.txt
-rw-r--r--. 1 root lyl  57988 13 10:14 std_zt_nljgtj.sql
[root@localhost test02]# ln -s a.txt aaa.txt
[root@localhost test02]# ll
总用量 68
lrwxrwxrwx. 1 root root     5 15 16:29 aaa.txt -> a.txt
-rw-r--r--. 1 root root    12 15 16:29 a.txt
-rw-r--r--. 1 root lyl    683 1230 16:10 b.txt
-rw-r--r--. 1 root lyl  57988 13 10:14 std_zt_nljgtj.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我真真的是小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值