☰
Linux 系统 常用命令(持续更新)
2026/10/7 21:02:52 网站建设 项目流程

1、要从Linux的Root用户回到普通用户的命令行,可以按照以下步骤进行操作:

1.1 退出Root用户:

在Root用户下,可以使用`exit`或`logout`命令退出Root权限,返回到上一级用户(例如 普通用户)的命令行界面。

1.2 切换用户:

如果想切换到其他用户,可以使用`su`命令。上述命令中不接任何参数,默认切换到超级用户Root。如果想切换到其他普通用户,可以使用`su 用户名`命令。然后输入对应用户的密码即可切换到该用户。

1.3 使用Ctrl+D键:

如果想切换到其他用户,可以使用`su`命令。上述命令中不接任何参数,默认切换到超级用户Root。如果想切换到其他普通用户,可以使用`su 用户名`命令。然后输入对应用户的密码即可切换到该用户。

1.3 使用Ctrl+D键:

在命令行界面下,可以直接使用Ctrl+D键退出当前登录的用户,返回到登录界面。然后选择其他用户进行登录。
需要注意的是,使用Root权限操作系统时要谨慎,因为Root账户拥有系统的最高权限,可以对系统进行任意操作。为了系统的安全性和数据的完整性,请谨慎使用Root权限,尽量使用普通用户进行日常操作。

2、文件和目录操作

- **`ls`**: 列出目录内容。 - `ls -l` 显示详细信息。 - `ls -a` 显示隐藏文件。 - `ls -lh` 显示详细信息并以人类可读的格式显示文件大小。 - `ls -R` 递归显示目录内容。 - **`cd`**: 切换目录。 - `cd /path/to/directory` 切换到指定目录。 - `cd ..` 切换到上一级目录。 - `cd ~` 切换到用户主目录。 - `cd -` 切换到上一次所在的目录。 - **`pwd`**: 显示当前工作目录的路径。 - **`mkdir`**: 创建目录。 - `mkdir directory_name` 创建一个目录。 - `mkdir -p /path/to/directory` 创建多级目录。 - **`rmdir`**: 删除空目录。 - `rmdir directory_name` 删除一个空目录。 - `rmdir -p /path/to/directory` 递归删除多级空目录。 - **`rm`**: 删除文件或目录。 - `rm file_name` 删除文件。 - `rm -r directory_name` 递归删除目录及其内容。 - `rm -rf directory_name` 强制递归删除目录及其内容,不提示确认。 - **`cp`**: 复制文件或目录。 - `cp file1 file2` 复制文件1到文件2。 - `cp -r directory1 directory2` 递归复制目录1到目录2。 - `cp -i file1 file2` 复制文件1到文件2,如果文件2已存在则提示确认。 - **`mv`**: 移动或重命名文件或目录。 - `mv file1 file2` 将文件1重命名为文件2。 - `mv file1 directory/` 将文件1移动到目录中。 - `mv -i file1 file2` 移动文件1到文件2,如果文件2已存在则提示确认。 - **`touch`**: 创建空文件或更新文件时间戳。 - `touch file_name` 创建一个空文件。 - `touch -a file_name` 仅更新文件的访问时间。 - `touch -m file_name` 仅更新文件的修改时间。

3、文件查看

- **`cat`**: 显示文件内容。 - `cat file_name` 显示文件内容。 - `cat file1 file2 > file3` 将文件1和文件2的内容合并到文件3中。 - **`less`**: 分页显示文件内容。 - `less file_name` 分页显示文件内容,可以使用 `/pattern` 搜索内容。 - **`more`**: 分页显示文件内容(功能类似于`less`,但功能较少)。 - `more file_name` 分页显示文件内容。 - **`head`**: 显示文件的前几行。 - `head file_name` 显示文件的前10行。 - `head -n 20 file_name` 显示文件的前20行。 - **`tail`**: 显示文件的最后几行。 - `tail file_name` 显示文件的最后10行。 - `tail -n 20 file_name` 显示文件的最后20行。 - `tail -f file_name` 实时显示文件的最新内容(常用于查看日志文件)。

4、文件查找

- **`find`**: 查找文件和目录。 - `find /path/to/search -name "file_name"` 在指定路径中查找名为`file_name`的文件。 - `find /path/to/search -type d` 查找目录。 - `find /path/to/search -type f` 查找文件。 - `find /path/to/search -mtime -7` 查找7天内修改过的文件。

5、文件权限

- **`chmod`**: 修改文件权限。 - `chmod 755 file_name` 修改文件权限为`rwxr-xr-x`。 - `chmod +x file_name` 为文件添加执行权限。 - `chmod -R 755 directory_name` 递归修改目录及其内容的权限。 - **`chown`**: 修改文件所有者。 - `chown user:group file_name` 修改文件的所有者和组。 - `chown -R user:group directory_name` 递归修改目录及其内容的所有者和组。

