Linux 基础上

Shell简介

shell通常被称为“壳”,是为用户提供操作界面的软件(命令解析器)。它类似于dos下的command.com和后来的cmd.exe,接受用户命令并调用相应的应用程序。

常见的Shell有两种类型:图形界面(GUI)和命令行终端(CLI)。

常用的GUI包括:

WindowsX-WindowGnomeKDEXfce

常用的CLI包括:

bashshcshzshkshtcsh

Redhat和CentOS系统使用的默认Shell是Bourne-Again Shell(bash)。Bash是Bourne shell(sh)的改进版本,是类UNIX系统中最成功的Shell之一。

当Shell以交互方式使用时,它会在等待用户输入命令时显示一个字符串,这就是所谓的Shell提示符。普通用户启动Shell时,默认提示符以$字符结束。

Linux 基础上

Linux基础命令的格式通常为:

命令 [选项] [参数]

选项可以有零个或多个,包括:

短选项:以-开头,多个选项可以组合,如-a -b可以写成-ab长选项:以--开头,通常不能组合

参数是命令的作用对象,可以有零个或多个。

Shell命令分为内部命令和外部命令:

Cutout老照片上色 Cutout老照片上色

Cutout.Pro推出的黑白图片上色

Cutout老照片上色 20 查看详情 Cutout老照片上色 内部命令:Shell内置的命令外部命令:在文件系统的某个路径下有与命令名称对应的可执行文件

使用type命令可以显示命令的类型,例如:

[root@C20230104840383 ~]# type cdcd 是 shell 内嵌

目录管理命令

常用的目录管理命令包括:

// 目录管理ls      // 列出目录内容    -l      // 长格式显示    // 长格式显示的第一段含义:        第一个字符:文件类型            -   // 普通文件(f)            d   // 目录文件            b   // 块设备文件(block)            c   // 字符设备文件(character)            l   // 符号链接文件(symbolic link file)            p   // 命令管道(pipe)            s   // 套接字文件(socket)        后面九位字符:文件权限            9位,每3位一组,每一组:rwx(读,写,执行)    // 长格式显示的第二段含义:        文件硬链接的次数    // 长格式显示的第三段含义:        文件的属主(owner)    // 长格式显示的第四段含义:        文件的属组(group)    // 长格式显示的第五段含义:        文件大小(size),单位是字节    // 长格式显示的第六,七,八段含义:        时间戳(timestamp),最近一次被修改的时间            访问      // access,访问的时间            修改      // modify,文件内容被修改的时间            改变      // change,metadata(元数据)变化的时间    -h     // 做单位转换    -a     // 显示以.开头的隐藏文件        .       // 表示当前目录        ..      // 表示父目录    -d     // 显示目录自身属性    -i     // 显示文件的inode(index node)    -r     // 逆序显示    -R     // 递归(recursive)显示cd      // 切换目录pwd     // 查看当前所在目录路径tree    // 查看目录树    -d          // 只显示目录    -L level    // 指定显示的层级数目    -P 字符串    // 显示指定字符串匹配到的文件

文件管理

常用的文件管理命令包括:

// 文件管理mkdir   // 创建目录    -p      // 创建目录时若父目录不存在则自动创建    -v      // 显示目录创建过程rmdir   // 删除目录,只能删除空目录touch   // 创建一个空文件,touch一个已经创建的文件修改时间戳stat    // 显示文件或文件系统的状态rm      // 删除文件,删除命令默认会提示是否需要删除。    -r      // 递归删除,删除目录时必须使用此选项    -f      // 强制删除,不询问cp      // 复制文件,一个文件到一个文件,多个文件到一个目录,可同时移动多个,最后必须为目的地    -r      // 递归拷贝,拷贝目录时必须使用此选项    -p      // 拷贝时保留原权限    -a      // 相当于-rpmv      // 移动文件,可同时移动多个,最后必须为目的地    // 特殊用法:改名,在当前目录进行 mv 123 321install // 复制文件并且设置属性    -m MODE // 复制时修改权限    -o OWNER // 复制时修改文件属主    -g GROUP // 复制时修改属组

主机管理

常用的主机管理命令包括:

// 主机名管理hostname    // 查看或临时修改主机名,重开终端生效,重启失效    hostname uquq   // 临时修改主机名hostnamectl // 查看或永久修改主机名,重开终端生效,重启依然有效    hostnamectl set-hostname uquq  // 永久修改主机名    或者直接编辑配置文件 vim 后续会继续说到    vim /etc/hostname    // 按i进行编辑光标在前一位进行输入或者按a进行编辑光标会自动往后移一位,一般用a方便插入    按之后最下面会显示 -- INSERT --    可移动光标删除写入主机名,按ESC退出编辑,输入:wq保存退出// 其它time        // 显示命令的执行时间,例如time ls /etcclear       // 清屏whoami      // 显示当前登录用户who         // 查看当前在线用户w           // 显示当前在线用户并显示其在运行的命令which       // 显示指定命令的绝对路径date        // 显示或设置日期与时间    // 不带参数的date用于显示当前系统日期与时间    // 格式化输出时间:+        %Y      // 年        %m      // 月        %d      // 日        %F      // 年-月-日        %H      // 时        %M      // 分        %S      // 秒    如date "+%Y-%m-%d"    -s      // 以字符串方式设置时间,如 date -s "+%Y-%m-%d"cal     // 打印日历    cal -3 // 打印三个月,上下一个月    cal -y // 打印一年bc      // Linux中的计算器    -l      // 使用标准数学库    echo 'scale=3;20/2'|bc -l    // scale=3表示保留两位小数ldd     // 查看指定程序有哪些依赖库文件程序组成:    二进制程序    库文件    配置文件    帮助文件

获取命令帮助

获取命令帮助的方式包括:

// 内部命令help COMMAND// 外部命令COMMAND --help// 在线文档info COMMAND// 命令手册 manualman COMMAND// 文档/usr/share/docwhatis COMMAND      // 用于查看COMMAND出现在man的哪一章节中。// 查询man帮助中此命令的作用// man是分章节的,以下是每一章节的内容介绍:    1   用户命令(/bin,/usr/bin,/usr/local/bin);    2   系统调用;    3   库调用;    4   特殊文件(设备文件);    5   文件格式(配置文件 的语法);    6   游戏;    7   杂项(Miscellaneous);    8   管理命令(/sbin,/usr/sbin,/usr/local/sbin)// man手册注意事项:    []              // 可选                  // 必选    ...             // 可以出现多次    |               // 多选一    {}              // 分组    NAME            // 命令名称及功能简要说明    SYNOPSIS        // 用法说明,包括可用的选项    DESCRIPTION     // 命令功能的详尽说明,可能包括每一个选项的意义    OPTIONS         // 说明每一个选项的意义    FILES           // 此命令相关的配置文件    BUGS            // 报告bug    EXAMPLES        // 使用示例    SEE ALSO        // 另外参照// man翻屏    SPACE    // 向后翻一屏    b    // 向前翻一屏    enter    // 向后翻一行    k    // 向前翻一行// 查找    /text    // 向后    ?text           // 向前    n               // 下一个    N               // 前一个    q               // 退出

Bash特性

Bash支持以下特性:

支持命令历史、命令补全支持管道、重定向支持命令别名支持命令行编辑支持命令行展开支持文件名通配支持变量支持编程

Bash支持的引号包括:

""    // 双引号,弱引用,可以实现变量替换''    // 单引号,强引用,不完成变量替换``    // 反引号,键盘左上角Esc下面的键,用于命令替换$()    // 与反引号用法相同,用于命令替换

常用操作

常用的操作命令包括:

// 光标跳转Ctrl+a    // 跳到命令行首Ctrl+e    // 跳到命令行尾Ctrl+u    // 剪切光标至命令行首的内容Ctrl+k    // 剪切光标至命令行尾的内容Ctrl+    // 剪切光标所在位置到下一行的内容

以上就是Linux 基础上的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/511296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 00:49:35
下一篇 2025年11月9日 00:50:33

