Linux常用命令

系统服务管理

systemctl

Systemctl命令是Servicechkconfig命令的组合体,可用于管理系统

输出系统各个服务的状态

1
systemctl list-units --type=service

image-20230611145509598

查看服务的运行状态

1
systemctl status firewalld

image-20230611145212350

关闭服务

1
systemctl stop firewalld

启动服务

1
systemctl start firewalld

重新启动服务

1
systemctl reload firewalld

禁止服务开机自启动

1
systemctl disable firewalld

开启服务开机自启动

1
systemctl enable firewalld

文件管理

ls

列出指定目录下的所有文件

列出/目录下的文件

1
ls -l /

image-20230611150319289

pwd

获取目前所在工作目录的绝对路径

1
pwd

image-20230611150328686

cd

改变当前工作目录

1
cd /

date

显示或修改系统时间与日期

1
date '+%Y-%m-%d %H:%M:%S'

passwd

用于设置用户密码

1
passwd root

su

改变用户身份(切换到超级用户)

1
su ~

clear

用于清除屏幕信息

1
clear

man

显示指定命令的帮助信息 (输入 q 退出)

1
man ls

who

查询系统处于的运行级别

1
who -r

显示目前登录到系统的用户

1
who -buT

image-20230611151342802

free

显示系统内存状态(单位MB)

1
free -m

image-20230611151317775

ps

显示系统的进程运行的状态

1
ps -ef

image-20230611151302013

查看 sshd 进程的运行状态

1
ps -ef | grep java

top

查看即时活跃的进程,类似Windows的任务管理器

image-20230611151608498

mkdir

创建目录

1
mkdir

more

分页查看文件 (例如每页10行查看文件)

1
more -c -10 /var/log/boot.log

cat

查看文件并标名行号

1
cat -Ab /var/log/boot.log

touch

创建文件

1
touch text.txt

rm

删除文件

1
rm text.txt

强制删除某个目录以及其子目录

1
rm -rf testdir/

cp

用于拷贝文件

1
cp -r /mydata/test1 /mydata/test2

mv

移动或者覆盖文件

1
mv text1.txt text2.txt

压缩与解压

tar

归档

/etc文件夹中的文件归档到文件etc.tar(并不会进行压缩)

1
mkdir -p /mydata/etc/
1
tar -cvf /mydata/etc/etc.tar /etc

压缩

使用 gzip 压缩文件夹/etc中的文件到文件etc.tar.gz

1
tar -zcvf /mydata/etc/etc.tar.gz /etc

使用 bzip2 压缩文件夹/etc中的文件到文件etc.tar.gz

1
tar -jcvf /mydata/etc/etc.tar.bz2 /etc

image-20230611170308568

分页查看压缩包中内容

1
tar -ztvf /mydata/etc/etc.tar.gz | more -c -10

image-20230611170505806

解压

解压文件到当前目录

1
tar -zxvf /mydata/etc/etc.tar.gz 

解压文件到指定目录

1
tar -zxvf /mydata/etc/etc.tar.gz -C /mydata/etc

磁盘和网络管理

df

查看磁盘空间占用情况

1
df -hT

image-20230611170916334

dh

查看当前目录下的文件及文件夹所占大小

1
du -h --max-depth=1 ./*

image-20230611171431823

ipconfig

显示当前网络接口状态

1
ifconfig

image-20230611171610564

netstat

查看当前路由信息

1
netstat -rn

image-20230611171910730

查看所有有效的TCP连接

1
netstat -an

image-20230611171943883

查看系统中启动的监听服务

1
netstat -tulnp

image-20230611172137234

查看处于连接状态的系统资源信息

1
netstat -atunp

wget

从网络上下载文件

1
wget http://....

文件上传下载

安装上传下载工具 lrzsz

1
yum install -y lrzsz

上传文件

1
rz

下载文件

1
sz fileName

软件安装与管理

rpm

RPM是Red-Hat Package Manager的缩写,一种Linux下通用的软件包管理方式,可用于安装和管理.rpm结尾的软件包

安装软件包

1
rpm -ivh nginx-1.14.0-1.el7_4.ngx.x86_64.rpm

模糊搜索软件包

1
rpm -qa | grep nginx

精确查找软件包

1
rpm -qa nginx

查询软件包的安装路径

1
rpm -ql nginx-1.12.2-2.el7.x86_64

查看软件包的概要信息

1
rpm -qi nginx-1.12.2-2.el7.x86_64

验证软件包内容和安装文件是否一致

1
rpm -V nginx-1.12.2-2.el7.x86_64

更新软件包

1
rpm -Uvh nginx-1.12.2-2.el7.x86_64

删除软件包

1
rpm -e nginx-1.12.2-2.el7.x86_64

yum

Yum是Yellow dog Updater, Modified的缩写,能够在线自动下载RPM包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包

安装软件包

1
yum install nginx

检查更新软件包

1
yum check-update

更新指定的软件包

1
yum update nginx

在资源库中查找软件包信息

1
yum info nginx*

列出已经安装的所有软件包

1
yum info installed

列出软件包名称

1
yum list nginx*

模糊搜索软件包

1
yum search nginx

用户管理

用户信息查看

查看用户信息

1
cat /etc/passwd

image-20230611175136841

1
2
# 用户信息格式(用户名:密码:用户标识号:组标识号:组注释性描述:主目录:默认shell)
root:x:0:0:root:/root:/bin/bash

查看用户组信息

1
cat /etc/group

image-20230611175340673

1
2
# 组名:密码:组标识号:组内用户列表
root:x:0

passwd

用于设置用户密码

1
passwd root

su

改变用户身份

1
2
# 切换到root用户
su ~

groupadd

添加用户组,使用-g可以设置用户组的标志号

1
groupadd -g 1024 testgroup

groupdel

删除用户组

1
groupdel testgroup

useradd

添加用户,-u 设置标志号,-g 设置主用户组

1
useradd -u 1024 -g testgroup testuser

usermod

修改用户所属用户组

1
usermod -g docker testuser

userdel

删除用户,使用 -r 删除用户主目录

1
userdel testuser -r

image-20230611180332753

文件基本属性

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。

chown

修改所属用户与组

chmod

修改用户的权限

使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组:

image-20230611183141796

image-20230611183240381