明明白白Linux之基础教程

Linux基础教程

1、Linux的介绍

Linux是一个自由和开放源代码的操作系统内核,广泛应用于各种计算设备和系统中。它起源于Finland的Linus Torvalds在1991年开始开发,并迅速发展成为一个强大和可靠的操作系统。

以下是特点和重要组成部分:

  1. 开放源代码:Linux是基于开放源代码的操作系统,这意味着其源代码对用户开放,并且可以根据需要进行修改和定制。这使得用户可以自由地使用、学习、修改和分发Linux系统。

  2. 多用户和多任务:Linux支持多用户和多任务的环境。多个用户可以同时登录并在同一台计算机上运行多个程序,而不会相互干扰。

  3. 分布式开发模型:Linux的开发是一个分布式的模型,全球范围的开发者社区共同贡献和改进Linux内核和相关软件。这使得Linux能够受益于众多开发者的经验和专业知识。

  4. 强大的稳定性和安全性:Linux以其出色的稳定性和安全性而闻名。由于其设计的优秀性和开放源代码的审查,Linux系统往往较少受到恶意软件和安全漏洞的影响。

  5. 模块化和可定制性:Linux的内核和软件是模块化的,用户可以根据需要选择和配置所需的功能和组件。这使得Linux可以适应各种不同的用途和需求,从嵌入式设备到服务器和超级计算机。

  6. 广泛的应用领域:Linux广泛应用于各种设备和系统中,包括个人计算机、服务器、移动设备、网络路由器、物联网设备等。许多云计算平台和超级计算机也使用Linux作为其操作系统。

  7. 丰富的软件生态系统:Linux拥有庞大而活跃的开源软件社区,提供了各种应用程序、工具和开发环境。用户可以轻松获取和安装各种免费和开源的软件,满足各种需求。

Linux有多个发行版(Distribution)可供选择,如Ubuntu、Fedora、Debian、CentOS等,每个发行版都有其特定的目标和特点。用户可以根据自己的需求和偏好选择合适的Linux发行版。

需要注意的是,Linux操作系统具有较高的灵活性和可定制性,但对于初学者来说,可能需要一定的学习和适应过程。然而,一旦熟悉了Linux的基本概念和操作,它可以成为一个强大而灵活的工具,适用于各种计算需求。

2、Linux 与 Unix

Linux与Unix之间存在密切的关系。Linux是基于Unix思想和设计原则的操作系统,可以说是Unix的一种变体或衍生版本。尽管Linux与Unix在某些方面有一些共同的概念和特点,但它们也有一些区别。

  1. 起源:Unix是在1969年由肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)等人开发的操作系统。而Linux是由Linus Torvalds在1991年开始开发的。

  2. 开放源代码:Linux是一个开源操作系统,其源代码对用户开放,并且可以根据需要进行修改和定制。Unix则是一个商业操作系统,其源代码通常不对公众开放。

  3. 内核:Unix和Linux都有自己的内核。Unix使用一种称为"Monolithic Kernel"(单体内核)的架构,而Linux使用一种称为"Monolithic Kernel with Loadable Kernel Modules"(带有可加载内核模块的单体内核)的架构。

  4. 发行版和版本:Unix有多个不同的版本,如Solaris、AIX和HP-UX,每个版本由不同的厂商开发和维护。Linux则有多个发行版(如Ubuntu、Fedora和Debian),每个发行版都基于Linux内核,并由社区或组织进行维护和支持。

  5. 标准和兼容性:Unix有一些标准,如POSIX(可移植操作系统接口)标准,旨在确保不同Unix系统之间的兼容性。Linux通常遵循POSIX标准,但并非所有Linux发行版都完全符合该标准。

  6. 社区和发展模式:Linux发展依赖于全球范围的开发者社区,有数以千计的开发者共同贡献和改进Linux内核和相关软件。Unix的发展则由相对较小的团队或厂商负责。

尽管存在这些区别,Linux在设计和实现上受到Unix的影响,并继承了Unix的一些关键概念和特点,如多用户和多任务支持、文件系统层次结构、命令行界面等。因此,对于熟悉Unix的用户来说,他们通常可以相对轻松地适应和使用Linux系统。

