【Linux】Linux常用指令合集精讲,一篇让你彻底掌握(万字真言)

news/2024/7/8 5:04:15 标签: linux, 服务器, 运维

文章目录

    • 一、文件与目录操作
      • 1.1 `ls` - 列出目录内容
      • 1.2 `cd` - 切换目录
      • 1.3 `pwd` - 显示当前目录
      • 1.4 `mkdir` - 创建目录
      • 1.5 `rmdir` - 删除空目录
      • 1.6 `rm` - 删除文件或目录
      • 1.7 `cp` - 复制文件或目录
      • 1.8 `mv` - 移动或重命名文件或目录
      • 1.9 `touch` - 创建空文件或更新文件时间戳
    • 二、文件内容查看与编辑
      • 2.1 `cat` - 连接并显示文件内容
      • 2.2 `tac` - 反向显示文件内容
      • 2.3 `more` - 分页显示文件内容
      • 2.4 `less` - 分页显示文件内容(支持向前翻页)
      • 2.5 `head` - 显示文件开头部分内容
      • 2.6 `tail` - 显示文件结尾部分内容
      • 2.7 `nano` - 简单易用的文本编辑器
      • 2.8 `vim` - 功能强大的文本编辑器
    • 三、文件权限管理
      • 3.1 `chmod` - 修改文件权限
      • 3.2 `chown` - 修改文件所有者
      • 3.3 `chgrp` - 修改文件所属组
    • 四、系统管理
      • 4.1 `ps` - 显示当前进程
      • 4.2 `top` - 实时显示系统资源使用情况
      • 4.3 `kill` - 终止进程
      • 4.4 `df` - 显示磁盘空间使用情况
      • 4.5 `du` - 显示目录或文件的磁盘使用情况
      • 4.6 `free` - 显示内存使用情况
    • 五、网络管理
      • 5.1 `ping` - 测试网络连通性
      • 5.2 `ifconfig` - 配置网络接口(旧版工具,已被`ip`替代)
      • 5.3 `ip` - 显示或配置网络接口
      • 5.4 `netstat` - 显示网络连接、路由表、接口状态等
      • 5.5 `ssh` - 远程登录
    • 六、打包与压缩
      • 6.1 `tar` - 归档文件
      • 6.2 `gzip` - 压缩文件
      • 6.3 `gunzip` - 解压缩文件
      • 6.4 `zip` - 压缩文件
      • 6.5 `unzip` - 解压缩文件
    • 七、查找与搜索
      • 7.1 `find` - 查找文件
      • 7.2 `grep` - 搜索文本
      • 7.3 `locate` - 快速查找文件
    • 八、其他实用命令
      • 8.1 `date` - 显示或设置系统日期时间
      • 8.2 `cal` - 显示日历
      • 8.3 `history` - 显示命令历史
      • 8.4 `alias` - 设置命令别名
      • 8.5 `uname` - 显示系统信息
      • 8.6 `man` - 查看命令手册
    • 九、进阶命令与脚本编写
      • 9.1 `awk` - 文本处理工具
      • 9.2 `sed` - 流编辑器
      • 9.3 `cron` - 定时任务
      • 9.4 `ssh-keygen` - 生成SSH密钥
      • 9.5 `scp` - 安全复制文件
      • 9.6 `rsync` - 同步文件和目录
      • 9.7 `iptables` - 配置Linux内核防火墙
      • 9.8 `docker` - 容器管理
      • 9.9 `kubernetes` - 容器编排
      • 9.10 `ansible` - 自动化配置管理
    • 十、总结与常见问题
      • 10.1 常见问题
        • 10.1.1 权限不足
        • 10.1.2 文件不存在
        • 10.1.3 命令未找到
      • 10.2 提高效率的技巧
        • 10.2.1 使用别名
        • 10.2.2 使用命令历史
        • 10.2.3 自动补全
      • 10.3 持续学习与进阶
        • 10.3.1 阅读手册页
        • 10.3.2 在线资源

一、文件与目录操作

1.1 ls - 列出目录内容

ls命令用于显示目录中的文件和子目录。默认情况下,它仅显示文件名。该命令支持多种选项,以提供更多信息。

ls [选项] [目录]

常用选项:

  • ls -l:以长格式显示,包括文件的权限、所有者、文件大小和最后修改时间。
ls -l /home/user

输出示例:

total 12
drwxr-xr-x  2 user user 4096 Jan  1 12:34 Documents
-rw-r--r--  1 user user  123 Jan  1 12:34 file.txt
  • ls -a:显示所有文件,包括隐藏文件(以.开头的文件)。
ls -a /home/user

输出示例:

.  ..  .bashrc  .profile  Documents  file.txt
  • ls -h:以人类可读的格式显示文件大小(如K、M、G)。
ls -lh /home/user

输出示例:

total 12K
drwxr-xr-x  2 user user 4.0K Jan  1 12:34 Documents
-rw-r--r--  1 user user  123 Jan  1 12:34 file.txt

组合使用选项:

ls -lah /home/user

输出示例:

total 12K
drwxr-xr-x  3 user user 4.0K Jan  1 12:34 .
drwxr-xr-x 20 user user 4.0K Jan  1 12:34 ..
-rw-r--r--  1 user user  220 Jan  1 12:34 .bashrc
-rw-r--r--  1 user user  655 Jan  1 12:34 .profile
drwxr-xr-x  2 user user 4.0K Jan  1 12:34 Documents
-rw-r--r--  1 user user  123 Jan  1 12:34 file.txt

1.2 cd - 切换目录

cd命令用于在目录之间导航。它改变当前工作目录。

cd [目录]

示例:

  • 切换到用户的主目录:
cd ~
  • 切换到上一级目录:
cd ..
  • 切换到指定目录:
cd /home/user/Documents
  • 返回到上一次所在的目录:
cd -

1.3 pwd - 显示当前目录

pwd命令显示当前工作目录的完整路径。

pwd

示例:

$ pwd
/home/user/Documents

1.4 mkdir - 创建目录

mkdir命令用于创建新目录。

mkdir [选项] 目录名

常用选项:

  • 创建单个目录:
mkdir mydir
  • 创建多级目录:
mkdir -p parent/child/grandchild

1.5 rmdir - 删除空目录

rmdir命令用于删除空目录。如果目录非空,则删除失败。

rmdir 目录名

示例:

rmdir mydir

1.6 rm - 删除文件或目录

rm命令用于删除文件或目录。删除操作是不可逆的,需谨慎使用。

rm [选项] 文件

常用选项:

  • 删除文件:
rm file.txt
  • 递归删除目录及其内容:
rm -r mydir
  • 强制删除:
rm -f file.txt

1.7 cp - 复制文件或目录

cp命令用于复制文件或目录。

cp [选项] 源文件 目标文件

常用选项:

  • 复制文件:
cp file1.txt file2.txt
  • 递归复制目录:
cp -r dir1 dir2

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

mv命令用于移动或重命名文件或目录。

mv [选项] 源文件 目标文件

示例:

  • 移动文件:
mv file.txt /new/location/
  • 重命名文件:
mv oldname.txt newname.txt

1.9 touch - 创建空文件或更新文件时间戳

touch命令用于创建新的空文件或更新现有文件的访问和修改时间。

touch 文件名

示例:

  • 创建新文件:
touch newfile.txt

二、文件内容查看与编辑

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

cat命令用于连接文件并显示其内容。它通常用于查看文件的内容,但也可用于合并文件。

cat [选项] 文件

常用选项:

  • 显示文件内容:
cat file.txt
  • 显示带行号的文件内容:
cat -n file.txt

2.2 tac - 反向显示文件内容

tac命令将文件内容按行反序显示。与cat相反。

tac 文件

示例:

tac file.txt

2.3 more - 分页显示文件内容

more命令用于分页显示文件内容,适合查看长文件。

more 文件

示例:

more file.txt

操作提示:

  • 空格键翻页
  • Enter键逐行滚动
  • q退出

2.4 less - 分页显示文件内容(支持向前翻页)

less命令类似于more,但提供了更多功能,如向前翻页。

less 文件

示例:

less file.txt

操作提示:

  • 空格键翻页
  • 上/下箭头键滚动
  • q退出

2.5 head - 显示文件开头部分内容

head命令显示文件的前几行内容。

head [选项] 文件

常用选项:

  • 显示文件的前10行:
head -n 10 file.txt

2.6 tail - 显示文件结尾部分内容

tail命令显示文件的后几行内容。

tail [选项] 文件

常用选项:

  • 显示文件的最后10行:
tail -n 10 file.txt
  • 实时显示文件新增内容:
tail -f file.txt

2.7 nano - 简单易用的文本编辑器

