鱼C论坛

 找回密码
 立即注册
查看: 97|回复: 1

[技术交流] linux_学习之路_10(啊啊啊啊啊啊啊啊啊啊我要硬薅Linux)

[复制链接]
发表于 2025-1-31 15:47:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
bash及特性:(shell)
        shell什么时候开始启动:用户登录完成后,需要使用系统资源,程序只由一个,进程可以有多个;进程相当于程序的副本。谁用就可以拿来复制一个,如果用三个(可相同也可不同)身份登录,其实相当于三个进程,这三个进程彼此是不相干的,
        Linux系统还有一个特性,允许同一个用户账号登录多次,而且每个账户登陆的进程都是各自独立的shell,因为他们是三个进程,每个进程只认为当前系统上所运行的程序只是他自己;在每个进程看来,当前主机上只存在内核和当前进程,进程可以同名,只要进程号不同即可,类似全国有很多个张伟,但是身份证号是独一份的;
        进程是程序的副本,进程是程序执行的实例。程序运行起来才叫进程,进程是有周期的,从启动开始到中止那一刻结束,这个过程是由内核来管理的,
       
        bash:type bash :bash is /bin/bash,bash本身是个路径,bash 本身是个外部命令,本身自带的叫内部命令,shell本身是个外部程序,当shell被启动起来后,shell自身还带有其他很多命令的CD,这些都称为自由命令,

        用户工作环境:不同的用户各自登陆了系统,他们都可以默认shell,但是他们的工作环境设定却可以各不相同,(除了管理员默认#,普通用户是$符号)大环境相同,小环境各不相同。bash可以支持用户自定义环境
       
        在shell中分有shell和子shell,如果我在shell中执行了bash,那相当于是打开了一层shell,此时使用pstree查看进程会发现是在子shell中运行的pstree,使用exit可以退出当前子shell,再使用exit退出登录,再exit就是退出进程。
       
        一般对于子shell的设定对父shell不生效,对于父shell的设定对子shell也同样不生效

        bash都支持用户对自己的工作环境做装饰,
                1.命令历史,执行过的命令只需要使用上下箭头就可以切换到历史命令
                2.管道:支持管道重定向,
                3.支持命令别名,给命令起另外一个名字
                4.支持命令行编辑
                5.支持命令行展开
                6.支持文件名通配
                7.支持使用变量
                8.支持编程:可以使用多种命令使用以某种程序逻辑组合起来,进行编程,
                                       

bash特性:
1.命令行编辑:
命令光标跳转
        ctrl+a:命令行编辑直接跳到命令行首
        ctrl+e:命令行编辑跳到命令行末
        ctrl+u:删除光标至命令行首
        ctrl+k:删除光标至命令行末
        ctrl+键盘左键,右键:光标往前跳一个单词,往后跳一个单词
        ctrl+l:清屏

命令历史:(所有的历史命令都在内存缓冲区,正常退出的时候,所有的命令都会放到家目录里的.bash-history里去)
        history:查看历史使用的命令
        history -c:清空命令历史
        history -d 500:删除第500个命令 history -d 100 3 删除第100,101,102个history
        history -w:将缓存区的历史命令写到.bash_history文件中去

环境变量:
PATH:命令搜索路径
HISTORIZE:命令历史大小(默认是1000条命令)    echo $HISTORIZE :显示变量,命令历史大小

命令历史的使用技巧
        !100:执行第100条历史命令
        ! -100:执行倒数第100个命令
        !!:执行上一条命令;
        !str:执行命令历史中最近一个以指定字符串开头的命令
        !$:引用前一个命令的最后一个参数      按一下esc松开后再按一下.就会出现上一个参数,或者同时按住ALT+.也会出现上一个使用过的参数
       

命令补全/目录补全:TAB
        前提:打头的这些字符一定要唯一能标识这个命令,如果不唯一的时候,连续敲击两次TAB键,就可以显示所有敲击下开头的所有命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2025-1-31 15:47:21 | 显示全部楼层
Linux 学习之路 - Bash及其特性

  • Shell的启动: 用户登录完成后,shell会启动。每次登录产生的进程彼此独立,多个用户可以同时登录,每个登录对应一个独立的shell进程。
  • Bash 的路径和命令: 使用 type bash 查看 bash 路径。bash 是外部命令,同时带有内部命令。
  • 用户工作环境: 不同用户可以有各自不同的shell环境设置。
  • Shell 和子shell: 在当前shell中执行 bash 会生成一个子shell,使用 exit 退出子shell。子shell的设定不会影响父shell。
  • Bash 支持的功能: 命令历史、管道重定向、命令别名、命令行编辑、命令行展开、文件名通配、变量运用、编程等。


Bash 特性:
  • 命令行编辑:
    Ctrl + A : 命令行光标跳转到行首
    Ctrl + E : 命令行光标跳转到行末
    Ctrl + U : 删除光标至行首内容
    Ctrl + K : 删除光标至行末内容
    Ctrl + 左键/右键 : 光标前跳/后跳一个单词
    Ctrl + L : 清屏
  • 命令历史: 历史命令在内存缓冲区中,正常退出时写入家目录的 [.bash_history] 文件。
    history            : 查看历史命令
    history -c         : 清空命令历史
    history -d 500     : 删除第500条历史命令
    history -w         : 将缓存区命令写入 .bash_history 文件
  • 环境变量:
    PATH         : 命令搜索路径
    HISTSIZE     : 命令历史大小(默认1000条)
    echo $HISTSIZE : 显示命令历史大小
  • 命令历史的使用技巧:
    !100        : 执行第100条历史命令
    !-100       : 执行倒数第100个命令
    !!          : 执行上一条命令
    !str        : 执行以指定字符串开头的最近一条命令
    !$          : 引用前一个命令的最后一个参数
    (按Esc松开后再按 . 或同时按Alt+ . 也可出现上一个参数)
  • 命令补全/目录补全: 使用 TAB 键自动补全命令或目录名。当输入字符唯一时自动补全,不唯一时连按两次 TAB 显示所有可能选项。


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-22 22:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表