3、常用的发行的Linux介绍

  1. Ubuntu: Ubuntu是一款基于Debian的流行Linux发行版。它以易用性和友好的用户界面而闻名,适合各种用户,从新手到专业人士。Ubuntu拥有庞大的软件库和活跃的社区支持。

  2. Fedora: Fedora是由Red Hat公司支持的社区驱动的Linux发行版。它专注于提供最新的开源软件和技术,并且在开发者和技术爱好者之间很受欢迎。Fedora也被用作Red Hat Enterprise Linux(RHEL)的基础。

  3. Debian: Debian是一个非常稳定和可靠的Linux发行版,以其强调自由软件和开放源代码而闻名。Debian拥有广泛的软件库和强大的包管理系统,适用于各种用途。

  4. CentOS: CentOS是基于Red Hat Enterprise Linux(RHEL)源代码构建的一个免费的企业级Linux发行版。它专注于稳定性和安全性,并被广泛用作服务器操作系统。

  5. openSUSE: openSUSE是一个功能齐全且易于使用的Linux发行版,具有强大的图形界面和配置工具。它注重用户友好性和可定制性,适合桌面和服务器使用。

生成环境本人还是推荐 CentOS

4、Centos的下载及安装注意点

官方下载地址:Download (centos.org)

注意:

1、语言建议选择English。

2、必须设置的内容有:网络和主机名/安装源/软件选择/安装目的地/语言支持/时间和日期。

3、选择最小安装就可以了,以后需要其他软件时可以再安装。

4、方便学习管理推荐在虚拟机进行安装CentOS 版本选择8+

安装过程比较简单,各位可以自行搜索!

5、CentOS 登录

1、假如系统安装在服务器上,可以免密码登录

1、生成密钥(本地已经有了就不要生成了)
ssh-keygen -t rsa


2、将密钥添加到远程服务器
ssh-copy-id root@服务器IP


3、如果以上命令无法完成,按顺序执行以下命令
在本地服务器中执行,将本地公钥添加到服务器中
scp ~/.ssh/id_rsa.pub root@服务器IP:

4、登录远程服务器设置密钥,如果存在就不要设置了
ssh-keygen -t rsa

5、在服务器添加公钥
cat id_rsa.pub >> ~/.ssh/authorized_keys

6、现在登录就不需要密码了
ssh root@192.168.31.90

7、编辑 vim ~/.ssh/config 文件添加以下内容
Host xxxx
Hostname 192.168.31.90(服务器IP)
Port 22
User root
现在直接使用 ssh xxxx 就可以登录服务器了

2、本地输入安装时的账号密码就可以登录了

6、配置国内阿里源

CENTOS 8

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

cd /etc/yum.repos.d

#备份旧源数据
sudo cp CentOS-Base.repo CentOS-Base.repo.bak
sudo cp CentOS-AppStream.repo CentOS-AppStream.repo.bak
sudo cp CentOS-Extras.repo CentOS-Extras.repo.bak

sudo sed -i 's/mirrorlist=/#mirrorlist=/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo
sudo sed -i 's/#baseurl=/baseurl=/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo
sudo sed -i 's/http:\/\/mirror.centos.org/https:\/\/mirrors.aliyun.com/g' CentOS-Base.repo CentOS-AppStream.repo CentOS-Extras.repo

yum makecache

注意:通过添加源可以加快软件下载,同时更多的源也提供更丰富的软件

7、防火墙

查看防火墙状态

$ sudo systemctl status firewalld.service

关闭防火墙

$ sudo systemctl stop firewalld.service

永久关闭

$ sudo systemctl disable firewalld.service

8、常用的Linux命令