nano是一个简单易用的文本编辑器,适合新手。

nano 文件

示例:

nano file.txt

基本操作:

  • Ctrl + O:保存文件
  • Ctrl + X:退出编辑器

2.8 vim - 功能强大的文本编辑器

vim是一个功能强大的文本编辑器,适合高级用户。它有两种模式:普通模式和插入模式。

vim 文件

示例:

vim file.txt

基本操作:

  • 进入插入模式:按i
  • 保存文件:按Esc,输入:w
  • 退出编辑器:按Esc,输入:q

三、文件权限管理

3.1 chmod - 修改文件权限

chmod命令用于更改文件或目录的权限。权限由三部分组成:所有者、组和其他用户。

chmod [选项] 权限 文件

权限表示法

  • 数字表示法:如755
  • 符号表示法:如u+x

示例:

  • 设置文件权限为755:
chmod 755 file.txt
  • 增加文件拥有者的执行权限:
chmod u+x file.txt

3.2 chown - 修改文件所有者

chown命令用于更改文件或目录的所有者和组。

chown [选项] 用户:组 文件

示例:

  • 将文件所有者和所有组改为root:
chown root:root file.txt

3.3 chgrp - 修改文件所属组

chgrp命令用于更改文件或目录的组。

chgrp [选项] 组 文件

示例:

  • 将文件的组改为staff:
chgrp staff file.txt

四、系统管理

4.1 ps - 显示当前进程

ps命令用于显示当前系统的进程列表。

ps [选项]

常用选项:

  • 显示所有进程:
ps aux

4.2 top - 实时显示系统资源使用情况

top命令实时显示系统资源的使用情况,包括CPU、内存、进程等。

top

操作提示:

  • q退出

4.3 kill - 终止进程

kill命令用于终止进程。

kill [选项] 进程号

示例:

  • 终止指定进程:
kill 12345
  • 强制终止进程:
kill -9 12345

4.4 df - 显示磁盘空间使用情况

df命令显示文件系统的磁盘空间使用情况。

df [选项]

常用选项:

  • 以人类可读格式显示:
df -h

4.5 du - 显示目录或文件的磁盘使用情况

du命令显示指定目录或文件的磁盘使用情况。

du [选项] [文件]

常用选项:

  • 以人类可读格式显示:
du -h
  • 显示总计:
du -s

4.6 free - 显示内存使用情况

free命令显示系统内存的使用情况。

free [选项]

常用选项:

  • 以MB为单位显示:
free -m

五、网络管理

5.1 ping - 测试网络连通性

ping命令用于测试与目标主机的网络连通性。

ping [选项] 目标地址

示例:

ping google.com

5.2 ifconfig - 配置网络接口(旧版工具,已被ip替代)

ifconfig命令用于显示和配置网络接口。

ifconfig [接口]

示例:

  • 显示所有网络接口:
ifconfig

5.3 ip - 显示或配置网络接口

ip命令是ifconfig命令的替代工具,用于显示和配置网络接口。

ip addr
ip link set dev 接口名 up/down

示例:

  • 显示所有网络接口和地址:
ip addr
  • 启用网络接口:
ip link set dev eth0 up
  • 禁用网络接口:
ip link set dev eth0 down

5.4 netstat - 显示网络连接、路由表、接口状态等

netstat命令用于显示网络连接、路由表、接口状态等信息。

netstat [选项]

常用选项:

  • 显示所有连接:
netstat -an

5.5 ssh - 远程登录

ssh命令用于通过SSH协议远程登录到另一台机器。

ssh 用户名@远程主机

示例:

ssh user@remotehost

六、打包与压缩

6.1 tar - 归档文件

tar命令用于创建和管理归档文件。

tar [选项] 文件

常用选项:

  • 创建tar归档文件:
tar -cvf archive.tar 文件
  • 解压tar归档文件:
tar -xvf archive.tar
  • 查看tar归档文件内容:
tar -tvf archive.tar

6.2 gzip - 压缩文件

gzip命令用于压缩文件。

gzip 文件

示例:

  • 压缩文件:
gzip file.txt

6.3 gunzip - 解压缩文件

gunzip命令用于解压缩文件。

gunzip 文件.gz

示例:

  • 解压缩文件:
gunzip file.txt.gz

6.4 zip - 压缩文件

zip命令用于将文件或目录压缩为zip格式。

zip [选项] 压缩包名 文件

常用选项:

  • 压缩单个文件:
zip archive.zip file.txt
  • 递归压缩目录:
zip -r archive.zip 目录

6.5 unzip - 解压缩文件

unzip命令用于解压缩zip文件。

unzip 压缩包名.zip

示例:

  • 解压缩文件:
unzip archive.zip

七、查找与搜索

7.1 find - 查找文件

find命令用于在指定目录及其子目录中查找文件。

find [路径] [选项] [表达式]

常用选项:

  • 按名称查找文件:
find / -name "file.txt"
  • 按文件大小查找文件:
find / -size +100M

7.2 grep - 搜索文本

grep命令用于在文件中搜索匹配的文本模式。

grep [选项] 模式 文件

常用选项:

  • 搜索文件中的模式:
grep "pattern" file.txt
  • 递归搜索目录中的模式:
grep -r "pattern" 目录

7.3 locate - 快速查找文件

locate命令用于快速查找文件。它基于预先构建的数据库,速度很快。

locate 文件名

示例:

  • 查找文件:
locate file.txt

八、其他实用命令

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

date命令用于显示或设置系统日期和时间。

date

示例:

  • 显示当前日期时间:
date
  • 设置系统日期时间(需管理员权限):
date -s "2023-01-01 12:34:56"

8.2 cal - 显示日历

cal命令用于显示日历。

cal

示例:

  • 显示当前月份的日历:
cal
  • 显示指定年份的日历:
cal 2023

8.3 history - 显示命令历史

history命令用于显示命令历史记录。

history

示例:

  • 显示所有历史记录:
history
  • 清空历史记录:
history -c

8.4 alias - 设置命令别名

alias命令用于创建命令别名,以简化命令输入。

alias 别名='命令'

示例:

  • 创建ll的别

名为ls -l

alias ll='ls -l'

8.5 uname - 显示系统信息

uname命令用于显示系统信息。

uname [选项]

常用选项:

  • 显示所有系统信息:
uname -a

8.6 man - 查看命令手册

man命令用于查看命令的手册页,提供详细的命令使用信息。

man 命令名

示例:

  • 查看ls命令的手册页:
man ls

九、进阶命令与脚本编写

9.1 awk - 文本处理工具

awk是一种强大的文本处理工具,适用于格式化报告和文本提取。

awk '模式 {动作}' 文件

示例:

  • 打印文件中的第二列:
awk '{print $2}' file.txt

9.2 sed - 流编辑器

sed是一种流编辑器,适用于对文本文件的批量编辑。

sed '命令' 文件

示例:

  • 将文件中的所有foo替换为bar
sed 's/foo/bar/g' file.txt

9.3 cron - 定时任务

cron用于在指定时间运行计划任务。

crontab -e

示例:

  • 每天凌晨2点运行备份脚本:
0 2 * * * /path/to/backup.sh

9.4 ssh-keygen - 生成SSH密钥

ssh-keygen用于生成SSH公钥和私钥对。

ssh-keygen

示例:

  • 生成密钥对并指定文件名:
ssh-keygen -f ~/.ssh/mykey

9.5 scp - 安全复制文件

scp用于通过SSH在本地和远程主机之间安全复制文件。

scp 源文件 目标文件

示例:

  • 将本地文件复制到远程主机:
scp file.txt user@remotehost:/path/to/destination

9.6 rsync - 同步文件和目录

rsync用于在本地和远程主机之间同步文件和目录。

rsync [选项] 源 目标

示例:

  • 同步本地目录到远程主机:
rsync -avz /path/to/local/ user@remotehost:/path/to/remote/

9.7 iptables - 配置Linux内核防火墙

iptables用于配置和管理Linux内核中的IP包过滤规则。

iptables [选项]

示例:

  • 允许特定端口的入站连接:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

9.8 docker - 容器管理

docker用于管理应用容器,可以简化应用的部署和管理。

docker [选项]

示例:

  • 拉取Docker镜像:
docker pull ubuntu
  • 运行Docker容器:
docker run -it ubuntu /bin/bash

9.9 kubernetes - 容器编排

kubernetes用于自动化容器化应用的部署、管理和扩展。

kubectl [选项]

示例:

  • 显示当前集群中的所有Pod:
kubectl get pods

9.10 ansible - 自动化配置管理

ansible用于自动化配置管理和应用部署。

ansible [选项]

示例:

  • 运行Ansible playbook:
ansible-playbook playbook.yml