相关推荐

  • CodeIgniter 4 设置 Cookie 无效问题解决指南

    本文旨在解决 CodeIgniter 4 中使用 set_cookie() 函数设置 Cookie 后,在重定向页面无法获取 Cookie 的问题。通过分析问题原因,并提供正确的解决方案,帮助开发者在 CodeIgniter 4 项目中顺利设置和使用 Cookie。关键在于理解 withCookie…

    2025年12月10日
    000
  • CodeIgniter 4 设置 Cookie 无效问题排查与解决方案

    本文旨在解决 CodeIgniter 4 中使用 set_cookie() 函数设置 Cookie 后无法生效的问题。我们将深入探讨导致此问题的原因,并提供有效的解决方案,确保 Cookie 能够正确设置和读取。 在 CodeIgniter 4 中,设置 Cookie 的方式与 CodeIgnite…

    2025年12月10日
    000
  • CodeIgniter 4 中 Cookie 设置失效问题解决方案

    本文旨在解决 CodeIgniter 4 中使用 set_cookie() 函数设置 Cookie 后无法生效的问题。通过分析问题原因,结合官方文档和实际案例,提供一种有效的解决方案,确保 Cookie 能够正确设置并在重定向后被访问。该方案的关键在于使用 withCookies() 方法。 在 C…

    2025年12月10日
    000
  • PHP数组中检测是否存在多个不同值

    本文旨在提供一种高效的方法,用于判断PHP数组中是否包含至少两个不同的值。通过利用array_count_values函数统计数组中各值的出现频率,并结合对结果数组的计数,我们可以快速准确地验证数组内元素的唯一性,从而在需要确保数据一致性时提供关键判断。 1. 问题背景与需求 在php开发中,我们经…

    2025年12月10日
    000
  • PHP怎样制作自动化营销系统?邮件/SMS收费

    必须使用专业邮件和短信api而非php的mail()函数,因为mail()函数缺乏认证、监控和重试机制,极易被识别为垃圾邮件,送达率极低;2. 专业api服务如sendgrid、twilio等提供高送达率、详细分析报告、模板个性化、合规支持和webhook通知,显著提升营销效果;3. 成本控制需从选…

    2025年12月10日
    000
  • PHP怎样实现付费API限流?令牌桶算法控制

    选择令牌桶算法实现api限流,是因为它允许突发请求、配置灵活且逻辑直观;相比漏桶算法,它在保障平均速率的同时支持短时高频请求,提升用户体验。2. 在php中高效管理令牌桶状态需依赖redis,利用其高性能内存读写、原子性lua脚本执行、hash结构存储及expire机制,确保并发安全与数据一致性。3…

    2025年12月10日
    000
  • Symfony 怎样将API响应数据转数组

    在 symfony 中将 api 响应数据转换为数组,需根据响应格式选择合适方法:1. 对于 json 响应,使用 json_decode($response->getcontent(), true) 将内容解析为关联数组,并检查 json_last_error() 确保解码成功;2. 对于 …

    2025年12月10日
    000
  • PHP怎样开发自动投标系统?P2P金融平台核心

    开发p2p平台的php自动投标系统需从架构设计、业务逻辑、技术选型、安全风控、性能优化等多方面综合考虑。1. 采用微服务或解耦架构,结合事件驱动与消息队列(如rabbitmq/kafka)实现异步处理,提升并发能力与系统吞吐量;2. 核心模块包括用户投标规则管理、项目池筛选、匹配引擎、资金处理与记账…

    2025年12月10日
    000
  • PHP如何操作XML文件?SimpleXML解析实例

    使用simplexml_load_file()或simplexml_load_string()可加载xml文件或字符串;2. 通过对象属性方式访问元素和属性,用foreach遍历子节点;3. 修改节点值或属性直接赋值,用addchild()新增元素,addattribute()新增属性,asxml(…

    2025年12月10日
    000
  • Symfony 怎么将数据库行转为关联数组

    最直接的方法是使用 doctrine 的 query::hydrate_array 模式,它能将数据库行直接映射为关联数组;2. 默认返回实体对象是因为 doctrine 作为 orm 的核心功能是实现对象与数据库的映射,提供面向对象操作、关系管理、变更追踪等优势;3. 除 hydrate_arra…

    2025年12月10日
    000
  • 使用 PHP 和 cURL 提交评论:一份简明教程

    本文将引导您使用 PHP 的 cURL 库向支持评论的网站提交评论。我们将介绍如何设置 cURL 选项,构造 POST 请求,并处理服务器响应。请注意,目标网站必须实际支持通过 POST 请求提交评论,否则此方法将无法生效。 使用 cURL 提交 POST 请求 cURL 是一个强大的 PHP 库,…

    2025年12月10日
    000
  • PHP怎样实现软件授权系统?License密钥生成验证

    php实现软件授权系统的核心是生成不可伪造的license密钥并建立可靠的验证机制;2. 必须使用非对称加密(如rsa)对包含产品id、有效期、客户id等信息的负载进行私钥签名,并以base64编码生成最终密钥;3. 验证时需通过https将密钥发送至服务器,解码后用公钥验证签名有效性,再解析数据并…

    2025年12月10日
    000
  • PHP如何创建在线课程平台?知识付费系统开发指南

    搭建在线课程平台的核心功能模块有:1. 用户与角色管理,包括学员、讲师、管理员的权限体系;2. 课程管理系统(lms),支持多媒体内容上传、章节组织、测验作业、学习进度跟踪;3. 互动交流模块,如问答区、评论区、直播或小组讨论;4. 支付与订单系统,支持多种支付方式、订单记录、退款和优惠券功能;5.…

    2025年12月10日
    000
  • PHP语言如何定义和调用函数实现代码复用 PHP语言函数定义与调用的基础教程​

    php中定义函数使用function关键字,可带参数和返回值以实现代码复用;1. 参数可设默认值,且带默认值的参数需放在参数列表末尾;2. 使用&符号定义引用参数,可在函数内直接修改外部变量;3. 通过…操作符定义可变参数,将多个参数收集为数组;4. 函数通过return返回结果…

    2025年12月10日
    000
  • PHP如何实现URL重写?.htaccess配置规则

    php实现url重写的核⼼⽅法是通过apache的mod_rewrite模块配合.htaccess文件将动态url转换为静态化形式;2. 实现步骤包括开启mod_rewrite模块、配置allowoverride all权限、创建.htaccess文件并写入重写规则;3. 基础规则使用rewrite…

    2025年12月10日
    000
  • Symfony 如何把OAuth数据转为数组

    将symfony中接收到的oauth数据转换为数组,核心方法是使用symfony serializer组件或手动映射。1. 使用serializer组件:通过注入serializerinterface,在服务或控制器中调用normalize方法将oauth对象(如oauthuserresponse)…

    2025年12月10日
    000
  • Symfony 怎么把路由参数转为数组

    将symfony路由参数转换为数组的明确方法是通过$request->attributes->get(‘_route_params’)获取;1. 使用该方法可将路由参数转为数组,便于统一处理不确定数量或名称的参数;2. 转换为数组后可进行遍历、访问或添加新参数,提…

    2025年12月10日
    000
  • PHP如何通过GD库处理图像 PHP图像生成与编辑的完整指南

    gd库能解决图像即时处理与自动化生成的痛点,1. 可自动缩放用户上传的图片生成多尺寸缩略图,提升加载速度与体验;2. 支持添加文字或图片水印,保护版权且灵活调整透明度与位置;3. 能生成验证码、头像裁剪等动态图像,满足多样化需求;4. 无需外部依赖,轻量集成于php环境,适合中小型项目;5. 通过缓…

    2025年12月10日
    000
  • PHP怎样处理大文件上传?分片上传实现方法

    分片上传是处理php大文件上传最稳妥的方法,它通过将文件切分为多个小块逐个上传并最终合并,有效规避了传统上传的限制。传统php上传的瓶颈主要在于php.ini中的upload_max_filesize、post_max_size、memory_limit和max_execution_time等参数限…

    2025年12月10日
    000
  • PHP如何使用反射机制?ReflectionClass解析

    php的反射机制通过reflectionclass等组件实现运行时对类结构的动态分析与操作,1. reflectionclass用于获取类的元数据、动态创建实例、调用方法和访问属性;2. 在框架中广泛应用于依赖注入、orm映射、路由解析、序列化和文档生成;3. 使用反射会带来性能开销、降低代码可读性…

    2025年12月10日
    000

发表回复

登录后才能评论
关注微信