这些命令涵盖了Linux系统操作的各个方面,可以帮助您进行系统管理、文件操作、用户管理和网络管理等任务。请注意,每个命令都有更多的选项和参数,可以通过命令的man页面或者命令名后面加上--help来获取更详细的信息。

  1. 用户和权限管理:

    • useradd: 创建用户

    • passwd: 设置用户密码

    • usermod: 修改用户属性

    • userdel: 删除用户

    • groupadd: 创建用户组

    • groupmod: 修改用户组属性

    • groupdel: 删除用户组

    • sudo: 以超级用户权限执行命令

    • su: 切换用户

  2. 系统信息和状态:

    • uname: 显示系统信息

    • whoami: 显示当前用户名

    • hostname: 显示或设置主机名

    • top: 实时显示系统资源使用情况

    • ps: 列出当前运行的进程

    • df: 显示文件系统的磁盘空间使用情况

    • free: 显示系统内存使用情况

    • uptime: 显示系统运行时间

    • date: 显示或设置系统日期和时间

  3. 文件和目录操作:

    • ls: 列出目录内容

    • cd: 切换工作目录

    • pwd: 显示当前工作目录

    • mkdir: 创建目录

    • rm: 删除文件或目录

    • cp: 复制文件和目录

    • mv: 移动文件和目录

    • touch: 创建空文件或更新文件的时间戳

    • cat: 查看文件内容

    • head: 显示文件开头部分

    • tail: 显示文件末尾部分

  4. 文件权限和所有权管理:

    • chmod: 修改文件权限
    • chown: 修改文件所有者
    • chgrp: 修改文件所属组
  5. 文件搜索和查找:

    • find: 根据条件搜索文件

    • grep: 在文件中搜索匹配的文本

    • locate: 快速定位文件

    • which: 查找命令的路径

  6. 网络管理:

    • ifconfig: 配置和显示网络接口信息

    • ping: 测试网络连接

    • nslookup: 查询域名解析信息

    • netstat: 显示网络连接和路由表信息

    • ssh: 安全远程登录

    • scp: 安全复制文件

  7. 压缩和解压缩:

    • tar: 创建和提取tar归档文件

    • gzip: 压缩文件

    • gunzip: 解压缩文件

  8. 进程管理:

    • ps: 列出当前运行的进程

    • top: 实时显示系统资源使用情况和进程信息

    • kill: 终止指定进程

    • killall: 终止指定名称的所有进程

    • pgrep: 根据条件查找匹配的进程ID

    • pkill: 根据条件终止匹配的进程

  9. 系统服务管理:

    • systemctl: 管理系统服务
      • systemctl start service_name: 启动指定名称的服务
      • systemctl stop service_name: 停止指定名称的服务
      • systemctl restart service_name: 重启指定名称的服务
      • systemctl status service_name: 显示指定名称的服务状态
      • systemctl enable service_name: 设置指定名称的服务开机自启动
      • systemctl disable service_name: 取消指定名称的服务开机自启动
  10. 网络配置:

    • ifconfig: 配置和显示网络接口信息

    • ip: 配置和显示网络接口信息(更现代的替代命令)

    • route: 显示和配置网络路由表

    • netstat: 显示网络连接和路由表信息

    • iptables: 配置防火墙规则

  11. 日志管理:

    tail: 显示文件末尾部分(常用于查看日志文件)

    • tail -f file.log: 实时显示日志文件的新增内容

    grep: 在文件中搜索匹配的文本(常用于过滤日志信息)

    • grep "error" file.log: 在file.log中搜索包含关键词"error"的行

    less: 分页查看文件内容(常用于查看大型日志文件)

    • less file.log: 打开文件并逐页显示内容,使用箭头键进行导航
  12. 系统监测和性能优化:

    • htop: 实时监测系统资源使用情况和进程信息(更友好的替代命令)

    • vmstat: 显示系统的虚拟内存、进程、CPU和IO统计信息

    • sar: 定期收集和报告系统活动数据

    • iostat: 显示CPU、磁盘和IO设备的统计信息

    • free: 显示系统内存使用情况

  13. 软件包管理:

    • apt: Debian和Ubuntu系统中的包管理工具
      • apt update: 更新软件包列表
      • apt upgrade: 升级系统中的软件包
      • apt install package_name: 安装指定的软件包
      • apt remove package_name: 卸载指定的软件包
      • apt search keyword: 在软件包数据库中搜索关键字
    • yum: CentOS和Fedora系统中的包管理工具
      • yum update: 更新系统中的软件包
      • yum install package_name: 安装指定的软件包
      • yum remove package_name: 卸载指定的软件包
      • yum search keyword: 在软件包数据库中搜索关键字
  14. 磁盘管理:

    • fdisk: 磁盘分区工具
    • mkfs: 创建文件系统
    • mount: 挂载文件系统
    • umount: 卸载文件系统
    • df: 显示文件系统的磁盘空间使用情况
    • du: 计算目录或文件的磁盘空间使用情况
  15. 定时任务:

    • crontab: 创建和管理定时任务
      • crontab -e: 编辑当前用户的定时任务
      • crontab -l: 列出当前用户的定时任务
      • crontab -r: 删除当前用户的定时任务
  16. 其他实用工具:

    • wget: 下载文件
      • wget URL: 下载指定URL的文件
    • curl: 通过URL进行数据传输
      • curl URL: 发送HTTP请求并获取URL的内容
    • ssh: 安全远程登录
      • ssh user@host: 连接到指定主机
    • scp: 安全复制文件
      • scp source_file destination: 将源文件复制到目标位置
  17. 网络诊断和调试:

    • ping: 测试网络连接和延迟
      • ping hostname: 向指定的主机发送 ICMP 回显请求
    • traceroute: 跟踪网络数据包传输路径
      • traceroute hostname: 显示到达指定主机的网络路径
    • netstat: 显示网络连接、接口和路由表信息
      • netstat -tuln: 显示所有TCP和UDP监听端口
    • tcpdump: 抓取和分析网络数据包
      • tcpdump -i interface: 监听指定网络接口上的数据包
  18. 数据备份和恢复:

    • tar: 创建和提取归档文件

      • tar -cvf archive.tar file1 file2: 创建归档文件
      • tar -xvf archive.tar: 解压缩归档文件
    • rsync: 远程备份和文件同步工具

      • rsync -avz source_directory destination: 同步源目录到目标位置
    • dd: 复制和转换文件或设备

      • dd if=input_file of=output_file: 从输入文件复制到输出文件
  19. Shell脚本编程:

    • bash: Bash shell的命令行解释器
    • chmod: 修改脚本文件的执行权限
    • #!/bin/bash: 在脚本文件的开头指定解释器
    • echo: 打印文本或变量的值
    • if: 条件语句
    • for: 循环语句
    • while: 循环语句
    • grep: 在文本中搜索匹配的行
    • sed: 文本替换和处理工具
    • awk: 文本处理和报告生成工具
  20. 系统备份和恢复:

    • dd: 复制和转换文件或设备

      • dd if=input_file of=output_file: 从输入文件复制到输出文件
    • rsync: 远程备份和文件同步工具

      • rsync -avz source_directory destination: 同步源目录到目标位置
    • tar: 创建和提取归档文件

      • tar -cvf archive.tar file1 file2: 创建归档文件
      • tar -xvf archive.tar: 解压缩归档文件
  21. 用户和权限管理:

    • useradd: 创建用户账户
    • passwd: 设置用户密码
    • usermod: 修改用户属性
    • userdel: 删除用户账户
    • groupadd: 创建用户组
    • groupmod: 修改用户组属性
    • groupdel: 删除用户组
    • chown: 修改文件或目录的所有者
    • chgrp: 修改文件或目录的所属用户组
    • chmod: 修改文件或目录的权限
  22. 系统信息查询:

    • uname: 显示系统信息
      • uname -a: 显示所有系统信息
    • lsb_release: 显示Linux发行版信息
      • lsb_release -a: 显示所有发行版信息
    • hostname: 显示主机名
    • uptime: 显示系统运行时间和负载
    • who: 显示当前登录用户信息
    • w: 显示当前登录用户和其活动信息
    • last: 显示最近的登录记录
    • df: 显示文件系统的磁盘空间使用情况
    • free: 显示系统内存使用情况
  23. 文件搜索和查找:

    • find: 在文件系统中查找文件
      • find /path -name filename: 在指定路径下按名称查找文件
    • locate: 基于数据库快速查找文件
      • locate filename: 在数据库中查找文件
    • which: 显示命令的完整路径
      • which command: 显示命令的路径
  24. 资源监测和性能优化:

    • top: 实时显示系统资源使用情况和进程信息
    • htop: 更友好的系统资源监测工具
    • iotop: 监测磁盘IO使用情况
    • nethogs: 监测网络流量使用情况
    • sar: 定期收集和报告系统活动数据
    • vmstat: 显示系统的虚拟内存、进程、CPU和IO统计信息
    • lsof: 列出打开的文件和进程信息
  25. 进程管理:

    • ps: 显示当前运行的进程

      • ps -ef: 显示所有进程的详细信息
    • top: 实时显示系统资源使用情况和进程信息

    • kill: 终止指定进程

      • kill PID: 终止指定进程ID的进程
    • pkill: 根据名称终止进程

      • pkill process_name: 终止指定名称的进程
    • pgrep: 根据名称查询进程ID

      • pgrep process_name: 查询指定名称的进程ID
  26. 日志管理:

    • tail: 显示文件末尾的内容

      • tail -n N filename: 显示文件末尾的最后 N 行内容
      • tail -f filename: 动态显示文件的新增内容
    • cat: 连接文件并显示内容

    • grep: 在文件中搜索匹配的行

      • grep pattern filename: 在文件中搜索匹配指定模式的行
    • less: 分页显示文件内容

      • less filename: 逐页显示文件内容,支持搜索和浏览
    • journalctl: 查看系统日志

      • journalctl -u service_name: 查看指定服务的日志
      • journalctl -f: 实时显示日志内容
  27. 网络配置和管理:

    • ifconfig: 显示和配置网络接口信息(已被ip命令取代)

    • ip: 显示和配置网络接口和路由信息

      • ip addr show: 显示网络接口信息
      • ip route show: 显示路由表信息
    • iptables: 配置和管理防火墙规则

      • iptables -L: 显示防火墙规则列表
    • netstat: 显示网络连接、接口和路由表信息

      • netstat -tuln: 显示所有TCP和UDP监听端口
    • ss: 显示套接字统计信息

      • ss -tuln: 显示所有TCP和UDP监听端口
  28. 软件包管理:

    • apt: Advanced Package Tool,Debian和Ubuntu系统的软件包管理工具

      • apt update: 更新软件包列表
      • apt upgrade: 升级可用的软件包
      • apt install package_name: 安装指定的软件包
      • apt remove package_name: 卸载指定的软件包
    • yum: Yellowdog Updater, Modified,CentOS和Fedora系统的软件包管理工具

      • yum update: 更新系统中的软件包
      • yum install package_name: 安装指定的软件包
      • yum remove package_name: 卸载指定的软件包
  29. 网络工具:

    • curl: 发送HTTP请求并显示响应

      • curl url: 发送GET请求并显示响应内容
    • wget: 下载文件

      • wget file_url: 下载指定URL的文件
    • ssh: Secure Shell,远程登录和执行命令

      • ssh username@hostname: 远程登录到指定主机
    • scp: Secure Copy,远程拷贝文件

      • scp source_file destination: 将源文件复制到目标位置
    • ftp: File Transfer Protocol,使用FTP协议进行文件传输

      • ftp hostname: 连接到指定主机的FTP服务器
  30. 虚拟化和容器:

    • docker: 容器化平台,用于构建和管理容器

      • docker run image_name: 运行指定的容器镜像
      • docker pull image_name: 下载指定的容器镜像
      • docker ps: 显示运行中的容器列表
      • docker stop container_id: 停止指定的容器
    • kubernetes: 开源容器编排系统,用于自动化部署和管理容器化应用

      • kubectl
        Kubernetes命令行工具
        • kubectl get pods: 显示Pods的列表
        • kubectl create deployment: 创建新的部署