6、系统信息

- **`uname`**: 显示系统信息。 - `uname -a` 显示所有系统信息。 - `uname -r` 显示内核版本。 - **`top`**: 显示系统当前运行的进程。 - `top` 实时显示系统中运行的进程及其资源使用情况。 - **`ps`**: 显示当前进程的状态。 - `ps aux` 显示所有用户的进程详细信息。 - `ps -ef` 显示所有进程的详细信息。 - **`df`**: 显示磁盘空间使用情况。 - `df -h` 以人类可读的格式显示磁盘空间使用情况。 - **`du`**: 显示目录或文件的磁盘使用情况。 - `du -h /path/to/directory` 以人类可读的格式显示目录的磁盘使用情况。 - `du -sh /path/to/directory` 以人类可读的格式显示目录的总磁盘使用情况。

7、网络

- **`ifconfig`**: 配置网络接口(某些系统上可能需要安装`net-tools`)。 - `ifconfig` 显示所有网络接口的配置。 - `ifconfig eth0` 显示`eth0`接口的配置。 - **`ip`**: 配置网络接口(现代Linux系统中更常用)。 - `ip addr show` 显示所有网络接口的配置。 - `ip link show` 显示所有网络接口的状态。 - **`ping`**: 测试网络连接。 - `ping -c 4 google.com` 向`google.com`发送4个ICMP请求。 - **`netstat`**: 显示网络连接、路由表、接口统计等信息。 - `netstat -tuln` 显示所有监听的TCP和UDP端口。 - `netstat -r` 显示路由表。

8、用户和权限

- **`whoami`**: 显示当前用户。 - `whoami` 显示当前登录的用户名。 - **`sudo`**: 以超级用户权限执行命令。 - `sudo command` 以超级用户权限执行命令。 - **`su`**: 切换用户。 - `su -` 切换到超级用户。 - `su - user_name` 切换到指定用户。

9、压缩和解压缩

- **`tar`**: 打包和解包文件。 - `tar -cvf archive.tar /path/to/directory` 创建一个tar包。 - `tar -xvf archive.tar` 解压tar包。 - `tar -czvf archive.tar.gz /path/to/directory` 创建一个gzip压缩的tar包。 - `tar -xzvf archive.tar.gz` 解压gzip压缩的tar包。 - **`gzip`**: 压缩文件。 - `gzip file_name` 压缩文件。 - `gzip -d file_name.gz` 解压文件。 - **`zip`**: 压缩文件。 - `zip archive.zip file1 file2` 将文件1和文件2压缩到`archive.zip`中。 - `unzip archive.zip` 解压`archive.zip`。

10、文本处理

- **`grep`**: 在文件中搜索文本。 - `grep "pattern" file_name` 在文件中搜索包含`pattern`的行。 - `grep -r "pattern" /path/to/directory` 递归搜索目录中的文件。 - `grep -i "pattern" file_name` 忽略大小写搜索。 - **`sed`**: 流编辑器,用于文本替换、删除等操作。 - `sed 's/old/new/g' file_name` 将文件中的`old`替换为`new`。 - `sed -i 's/old/new/g' file_name` 直接在文件中进行替换。 - **`awk`**: 文本处理工具,常用于处理表格数据。 - `awk '{print $1}' file_name` 打印文件中的第一列。 - `awk -F, '{print $1}' file_name` 使用逗号作为分隔符,打印第一列。

11、系统管理

- **`shutdown`**: 关机或重启系统。 - `shutdown -h now` 立即关机。 - `shutdown -r now` 立即重启。 - **`reboot`**: 重启系统。 - `reboot` 重启系统。 - **`systemctl`**: 管理systemd服务。 - `systemctl start service_name` 启动服务。 - `systemctl stop service_name` 停止服务。 - `systemctl restart service_name` 重启服务。 - `systemctl status service_name` 显示服务状态。

12、文件编辑

- **`vi`** 或 **`vim`**: 强大的文本编辑器。 - `vi file_name` 打开文件进行编辑。 - `i` 进入插入模式。 - `Esc` 退出插入模式。 - `:w` 保存文件。 - `:q` 退出编辑器。 - `:wq` 保存并退出。 - `:q!` 不保存并退出。 - **`nano`**: 简单的文本编辑器。 - `nano file_name` 打开文件进行编辑。 - `Ctrl+O` 保存文件。 - `Ctrl+X` 退出编辑器。

13、进程管理

