Skip to main content

Linux 常用指令

Linux 提供了一系列强大而灵活的命令行工具,适用于系统管理、文件处理和网络操作。以下是一些常用的 Linux 命令及其用法示例。

1. 文件和目录操作

1.1 ls - 列出目录内容

# 列出当前目录内容
ls

# 列出所有文件和目录,包括隐藏文件
ls -a

# 详细列出文件信息
ls -l

# 列出详细信息并以人类可读的格式显示文件大小
ls -lh

1.2 cd - 切换目录

# 切换到指定目录
cd /path/to/directory

# 切换到上一级目录
cd ..

# 切换到用户主目录
cd ~

1.3 pwd - 显示当前工作目录

# 显示当前所在的目录路径
pwd

1.4 mkdir - 创建目录

# 创建一个名为 newdir 的目录
mkdir newdir

# 递归创建目录路径
mkdir -p /path/to/newdir

1.5 rmdir - 删除空目录

# 删除名为 emptydir 的空目录
rmdir emptydir

1.6 rm - 删除文件和目录

# 删除一个文件
rm file.txt

# 强制删除一个目录及其所有内容
rm -rf /path/to/directory

1.7 cp - 复制文件和目录

# 复制文件到目标位置
cp source.txt /path/to/destination/

# 递归复制目录及其所有内容
cp -r /path/to/source/ /path/to/destination/

1.8 mv - 移动或重命名文件和目录

# 将文件移动到目标目录
mv file.txt /path/to/destination/

# 重命名文件
mv oldname.txt newname.txt

2. 文件内容查看

2.1 cat - 连接并显示文件内容

# 显示文件内容
cat file.txt

2.2 tac - 从最后一行开始显示文件内容

# 逆序显示文件内容
tac file.txt

2.3 less - 分页显示文件内容

# 分页查看文件内容
less file.txt

2.4 head - 显示文件的前几行

# 显示文件的前 10 行
head file.txt

# 显示文件的前 5 行
head -n 5 file.txt

2.5 tail - 显示文件的后几行

# 显示文件的后 10 行
tail file.txt

# 显示文件的后 5 行
tail -n 5 file.txt

# 动态显示文件的新增内容(适用于查看日志)
tail -f logfile.txt

2.6 grep - 搜索文件中的文本

# 在文件中搜索包含 'pattern' 的行
grep 'pattern' file.txt

# 搜索包含 'pattern' 的行,并显示行号
grep -n 'pattern' file.txt

# 递归搜索目录中的所有文件
grep -r 'pattern' /path/to/directory/

3. 权限和所有权

3.1 chmod - 修改文件权限

# 设置文件权限为 755
chmod 755 file.txt

# 递归修改目录及其内容的权限
chmod -R 755 /path/to/directory

3.2 chown - 修改文件所有者和组

# 将文件的所有者改为 user
chown user file.txt

# 将文件的所有者和组改为 user 和 group
chown user:group file.txt

# 递归修改目录及其内容的所有者和组
chown -R user:group /path/to/directory

3.3 chgrp - 修改文件组

# 将文件的组改为 group
chgrp group file.txt

# 递归修改目录及其内容的组
chgrp -R group /path/to/directory

4. 系统管理

4.1 sudo - 以超级用户身份运行命令

# 以超级用户身份运行命令
sudo command

4.2 ps - 显示当前进程

# 显示当前所有进程
ps -ef

# 显示当前用户的进程
ps -u username

4.3 top - 实时显示系统资源使用

# 启动 top 命令
top

4.4 kill - 终止进程

# 终止进程 ID 为 1234 的进程
kill 1234

# 强制终止进程 ID 为 1234 的进程
kill -9 1234

4.5 df - 显示磁盘使用情况

# 显示磁盘使用情况
df -h

4.6 du - 显示目录的磁盘使用情况

# 显示当前目录的磁盘使用情况
du -sh .

# 显示指定目录的磁盘使用情况
du -sh /path/to/directory

4.7 free - 显示内存使用情况

# 显示内存使用情况
free -h

4.8 uptime - 显示系统运行时间和负载

# 显示系统运行时间和负载
uptime

5. 网络操作

5.1 ping - 检查网络连接

# 检查到 google.com 的网络连接
ping google.com

5.2 ifconfig - 显示或配置网络接口

