鸟哥私房菜第十章

飞书应用开发脚手架lark-harness:从零构建企业级机器人 在构建企业级应用时,开发脚手架是提升工程效率和规范性的关键工具。其核心原理在于通过预设的项目模板、最佳实践和通用模块封装,自动化处理项目初始化、配置管理和基础架构搭建。这种技术价值在于将开发者从重复性劳动中解放出来,确保团队技术栈统一,并降低维护成本。在Node.js生态中,脚手架常与Express或Koa等Web框架结合,用于快速构建Web服务、API接口和实时事件处理系统。具体到飞书开放平台开发场景,开发者需要处理OAuth 2.0授权、事件订阅验证、消息加解密等复杂且标准的流程。lark-harnes 阅读详情

一、shell
1.什么是shell
shell是转移器(翻译器),将我们敲的命令翻译成CPU看的懂的语言,CPU完成之后,再通过shell翻译成我们能看懂的语言。
2.shell的使用
①需要一块软件连接shell,在Linux里用终端连接(终端是人与shell的桥梁)。我这个电脑的shell有:

liyiheng@liyiheng-PC:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/usr/bin/dash
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash

在Linux中,默认使用的shell是/bin/bash

liyiheng@liyiheng-PC:~$ which ls
/usr/bin/ls

当用which命令查看时,如果是在/bin/下,则查看的东西是通过其他安装包下载的,不是shell安装的。