- **`kill`**: 终止进程。 - `kill PID` 终止指定PID的进程。 - `kill -9 PID` 强制终止指定PID的进程。 - **`killall`**: 终止所有匹配的进程。 - `killall process_name` 终止所有名为`process_name`的进程。

14、其他常用命令

- **`man`**: 查看命令的手册页。 - `man command` 查看`command`的详细帮助信息。 - **`history`**: 查看命令历史。 - `history` 显示命令历史。 - `!n` 重新执行历史命令中的第n条命令。 - **`which`**: 查找命令的路径。 - `which command` 查找`command`的可执行文件路径。 - **`whereis`**: 查找命令的可执行文件、源代码和帮助文件。 - `whereis command` 查找`command`的详细路径。 - **`echo`**: 显示文本。 - `echo "Hello, World!"` 显示文本`Hello, World!`。 - `echo $PATH` 显示环境变量`PATH`的值。

15、环境变量

- **`export`**: 设置环境变量。 - `export VAR_NAME=value` 设置环境变量。 - `export VAR_NAME=value command` 临时设置环境变量并执行命令。 - **`env`**: 显示所有环境变量。 - `env` 显示所有环境变量。 - `env | grep "VAR_NAME"` 查找特定环境变量。

16、包管理

- **`apt`** (Debian/Ubuntu): - `apt update` 更新包列表。 - `apt upgrade` 升级所有已安装的包。 - `apt install package_name` 安装包。 - `apt remove package_name` 卸载包。 - **`yum`** (CentOS/RHEL): - `yum update` 更新包。 - `yum install package_name` 安装包。 - `yum remove package_name` 卸载包。 - **`dnf`** (Fedora): - `dnf update` 更新包。 - `dnf install package_name` 安装包。 - `dnf remove package_name` 卸载包。 - **`zypper`** (openSUSE): - `zypper refresh` 更新包列表。 - `zypper install package_name` 安装包。 - `zypper remove package_name` 卸载包。

17、文件传输

- **`scp`**: 安全复制文件。 - `scp file_name user@remote_host:/path/to/destination` 将文件复制到远程主机。 - `scp user@remote_host:/path/to/file local_file` 从远程主机复制文件到本地。 - **`rsync`**: 同步文件和目录。 - `rsync -avz /path/to/source user@remote_host:/path/to/destination` 同步文件或目录到远程主机。 - `rsync -avz user@remote_host:/path/to/source /path/to/destination` 从远程主机同步文件或目录到本地。

18、系统日志

- **`dmesg`**: 显示内核环缓冲区的信息。 - `dmesg` 显示内核日志。 - `dmesg | grep "keyword"` 查找包含特定关键词的日志。 - **`journalctl`**: 查看systemd日志。 - `journalctl` 显示所有日志。 - `journalctl -u service_name` 查看特定服务的日志。 - `journalctl -b` 查看当前启动的日志。

19、文件比较

- **`diff`**: 比较文件差异。 - `diff file1 file2` 比较两个文件的差异。 - `diff -r directory1 directory2` 递归比较两个目录的差异。 - **`cmp`**: 比较文件内容。 - `cmp file1 file2` 比较两个文件的内容,显示第一个不同之处。

20、文件查找和替换

- **`find`** + **`xargs`**: - `find /path/to/directory -name "file_pattern" | xargs command` 查找文件并对其执行命令。 - **`find`** + **`sed`**: - `find /path/to/directory -name "file_pattern" -exec sed -i 's/old/new/g' {} \;` 查找文件并替换内容。

21、文件压缩和解压缩

- **`zip`** 和 **`unzip`**: - `zip archive.zip file1 file2` 压缩文件。 - `unzip archive.zip` 解压文件。 - **`tar`** 和 **`gzip`**: - `tar -czvf archive.tar.gz /path/to/directory` 压缩目录。 - `tar -xzvf archive.tar.gz` 解压目录。

22、系统时间

- **`date`**: 显示或设置系统时间。 - `date` 显示当前系统时间。 - `date -s "2023-10-01 12:00:00"` 设置系统时间。 - **`timedatectl`**: 管理系统时间和时区。 - `timedatectl status` 显示系统时间状态。 - `timedatectl set-time "2023-10-01 12:00:00"` 设置系统时间。 - `timedatectl set-timezone Asia/Shanghai` 设置时区。

23、文件系统检查和修复

- **`fsck`**: 检查和修复文件系统。 - `fsck /dev/sda1` 检查和修复`/dev/sda1`分区。

24、计划任务

- **`crontab`**: 管理计划任务。 - `crontab -e` 编辑当前用户的计划任务。 - `crontab -l` 列出当前用户的计划任务。

25、系统监控