十、总结与常见问题

10.1 常见问题

10.1.1 权限不足
  • 错误示例:
bash: /etc/hosts: Permission denied
  • 解决方法:使用sudo命令提升权限。
sudo nano /etc/hosts
10.1.2 文件不存在
  • 错误示例:
ls: cannot access 'file.txt': No such file or directory
  • 解决方法:检查文件路径是否正确,使用findlocate命令查找文件。
10.1.3 命令未找到
  • 错误示例:
bash: foo: command not found
  • 解决方法:检查命令是否正确输入,或安装相应的软件包。

10.2 提高效率的技巧

10.2.1 使用别名

通过创建别名,可以简化常用命令的输入。

alias ll='ls -l'
alias gs='git status'
10.2.2 使用命令历史

使用history命令查看和重用以前输入的命令。

history

使用!加上命令编号重复执行命令:

!42
10.2.3 自动补全

使用Tab键自动补全命令和文件名,可以减少输入错误和提高效率。

10.3 持续学习与进阶

10.3.1 阅读手册页

每个Linux命令都有详细的手册页,可以通过man命令查看。

man ls
10.3.2 在线资源
  • Linux Documentation Project (LDP)
  • Stack Overflow
  • 各种Linux发行版的官方文档和社区论坛

<a class=linux.png" />


http://www.niftyadmin.cn/n/5536553.html

相关文章

Java 项目的构建工具 Maven

Maven 一、Maven 简介二、Maven 安装配置1、Maven 下载安装2、Maven 配置 三、IDEA 集成 Maven四、Maven 依赖管理1、依赖配置2、依赖传递3、依赖范围4、生命周期 五、Maven 高级特性1、分模块设计与开发2、Maven 继承3、Maven 版本管理4、Maven 聚合5、私服 一、Maven 简介 M…

R迅速切换目录 -R语言002

实用小操作系列 R定位当前目录 getwd() [1] "/data/Rprofile1" #当前工作目录&#xff0c;因为他读取文件都是相对路径&#xff0c;进当前目录&#xff0c;一般不考虑绝对路径&#xff0c;写代码容易乱呀&#xff0c;切目录最简单完善 R切换工作目录 setwd(&q…

IT项目管理具体都管哪些内容?

项目启动&#xff1a; 定义项目的目的和目标。确定项目范围。获取项目批准和资源承诺。 范围管理&#xff1a; 明确项目要做什么&#xff0c;不做什么。制定范围说明书。控制范围变更。 时间管理&#xff1a; 规划项目时间线和里程碑。制定详细的项目进度计划。监控和控制项目…

Redis深度解析:核心数据类型与键操作全攻略

文章目录 前言redis数据类型string1. 设置单个字符串数据2.设置多个字符串类型的数据3.字符串拼接值4.根据键获取字符串的值5.根据多个键获取多个值6.自增自减7.获取字符串的长度8.比特流操作key操作a.查找键b.设置键值的过期时间c.查看键的有效期d.设置key的有效期e.判断键是否…

python 基础综合应用——小开发

#python 基础综合应用——小开发 综合复习 变量- 循环- 函数- 模块 开发 名片管理系统 名片管理系统介绍 名片管理系统可以理解成花名册软件&#xff0c;通过个人新建人的信息后可以进行查询等简单操作的程序 名片管理系统有三个作用&#xff0c; 1.新建名片 2.显示全部名…

MATLAB基础应用精讲-【数模应用】 岭回归(Ridge)(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 数学模型 Ridge 回归的估计量 Ridge 回归与标准多元线性回归的比较 3. Ridge 参数的选择 算法步骤 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 6、输出结果分析 7、注意事项 8、模型理论 SPSSAU 岭回归分析案…

著作出版丨四本著作征集编委

征集第一主编、第二主编、第三主编&#xff0c;新闻出版总署可查&#xff0c;CIP可查。 同时征集副主编&#xff0c;性价比高&#xff0c;出版社可查。 计算机人工智能与网络发展探索缺2、3 档案信息化资源开发与管理探究缺2主 测量技术与测绘工程管理实践缺1、2 智能建筑设计…

C++ | Leetcode C++题解之第213题打家劫舍II

题目&#xff1a; 题解&#xff1a; class Solution { public:int robRange(vector<int>& nums, int start, int end) {int first nums[start], second max(nums[start], nums[start 1]);for (int i start 2; i < end; i) {int temp second;second max(fi…