# 显示网络接口信息
ifconfig

5.3 wget - 下载文件

# 下载文件
wget http://example.com/file.zip
5.4 curl - 发送 HTTP 请求并获取响应
```bash
# 获取网页内容
curl http://example.com

# 下载文件
curl -O http://example.com/file.zip

5.5 scp - 安全复制文件

# 将本地文件复制到远程服务器
scp localfile.txt user@remote:/path/to/destination

# 将远程文件复制到本地
scp user@remote:/path/to/sourcefile.txt /local/path

5.6 ssh - 安全远程登录

# 连接到远程服务器
ssh user@remote

6. 压缩和解压缩

6.1 tar - 压缩和解压缩文件

# 创建 tar 压缩包
tar -cvf archive.tar /path/to/directory

# 创建 tar.gz 压缩包
tar -czvf archive.tar.gz /path/to/directory

# 解压 tar 压缩包
tar -xvf archive.tar

# 解压 tar.gz 压缩包
tar -xzvf archive.tar.gz

6.2 zip - 创建压缩文件

# 创建 zip 压缩文件
zip archive.zip file1 file2

# 递归压缩目录
zip -r archive.zip /path/to/directory

6.3 unzip - 解压 zip 文件

# 解压 zip 文件
unzip archive.zip

7. 文本处理

7.1 awk - 文本处理和数据提取

# 使用 awk 处理文本文件
awk '{ print $1 }' file.txt

7.2 sed - 流编辑器

# 使用 sed 替换文件中的文本
sed 's/oldtext/newtext/g' file.txt

7.3 sort - 排序文件内容

# 按字母顺序排序文件内容
sort file.txt

# 按数值顺序排序文件内容
sort -n file.txt

7.4 uniq - 删除重复行

# 删除重复行
uniq file.txt

7.5 diff - 比较文件差异

# 比较两个文件的差异
diff file1.txt file2.txt

7.6 wc - 统计文件的行数、字数和字符数

# 统计文件的行数、字数和字符数
wc file.txt

# 仅统计行数
wc -l file.txt

7.7 tr - 替换或删除字符

# 将文件中的所有小写字母转换为大写
tr 'a-z' 'A-Z' < file.txt

8. 搜索和查找

8.1 find - 查找文件和目录

# 查找文件
find /path/to/search -name filename

# 查找修改时间在 7 天以内的文件
find /path/to/search -mtime -7

8.2 locate - 快速查找文件

# 查找文件
locate filename

8.3 which - 显示命令的路径

# 查找命令的路径
which ls

9. 系统信息

9.1 uname - 显示系统信息

# 显示系统内核名称
uname

# 显示详细系统信息
uname -a

9.2 hostname - 显示或设置系统主机名

# 显示主机名
hostname

# 设置主机名
sudo hostname newhostname

9.3 whoami - 显示当前用户

# 显示当前用户
whoami

9.4 date - 显示或设置系统日期和时间

# 显示当前日期和时间
date

# 设置系统日期和时间(需要管理员权限)
sudo date -s "2024-06-17 10:00:00"

9.5 uptime - 显示系统运行时间和负载

# 显示系统运行时间和负载
uptime

10. 软件管理

10.1 apt-get - Debian 系统的包管理工具

# 更新包列表
sudo apt-get update

# 升级所有包
sudo apt-get upgrade

# 安装软件包
sudo apt-get install packagename

# 删除软件包
sudo apt-get remove packagename

10.2 yum - CentOS 系统的包管理工具

# 更新包列表
sudo yum update

# 安装软件包
sudo yum install packagename

# 删除软件包
sudo yum remove packagename

10.3 rpm - RedHat 系列的包管理工具

# 安装软件包
sudo rpm -ivh packagename.rpm

# 升级软件包
sudo rpm -Uvh packagename.rpm

# 删除软件包
sudo rpm -e packagename

10.4 dpkg - Debian 系列的包管理工具

# 安装软件包
sudo dpkg -i packagename.deb

# 删除软件包
sudo dpkg -r packagename

# 列出已安装的软件包
dpkg -l

10.5 snap - 通用的 Linux 包管理工具

# 安装 snap 软件包
sudo snap install packagename

# 删除 snap 软件包
sudo snap remove packagename

# 列出已安装的软件包
snap list