- **`htop`**: 交互式的进程监控工具(需要安装)。 - `htop` 显示系统中运行的进程及其资源使用情况。 - **`iotop`**: 监控磁盘I/O使用情况(需要安装)。 - `iotop` 显示磁盘I/O使用情况。

26、文件系统挂载

- **`mount`**: 挂载文件系统。 - `mount /dev/sda1 /mnt` 挂载`/dev/sda1`到`/mnt`。 - `mount -a` 挂载`/etc/fstab`中定义的所有文件系统。 - **`umount`**: 卸载文件系统。 - `umount /mnt` 卸载`/mnt`。

27、软件安装

- **`apt-get`** (Debian/Ubuntu): - `apt-get update` 更新包列表。 - `apt-get upgrade` 升级所有已安装的包。 - `apt-get install package_name` 安装包。 - `apt-get remove package_name` 卸载包。 - **`yum`** (CentOS/RHEL): - `yum update` 更新包。 - `yum install package_name` 安装包。 - `yum remove package_name` 卸载包。 - **`dnf`** (Fedora): - `dnf update` 更新包。 - `dnf install package_name` 安装包。 - `dnf remove package_name` 卸载包。 - **`zypper`** (openSUSE): - `zypper refresh` 更新包列表。 - `zypper install package_name` 安装包。 - `zypper remove package_name` 卸载包。

28、远程连接

- **`ssh`**: 远程登录。 - `ssh user@remote_host` 远程登录到`remote_host`。 - `ssh -p 2222 user@remote_host` 指定端口远程登录。 - **`scp`**: 安全复制文件。 - `scp file_name user@remote_host:/path/to/destination` 将文件复制到远程主机。 - `scp user@remote_host:/path/to/file local_file` 从远程主机复制文件到本地。

29、系统启动和服务管理

- **`systemctl`**: 管理systemd服务。 - `systemctl start service_name` 启动服务。 - `systemctl stop service_name` 停止服务。 - `systemctl restart service_name` 重启服务。 - `systemctl status service_name` 显示服务状态。 - `systemctl enable service_name` 开机自启动服务。 - `systemctl disable service_name` 取消开机自启动服务。 - **`service`**: 管理服务(旧版命令)。 - `service service_name start` 启动服务。 - `service service_name stop` 停止服务。 - `service service_name restart` 重启服务。 - `service service_name status` 显示服务状态。

30、文件和目录权限

- **`chmod`**: 修改文件权限。 - `chmod 755 file_name` 设置文件权限为`rwxr-xr-x`。 - `chmod +x file_name` 为文件添加执行权限。 - `chmod -R 755 directory_name` 递归修改目录及其内容的权限。 - **`chown`**: 修改文件所有者。 - `chown user:group file_name` 修改文件的所有者和组。 - `chown -R user:group directory_name` 递归修改目录及其内容的所有者和组。

31、文件和目录属性

- **`lsattr`**: 显示文件的属性。 - `lsattr /path/to/file` 显示文件的属性。 - **`chattr`**: 修改文件的属性。 - `chattr +i file_name` 设置文件为不可修改。 - `chattr -i file_name` 取消文件的不可修改属性。

32、查日志

1.grep -rn "关键字" /path/to/directory grep -a 关键字 文件名 grep -a 关键字 文件名前缀* --搜索当前目录下符合该文件名前缀的文件 2.grep -rn "关键字" . | less --在当前目录及其所有子目录中,递归搜索包含“关键字”的文件,并把搜索结果通过分页器 less 一页一页地显示出来。 空格键 向下翻一页 b 键 向上翻一页 ↑/↓ 方向键 逐行上下滚动 /关键字 在结果中搜索(按 n 跳到下一个匹配) G 跳到末尾 gg 跳到开头 q 退出 less,回到命令行 3.如果行太长被截断换行,可以用 grep -rn "关键字" . | less -S,然后按左右方向键横向滚动查看完整行。 4 cat 文件名 | grep "关键字" cat app.log | grep --color=always "关键字" --关键字高亮 5 less +G -n app.log 空格 / f 向下翻一页 b 向上翻一页 d / u 向下/上翻半页 /关键词 向下搜索 ?关键词 向上搜索 6.less 文件名 + /关键字 --关键字高亮 7.tail -f 日志文件 | grep "关键字" 8.less +F app.log --如果你既想实时跟踪,又想随时停下来搜索 进入后按 Ctrl+C 暂停跟踪,然后按 /关键字 搜索,按 Shift+F 恢复实时跟踪。 9.

999、Linux 常用命令最全总结大全【推荐收藏】:Linux 常用命令最全总结大全【推荐收藏】_linux常用命令-CSDN博客

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询