一、Linux 常用命令速查表
编号 |
命令 |
功能 |
1 |
ls |
列出当前目录中的文件和子目录 |
2 |
pwd |
显示当前工作目录的路径 |
3 |
cd |
切换工作目录 |
4 |
mkdir |
创建新目录 |
5 |
rmdir |
删除空目录 |
6 |
rm |
删除文件或目录 |
7 |
cp |
复制文件或目录 |
8 |
mv |
移动或重命名文件或目录 |
9 |
touch |
创建空文件或更新文件的时间戳 |
10 |
cat |
连接和显示文件内容 |
11 |
more/less |
逐页显示文本文件内容 |
12 |
head/tail |
显示文件的前几行或后几行 |
13 |
grep |
在文件中搜索指定文本 |
14 |
ps |
显示当前运行的进程 |
15 |
kill |
终止进程 |
16 |
ifconfig/ip |
查看和配置网络接口信息 |
17 |
ping |
测试与主机的连通性 |
18 |
wget/curl |
从网络下载文件 |
19 |
chmod |
修改文件或目录的权限 |
20 |
chown |
修改文件或目录的所有者 |
21 |
tar |
压缩和解压文件和目录 |
22 |
df/du |
显示磁盘使用情况 |
23 |
mount/umount |
挂载和卸载文件系统 |
24 |
psql/mysql |
与PostgreSQL或MySQL数据库交互的命令行工具 |
25 |
top/htop |
显示系统资源的实时使用情况和进程信息 |
26 |
ssh |
远程登录到其他计算机 |
27 |
scp |
安全地复制文件到远程主机或从远程主机复制到本地 |
28 |
find |
在文件系统中查找文件和目录 |
29 |
grep |
在文本中搜索匹配的行,并使用正则表达式进行高级搜索 |
30 |
sed |
流编辑器,用于文本处理和替换 |
31 |
awk |
用于文本处理和数据提取的工具 |
32 |
ssh-keygen |
生成SSH密钥对,用于身份验证远程服务器 |
33 |
date |
显示或设置系统日期和时间 |
34 |
echo |
将文本输出到标准输出 |
35 |
ln |
创建硬链接或符号链接 |
36 |
uname |
显示系统信息 |
37 |
shutdown/reboot |
关闭或重新启动系统 |
38 |
who/w |
显示当前登录的用户信息 |
39 |
curl |
用于与网络资源交互,支持各种协议 |
40 |
zip/unzip |
压缩和解压ZIP文件 |
41 |
chmod/chown |
修改文件或目录的权限和所有者 |
42 |
useradd/userdel |
添加和删除用户账户 |
43 |
passwd |
更改用户密码 |
44 |
cron |
定时任务管理器,用于自动执行计划任务 |
45 |
uptime |
显示系统的运行时间和负载情况 |
46 |
hostname |
显示或设置计算机的主机名 |
47 |
iptables/ufw |
配置防火墙规则 |
48 |
netstat/ss |
显示网络连接信息 |
49 |
ps/top/htop |
显示进程信息和系统资源使用情况 |
50 |
history |
查看命令历史记录 |
51 |
free |
显示系统内存使用情况 |
52 |
lsblk/fdisk |
查看磁盘分区信息和管理磁盘 |
53 |
nc |
用于网络连接测试和数据传输 |
54 |
stat |
显示文件或目录的详细信息 |
55 |
nmcli |
管理网络连接的命令行工具 |
56 |
tailf |
实时追踪文件的末尾 |
57 |
scp |
安全地将文件从本地复制到远程主机,或从远程主机复制到本地 |
58 |
rsync |
在本地和远程系统之间同步文件和目录 |
59 |
dd |
复制和转换文件 |
60 |
sudo |
以超级用户权限运行命令 |
二、Linux 常用命令总结
类别 |
命令 |
功能说明 |
文件与目录操作 |
ls |
列出目录内容 |
|
pwd |
显示当前工作目录路径 |
|
cd |
切换工作目录 |
|
mkdir |
创建新目录 |
|
rmdir |
删除空目录 |
|
rm |
删除文件或目录 |
|
cp |
复制文件或目录 |
|
mv |
移动或重命名文件或目录 |
|
touch |
创建空文件或更新文件时间戳 |
|
ln |
创建硬链接或符号链接 |
文件内容查看与编辑 |
cat |
连接并显示文件内容 |
|
more/less |
逐页查看文件内容 |
|
head/tail |
查看文件的前几行或后几行 |
|
grep |
在文件中搜索指定文本内容 |
|
sed |
流编辑器,用于文本处理和替换 |
|
awk |
文本处理工具,用于提取数据 |
系统与进程管理 |
ps |
显示当前运行的进程 |
|
kill |
终止进程 |
|
top/htop |
实时监视系统资源和进程信息 |
|
df/du |
查看磁盘使用情况 |
|
free |
查看系统内存使用情况 |
|
uptime |
显示系统运行时间和负载 |
|
history |
查看命令历史记录 |
网络操作 |
ifconfig/ip |
查看和配置网络接口信息 |
|
ping |
测试网络连通性 |
|
wget/curl |
从网络下载文件或与网络资源交互 |
|
ssh |
远程登录到其他计算机 |
|
scp |
安全地复制文件到远程主机或从远程主机复制到本地 |
|
netstat/ss |
查看网络连接信息 |
|
nc |
测试网络连接和传输数据 |
文件压缩与解压 |
tar |
用于文件和目录的压缩与解压 |
|
zip/unzip |
用于ZIP文件的压缩与解压 |
用户管理与权限设置 |
chmod |
修改文件或目录的权限 |
|
chown |
修改文件或目录的所有者 |
|
useradd/userdel |
添加或删除用户账户 |
|
passwd |
更改用户密码 |
系统管理与配置 |
date |
显示或设置系统日期和时间 |
|
uname |
显示系统信息 |
|
shutdown/reboot |
关闭或重启系统 |
|
hostname |
显示或设置计算机的主机名 |
|
cron |
定时任务管理器,用于自动执行计划任务 |
磁盘管理 |
lsblk/fdisk |
查看磁盘分区信息并管理磁盘 |
|
dd |
复制和转换文件 |
安全与防火墙 |
ssh-keygen |
生成SSH密钥对 |
|
iptables/ufw |
配置防火墙规则 |
其他 |
echo |
输出文本到标准输出 |
|
stat |
显示文件或目录的详细信息 |
|
nmcli |
管理网络连接的命令行工具 |
三、Linux 常用命令及其使用举例
类别 |
命令 |
示例 |
示例说明 |
说明 |
文件与目录操作 |
ls |
ls -l |
列出目录内容并显示详细信息 |
列出当前目录中的文件和子目录 |
|
pwd |
pwd |
显示当前工作目录路径 |
显示当前工作目录的绝对路径 |
|
cd |
cd /home/user |
切换到/home/user 目录 |
切换到指定目录 |
|
mkdir |
mkdir new_folder |
创建名为new_folder 的新目录 |
创建一个新目录 |
|
rmdir |
rmdir old_folder |
删除名为old_folder 的空目录 |
删除空目录 |
|
rm |
rm file.txt |
删除名为file.txt 的文件 |
删除指定文件 |
|
rm -r |
rm -r old_folder |
递归删除名为old_folder 的目录及其内容 |
删除目录及其内容 |
|
cp |
cp file.txt backup/ |
复制file.txt 到backup/ 目录 |
复制文件或目录 |
|
mv |
mv old_name.txt new_name.txt |
重命名old_name.txt 为new_name.txt |
移动或重命名文件或目录 |
|
touch |
touch new_file.txt |
创建一个名为new_file.txt 的空文件 |
创建空文件或更新文件时间戳 |
|
ln |
ln file.txt link_to_file |
创建file.txt 的硬链接link_to_file |
创建硬链接或符号链接 |
文件内容查看与编辑 |
cat |
cat file.txt |
显示file.txt 的内容 |
连接并显示文件内容 |
|
more |
more file.txt |
逐页显示file.txt 的内容 |
逐页显示文件内容 |
|
less |
less file.txt |
逐页显示file.txt 的内容,支持向前和向后滚动 |
逐页显示文件内容,支持向前向后滚动 |
|
head |
head -n 10 file.txt |
显示file.txt 的前10行 |
显示文件的前几行 |
|
tail |
tail -n 20 file.txt |
显示file.txt 的后20行 |
显示文件的后几行 |
|
grep |
grep 'search_term' file.txt |
在file.txt 中搜索search_term |
在文件中搜索指定文本 |
|
sed |
sed 's/old/new/' file.txt |
替换file.txt 中的old 为new |
流编辑器,用于文本处理和替换 |
|
awk |
awk '{print $1}' file.txt |
提取并显示file.txt 中的第一列数据 |
文本处理工具,用于提取数据 |
系统与进程管理 |
ps |
ps aux |
显示所有进程的信息 |
显示当前运行的进程 |
|
kill |
kill 1234 |
终止进程ID为1234 的进程 |
终止指定进程 |
|
top |
top |
实时监视系统资源和进程信息 |
显示系统资源使用情况和进程信息 |
|
htop |
htop |
更友好的进程监视器 |
实时监视系统资源和进程信息 |
|
df |
df -h |
显示磁盘空间使用情况(以人类可读的格式) |
查看文件系统的磁盘空间使用情况 |
|
du |
du -h /home |
显示/home 目录的磁盘使用情况(以人类可读的格式) |
显示目录的磁盘使用情况 |
|
free |
free -m |
显示系统内存使用情况(以MB为单位) |
显示系统内存的使用情况 |
|
uptime |
uptime |
显示系统运行时间和负载 |
显示系统的运行时间和负载 |
|
history |
history |
查看命令历史记录 |
查看命令历史记录 |
网络操作 |
ifconfig |
ifconfig |
查看网络接口信息 |
查看和配置网络接口信息 |
|
ip |
ip addr show |
显示网络接口的详细信息 |
查看网络接口信息 |
|
ping |
ping google.com |
测试与google.com 的网络连通性 |
测试网络连通性 |
|
wget |
wget http://example.com/file.zip |
从网络下载文件 |
从网络下载文件 |
|
curl |
curl -O http://example.com/file.zip |
从网络下载文件 |
从网络下载文件 |
|
ssh |
ssh user@remote_host |
远程登录到remote_host |
远程登录到指定主机 |
|
scp |
scp file.txt user@remote_host:/remote/ |
复制file.txt 到远程主机的/remote/ 目录 |
安全地复制文件到远程主机 |
|
netstat |
netstat -tuln |
显示网络连接信息 |
查看网络连接情况 |
|
ss |
ss -tuln |
显示网络连接信息 |
查看网络连接情况 |
|
nc |
nc -vz example.com 80 |
测试example.com 的80端口是否开放 |
测试主机端口是否可达 |
文件压缩与解压 |
tar |
tar -czvf archive.tar.gz folder/ |
压缩folder/ 目录为archive.tar.gz |
压缩文件或目录 |
|
tar |
tar -xzvf archive.tar.gz |
解压archive.tar.gz |
解压缩文件或目录 |
|
zip |
zip archive.zip file1 file2 |
将file1 和file2 压缩为archive.zip |
压缩文件 |
|
unzip |
unzip archive.zip |
解压archive.zip |
解压ZIP文件 |
用户管理与权限设置 |
chmod |
chmod 755 script.sh |
设置script.sh 的权限为755 |
修改文件或目录的权限 |
|
chown |
chown user:group file.txt |
更改file.txt 的所有者为user 和group |
修改文件或目录的所有者 |
|
useradd |
useradd newuser |
添加名为newuser 的用户账户 |
添加用户账户 |
|
userdel |
userdel olduser |
删除名为olduser 的用户账户 |
删除用户账户 |
|
passwd |
passwd user |
更改用户user 的密码 |
更改用户密码 |
系统管理与配置 |
date |
date |
显示当前系统日期和时间 |
显示或设置系统日期和时间 |
|
uname |
uname -a |
显示系统信息 |
显示系统的详细信息 |
|
shutdown |
shutdown -h now |
立即关闭系统 |
关闭系统 |
|
reboot |
reboot |
重新启动系统 |
重启系统 |
|
hostname |
hostname |
显示当前主机名 |
查看或设置主机名 |
|
cron |
crontab -e |
编辑用户的定时任务 |
管理定时任务 |
磁盘管理 |
lsblk |
lsblk |
显示块设备信息 |
查看系统中的块设备信息 |
|
fdisk |
fdisk /dev/sda |
打开磁盘分区工具 |
磁盘分区管理工具 |
|
dd |
dd if=input_file of=output_file bs=4M |
复制文件,设置块大小为4MB |
用于低级别的复制和转换 |
安全与防火墙 |
ssh-keygen |
ssh-keygen -t rsa |
生成RSA类型的SSH密钥对 |
创建SSH密钥对 |
|
iptables |
iptables -A INPUT -p tcp --dport 80 -j ACCEPT |
允许HTTP流量通过80端口 |
配置防火墙规则 |
|
ufw |
ufw enable |
启用Uncomplicated Firewall(UFW) |
简化的防火墙管理工具 |
其他 |
echo |
echo "Hello, World!" |
输出Hello, World! 到标准输出 |
输出文本到终端 |
|
stat |
stat file.txt |
显示file.txt 的详细信息 |
查看文件的状态 |
|
nmcli |
nmcli connection show |
显示网络连接信息 |
管理网络连接 |
四、vi/vim编辑器
1、一般模式
语法:
语法 |
功能描述 |
yy |
复制光标当前一行 |
y 数字 y |
复制一段(从第几行到第几行) |
p |
箭头移动到目的行粘贴 |
u |
撤销上一步 |
dd |
删除光标当前行 |
d 数字 d |
删除光标(含)后多少行 |
d& |
删除当前行光标之后的 |
x |
剪切一个字母(当前光标),相当于 del |
X |
剪切一个字母(当前光标前一个),相当于 Backspace |
shift + x |
删掉光标之前的一个字母 |
yw |
复制一个词 |
dw |
删除一个词 |
r |
更改当前光标的一个字母 |
shift + r |
依次替换光标所在行(类似于切换替换模式) |
shift+6 (^ ) |
移动到行头 |
shift+4 ($ ) |
移动到行尾 |
w |
移动到下一个词(词头位置) |
e |
移动到当前词尾 |
b |
移动到上一个词(词头) |
1+shift+g |
移动到页头,数字 |
shift+g |
移动到页尾 |
数字 +shift+g |
移动到目标行 |
shift+h /gg |
移动到页头 |
2、编辑模式
按下『i, I, o, O, a, A』等任何一个字母之后进入编辑模式
按下『Esc』这个按键即可退出编辑模式
语法:
按键 |
功能 |
i |
当前光标前 |
a |
当前光标后 |
o |
当前光标行的下一行 |
I |
光标所在行最前 |
A |
光标所在行最后 |
O |
当前光标行的上一行 |
3、指令模式
一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行
语法:
命令 |
功能 |
:w |
保存 |
:q |
退出 |
:wq |
保存并退出 |
:! |
强制执行 |
/要查找的词 |
查找指定的词 |
n |
查找下一个 |
N |
往上查找 |
:noh |
取消高亮显示 |
:set nu |
显示行号 |
:set nonu |
关闭行号 |
:s/old/new |
替换当前行匹配到的第一个old为new |
:s/old/new/g |
匹配当前行匹配到的所有old为new |
:%s/old/new |
替换文档中每一行匹配到的第一个old为new |
:%s/old/new/g |
替换文档中匹配到的所有old为new |
五、网络配置
1、配置网络ip地址
(1)查看当前网络ip
①Windows查看当前网络ip
②Linux查看当前网络ip
(2)ping测试主机之间的连通性
①主机ping虚拟机ip
②虚拟机ping主机ip
③ping测试当前虚拟机是否可以连接网站
(3)修改ip地址
①修改Linux的ip配置文件
TYPE=”Ethernet”
PROXY_METHOD=”none”
BROWSER_ONLY=”no”
BOOTPROTO=”static”
DEFROUTE=”yes”
IPV4_FAILURE_FATAL=”no”
IPV6INIT=”yes”
IPV6_AUTOCONF=”yes”
IPV6_DEFROUTE=”yes”
IPV6_FAILURE_FATAL=”no”
IPV6_ADDR_GEN_MODE=”stable-privacy”
NAME=”ens33”
UUID=”0b8beb0a-417a-4e50-a054-5f90500bf4b7”
DEVICE=”ens33”
ONBOOT=”yes”
#IP 地址
IPADDR=192.168.10.100
#网关
GATEWAY=192.168.10.2
#域名解析器
DNS1=192.168.10.2
有下划线的是需要更改或者添加的
②重启网络
2、配置主机名
(1)Linux配置主机名
1
| [root@yxl100 ~]# vi /etc/hostname
|
(2)windows配置主机名
1 2
| 进入 C:\Windows\System32\drivers\etc 路径 修改hosts
|
3、远程登录
(1)windows控制台
1
| C:\Users\dell>ssh root@yxl100
|
(2)远程登录工具
六、系统管理
1、服务管理(systemctl)
(1)常见命令
命令 |
功能 |
systemctl start <service> |
启动指定的服务 |
systemctl stop <service> |
停止指定的服务 |
systemctl restart <service> |
重启指定的服务 |
systemctl reload <service> |
重新加载服务的配置,不重启 |
systemctl enable <service> |
开机时自动启动服务 |
systemctl disable <service> |
禁用开机自动启动服务 |
systemctl status <service> |
查看服务的当前状态 |
systemctl is-active <service> |
检查服务是否正在运行 |
systemctl is-enabled <service> |
检查服务是否开机自启 |
systemctl daemon-reload |
重新加载 systemd 配置文件 |
systemctl list-units |
列出所有当前已加载的服务单元 |
systemctl list-timers |
列出当前已配置的定时器 |
systemctl poweroff |
关闭系统 |
systemctl reboot |
重启系统 |
(2)示例(防火墙服务)
①查看防火墙服务的状态
②停止防火墙服务
③启动防火墙服务
④重启防火墙服务
⑤查看防火墙开机启动状态
⑥设置开机时关闭防火墙
2、关机重启
命令 |
功能 |
shutdown now |
立即关闭系统 |
shutdown +10 |
计划在 10 分钟后关机 |
shutdown -r now |
立即重启系统 |
shutdown -r +10 |
计划在 10 分钟后重启 |
shutdown -c |
取消计划中的关机或重启 |
reboot |
立即重启系统 |
七、常见的基本命令
1、帮助命令
(1)判断是外部命令还是内嵌命令
1 2
| [root@yxl100 ~] [root@yxl100 ~]
|
(2)外部命令
1 2
| [root@yxl100 ~] [root@yxl100 ~]
|
(3)内嵌命令
1 2 3
| [root@yxl100 ~] [root@yxl100 ~] [root@yxl100 ~]
|
(4)常用快捷键
快捷键 |
功能 |
Ctrl + C |
停止进程 |
Ctrl + L |
清屏,等同于 clear ;彻底清屏是 reset |
Tab |
提示命令(防止敲错) |
上下键 |
查找执行过的命令 |
2、文档目录类
命令 |
功能描述 |
基本语法 |
选项及功能 |
案例实操 |
pwd |
显示当前工作目录的绝对路径 |
pwd |
- |
[root@yxl100 ~]# pwd /root |
ls |
列出目录的内容 |
ls [选项] [目录或是文件] |
-a:显示所有文件,包括隐藏文件 -l:显示详细信息(文件权限、大小、时间等) |
[root@yxl100 ~]$ ls -al |
cd |
切换目录 |
cd [参数] |
cd ~:回到家目录 cd ..:回到上一级目录 cd -P:跳转到实际物理路径 |
[root@yxl100 ~]# cd /root/ |
mkdir |
创建一个新的目录 |
mkdir [选项] 目录 |
-p:创建多级目录 |
[root@yxl100 ~]# mkdir -p xiyou/dssz/meihouwang |
rmdir |
删除一个空的目录 |
rmdir 目录 |
- |
[root@yxl100 ~]# rmdir xiyou/dssz/meihouwang |
touch |
创建空文件 |
touch 文件名称 |
- |
[root@yxl100 ~]# touch xiyou/dssz/sunwukong.txt |
cp |
复制文件或目录 |
cp [选项] source dest |
-r:递归复制整个文件夹 |
[root@yxl100 ~]# cp -r xiyou/dssz/ ./ |
rm |
删除文件或目录 |
rm [选项] 文件 |
-r:递归删除目录 -f:强制删除 -v:显示详细过程 |
[root@yxl100 ~]# rm -rf dssz/ |
mv |
移动文件与目录或重命名 |
mv oldNameFile newNameFile |
- |
[root@yxl100 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt |
cat |
查看文件内容 |
cat [选项] 文件 |
-n:显示所有行的行号 |
[root@yxl100 ~]$ cat -n houge.txt |
more |
分屏查看文件内容 |
more 文件 |
空格键:向下翻页 q:退出 |
[root@yxl100 ~]# more smartd.conf |
less |
分屏显示文件内容(查看大文档) |
less 文件 |
空格键:向下翻页 /:向下搜索 q:退出 |
[root@yxl100 ~]# less smartd.conf |
echo |
输出内容到控制台 |
echo [选项] 内容 |
-e:支持反斜线控制的字符转换 \n:换行符 \t:制表符 |
[root@yxl100 ~]$ echo -e “hello\tworld” |
head |
显示文件头部内容 |
head 文件 |
-n:显示指定行数的内容 |
[root@yxl100 ~]# head -n 2 smartd.conf |
tail |
输出文件尾部内容 |
tail 文件 |
-n:显示指定行数的内容 -f:实时追踪文件的更新(Ctrl+s暂停、Ctrl+q继续、Ctrl+c结束) |
[root@yxl100 ~]# tail -f houge.txt |
> 和 >> |
输出重定向和追加 |
ls -l > 文件(覆盖写) echo 内容 >> 文件 |
- |
[root@yxl100 ~]# ls -l > houge.txt [root@yxl100 ~]# echo hello >> houge.txt |
ln |
创建软链接 |
ln -s [原文件] [软链接名] |
- |
[root@yxl100 ~]# ln -s xiyou/dssz/houge.txt ./houzi |
history |
查看已经执行过的历史命令 |
history |
- |
[root@yxl100 ~]# history |
3、时间日期类
(1)时间日期类命令总结
命令 |
语法 |
功能描述 |
示例 |
输出 |
date |
date |
显示当前时间 |
date |
2017 年 06 月 19 日 星期一 20:53:30 CST |
|
date +%Y |
显示当前年份 |
date +%Y |
2017 |
|
date +%m |
显示当前月份 |
date +%m |
06 |
|
date +%d |
显示当前是哪一天 |
date +%d |
19 |
|
date "+%Y-%m-%d %H:%M:%S" |
显示年月日时分秒 |
date "+%Y-%m-%d %H:%M:%S" |
2017-06-19 20:54:58 |
date -d |
date -d '1 days ago' |
显示前一天时间 |
date -d '1 days ago' |
2017 年 06 月 18 日 星期日 21:07:22 CST |
|
date -d '-1 days ago' |
显示明天时间 |
date -d '-1 days ago' |
2017 年 06 月 20 日 星期二 21:07:22 CST |
date -s |
date -s "YYYY-MM-DD HH:MM:SS" |
设置系统当前时间 |
date -s "2017-06-19 20:52:18" |
|
cal |
cal |
显示本月日历 |
cal |
显示当前月的日历 |
|
cal YEAR |
显示某一年的日历 |
cal 2017 |
显示 2017 年的日历 |
(2)选项说明
选项 |
功能 |
-d |
显示指定的“时间字符串”表示的时间,而非当前时间 |
-s |
设置系统日期时间 |
+%Y-%m-%d %H:%M:%S |
指定显示的日期时间格式 |
4、用户管理命令
(1)用户管理命令总结
命令 |
语法 |
功能描述 |
示例 |
useradd |
useradd 用户名 |
添加新用户 |
useradd tangseng |
|
useradd -g 组名 用户名 |
添加新用户到某个组 |
useradd -g root tangseng |
passwd |
passwd 用户名 |
设置用户密码 |
passwd tangseng |
id |
id 用户名 |
查看用户是否存在 |
id tangseng |
cat /etc/passwd |
cat /etc/passwd |
查看创建了哪些用户 |
cat /etc/passwd |
su |
su 用户名 |
切换用户(不带环境变量) |
su tangseng |
|
su - 用户名 |
切换到用户并获得环境变量及执行权限 |
su - tangseng |
userdel |
userdel 用户名 |
删除用户但保留用户主目录 |
userdel tangseng |
|
userdel -r 用户名 |
删除用户及其主目录 |
userdel -r zhubajie |
who |
whoami |
显示自身用户名 |
whoami |
|
who am i |
显示登录用户的用户名和登录时间 |
who am i |
sudo |
sudo command |
以普通用户执行 root 权限命令 |
sudo mkdir /opt/module |
usermod |
usermod -g 用户组 用户名 |
修改用户的初始登录组 |
usermod -g root zhubajie |
(2)赋予普通用户 root 权限
步骤 |
操作 |
示例 |
1 |
添加普通用户 |
useradd yxl001 |
2 |
设置普通用户密码 |
passwd yxl001 |
3 |
修改 /etc/sudoers 文件 |
使用 vi 编辑器修改,添加 yxl001ALL=(ALL) ALL |
4 |
允许 sudo 时不输入密码 |
添加 yxl001ALL=(ALL) NOPASSWD:ALL |
5 |
普通用户执行 root 权限命令 |
sudo mkdir /opt/module |
(3)选项说明
选项 |
功能 |
-g |
指定用户的初始登录组 |
-r |
删除用户及其相关文件 |
- |
切换用户并加载环境变量 |
NOPASSWD:ALL |
允许用户使用 sudo 命令时不输入密码 |
5、用户组管理命令
(1)用户组管理命令总结
命令 |
语法 |
功能描述 |
示例 |
groupadd |
groupadd 组名 |
添加新的用户组 |
groupadd xitianqujing |
groupdel |
groupdel 组名 |
删除指定的用户组 |
groupdel xitianqujing |
groupmod |
groupmod -n 新组名 老组名 |
修改用户组名称 |
groupmod -n xitian xitianqujing |
cat /etc/group |
cat /etc/group |
查看系统中存在的所有用户组 |
cat /etc/group |
(2)选项说明
6、文件权限类
命令或属性 |
描述 |
示例输入 |
文件类型 |
- 表示文件,d 表示目录,l 表示链接文件 |
-rw-r--r-- , drwxr-xr-x |
属主权限 (User) |
第 1-3 位字符,r 可读, w 可写, x 可执行 |
rwx , r-x , r-- |
属组权限 (Group) |
第 4-6 位字符,r 可读, w 可写, x 可执行 |
r-x , rw- , r-- |
其他用户权限 (Other) |
第 7-9 位字符,r 可读, w 可写, x 可执行 |
r-- , r-x , --- |
chmod [ugoa][+-=][rwx] 文件 |
通过符号设置文件权限,u 属主, g 属组, o 其他用户, a 所有用户 |
chmod u+x 文件 , chmod g-w 文件 |
chmod [数字] 文件 |
通过数字设置文件权限,r=4 , w=2 , x=1 , rwx=7 |
chmod 755 文件 , chmod 644 文件 |
chmod -R [权限] 目录/ |
递归修改目录及其文件的权限 |
chmod -R 755 目录/ |
chown [用户] 文件 |
修改文件的所有者 |
chown user 文件 |
chown -R [用户]:[组] 目录/ |
递归修改目录及其文件的所有者和所属组 |
chown -R user:group 目录/ |
chgrp [组] 文件 |
修改文件所属组 |
chgrp group 文件 |
7、探索查找类
命令 |
选项 |
功能 |
示例命令 |
find |
-name |
按照指定的文件名查找模式查找文件 |
find xiyou/ -name "*.txt" |
|
-user |
查找属于指定用户名所有文件 |
find /opt -user atguigu |
|
-size |
按照指定的文件大小查找文件,单位为:b(块)、c(字节)、w(字)、k(千字节)、M(兆字节)、G(吉字节) |
find /home -size +200M |
locate |
无选项 |
快速定位文件路径,基于 locate 数据库 |
locate tmp |
|
updatedb |
更新 locate 数据库 |
updatedb |
grep |
-n |
显示匹配行及行号 |
ls | grep -n test |
管道 |
无选项 |
将一个命令的输出作为另一个命令的输入 |
ls | grep “file” |
which |
无选项 |
显示命令的完整路径 |
which python |
8、压缩和解压类
(1)命令总结
命令 |
选项 |
功能 |
示例命令 |
gzip |
无选项 |
压缩文件,只能将文件压缩为 *.gz 文件 |
gzip houge.txt |
gunzip |
无选项 |
解压缩 .gz 文件 |
gunzip houge.txt.gz |
zip |
-r |
压缩文件和目录 |
zip -r mypackage.zip houge.txt bailongma.txt |
unzip |
-d <目录> |
解压缩文件,指定解压后的文件存放目录 |
unzip mypackage.zip -d /opt |
tar |
-c -v -f -z -x -C |
打包目录并压缩,解包,指定压缩后的文件名,显示详细信息,解压到指定目录 |
tar -zcvf houma.tar.gz houge.txt bailongma.txt
tar -zxvf houma.tar.gz
tar -zxvf xiyou.tar.gz -C /opt |
(2)例子说明
gzip
压缩:
- 压缩文件
houge.txt
:
- 解压缩文件
houge.txt.gz
:
zip
压缩:
- 压缩
houge.txt
和 bailongma.txt
为 mypackage.zip
:1
| zip mypackage.zip houge.txt bailongma.txt
|
- 解压缩
mypackage.zip
:
- 解压缩到指定目录
/opt
:1
| unzip mypackage.zip -d /opt
|
tar
打包:
- 压缩文件
houge.txt
和 bailongma.txt
为 houma.tar.gz
:1
| tar -zcvf houma.tar.gz houge.txt bailongma.txt
|
- 压缩目录
xiyou
为 xiyou.tar.gz
:1
| tar -zcvf xiyou.tar.gz xiyou/
|
- 解压
houma.tar.gz
到当前目录:
- 解压
xiyou.tar.gz
到指定目录 /opt
:1
| tar -zxvf xiyou.tar.gz -C /opt
|
9、磁盘查看和分区类
(1)命令总结
命令 |
选项 |
功能 |
示例命令 |
du |
-h |
以人们较易阅读的格式(GBytes, MBytes, KBytes 等)显示磁盘使用情况 |
du -sh |
|
-a |
查看包括文件在内的所有项的磁盘使用情况 |
du -ah |
|
-c |
显示所有文件和子目录大小后,显示总和 |
du -ch |
|
-s |
只显示总和 |
du -sh /path/to/dir |
|
--max-depth=n |
指定统计子目录的深度为第 n 层 |
du --max-depth=1 |
df |
-h |
以人们较易阅读的格式(GBytes, MBytes, KBytes 等)显示磁盘空间使用情况 |
df -h |
lsblk |
-f |
查看详细的设备挂载情况,显示文件系统信息 |
lsblk -f |
mount |
-t vfstype |
指定文件系统的类型,通常不必指定,mount 会自动选择正确的类型 |
mount -t ext4 /dev/sda1 /mnt |
|
-o options |
描述设备或档案的挂接方式 |
mount -o loop /path/to/image.iso /mnt |
umount |
无选项 |
卸载设备 |
umount /mnt |
fdisk |
-l |
显示所有硬盘的分区列表 |
fdisk -l |
|
硬盘设备名 |
对新增硬盘进行分区操作 |
fdisk /dev/sda |
(2)例子说明
du
查看磁盘使用情况:
- 查看当前目录的磁盘空间使用情况(包括子目录):
- 查看当前目录下的所有文件和子目录大小:
- 显示当前目录的总和:
- 显示深度为 1 的子目录使用情况:
df
查看磁盘空间使用情况:
lsblk
查看设备挂载情况:
mount
和 umount
挂载/卸载设备:
- 挂载光盘镜像文件到
/mnt/cdrom
:1 2
| mkdir /mnt/cdrom mount -t iso9660 /dev/cdrom /mnt/cdrom
|
- 卸载光盘镜像文件:
fdisk
分区操作:
10、进程管理类
<!DOCTYPE html>
命令 |
基本用法 |
选项 |
功能 |
ps |
ps aux |
a |
列出带有终端的所有用户的进程 |
|
x |
列出当前用户的所有进程,包括没有终端的 |
|
u |
用户友好的显示风格 |
|
e |
列出所有进程 |
|
f |
显示完整格式的进程列表 |
kill |
kill [选项] 进程号 |
-9 |
强制终止进程 |
killall |
killall 进程名称 |
|
通过进程名称终止进程 |
pstree |
pstree [选项] |
-p |
显示进程的 PID |
|
-u |
显示进程的用户 |
top |
top [选项] |
-d 秒数 |
设置更新频率,默认 3 秒 |
|
-i |
不显示闲置或僵尸进程 |
|
-p |
监控指定的进程 ID |
netstat |
netstat -anp | grep 进程号 |
-a |
显示所有套接字 |
netstat -nlp | grep 端口号 |
-n |
显示数字格式 |
|
-l |
仅列出监听状态 |
|
-p |
显示调用进程 |
11、系统定时任务
crontab 服务管理和定时任务设置总结
功能 |
命令/选项 |
说明 |
服务管理 |
systemctl restart crond |
重新启动 crond 服务 |
定时任务设置 |
crontab [选项] |
编辑或管理定时任务 |
选项说明 |
-e |
编辑 crontab 定时任务 |
|
-l |
查询当前用户的 crontab 任务 |
|
-r |
删除当前用户所有的 crontab 任务 |
基本语法 |
* * * * * 命令 |
定义定时任务的执行时间和频率 |
时间字段 |
第一个 * |
一小时中的分钟(0-59) |
|
第二个 * |
一天中的小时(0-23) |
|
第三个 * |
一个月中的天数(1-31) |
|
第四个 * |
一年的月份(1-12) |
|
第五个 * |
一周中的星期几(0-7,0 和 7 代表星期日) |
特殊符号 |
* |
代表任何时间 |
|
, |
代表不连续的时间(例如:0 8,12,16 * * * 每天的 8 点、12 点和 16 点执行) |
|
- |
代表时间范围(例如:0 5 * * 1-6 周一到周六的凌晨 5 点执行) |
|
*/n |
代表每隔多久执行一次(例如:*/10 * * * * 每隔 10 分钟执行一次) |
特定时间执行命令 |
45 22 * * * 命令 |
每天 22 点 45 分执行命令 |
|
0 17 * * 1 命令 |
每周一的 17 点 0 分执行命令 |
|
0 5 1,15 * * 命令 |
每月 1 号和 15 号的凌晨 5 点 0 分执行命令 |
|
40 4 * * 1-5 命令 |
每周一到周五的凌晨 4 点 40 分执行命令 |
|
*/10 4 * * * 命令 |
每天凌晨 4 点开始,每隔 10 分钟执行一次命令 |
|
0 0 1,15 * 1 命令 |
每月 1 号和 15 号,每周一的 0 点 0 分执行命令。注意避免同时指定星期几和几号 |
案例实操 |
*/1 * * * * /bin/echo "11" >> /root/bailongma.txt |
每隔 1 分钟向 /root/bailongma.txt 文件中添加一个 11 的数字 |
八、软件包管理
1、RPM
命令 |
选项 |
功能描述 |
示例命令 |
rpm -qa |
无选项 |
查询所安装的所有 RPM 软件包 |
rpm -qa |
|
| grep 软件包 |
过滤查询指定的软件包 |
rpm -qa | grep firefox |
rpm -e |
-e |
卸载指定的 RPM 软件包 |
rpm -e firefox |
|
--nodeps |
卸载时不检查依赖,强制卸载 |
rpm -e --nodeps firefox |
rpm -ivh |
-i |
安装指定的 RPM 软件包 |
rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm |
|
-v |
显示安装过程的详细信息 |
rpm -ivh -v firefox-45.0.1-1.el6.centos.x86_64.rpm |
|
-h |
显示安装进度条 |
rpm -ivh -h firefox-45.0.1-1.el6.centos.x86_64.rpm |
|
--nodeps |
安装时不检查依赖,强制安装 |
rpm -ivh --nodeps firefox-45.0.1-1.el6.centos.x86_64.rpm |
功能 |
命令 |
选项/参数 |
功能描述 |
示例命令 |
RPM 概述 |
rpm |
|
RPM(RedHat Package Manager),基于 RPM 包的管理工具 |
rpm |
查询已安装的软件包 |
rpm -qa |
|
查询系统中安装的所有 RPM 软件包 |
rpm -qa |
查询特定软件包 |
rpm -qa | grep |
|
查询特定的 RPM 软件包 |
rpm -qa | grep firefox |
卸载软件包 |
rpm -e |
|
卸载指定的 RPM 软件包 |
rpm -e firefox |
强制卸载软件包 |
rpm -e --nodeps |
|
卸载软件包时忽略依赖 |
rpm -e --nodeps firefox |
安装软件包 |
rpm -ivh |
-i -v -h |
安装 RPM 包,显示详细信息与进度条 |
rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm |
忽略依赖安装软件包 |
rpm -ivh --nodeps |
|
安装软件包时忽略依赖 |
rpm -ivh --nodeps firefox-45.0.1-1.el6.centos.x86_64.rpm |
查询软件包详细信息 |
rpm -qi |
|
查询安装的 RPM 软件包的详细信息 |
rpm -qi firefox |
检查软件包文件的完整性 |
rpm -V |
|
检查指定软件包的文件是否被修改 |
rpm -V firefox |
显示软件包文件列表 |
rpm -ql |
|
列出指定 RPM 软件包安装的所有文件 |
rpm -ql firefox |
查询文件属于哪个软件包 |
rpm -qf |
|
查询系统中文件属于哪个 RPM 软件包 |
rpm -qf /usr/bin/firefox |
2、YUM
命令 |
选项/参数 |
功能描述 |
示例命令 |
yum install |
-y |
安装指定的 RPM 软件包,并对所有提问都回答“yes” |
yum -y install firefox |
yum update |
-y |
更新系统中所有可用的软件包,并对所有提问都回答“yes” |
yum -y update |
yum check-update |
无 |
检查是否有可用的更新 |
yum check-update |
yum remove |
-y |
删除指定的 RPM 软件包 |
yum -y remove firefox |
yum list |
无 |
显示系统中已安装和可用的软件包信息 |
yum list | grep firefox |
yum clean all |
无 |
清理 YUM 缓存,包括软件包和头文件的缓存 |
yum clean all |
yum makecache |
无 |
生成缓存,将服务器上的软件包信息缓存到本地 |
yum makecache |
yum deplist |
无 |
显示指定软件包的所有依赖关系 |
yum deplist firefox |
功能 |
命令 |
选项/参数 |
功能描述 |
示例命令 |
YUM 概述 |
yum |
|
YUM(全称为 Yellow dog Updater, Modified),基于 RPM 包管理工具 |
yum |
安装软件包 |
yum |
-y install |
安装 RPM 软件包,并回答所有问题为 “yes” |
yum -y install firefox |
更新软件包 |
yum |
update |
更新 RPM 软件包 |
yum update |
检查更新 |
yum |
check-update |
检查是否有可用的更新 RPM 软件包 |
yum check-update |
删除软件包 |
yum |
remove |
删除指定的 RPM 软件包 |
yum remove firefox |
显示软件包信息 |
yum |
list |
列出安装或可用的软件包信息 |
yum list | grep firefox |
清理缓存 |
yum |
clean all |
清理 YUM 过期的缓存 |
yum clean all |
缓存服务器包信息 |
yum |
makecache |
缓存服务器的包信息到本地 |
yum makecache |
显示依赖关系 |
yum |
deplist |
显示软件包的所有依赖关系 |
yum deplist firefox |
修改 YUM 源 |
wget |
下载命令 |
下载国内镜像仓库的 repos 文件,如网易或阿里云 |
wget http://mirrors.aliyun.com/repo/Centos-7.repo |
替换默认的 YUM 源文件 |
mv |
|
用下载的 repos 文件替换默认的 CentOS-Base.repo |
mv CentOS7-Base-163.repo CentOS-Base.repo |
备份默认的 repos 文件 |
cp |
|
备份默认的 YUM repos 文件 |
cp CentOS-Base.repo CentOS-Base.repo.backup |