9、Linux 技巧

  1. 利用Tab键自动补全:在命令行中输入文件或目录的一部分,然后按下Tab键,系统将自动补全文件或目录的名称。这可以节省时间并减少输入错误。

  2. 使用通配符进行文件匹配:在命令中使用通配符可以快速匹配多个文件或目录。常用的通配符包括:

    • *:匹配任意字符序列(包括空字符)

    • ?:匹配任意单个字符

    • [characters]:匹配指定字符集中的任意一个字符

    • [!characters]:匹配不在指定字符集中的任意一个字符

  3. 使用管道(|)将命令连接起来:通过将一个命令的输出作为另一个命令的输入,可以将多个命令连接起来形成一个更复杂的操作。例如:command1 | command2

  4. 使用Ctrl + R搜索命令历史记录:按下Ctrl + R,然后输入关键字,系统将搜索并显示最近使用过的包含该关键字的命令。按下Enter键执行找到的命令。

  5. 使用Ctrl + C终止命令:如果一个命令正在执行而您想取消它,可以按下Ctrl + C组合键来终止运行中的命令。

  6. 使用Ctrl + D退出终端:当您完成终端会话时,可以使用Ctrl + D组合键来快速退出。

  7. 使用man命令查看命令的手册页:man命令提供了关于大多数Linux命令的详细文档。例如:man ls将显示关于ls命令的手册页。

  8. 使用Ctrl + Alt + T打开终端:快捷键Ctrl + Alt + T可以在大多数Linux发行版中快速打开一个终端窗口。

  9. 利用别名(alias)简化命令:您可以使用alias命令为常用的命令创建别名,以简化和加快输入。例如:alias ll='ls -l'将创建一个名为ll的别名,执行ls -l命令。

  10. 使用Ctrl + Z暂停命令:按下Ctrl + Z可以将当前正在运行的命令暂停,并返回到命令提示符。使用fg命令可以恢复被暂停的命令。

  11. 使用Ctrl + L清除屏幕:按下Ctrl + L可以清除终端窗口的内容,让屏幕保持整洁。

  12. 使用Ctrl + ACtrl + E在命令行中快速定位:按下Ctrl + A将光标移动到命令行的开头,按下Ctrl + E将光标移动到命令行的末尾。

  13. 使用Ctrl + U清除当前行:按下Ctrl + U可以快速清除当前命令行中光标位置之前的内容。

  14. 使用Ctrl + R反向搜索命令历史记录:按下Ctrl + R后,开始键入关键字,系统将搜索并显示最近使用过的包含该关键字的命令。重复按下Ctrl + R将继续搜索并显示更早的匹配项。

  15. 使用Ctrl + G取消搜索:在使用Ctrl + R搜索命令历史记录时,如果要取消搜索并返回到当前命令提示符,可以按下Ctrl + G

  16. 使用history命令查看命令历史记录:history命令将显示在当前会话中执行过的所有命令的列表。您可以使用!n(其中n是命令编号)来重新执行特定的命令。

  17. 使用Ctrl + D结束输入:在命令行中,按下Ctrl + D组合键表示输入结束,例如在输入多行文本后。

  18. 使用Ctrl + K剪切当前行:按下Ctrl + K将剪切从光标位置到行末的内容。

  19. 使用Ctrl + Y粘贴剪切的内容:在命令行中按下Ctrl + Y可以将之前使用Ctrl + KCtrl + U剪切的内容粘贴到光标位置。

  20. 使用Ctrl + W删除前一个单词:按下Ctrl + W将删除光标之前的单词。

  21. 使用Ctrl + PCtrl + N浏览命令历史记录:按下Ctrl + P将浏览较早的命令,按下Ctrl + N将浏览较新的命令。

  22. 使用Ctrl + T交换光标前两个字符:按下Ctrl + T将交换光标前两个字符的位置。

  23. 使用Ctrl + H删除光标前一个字符:按下Ctrl + H将删除光标之前的一个字符。

  24. 使用Ctrl + S暂停终端输出:按下Ctrl + S可以暂停终端输出,按下Ctrl + Q可以恢复。

  25. 使用Ctrl + Alt + F1F6切换虚拟终端:Linux系统通常提供多个虚拟终端,可以使用这些快捷键在不同的终端之间进行切换。Ctrl + Alt + F1F6分别对应虚拟终端1到6,Ctrl + Alt + F7则是返回到图形界面。

  26. 使用Ctrl + Shift + T打开新的终端选项卡:这个快捷键可以在终端中打开一个新的选项卡,方便在同一个窗口中同时执行多个命令。

  27. 使用Ctrl + Shift + NCtrl + Shift + P在命令行中快速切换命令:在命令行中按下Ctrl + Shift + N可以快速切换到下一个命令,按下Ctrl + Shift + P可以快速切换到上一个命令。

  28. 使用Ctrl + Shift + CCtrl + Shift + V复制和粘贴:在终端中,按下Ctrl + Shift + C可以复制选定的文本,按下Ctrl + Shift + V可以粘贴文本。

  29. 使用Ctrl + Arrow进行单词间的快速移动:在命令行中按下Ctrl + Left Arrow可以快速移动到前一个单词的开头,按下Ctrl + Right Arrow可以快速移动到下一个单词的开头。

  30. 使用screentmux管理会话:screentmux是两个强大的终端复用工具,它们允许您在单个终端窗口中创建多个会话,并在这些会话之间进行切换。这对于长时间运行的任务或远程会话特别有用。

  31. 使用Ctrl + Alt + L锁定屏幕:按下Ctrl + Alt + L可以快速锁定屏幕,保护您的计算机免受未经授权的访问。

  32. 使用find命令进行文件搜索:find命令可以根据指定的条件在文件系统中搜索文件和目录。例如,find /path/to/search -name "filename"将在指定路径下搜索指定名称的文件。

  33. 使用grep命令进行文本匹配:grep命令可以在文件中搜索指定的模式并显示匹配的行。例如,grep "pattern" filename将在指定文件中搜索匹配模式的行。

  34. 使用sed命令进行文本替换:sed命令可以在文本文件中进行模式匹配和替换操作。例如,sed 's/pattern/replacement/g' filename将替换指定模式的所有匹配项。

  35. 使用awk命令进行文本处理:awk命令是一个强大的文本处理工具,可以根据指定的规则对文本进行处理和分析。它可以用于提取特定字段、计算统计信息等。