liyiheng@liyiheng-PC:~$ type cd
cd 是 shell 内建
liyiheng@liyiheng-PC:~$ type ls
ls 是 `ls --color=auto' 的别名

这说明cd是shell自带的命令,而ls不是。

②在同一行要执行多个命令,用;隔开

liyiheng@liyiheng-PC:~$ cal ; date
      四月 2020         
日 一 二 三 四 五 六  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28 29 30        
                      
20200411日 星期六 11:15:38 CST

③如果命令太长,则可以输入\和回车两个命令:

liyiheng@liyiheng-PC:~$ xxxxxxxxxxxxxxxxx\
> yyyyyyyyyyyyyy

这时,系统会自动认为这两行是一行命令。

二、shell的变量功能
1.本地变量:变量名=值
①变量名可以由数字,字母,_组成,但不能以数字开头
②=两边不能有空格,(变量名 = 值) 就是错的,如果值内有空格,用“ ”把值括起来,“ 值”

liyiheng@liyiheng-PC:~$ xx=19
liyiheng@liyiheng-PC:~$ echo $xx
19
liyiheng@liyiheng-PC:~$ echo xx
xx

调用变量时,前面加一个$

取消变量:

liyiheng@liyiheng-PC:~$ unset xx
liyiheng@liyiheng-PC:~$ echo $xx

③本地变量只能影响当前shell,不能对子shell起影响。

liyiheng@liyiheng-PC:~$ xx=20
liyiheng@liyiheng-PC:~$ echo $$
13201
liyiheng@liyiheng-PC:~$ bash
liyiheng@liyiheng-PC:~$ echo $$
16768
liyiheng@liyiheng-PC:~$ echo $xx

2.环境变量:export命令

liyiheng@liyiheng-PC:~$ export yy=10

环境变量会影响到所有的子shell

liyiheng@liyiheng-PC:~$ export yy=10
liyiheng@liyiheng-PC:~$ echo $$
13201
liyiheng@liyiheng-PC:~$ echo $yy
10
liyiheng@liyiheng-PC:~$ bash
liyiheng@liyiheng-PC:~$ echo $$
17324
liyiheng@liyiheng-PC:~$ echo $yy
10

3.如何查看变量:set命令
查看环境变量:env命令,export,export -p命令
declare也可以定义环境变量

liyiheng@liyiheng-PC:~$ declare -x zz=10
liyiheng@liyiheng-PC:~$ export
declare -x NO_AT_BRIDGE="1"
declare -x OLDPWD
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin"
declare -x PWD="/home/liyiheng"
declare -x QT4_IM_MODULE="fcitx"
declare -x QT_DBL_CLICK_DIST="22"
declare -x QT_IM_MODULE="fcitx"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"
declare -x TERM="xterm-256color"
declare -x USER="liyiheng"
declare -x VTE_VERSION="5201"
declare -x XAUTHORITY="/home/liyiheng/.Xauthority"
declare -x XDG_CURRENT_DESKTOP="Deepin"
declare -x XDG_GREETER_DATA_DIR="/var/lib/lightdm/data/liyiheng"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
declare -x XDG_SEAT="seat0"
declare -x XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0"
declare -x XDG_SESSION_DESKTOP="deepin"
declare -x XDG_SESSION_ID="2"
declare -x XDG_SESSION_PATH="/org/freedesktop/DisplayManager/Session0"
declare -x XDG_SESSION_TYPE="x11"
declare -x XDG_VTNR="1"
declare -x XMODIFIERS="@im=fcitx"
declare -x yy="10"
liyiheng@liyiheng-PC:~$ declare +x yy
declare -x NO_AT_BRIDGE="1"
declare -x OLDPWD
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin"
declare -x PWD="/home/liyiheng"
declare -x QT4_IM_MODULE="fcitx"
declare -x QT_DBL_CLICK_DIST="22"
declare -x QT_IM_MODULE="fcitx"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"
declare -x TERM="xterm-256color"
declare -x USER="liyiheng"
declare -x VTE_VERSION="5201"
declare -x XAUTHORITY="/home/liyiheng/.Xauthority"
declare -x XDG_CURRENT_DESKTOP="Deepin"
declare -x XDG_GREETER_DATA_DIR="/var/lib/lightdm/data/liyiheng"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
declare -x XDG_SEAT="seat0"
declare -x XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0"
declare -x XDG_SESSION_DESKTOP="deepin"
declare -x XDG_SESSION_ID="2"
declare -x XDG_SESSION_PATH="/org/freedesktop/DisplayManager/Session0"
declare -x XDG_SESSION_TYPE="x11"
declare -x XDG_VTNR="1"
declare -x XMODIFIERS="@im=fcitx"

yy被去除

4.位置变量

liyiheng@liyiheng-PC:~$ set 3 1 2 3 4 5 6 a b c d e
liyiheng@liyiheng-PC:~$ echo $1
3
liyiheng@liyiheng-PC:~$ echo $10
30
liyiheng@liyiheng-PC:~$ echo ${10}
c

如果不加{},则系统认为先进行$1,为3,再将0赋到3后面,结果为30,所以当是两位数以上是,避免歧义,加上{},结果才正确

位置变量:

liyiheng@liyiheng-PC:~$ echo $0
/bin/bash
liyiheng@liyiheng-PC:~$ echo $1
3
liyiheng@liyiheng-PC:~$ echo $#
12
liyiheng@liyiheng-PC:~$ echo $*
3 1 2 3 4 5 6 a b c d e

5.locale 查看系统编码

liyiheng@liyiheng-PC:~$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"

三、变量键盘读取、数组与声明:read array declare
1.read

root@liyiheng-PC:/home/liyiheng# read xx
99999
root@liyiheng-PC:/home/liyiheng# echo $xx
99999

如果read后没有东西,那么系统将默认把输入的东西赋给REPLY

#!/bin/bash
#echo "请输入你的名字"
read -p "请输入你的名字" name
echo "欢迎你$name"/*shell脚本*/

root@liyiheng-PC:/home/liyiheng# ./xx.sh
请输入你的名字lyh
欢迎你lyh

2.array
①定义数组

root@liyiheng-PC:/home/liyiheng# xx=(a b c d)

②查看数组

root@liyiheng-PC:/home/liyiheng# echo ${xx[0]}
a

@或*可以查看数组内所有的内容

root@liyiheng-PC:/home/liyiheng# echo ${xx[@]}
a b c d
root@liyiheng-PC:/home/liyiheng# echo ${xx[*]}
a b c d

查看所有的下标,在数组名前加!

root@liyiheng-PC:/home/liyiheng# echo ${!xx[*]}
0 1 2 3

查看有几个元素,在数组名前加#

root@liyiheng-PC:/home/liyiheng# echo ${#xx[*]}
4

3.declare
①定义环境变量

root@liyiheng-PC:/home/liyiheng# declare -r a=2
root@liyiheng-PC:/home/liyiheng# a=3
bash: a: 只读变量

readonly也可以设置只读变量
②双引号正常,单引号什么都没有

root@liyiheng-PC:/home/liyiheng# xx=10
root@liyiheng-PC:/home/liyiheng# echo $xx
10
root@liyiheng-PC:/home/liyiheng# echo "$xx"
1
root@liyiheng-PC:/home/liyiheng# echo '$xx'
$xx

命令嵌套命令:

root@liyiheng-PC:/home/liyiheng# echo "xxxxxxxxx `hostname` xxxxxxxxxxxx"
xxxxxxxxx liyiheng-PC xxxxxxxxxxxx

4

liyiheng@liyiheng-PC:~$ r=${xx-"aa"}
liyiheng@liyiheng-PC:~$ echo $r
aa

第一行意思为:判断是否存在xx,若存在,将xx的值赋给r,若不存在,将aa赋给r

liyiheng@liyiheng-PC:~$ r=${xx:-"bb"}
liyiheng@liyiheng-PC:~$ xx=
liyiheng@liyiheng-PC:~$ echo $r
bb

第一行的意思为:
①判断是否存在xx,若存在,将xx的值赋给r,若不存在,将bb赋给r
②xx存在但xx值为空,则把bb赋给r

liyiheng@liyiheng-PC:~$ r=${xx:="cc"}
liyiheng@liyiheng-PC:~$ echo $r
cc
liyiheng@liyiheng-PC:~$ echo ${xx}
cc

第一行意思为:
①判断是否存在xx,若存在,将xx的值赋给r,若不存在,将cc赋给r,同时将cc赋给xx
②xx存在但xx值为空,则把cc赋给r,同时将cc赋给xx

liyiheng@liyiheng-PC:~$ r=${xx:?"cc"}
bash: xx: cc

在:后加?,如果xx没有定义或者xx值为空,则显示警告

liyiheng@liyiheng-PC:~$ xx=10
liyiheng@liyiheng-PC:~$ r=${xx:+"cc"}
liyiheng@liyiheng-PC:~$ echo $r
cc

意思为:如果xx定义且不为空,则把cc赋给r;如果xx不存在或者值为空,赋值失败

5、alias命令:给其他命令其别名
alias aa=" ××××"
××××为别名
取消别名:unalias ××××
6.history命令

liyiheng@liyiheng-PC:~$history
 1501  echo $path
 1502  unset path
 1503  r=${xx-"aa"}
 1504  echo xx
 1505  echo $xx
 1506  echo $r
 1507  r=${xx:-"bb"}
 1508  xx=
 1509  $r
 1510  echo $r
 1511  unset xx
 1512  echo $r
 1513  r=${xx:="cc"}
 1514  echo $r
 1515  echo ${xx}
 1516  xx=
 1517  r=${xx:="cc"}
 1518  echo $r
 1519  echo ${xx}
 1520  xx=10
 1521  echo ${xx}
 1522  echo $r
 1523  r=${xx:="cc"}
 1524  echo $r
 1525  unset xx
 1526  r=${xx:?"cc"}
 1527  r=${xx:+"cc"}
liyiheng@liyiheng-PC:~$ !1314
gcc my_ls.c
gcc: error: my_ls.c: 没有那个文件或目录
gcc: fatal error: no input files
compilation terminated.

!1314调用1314行的历史命令
清除历史命令:history -c

四、bash的登录与欢迎信息
1.登录前修改信息:vim /etc/issue
2.登录后修改信息:vim /etc/motd

五、set命令
1.显示未定义的变量(set -u开启警告功能,set +u关闭功能)

liyiheng@liyiheng-PC:~$ set -u
liyiheng@liyiheng-PC:~$ echo $w
bash: w: 未绑定的变量

2.set -x开启跟踪功能,set +x关闭
写脚本排错时常用

liyiheng@liyiheng-PC:~$ set -x
liyiheng@liyiheng-PC:~$ ls
+ ls --color=auto

六、通配符
1.[a-z]:匹配a到z,26个字母
[a-z]:匹配 a,-,z三个字符
2.字符要求:
第一个必须是字母,第二个必须是数字,第三个任意,第四个不能是数字
[a-z][0-9]?[!0-9]
3.通配符可以帮助寻找文件

liyiheng@liyiheng-PC:~$ touch 1234.mp3  a24ehu.mp3 7ah2u.mp3
liyiheng@liyiheng-PC:~$ ls [a-z][0-9]?[!0-9]*.mp3
a24ehu.mp3

找出符合通配符规则的文件

七、将输出输入到指定文件里(>来完成)

liyiheng@liyiheng-PC:~$ cal > yy.txt
liyiheng@liyiheng-PC:~$ cat yy.txt
      四月 2020         
日 一 二 三 四 五 六  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28 29 30        

如果yy.txt原来就存在,那么一个>会将把原来yy.txt里的内容覆盖,保存新的内容;而两个>>会追加到原来的内容后面,原来内容还存在。>只重定向正确的,2>只重定向错误的,&>都重定向

八、命令执行的判断依据:; && ||
1.执行多个命令使用’ ; ’
命令1;命令2
两个命令互不影响,相互独立

liyiheng@liyiheng-PC:~$ cal ; date
      四月 2020         
日 一 二 三 四 五 六  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28 29 30        
                      
20200412日 星期日 15:49:54 CST

执行命令有错误的,有正确的,系统有一个记录命令是否正确的空间,且每次只记录上一个命令的正确性,上一个命令以前的都将覆盖

liyiheng@liyiheng-PC:~$ cal
      四月 2020         
日 一 二 三 四 五 六  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28 29 30        
                      
liyiheng@liyiheng-PC:~$ echo $?
0
liyiheng@liyiheng-PC:~$ xxxxx
bash: xxxxx: 未找到命令
liyiheng@liyiheng-PC:~$ echo $?
127
liyiheng@liyiheng-PC:~$ echo $?
0

如果输入的命令正确,则记录0;否则记录非0的值

2.命令1&&命令2
当命令1执行成功时,才会执行命令2,否则不执行命令2
如果命令1执行成功,命令2执行失败,只显示命令1的结果
3.命令1||命令2
当命令1执行成功时,命令2不会再执行,命令1执行错误,命令2才执行

九、管道命令(pipe)
1.命令1 | 命令2 | 命令3 |…命令n
命令1的值作为参数,传递给命令2,命令2执行,所得结果作为参数,传递给命令3,以此类推
2.命令1 | tee xx,可将命令1所执行的内容保存在xx里
tee -a:追加内容

十、选取命令
1.cut:
①-d:指明分割符 ②-f:查看指明第几部分

liyiheng@liyiheng-PC:/etc$ cut -d: -f1 /etc/passwd
root
daemon
bin
sys
sync
games

③last:显示登录信息

liyiheng@liyiheng-PC:~$ last
liyiheng tty1         :0               Sun Apr 12 21:30   still logged in
reboot   system boot  4.15.0-30deepin- Mon Apr 13 05:30   still running
liyiheng tty1         :0               Sun Apr 12208:52 - 17:27  (08:34)
reboot   system boot  4.15.0-30deepin- Sun Apr 12 16:51 - 17:27  (00:35)

④管道与cut结合

liyiheng@liyiheng-PC:~$ last | cut -d ' ' -f1
liyiheng
reboot
liyiheng
reboot
liyiheng

2.grep
①起过滤作用
②用法:grep 关键字 filename --color;grep -i忽略大小写
grep -in:显示行号;grep -inv:排除含有关键字的行
从filename这个文件中,找出所有带关键字的行,并以明显颜色显示出来
grep -A3 关键字 filename -n --color:将关键字的下面三行显示出来;B3 将关键字的上面三行显示出来

十一、排序命令
1.sort命令:排序

liyiheng@liyiheng-PC:~$ cut -d: -f3 passwd | sort
0
1
10
100
1000
101
102
103
104
105
106
107
108
109

①.数字不是按数字对待,而是以普通字符对待,因此排序完成
比较规则:从左往右 例如1000与101,先比较最左边,1=1,再比较第二个,0=0,再比较第三个,1>0,所以101>1000,101在1000下面

②如果想按照数字进行比较,则在sort后加 -n

liyiheng@liyiheng-PC:~$ cut -d: -f3 passwd | sort -n
0
1
2
3
4
5
6
7
8
9
10
13
33
34
38
39
41

③反向排序

liyiheng@liyiheng-PC:~$ cut -d: -f3 passwd | sort -n -r
65534
1000
999
116
115
114
113
112
111
110

④直接排序

liyiheng@liyiheng-PC:~$ sort -t: -k3 -n passwd 
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync

-t指明分割符,-k指明分割部分,-n按照数字顺序排序
⑤sort -u排除重复的行,-c显示重复多少次
⑥wc命令:

liyiheng@liyiheng-PC:~$ wc hsh.c
 34  30 392 hsh.c

34:行号 30:单词数 392:字符数
⑦统计文件夹有多少个文件或目录

liyiheng@liyiheng-PC:~$ ls -1 | wc -l
38

38个文件
十二、字符转换命令
1.tr命令

liyiheng@liyiheng-PC:~$ cat hosts
127.0.0.1	localhost
127.0.1.1   liyiheng-PC

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
liyiheng@liyiheng-PC:~$ tr 'a-z' 'A-Z' < hosts
127.0.0.1	LOCALHOST
127.0.1.1   LIYIHENG-PC

# THE FOLLOWING LINES ARE DESIRABLE FOR IPV6 CAPABLE HOSTS
::1     IP6-LOCALHOST IP6-LOOPBACK
FE00::0 IP6-LOCALNET
FF00::0 IP6-MCASTPREFIX
FF02::1 IP6-ALLNODES
FF02::2 IP6-ALLROUTERS

可将小写变成大写,但是没有改变原文件
改变原文件:

liyiheng@liyiheng-PC:~$ tr 'a-z' 'A-Z' < hosts > xxx
liyiheng@liyiheng-PC:~$ mv xxx hosts

分两步走
②删除符号

liyiheng@liyiheng-PC:~$ cat passwd | tr -d ';'

举例为删除’;’

2.col命令与expand命令
两者都可以将Tab键转换为空格(cat -A查看)
3.paste命令与join命令
①paste:粘贴作用,与cut相对应

liyiheng@liyiheng-PC:~$ cat aa bb
12345678
sdfghjkl
liyiheng@liyiheng-PC:~$ paste aa bb
12345678	sdfghjkl

原文件不改变
②join:粘贴作用,但是相同内容不粘贴,与paste不同
join -t " : " aa bb指明粘贴符
只有aa、bb里有相同文件时,才可以粘贴,否则不行
在这里插入图片描述
十三、切割命令:split
将大文件分割成小文件

liyiheng@liyiheng-PC:~$ split -b 10k passwd xx

将passwd分割,每个10K,以xx开头
十四、参数代换:xargs

liyiheng@liyiheng-PC:~$ find -name 'file*'   | xargs ls -l
-rw-r--r-- 1 liyiheng liyiheng     0 413 19:40 ./file1
-rw-r--r-- 1 liyiheng liyiheng     0 413 19:39 ./file{1
-rw-r--r-- 1 liyiheng liyiheng     0 413 19:40 ./file2
-rw-r--r-- 1 liyiheng liyiheng     0 413 19:40 ./file3
-rw-r--r-- 1 liyiheng liyiheng     0 413 19:40 ./file4
-rw-r--r-- 1 liyiheng liyiheng     0 413 19:40 ./file5
为什么AI时代的优秀组织,都在学习Meta的Pod结构?看完秒懂 当AI技术重塑产业格局,企业协作正面临前所未有的挑战——层级繁琐、跨部门内耗、迭代滞后,传统组织模式早已难以跟上技术革新的步伐。作为全球AI原生企业的标杆,Meta独创的Pod组织模式,用“小而美”的自治单元打破困局,成为AI时代高效协作的典范。本文将从定义、运作、价值到未来演进,全面拆解Pod模式,为企业组织变革提供可参考的思路与路径。德鲁克曾说:“组织的功能就是让平凡的人做平凡的事。”而Meta Pod打破这一局限,通过去中心化、指标导向、跨界融合,让优秀人才产生“化学反应”。 阅读详情

相关推荐

1.嵌入式控制器EC学习,编译环境搭建

工欲善其事,必先利其器。 在学习EC相关知识之前,首先需要完成EC代码编译环境的搭建,需要如下内容: Keil C51(用于EC中C代码的编译器环境) EC源代码,我们使用从网上可以下载到的 ITE_V12.4_Update 版的代码为例进行学习 代码编辑器,这个可以根据自己的习惯选择,VS Code或者Source Insight等 Keil C51下载地址: http://www.downcc.com/soft/307131.html 下载完成后请进行破解 EC源代码 ...

qq_30135687的博客 3859

LinuxFAQ

1.split分割合并文件 split -b1440k a_whopping_big_file chunk  cat chunk* > a_whopping_big_file ##################################### 2.wget下载整个网站 wget -t0 -c -nH -np -b -m -P /localdir http://freesoft.online

aaaaatiger--寻路 7万+

uniapp - 微信小程序接入官方人脸识别认证详细流程及示例源码,Uniapp微信小程序项目集成官方提供的人脸识别身份验证插件接口(多种示例:人脸核验、身份证件与人脸是否匹配、是否活体、实名认证等)

uni-app微信小程序人脸识别认证,使用uniapp开发微信小程序的人脸采集功能/人脸识别功能,uniapp vue3微信小程序活体人脸识别,Uni-app微信小程序实名认证,uniApp微信小程序人脸认证,UniApp的微信小程序实名认证与人脸识别系统开发,人脸核身微信小程序uni-app接入流程,wx.startFacialRecognitionVerify,uniapp开发微信小程序-人脸采集功能、微信人脸识别实名认证集成指南,识别失败,人脸识别接口怎么调用,前后端完整示例代码demo,人脸检测功能

🏆 前端领域优质创作者 3226

linux 命令总结

1、 永久更改ip ifconfig eth0 新ip 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip 2、从Linux上远程显示Windows桌面 安装rdesktop包 3、 手动添加默认网关 以root用户,

徐辉的专栏 9万+

linux常见问题解答

 linux常见问题解答1.什么是LINUX?  LINUX是一个可独立运作的POSIX兼容操作系统,它也包含了SYS V和BSD的功能。它完全是独之发展的,所以其中没有任何有版权问题的代码。LINUX可以在符合GNU Public License的情况下自由传播。它的核心是由芬兰人Linus Torvalds (torvalds@kruuna.helsinki.fi)所写

zjl_1026_2001的专栏 2906

make 2>&1 | tee xxx.log 引发的思考

Background of this post: Recently, I always noticed that many guys can't distinguish the meaning among stdin, stdout, and stderr, especially, they always ask the same question as: what does "2>&1"

简单 & 执着 9793

About Linux

1部分: Linux的基本操作1.执行程序 ./program_name2.终止出错程序 4.1 显示当前系统中由该用户运行的进程 ps - print status e.g ps –axu | more   列出正在运行的所有进程(选项a) 包括那些没有控制终端的进程(选项x) 包括每个进程所属的用户名(选项u) 因为显示的内容可能要超过一个屏幕,所以用管道命令“|”加上“more”让换屏

gaagaa 6万+

私房菜 读书笔记 第十章

<br />1.     vi与vim:<br />在linux里,绝大部分的配置文件都是以ASCII的纯文本。而所有的UNIX Like系统都会内置vi文本编辑器,其他的文本编辑器不一定存在。而且很多软件的编辑接口都会主动调用vi(例如后来会谈到的crontab,visudo,edquota等命令)。vim是vi的高级版本,可以主动以字体颜色辨别语法的正确性。<br />2.     vi的使用:<br />基本上vi共分为3种模式,分别是一般模式、编辑模式、命令行模式。<br />一般模式:以vi打开一

414

的Linux私房菜第十章

第十章 认识与学习BASH Shell的介绍 硬件、核心与shell 电脑的运行即硬件的运行,硬件的运行是由操作系统的内核(Kernal)来控制的。由于内核控制管理整个系统,如果让用户随意操作内核,当操作不当的时候就会引发很多不必要的问题。所有有了Shell,shell是用户和内核间的一层媒介,用户通过shell和内核沟通,进行一些操作。shell就像裹在内核外的一层壳,用户想要和内核沟通就要...

qq_39079631的博客 266

的Linux私房菜——第十章

  视频链接   土豆网:http://www.tudou.com/programs/view/YI5fpob0Wwk   B站(推荐):http://www.bilibili.com/video/av9806459/   下面是本章的目录,要做到看到目录就想出知识点的地步才算真正了解~ 1. 认识 EXT2 档案系统1.1 硬盘物理组成 ...

dengtangda9444的博客 234

的Linux私房菜第十章、认识与学习BASH

第十章、认识与学习BASH 情景模拟题 略 简答题部分 在Linux上可以找到哪些shell(举出三个)?哪个文件记录可用的shell?而Linux默认的shell是? 答:bash,csh, tcsh,dash ;/etc/shells记录可用的shell ; Linux默认的是bash;而在/etc/passwd文件内会设置各个用户默认会取得的shell。 你输入一串命令之后...

风的季节 552

第十章的Linux私房菜

第十章的Linux私房菜 第十章、vim程式编辑器 1.vi与vim  1.1为何要学vim2.vi的使用  2.1简易执行范例  2.2按键说明  2.3一个案例的练习  2.4vim的暂存档、救援回复与开启时的警告讯息3.vim的额外功能  3.1区块选择(Visual Block)  3.2多档案编辑  ...

weixin_33778544的博客 245

私房菜 第十章 vim程序编辑器

vim程序编辑器   为什么要学vim         所有的Unix Like系统都会内置vi文本编辑器;         所有软件的编辑接口都会主动调用vi;         vim具有程序编辑的能力;         程序简单,编辑速度相当快。   vi的使用         一般vi共分为3个模式:一般指令模式、编辑模式和命令行模式。         一般指令模式:以v

Coldplay_ZHD的博客 373

linux基本命令整理——linux私房菜第十章

认识与学习bash 在linux中使用的shell是bash, bash中可以设置命令别名 alias可以查看现在的命令别名有哪些 #如果想要设置命令别名 alias lm=‘ls -al’ 1.查询指令是否为Bash shell的内置命令:type type [-tpa] name 选项与参数: 不加任何选项与参数时,type 会显示出 name 是外部指令还是 bash 内置指令 -t :当加入 -t 参数时,type 会将 name 以下面这些字眼显示出他的意义: file :表示为外部指令; ali

jujudeyueyue的博客 987

Linux私房菜》——第十章、vim程序编辑器

1、vim +文件     命令模式(一般模式)     从命令模式进入插入模式:    u 撤销     ctrl+r  前进      i 从当前光标进入插入模式     I 从本行开头进入插入模式      a 在当前光标的下一个字符进入插入模式      A 从本行结束进入插入模式      o  在本行的下一行产生一行空白行并进入插入模式      O 在本行的上一行产生一行空白行...

wang的博客 315

私房菜》-第十章-认识和学习BASH

文章目录认识与学习BASHShell的介绍shell、内核、硬件shell的历史Bash shell的功能查询命令是否为bash shell的内置命令(使用type命令)命令的执行和编辑Shell的变量变量的使用和设置变量的使用(echo)变量的设置环境变量的功能环境变量的查看一些变量的含义变量的键盘读取、数组、声明限制用户的使用资源(ulimit)变量内容的删除和替换删除和替换变量的测试和替换命...

qq_43271202的博客 224

的Linux私房菜基础篇 第十章认识和学习bash这个shell

文章目录1 认识bash这个shell2 shell变量功能3 别名与历史命令4 bash shell的操作环境5 数据流重定向6 管道命令pipe 1 认识bash这个shell 用户通过shell来跟kernel进行沟通,但是系统有很多工具提供了shell的功能,其中bash就是其中之一。 bash shell的功能: -命令编修能力 history tab,具有文件名补全,命令补全的功能。...

小宇宙的专栏 418

的Linux私房菜(基础版)第十章学习笔记

第十章 vi 文字处理器学习笔记vi 与 vimvi 的使用简单执行范例命令行内容说明文件的恢复和暂存盘vim的附加功能块选择(Visual Block)多文件编辑多窗口功能vim 环境设置Dos 与 Linux 的换行符课后习题及答案 学习笔记 vi 与 vim Linux 常见文字编辑器: vi、emacs、xemacs、joe、e3、xedit、kedit、pico 等 vi 的使用 vi 的3种模式: 一般模式:一进入该文件就是一般模式。可以使用“上下左右”键来移动光标;“删除字符”或“删除整行”

一只立志于养老婆的程序猿 595

的Linux私房菜基础》第十章、VI、VIM编辑器

Linux 底下的配置文件多为文本文件,故使用 vim 即可进行设定编辑; vim 可规为程序编辑器,可用以编辑 shell script, 配置文件等,避免打错字; vi 为所有 unix like 的操作系统都会存在的编辑器,且执行速度快速; vi 有三种模式,一般模式可变换到编辑与指令列模式,但编辑模式与指令列模式不能互换; 常用的按键有i, [Esc], :wq 等; vi 的画...

zs243279672的博客 237

的Linux私房菜(基础篇)- 第十章、vim 程序编辑器

第十章、vim 程序编辑器 最近更新日期:2009/08/20 系统管理员的重要工作就是得要修改与设定某些重要软件的配置文件,因此至少得要学会一种以上的文字接口的文书编辑器。在所有的 Linux distributions 上头都会有的一套文书编辑器就是 vi ,而且很多软件默认也是使用 vi 做为他们编辑的接口,因此建议您务必要学会使用 vi 这个正规的文书编辑

GarfieldEr007的专栏 1810

的linux私房菜》学习笔记(第十章 vim程序编辑器)

第十章 vim程序编辑器 vi 模式下常用命令 ctrl+f:屏幕向下移动一页 ctrl+b:屏幕向上移动一页 0:移动到这一行的最前面字符处 $:移动到这一行的最后字符处 G:移动到这个文件的最后一行 gg:移动到这个文件的第一行 nG:移动到第n行 /word:向下查找字符串word ?word:向上查找字符串word n:重复前一个查找的操作,如果刚刚使用了/word,那么点击n则继续向下查...

程序媛暖暖 313

降压芯片产品12V转5V降压芯片,12V转3.3V稳压芯片电路图.pdf

本篇文档主要介绍了12V转5V及12V转3.3V两种直流降压稳压芯片的解决方案,同时列举了部分市场上常见的降压芯片产品,并详细阐述了它们的技术特点和应用场景。在12V转5V的应用场景中,由于很多应用会要求较高的输出电流,使用LDO稳压器可能会因为其不能提供足够的电流而无法满足需求。因此,需要用到DC-DC降压芯片来确保输出稳定的5V电压。文档中提到,根据不同的输出电流需求,可以选择不同规格的降压芯片,比如输出电流为1000mA、2000mA、3000mA和5000mA等。这些芯片能够确保在高电流输出的条件下依然保持稳定的电压供应。对于12V转3.3V的应用,通常是为了给MCU单片机或其它特殊重要模块提供稳定的3.3V电源。在这一领域,小电流需求的情况比较常见,因此通常会选用LDO稳压芯片。LDO线性稳压器具备高输入电压、低静态电流、高速和低压降的特点,并且具有高纹波抑制能力,非常适合对电源稳定性有较高要求的微控制器等模块使用。文档还列举了几款具体的降压芯片,例如PW6206、PW6513、PW2162、PW2163、PW2312和PW2205。这些芯片各自具有不同的技术特点

基于粒子群算法的配电网重构优化:降低有功网损的MATLAB实现及应用

基于粒子群算法的配电网重构优化方法,旨在降低有功网损。文中采用了前推回代法进行潮流计算,并以IEEE33节点模型为基础,展示了完整的MATLAB程序实现及其输出结果。主要内容包括粒子群算法的基本原理、粒子编码设计、适应度函数的构建、改进的速度更新公式以及结果可视化模块。此外,文章还讨论了分布式电源对配电网的影响,并通过实验验证了算法的有效性和优越性。适合人群:从事电力系统研究、智能电网优化、配电自动化等相关领域的研究人员和技术人员。使用场景及目标:适用于需要优化配电网结构以降低能耗的研究项目或工程实践中。目标是通过合理的开关操作,使配电网达到最小的有功网损,提高供电可靠性和效率。其他说明:尽管该算法在IEEE33节点测试系统上表现出色,但在实际应用中还需考虑更多复杂因素,如分布式电源的波动性、三相不平衡等问题。

上一篇: 《鸟哥的私房菜》第八章总结
下一篇: linuxc第七章
木子一一~~~
博客等级 码龄7年 24粉丝 37原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值