
shell
文章平均质量分 75
omnibots
这个作者很懒,什么都没留下…
展开
-
wsl2 arch linux访问ch340串口和usb设备
wsl2与windows共享usb设备原创 2024-04-11 19:18:24 · 601 阅读 · 0 评论 -
libsodium、minisign交叉编译和使用minisign对文件签名及验签
给CMakeLists.txt打补丁。执行cmake生成Makefile。原创 2023-06-16 13:09:10 · 403 阅读 · 0 评论 -
使嵌入式Linux支持exFAT和NTFS文件系统,U盘自动挂载
把内核烧录挂载个exFAT U盘试试成功没。原创 2023-06-16 13:07:45 · 2576 阅读 · 0 评论 -
C语言使用readline库实现带tab补全命令的shell终端
【代码】C语言使用readline库实现shell终端。原创 2022-12-30 19:29:53 · 1154 阅读 · 1 评论 -
curl交叉编译使其支持ldap和ldaps协议
需要把openssl、openldap、curl安装目录下的lib考到板子的lib目录,curl安装目录下的bin靠板子的bin目录。地址:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/地址:https://www.openssl.org/source/地址:https://curl.se/download/原创 2022-11-24 16:45:17 · 1119 阅读 · 0 评论 -
linux查看端口占用
【代码】linux查看端口占用。原创 2022-11-12 21:03:29 · 564 阅读 · 0 评论 -
iptables/ip6tables报错
在这里选择’xxx’对应的功能即可。内核不支持相应协议过滤支持,需要配置内核。原创 2022-10-24 09:22:09 · 861 阅读 · 0 评论 -
控制脚本(shell13)
在使用作业控制命令时,如果未在命令行指定任何作业号,该作业会被当成作业控制命令的操作对象。任何时候都只有一个带加号的作业和一个带减号的作业,不管shell中有多少个正在运行的作业。有作业时, atd守护进程会检查作业设置运行的时间。如果某个作业在cron时间表中安排运行的时间已到,但这时候Linux系统处于关机状态,那么这个作业就不会被运行。取而代之的是, Linux系统会将提交该作业的用户的电子邮件地址作为STDOUT和STDERR。作业队列的字母排序越高,作业运行的优先级就越低(更高的nice值)。原创 2022-09-10 16:54:25 · 924 阅读 · 0 评论 -
呈现数据 (shell12)
STDIN文件描述符代表shell的标准输入。对终端界面来说,标准输入是键盘。 shell从STDIN文件描述符对应的键盘获得输入,在用户输入时处理每个字符。在使用输入重定向符号(原创 2022-09-04 13:50:16 · 213 阅读 · 0 评论 -
处理用户输入(shell11)
位置参数变量是标准的数字: $0是程序名, $1是第一个参数, $2是第二个参数,依次类推,直到第九个参数$9。所以,变量$3的值会移到$2中,变量$2的值会移到$1中,而变量$1的值则会被删除(注意,变量$0的值,也就是程序名,不会改变)。用set命令能够做到。然后,该方法会将原始脚本的命令行参数传给getopt命令,之后再将getopt命令的输出传给set命令,用getopt格式化后的命令行参数来替换原始的命令行参数,看起来如下所示。当输入的字符达到预设的字符数时,就自动退出,将输入的数据赋给变量。..原创 2022-08-27 20:07:02 · 585 阅读 · 0 评论 -
更多的结构化命令(shell10)
只有测试命令的退出状态码不为0, bash shell才会执行循环中列出的命令。循环语句可以在循环内使用任意类型的命令,包括其他循环命令。注意,在使用嵌套循环时,你是在迭代中使用迭代,与命令运行的次数是乘积关系。while命令允许定义一个要测试的命令,然后循环执行一组命令,只要定义的测试命令返回的是退出状态码0。在处理代码量较大的脚本时,可能在一个地方需要修改IFS的值,然后忽略这次修改,在脚本的其他地方继续沿用IFS的默认值。在处理多个循环时, break命令会自动终止你所在的最内层的循环。原创 2022-08-20 17:47:31 · 93 阅读 · 0 评论 -
使用结构化命令(shell9)
如果该命令的退出状态码(参见第11章)是0(该命令成功运行),位于then部分的命令就会被执行。如果该命令的退出状态码是其他值, then部分的命令就不会被执行, bash shell会继续执行脚本中的下一个命令。当if语句中的命令返回退出状态码0时, then部分中的命令会被执行,这跟普通的if-then语句一样。当if语句中的命令返回非零退出状态码时, bash shell会执行else部分中的命令。除了test命令使用的标准数学运算符,下表列出了双括号命令中会用到的其他运算符。原创 2022-08-20 17:46:20 · 289 阅读 · 0 评论 -
构建基本脚本(shell08)
在第一个命令产生输出的同时,输出会被立即送给第二个命令。一个简单的记忆方法就是:在命令行上,命令总是在左侧,而重定向符号“指向”数据流动的方向。最基本的重定向将命令的输出发送到一个文件中。按照惯例,一个成功结束的命令的退出状态码是0。shell脚本中最有用的特性之一就是可以从命令输出中提取信息,并将其赋给变量。默认情况下, shell脚本会以脚本中的最后一个命令的退出状态码退出。它的值会变成由shell所执行的最后一条命令的退出状态码。之前显示器上出现的命令输出会被保存到指定的输出文件中。...原创 2022-08-06 17:44:46 · 407 阅读 · 0 评论 -
安装软件程序(shell07)
举个例子,在LinuxMint的sources.list文件中,你能看到混用了Linux Mint和Ubuntu的软件仓库。到目前为止,最常用的命令行工具是aptitude,这是有原因的。可以用方向键在菜单上移动。尽管aptitude可以帮忙解决安装软件时遇到的问题,但解决有依赖关系的多个包的更新会比较烦琐。如果你已经知道了系统上的那些软件包,只想快速显示某个特定包的详细信息,就没必要到aptitude的交互式界面。无法通过aptitude看到的一个细节是所有跟某个特定软件包相关的所有文件的列表。...原创 2022-08-06 17:43:09 · 885 阅读 · 0 评论 -
管理文件系统(shell06)
fdisk 创建了基本的Linux分区之后 ,需要通过t命令改变分区类型分区类型8e表示这个分区将会被用作Linux LVM系统的一部分,而不是一个直接的文件系统下一步是用分区来创建实际的物理卷。这可以通过pvcreate命令来完成。pvcreate定义了用于物理卷的物理分区。它只是简单地将分区标记成Linux LVM系统中的分区而已。别被吓人的消息dev_is_mpath: failed to get device for 8:17或类似的消息唬住了。...原创 2022-08-06 17:41:31 · 569 阅读 · 0 评论 -
理解Linux文件权限(shell05)
然后通过chgrp命令将目录的默认属组改为包含所有需要共享文件的用户的组(你必须是该组的成员)。/etc/passwd文件中的密码字段都被设置成了x ,现在,绝大多数Linux系统都将用户密码保存在另一个单独的文件中(叫作shadow文件,位置。对目录来说,目录中创建的新文件会以目录的默认属组作为默认属组。系统上的任何用户都能改自己的密码,但只有root用户才有权限改别人的密码。默认情况下, userdel命令会只删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。...原创 2022-08-06 17:40:17 · 365 阅读 · 0 评论 -
使用Linux环境变量(shell04)
查看全局变量,可以使用env或printenv命令显示个别环境变量的值,可以使用printenv、echo 命令全局环境变量可用于进程的所有子shell部环境变量只能在定义它们的进程中可见set命令会显示为某个特定进程设置的所有环境变量,包括局部变量、全局变量以及用户定义变量。通过等号给环境变量赋值,值可以是数值或字符串变量名、等号和值之间没有空格 如果在赋值表达式中加上了空格,bash shell就会把值当成一个单独的命令通过export命令来完成,变量名前面不需要加$修改子shell中全局环境变量原创 2022-08-06 17:38:36 · 361 阅读 · 0 评论 -
理解shell(shell03)
这里要注意的是,bash命令的历史记录是先存放在内存中,当shell退出时才被写入到历史文件中。对于有多种实现的命令,如果想要使用其外部命令实现,直接指明对应的文件就可以了。相比外部命令,内建命令提供了更高的性能,但shell中包含的内建命令越多,消耗的内存就会越大,而有些命令几乎永远也不会用到。因为既不需要通过衍生出子进程来执行,也不需要打开程序文件,内建命令的执行速度要更快,效率也更高。当外部命令执行时,会创建出一个子进程。括号的加入使命令列表变成了进程列表,生成了一个子shell来执行对应的命令。..原创 2022-08-06 17:36:43 · 647 阅读 · 0 评论 -
更多的bash shell命令(shell02)
用户在top命令的输出上有很大的控制权。df命令的输出值显示的是Linux系统认为的当前值。后面两个参数定义了该存储设备的设备文件的位置以及挂载点在虚拟目录中的位置。它会把输出中的磁盘空间按照用户易读的形式显示,通常用M来替代兆字节,用G替代吉字节。S:进程的状态( D代表可中断的休眠状态, R代表在运行状态, S代表休眠状态, T代表跟踪状态或停止状态, Z代表僵化状态)。sort命令是对数据进行排序的 ,默认情况下, sort命令按照会话指定的默认语言的排序规则对文本文件中的数据行排序。...原创 2022-08-06 17:34:50 · 345 阅读 · 0 评论 -
基本的bash shell命令(shell01)
硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。要创建硬链接,原始文件也必须事先存在,只不过这次使用ln命令时不再需要加入额外的参数了。less命令的操作和more命令基本一样,一次显示一屏的文件文本。它允许你在其他进程使用该文件时查看文件的内容。tail命令会保持活动状态,并不断显示添加到文件中的内容。符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。要想在不同存储媒体的文件之间创建链接,只能使用符号链接。...原创 2022-08-06 17:31:43 · 276 阅读 · 0 评论