感谢关注,点赞,评论!

目 录 一、Linux基础 5 1.什么是Linux? 5 2.什么是自由软件、GNU和GPL? 5 3.从技术上说,Linux有什么优点? 5 4.我需要学习Linux吗? 5 5.Linux会取代Windows吗? 6 6.Linux与WindowsNT谁更好? 6 7.Linux与UNIX有什么不同? 6 8.Linux能应用在哪些领域呢? 6 9.Linux作系统发展现状和未来如何? 6 10.Linux对软件业有什么影响呢? 6 11.我该如何学习Linux呢? 6 12.网上有哪些Linux资源? 7 13.RedHat Linux 6.5和Linux 2.4哪个版本高? 7 14.Linux的发行版有哪些? 7 15.RedHat Linux有哪些特点? 7 16.TurboLinux有哪些特点? 7 17.BluePoint、Xterm、RedFlag三种中文Linux谁好? 7 18.哪种版本Linux适合我? 7 19.如何得到Linux? 8 二、用户和用户组管理 8 ※一、Linux系统用户账号的管理 8 ※1、添加新的用户账号使用useradd命令,其语法如下: 8 ※2、删除帐号 8 ※3、修改帐号 8 ※4、用户口令的管理 9 ※二、Linux系统用户组的管理 9 ※1、增加一个新的用户组使用groupadd命令。其格式如下: 9 ※2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下: 9 ※3、修改用户组的属性使用groupmod命令。其语法如下: 9 ※4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其它用户组的权限。用户可以在登录后,使用命令newgrp切换到其它用户组,这个命令的参数就是目的用户组。 10 ※三、与用户账号有关的系统文件 10 ※1、/etc/passwd文件是用户管理工作涉及的最重要的一个文件。 10 ※2、/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。 11 ※3、用户组的所有信息都存放在/etc/group文件中。 11 四、赋予普通用户特殊权限 12 三、文件系统结构和基本文件处理 13 ※1.文件类型 13 ※2.文件系统结构 14 ※3.主目录和当前工作目录 14 ※4.路径、绝对路径和相对路径 15 ※5.查看当前目录pwd 15 ※6.浏览文件系统cd 15 ※7.创建和删除文件(touch和rm) 15 ※8.创建和删除目录(mkdir 和 rmdir) 16 ※9.查看目录内容和文件属性ls 17 ※10.确定文件类型file 18 ※11.文件的复制和移动(cp 和 mv) 18 ※12.查看文件内容cat、head、tail、more、less 19 ※13.统计文件大小wc 21 14./etc文件系统 22 15./dev文件系统 22 16./usr文件系统 23 17./var文件系统 23 18./proc文件系统 24 四、高级文件处理 24 ※1.文件比较diff 24 ※2.删除重复行uniq 25 3. 不唯一 26 4. 对特定域进行测试 26 ※5.文件排序sort 26 ※6.文件的查找find 30 ※1、使用name选项 31 ※2、用perm选项 31 ※3、忽略某个目录 31 ※4、使用user和nouser选项 31 ※5、使用group和nogroup选项 32 ※6、按照更改时间或访问时间等查找文件 32 ※7、查找比某个文件新或旧的文件 32 ※8、使用type选项 32 ※9、使用size选项 33 ※10、使用depth选项 33 ※11、使用混合查找方式查找文件 33 ※7.搜索文件内容grep 34 ※2. grep正则表达式元字符集(基本集) 34 ※8.cut and paste 35 ※9.文件合并jion 37 ※10.文件分割split 38 ※11.文件的压缩 38 ※1.gzip 、zcat命令 39 ※2.bzip2、bzcat 39 ※3.tar (打包文件或目录) 40 ※12.设备挂载mount 40 ※1.制作ISO文件 40 ※2.挂接移动硬盘 41 ※3.挂接U盘 42 五、文件安全与权限 42 ※1.文件安全策略 42 ※2.文件权限位 42 ※3.文件类型 43 ※4.改变权限chmod 43 ※4.1符号模式 43 ※4.2绝对模式 44 ※目录 44 ※5.chown和chgrp 44 ※6.umask 45 7.Set UID、Set GID、Sticky Bit 46 8.文件隐藏属性 47 9.lsattr(显示文件的隐藏属性) 48 10.SUID和SGID的详细解析 48 11.Linux病毒 49 六、Shell 50 1.内核与Shell 50 ※2.shell的功能 50 3.输入和输出 52 ※3.1 echo 52 ※3.2 read 54 ※3.3 cat 54 ※3.4 Tee 55 ※4.输入输出复位向、管道 55 5.变量 58 5.1.什么是shell变量 58 ※5.2.本地变量 58 ※5.3.环境变量 64 ※5.4.位置变量参数 67 ※七、Linux 进程管理 69 1、程序和进程 69 1.1 进程分类; 69 1.2 进程的属性; 69 1.3 父进程和子进程; 69 2、进程管理; 69 2.1 ps 监视进程工具; 69 2.2 pgrep 71 3、终止进程的工具 kill 、killall、pkill、xkill; 71 4、top 监视系统任务的工具; 73 5、进程的优先级:nice和renice; 73 八、脚本 77 ※1. Linux 脚本编写基础 77 ※1.1 开头 77 ※1.2 注释 77 ※1.3 变量 77 ※1.4 环境变量 77 ※2.条件判断 77 ※test 文件运算符 78 ※字符串比较运算符 80 ※整数比较运算符 81 ※布尔运算符 83 3.流程控制 86 ※3.1 if 86 ※3.2.case 87 ※3.3. selsect 88 ※3.4.loop 89 ※3.5. Here documents 90 ※3.6函数 90 ※4.命令行参数 91 九、shell 十三问 91 二、关于{}和() 91 ※七、 exec 跟 source 差在哪? 这次先让我们从 CU Shell 版的一个实例贴子来谈起吧:例中的提问是: 92 八、 ( ) 与 { } 差在哪? 95 ※九、 $(( )) 与 $( ) 还有${ } 差在哪? 97 ※十、 $@ 与 $* 差在哪? 101 ※十一、 && 与 || 差在哪? 103 ※Part-I: Wildcard 112 ※Part-II: Regular Expression 113 ※十、功能最强大的编辑器——vi 117 1.vi的基本状态 117 2.vi的基本操作 117 3.离开vi及存文件 117 4.Command mode功能键列表 117 5.Last line mode下指令简介 118 ※十一、ifconfig 119 十二、write 命令 122 用途: 122 语法: 123 描述: 123 工作站 123 参数 123 标志 124 退出状态 124 示例 124 文件 125 十三、关于 Linux系统中关机命令详细解析 125 1.shutdown 125 2.halt----最简单的关机命令 126 3.reboot 126 4.init 126 十四、软件安装 127 十五、Linux操作系统中备份恢复技术的详解 129 十六、GRUB使用说明 131
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码炼金术

何以解忧,唯有打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值