当前位置: 首页 > 编程日记 > 正文

Linux shell笔记

由于工作的需要,越来越多的接触到linux系统。最近看了《Linux与Unix Shell》这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅。

No.001 文件安全与权限

1. umask 决定了新建文件的权限
2. 软链接(符号链接) ln -s source_path target_path

No.002 find和xargs

1. find pathname -options [-print -exec -ok]
   其中exec参数的命令格式: 'command-' {} \; 注意必须包含【{} \;】
   -perm 按权限来查找  ex. find . -perm 755 -print
   -mtime 按修改时间来查找 ex. find / -mtime -5 -print 更改时间5天以内
                               find / -mtime +5 -print 更改时间5天以前
2. xargs与-exec和-ok类似,但是限制更少,也更快
   3种参数的命令:find . -name "*.c" -exec wc -l {} \;
                        find . -name "*.c" -ok wc -l {} \;   每次执行命令前有提示
                        find . -name "*.c" | xargs wc -l

No.003 后台执行命令

1. [crontab] [at] [&] [nohup]四种

No.004 文件名置换

1. 列出隐藏文件 ex. ls .*

No.005 shell输入与输出

1. echo输出时加上 -n 参数不换行, ex. echo -n "aaaa"
2. tee 命令可以同时输出到屏幕和文件中 ex. ls | tee file.out
3. 标准输入 0  标准输出 1  标准错误 2
4. 将标准输出和标准错误输入到一个文件  ex. command >file.out 2>&1

No.006 命令执行顺序

1. 命令1 && 命令2    命令1执行成功后才会执行命令2
2. 命令1 || 命令2    命令1执行失败后才会执行命令2

No.007 正则表达式

1. 正则表达式元字符及含义
    ^                     只匹配行首
    $                     只匹配行尾
    *                     匹配0次或多次
    []                    匹配[]内字符
    \                     转义符
    .                     匹配任意一个字符
    pattern\{n\}          匹配pattern出现的次数,n次
    pattern\{n, \}        同上,最少n次
    pattern\{n, m\}       同上,次数在n与m之间

No.008 grep

1. grep 主要选项及其含义
   -c    只输出匹配行的行数
   -i    不区分大小写
   -h    查询多文件时不显示文件名
   -l    查询多文件时只输出包含匹配字符的文件名
   -n    显示匹配行及行号
   -s    不显示不存在或无匹配文本的错误信息
   -v    显示不包含匹配文本的所有行
2. 查询空行 grep '^$' filename
3. 类名及等价的正则表达式
   [[:upper:]]    =    [A-Z]
   [[:lower:]]    =    [a-z]
   [[:digit:]]    =    [0-9]
   [[:alnum:]]    =    [0-9a-zA-Z]
   [[:space:]]    =    空格或tab键
   [[:alpha:]]    =    [a-zA-Z]

No.009 AWK

# awk的主要作用在于将文本分成各个区域,便于分别进行处理
1. awk -F指定分隔符,-f指定awk脚本
   ex. awk -F: 'commands' input-file(s)
   ex. awk -f awk-script input-file(s)
2. awk 分隔出的域用$1,$2...$n来表示,其中$0表示所有域
3. awk 条件操作符 <, <=, >=, ==, !=
   ~  匹配正则表达式   !~  不匹配正则表达式
4. awk 内置变量
   ARGC        命令行参数个数
   ARGV        命令行参数排列
   ENVIRON     支持队列中系统环境变量的使用
   FILENAME    awk浏览的文件名
   FNR         浏览文件的记录数
   FS          设置输入域分隔符,等价于命令行-F选项
   NF          记录的域个数
   NR          已读的记录数
   OFS         输出域分隔符
   ORS         输出记录分隔符
   RS          控制记录分隔符
   ex. awk '{print NF,NR,$0} END{print FILENAME}' input-file
5. awk 字符串函数
   gsub, index, length, match, split, sprint, sub, substr, substr
6. awk 中的printf函数可以控制格式化输出
7. awk 的循环结构 For (element in array) print array[element]

No.010 sed

# sed的主要作用在于过滤和查找文本中的特定内容
1. sed 命令格式: sed [options] sed-command input-file
                  sed [options] -f sed-script input-file

No.011 合并和分隔文件

1. sort, uniq, join, cut, paste, split

No.012 tr的用法

1. 去除oops.txt中的重复字符 tr -s "[a-z]" < oops.txt
2. 去除oops.txt中的空行 tr -s "[\n]" < oops.txt
3. oops.txt中小写转大写 tr -s "[a-z]" "[A-Z]" < oops.txt

No.013 登录环境

1. /etc/passwd 保存所有账号的基本信息(不包括密码)
2. /etc/profile 基本的配置信息,登录时读取此文件
3. $HOME/*profile 各个用户的profile文件,会覆盖系统的profile文件
4. $HOME/*logout logout(键入命令exit时)是执行的脚本

No.014 环境和shell变量

1. shell变量的设置方式
   Variable-name=value    设置实际值到variable-name
   Variable-name+value    如果设置了variable-name,则重设其值
   Variable-name:?value   如果未设置variable-name,显示未定义用户错误信息
   Variable-name?value    如果未设置variable-name,显示系统错误信息
   Variable-name:=value   如果未设置variable-name,设置其值
   Variable-name:-value   如果未设置variable-name,就用value,但是不设置variable-name
2. 设置只读变量  readonly variable-name
3. export variable-name 可以将变量导入到子shell中
4. shell脚本的参数 $0表示脚本名字,$1表示第一个参数......$9表示第九个参数
5. 特定shell变量
   $#    参数个数
   $*    用一个字符串显示所有参数
   $$    脚本运行的当前进程ID
   $!    后台运行的最后一个进程的进程ID
   $@    与$*相同,每个参数作为独立的字符串
   $-    显示shell的当前选项,与set命令相同
   $?    显示shell命令的退出状态,0表示无错误,其他表示有错

No.015 引号

1. 双引号("") 其中引用的变量会替换为变量值。比如:
    [wangyb@localhost bash]$ STR="Hello world"
    [wangyb@localhost bash]$ echo "$STR"
    Hello world
2. 单引号('') 忽略变量和其他特殊字符,单引号内任何内容都当成字符串显示。比如:
    [wangyb@localhost bash]$ STR="Hello world"
    [wangyb@localhost bash]$ echo '$STR'     
    $STR
3. 单引号和双引号同时使用时,谁在外面谁起作用。比如
    [wangyb@localhost bash]$ echo "'$STR'"
    'Hello world'
    [wangyb@localhost bash]$ echo '"$STR"'
    "$STR"
4. 反引号(``) 反引号中的内容被当做命令来执行。比如
    [wangyb@localhost bash]$ VAR=`date`
    [wangyb@localhos bash]$ echo $VAR
    Thu Dec 22 22:08:07 JST 2011
5. 转义符(\)

No.016 Shell脚本介绍

1. 脚本的第一行一般以  #!/bin/bash  开始
2. 给脚本加入执行权限后就可以运行脚本了

#No.017 条件测试

1. 测试语法  test condition 或者 [ condition ] 使用方括号是注意在condition两边加上空格
2. 文件状态测试
   -d    目录            -s    文件长度大于0
   -f    正规文件        -w    可写
   -L    符号连接        -u    文件有suid位设置
   -r    可读            -x    可执行
   例子如下:测试是否为目录,也可以用 test -d bash.sh 来代替方括号
    [root@localhost bash]# [ -d bash.sh ]
    [root@localhost bash]# echo $?
    1
    [root@localhost bash]# [ -d . ]     
    [root@localhost bash]# echo $?
    0
3. 逻辑与 -a  逻辑或 -o  逻辑否 ! 例子如下:
    [root@localhost bash]# [ -d bash.sh -a -d . ]
    [root@localhost bash]# echo $?
    1
    [root@localhost bash]# [ -d bash.sh -o -d . ] 
    [root@localhost bash]# echo $?
    0
    [root@localhost bash]# [ ! -d bash.sh -a -d . ]   
    [root@localhost bash]# echo $?
    0
    [root@localhost bash]# [ ! -d bash.sh -a ! -d . ]
    [root@localhost bash]# echo $?
    1
4. 字符串测试  [ string1 string_operator string2 ] 或者 [ string_operator string ]
   string_operator可为:=      两个字符串相等
                        !=     两个字符串不等
                        -z     空串
                        -n     非空串
5. 数值测试  [ "number1" num_operator "number2" ]
   num_operator可为:  -eq     数值相等
                       -ne     数值不等
                       -gt     number1 > number2
                       -lt     number1 < number2
                       -le     number1 <= number2
                       -ge     number1 >= number2
   例子:   [root@localhost bash]# [ "100" -gt "101" ]
            [root@localhost bash]# echo $?
            1
            [root@localhost bash]# [ "100" -lt "101" ]
            [root@localhost bash]# echo $?           
            0
6. expr语法  expr arg1 operator arg2
   例子:变量自增
            [root@localhost bash]# COUNT=1       
            [root@localhost bash]# echo $COUNT   
            1
            [root@localhost bash]# COUNT=`expr $COUNT + 1`
            [root@localhost bash]# echo $COUNT           
            2

No.018 控制流结构

1. if语句格式
   if 条件1
   then
        执行命令1
   elif 条件2
   then
        执行命令2
   else
        执行命令3
   fi
2. case语句格式
   case 值 in
   模式1)
       命令1
       ;;
   模式2)
       命令2
       ;;
   ......
   easc
其中的“模式”可以是 *(任意字符), ?(任意单字符), [..](范围内任意字符)
“模式”中还可以是使用 | (比如 str1|str2 表示str1和str2都可以)
3. for语句格式
   for 变量名 in 列表
   do
       命令1
       命令2 ......
   done
4. until语句格式
   until 条件
         命令1
         ......
   done
一直执行至条件为真时才结束,至少执行一次
5. while语句格式
   while 条件
         命令1
         ......
   done
6. 利用IFS来改变读取内容的分隔符
7. 利用break和continue控制循环的执行

No.019 Shell函数

1. shell函数格式
   函数名 ()
   {
       命令1
       ......
   }
或者
   function 函数名 ()
   {
       命令1
       ......
   }
2. 引用其他脚本中函数  . /pathname/funcfile (<点><空格><斜线><文件完整路径名>或者<点><空格><文件相对路径名>)
3. 函数中通过 $1, $2,......$9来获取参数

No.020 向脚本传递参数

1. 使用shift依次获取各个参数,比如
   while [ $# -ne 0 ]
   do
         echo $1  # 通过shift,$1将依次表示各个参数
         shift
   done
2. getopts语法格式 getopts operation-string variable。

No.021 屏幕输出

1. tput 控制屏幕上的字符输出,比如加粗字符,隐藏光标等等
2. 改变字符颜色的方法,比如
   echo "<CTRL-V><ESCAPE>[40;32m"   设置背景黑色(40), 字符绿色(32)

No.022 屏幕输入

1. 输入时进行validation check
   “送进的是垃圾,出来的肯定是垃圾”

No.023 调试脚本

1. shell不会对错误进行精确定位,当shell打印错误后,需要观察报错的整个代码段
2. 在脚本中利用set命令辅助调试
   set -n    读命令但不执行
   set -v    显示读取的所有行
   set -x    显示所有命令及参数
   - 表示打开; + 表示关闭;set +x 表示关闭显示所有命令及参数

No.024 shell 嵌入命令

1. set 命令在脚本中设置脚本的运行参数
2. times命令打印shell消耗时间和运行命令消耗时间 ???
3. type 命令查询命令是否有效及命令类型
4. ulimit 命令设置运行在shell上的显示限制
5. wait 命令是父进程等待子进程完成

No.025 深入讨论<<

1. 创建文本  ex. cat >> file <<end
                 > (输入内容)
                 > end
   (输入内容)将被追加到file中

No.026 shell工具

1. 用日期做文件名,ex.  $ Myfile=`date +%Y%m%d%H%M%S`
                        $ touch $Myfile
2. 脚本中的临时文件名中加入进程号,可以保证文件名唯一,并在脚本结束时删掉文件
   ex. TmpFile1=/tmp/tempfile1.$$
       TmpFile2=/tmp/tempfile2.$$
       rm /tmp/*.$$
3. 常用信号
   信号    信号名        含义
   1       SIGHUP        挂起或父进程被杀死
   2       SIGINT        来自键盘的中断信号,通常是<CTRL-C>
   3       SIGQUIT       从键盘退出
   9       SIGKILL       无条件终止
   11      SIGSEGV       段(内存)冲突
   15      SIGTERM       软件终止(缺省杀进程信号)
4. trap 捕获信号 语法 trap "do-something" signal(s)
   ex.  trap "" 2 3           忽略信号2和信号3,用户不能终止该脚本
        trap "commands" 2 3   如果捕捉到信号2和信号3,就执行相应的commands
        trap 2 3              复位信号2和3,用户可以终止该脚本
5. eval 对变量进行2次扫描 比如:
        [wangyb@localhost bash]$ VAR1="cat a.sh"
        [wangyb@localhost bash]$ echo $VAR1
        cat a.sh
        [wangyb@localhost bash]$ eval echo $VAR1 
        cat a.sh
        [wangyb@localhost bash]$ eval $VAR1    
        #!/bin/bash
        TMP='HELLO'
        sleep 2
        times
6. 获取命令行的最后一个参数: ex. $(eval echo \$$#)
7. logger 命令记录日志

No.027 几个脚本例子

# 作者常用的几个脚本

No.028 运行级别脚本

1. 确定当前的运行级别:who -r
2. 运行级别含义
   运行级别0    启动和停止整个系统
   运行级别1    单用户或管理模式
   运行级别2    多用户模式;部分网络服务被启动。
   运行级别3    正常操作运行模式,启动所有的网络服务
   运行级别4    用户定义的模式,可以使用该级别来定制所需要运行的服务
   运行级别5    有些Unix操作系统变体叫起作为缺省X-windows模式
   运行级别6    重启动

No.029 cgi脚本

# 感觉现在应该不会有人用bash来开发web程序了吧

No.030 常用shell命令

1. basename : basename path
2. cat : cat optiones file
       -v 显示控制字符
3. compress : compress options files
       -v 显示压缩结果
4. cp : cp options file1 file2
       -i 覆盖文件之前提示用户确认
       -p 保留权限模式和更改时间
       -r 拷贝相应的目录及其子目录
5. diff : diff options file1 file2
       -c 按照标准个数输出
       -I 忽略大小写
6. dircmp : dircmp options directory1 directory2
       -s 不显示相同的文件
7. dirname : dirname pathname
8. du : du options directory
       -a 显示每个文件的大小,不仅是整个目录所占用的空间
       -s 只显示总计
9. file : file filename
10. fuser : fuser options file
       -k 杀死所有访问该文件或文件系统的进程
       -u 显示访问该文件或文件系统的进程
11. head : head -number files
12. logname : logname (显示当前使用的登陆用户名)
13. mkdir : mkdir options directory
        -m 在创建目录时按照该选项的值设置访问权限
14. more : more options files
        -c 不滚屏,而是通过覆盖来换页
        -d 在分页处显示提示
        -n 每屏显示n行
15. nl : nl options file
        -I 行号每次增加n;缺省为1
        -p 在新的一页不重新计数
16. printf : printf format arguments
17. pwd : pwd
18. rm : rm options files
        -i 在删除文件之前给出提示(安全模式)
        -r 删除目录
19. rmdir : rmdir options directory
        -p 如果相应的目录为空目录,则删除该目录
20. script : script option file
        -a 将输出附加在文件末尾
21. shutdown : shutdown now
22. sleep : sleep number(秒数)
23. strings : strings filename (查看二进制文件中的文本)
24. touch : touch options filename
        -t MMDDhhmm 创建一个具有相应月,日,时分时间戳的文件
25. tty : tty 显示所连接的设备或终端
26. uname : uname options
        -a 显示所有信息
        -s 系统名
        -v 只显示操作系统版本或其发布日期
27. uncompress : uncompress files
28. wait : wait processID
29. wc : wc options files
        -c 显示字符数
        -l 显示行数
        -w 显示单词数
30. whereis : whereis command_name
31. who : who options
        -a 显示所有的结果
        -r 显示当前的运行级别
        -s 列出用户名及时间域

转载于:https://www.cnblogs.com/wang_yb/archive/2011/12/30/2307083.html

相关文章:

ACL最佳论文提出最新NLP模型测试方法,最佳论文提名也不可小觑

译者 | 刘畅出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;近日&#xff0c;ACL 2020公布了最佳论文奖&#xff0c;另有两篇最佳论文荣誉提名奖也各自提出了解决NLP领域问题的创新方法。最佳论文&#xff1a;Beyond Accuracy: Behavioral Testing o…

LVM逻辑卷的缩减与删除,LVM逻辑卷快照,btrfs文件系统,网络管理

逻辑卷缩减缩减的时候要注意缩减的空间不要超过文件系统的空间&#xff0c;不然缩减的时候会损坏文件系统。第一步要先取消挂载&#xff08;必须&#xff09;第二部检查文件完整性&#xff08;必须&#xff09;e2fsck -f /dev/vg0/lv0第三部文件系统缩减&#xff0c;先缩减文件…

屏掉F5刷新的办法

<body οnkeydοwn"KeyDown()"> function KeyDown(){ //屏蔽退格删除键,屏蔽 F5 刷新键,Ctrl R if ((event.keyCode116)||(event.ctrlKey && event.keyCode82)) { event.keyCode0; event.returnValuefalse; } }

WAIC汇聚全球顶级科学家,畅谈人工智能的未来挑战与突破

7月9日&#xff0c;2020世界人工智能大会&#xff08;WAIC&#xff09;正式拉开帷幕。当天下午&#xff0c;2020世界人工智能大会科学前沿全体会议召开&#xff0c;作为今年WAIC唯一一场聚焦前沿科技的大会&#xff0c;邀请了世界范围内最顶级的AI专家探讨技术趋势。其中&#…

ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)

2019独角兽企业重金招聘Python工程师标准>>> 一&#xff1a;ant执行命令的详细参数 -buildfile<file>,-file<file>,-f<file> :要指定执行构件的的位置和名称。 -find<file>,-s<file>: 查找构件文件&#xff0c;并执行找到的构件文件。…

mipi和dsi

转自&#xff1a; http://blog.csdn.net/longxiaowu/article/details/24410021 一、MIPI MIPI&#xff08;移动行业处理器接口&#xff09;是Mobile Industry Processor Interface的缩写。MIPI&#xff08;移动行业处理器接口&#xff09;是MIPI联盟发起的为移动应用处理器制定…

在asp.net中调用Office来制作各种(3D)统计图

作者&#xff1a;未知 由于本文网上多处见到 对于谁是作者 无法肯定1、下载owc11 COM组件 http://www.microsoft.com/downloads/details.aspx?FamilyID7287252c-402e-4f72-97a5-e0fd290d4b76&displaylangen 2、注册owc11 在工程中添加 C:/Program Files/Common File…

个人谈谈seo

为什么80%的码农都做不了架构师&#xff1f;>>> 我不知道大家有没有做过seo的工作。以前我是一各技术人员。纯技术开发或技术管理人员。基本上也没有接触过seo的相关工作&#xff0c;整天在写代码或看别人的代码 。干了六年只见他们都在谈友情链接。做推广&#xf…

“编程能力差的程序员,90%输在这事上!”谷歌AI专家:都是瞎努力!

Google 人工智能开发者专家彭靖田老师说——超90%的程序员在初学Python 人工智能时&#xff0c;都会遇到下面3个问题&#xff1a;1.想学人工智能&#xff0c;但不知从何学起&#xff0c;也不知道该选择什么方向...2.Python语法、机器学习/深度学习框架、算法都能看懂&#xff0…

[译]JavaScript中,{}+{}等于多少?

最近,Gary Bernhardt在一个简短的演讲视频“Wat”中指出了一个有趣的JavaScript怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得出的. 在JavaScript中,加法的规则其实很简单,只有两种情况:你只能把数字和数字相加,或者字符串…

大数量查询分页显示

微软的解决办法 using System; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Windows.Forms; public class PagingSample: Form { // Form controls. Button prevBtn new Button(); Button nextBtn new Button(); static DataGrid …

Sep 26 09:22:41 ck01 kernel: Buffer I/O error on device sda2, logical block 2

错误 kernel: sd 0:2:0:0: SCSI error: return code kernel: end_request: I/O error, dev sda, sector 2308509 kernel: Buffer I/O error on device sda2, logical block 2 kernel: Buffer I/O error on device sda2, logical block 2 硬盘扇区问题&#xff1f; 更换一块硬盘…

启信宝CEO陈青山:AI+大数据驱动下的金融新生态

人工智能怎样潜移默化影响金融业务&#xff1f;合合信息联合创始人、启信宝CEO陈青山在2020世界人工智能大会云端峰会.未来金融论坛上做了“AI大数据&#xff0c;共创金融新生态”的主题演讲&#xff0c;讲述了如何通过数字化构建一个虚拟世界&#xff0c;协助金融类企业建立新…

新手安装ruby on rails(ror)的成功必备手册

2019独角兽企业重金招聘Python工程师标准>>> 如何快速正确的安装 Ruby, Rails 运行环境 每一位使用windows系统来进行ROR开发项目的都是这个世界上折翼的天使。对于新入门的开发者&#xff0c;如何在windows系统上安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是…

Logback学习笔记1

Logback介绍 Logback 分为三个模块&#xff1a;Core、Classic 和 Access。Core模块是其他两个模块的基础。 Classic模块扩展了core模块。 Classic模块相当于log4j的显著改进版。Logback-classic 直接实现了 SLF4J API。 要引入logback&#xff0c;由于Logback-classic依赖slf4j…

微软亚洲研究院副院长刘铁岩:AI如何助力节能减排?

7月10日&#xff0c;在微软举办的WAIC●2020人工智能予力永续未来论坛&#xff0c;微软亚洲研究院副院长刘铁岩围绕 AI 在节能减排领域的应用&#xff0c;探讨了如何推进整个社会的可持续发展。 刘铁岩指出&#xff0c;人工智能在助力节能环保方面具有巨大潜力。例如&#xff…

如何在域控制器上安装asp.net?

作者&#xff1a;网际浪子专栏&#xff08;曾用名littlehb&#xff09; http://blog.csdn.net/littlehb/在域控制器或备份域控制器上安装 Microsoft Visual Studio .NET 或 Microsoft .NET 框架后&#xff0c;如果您尝试运行 ASP.NET 应用程序&#xff0c;则浏览器…

前端思想实现:面向UI编程_____前端框架设计开发

引子&#xff0c;我去小说看多了&#xff0c;写博客竟然写引子了&#xff01;&#xff01;&#xff01;不过&#xff0c;没引子不知道怎么写了。言归正传吧&#xff0c;前端这个职业&#xff0c;也就这几年刚刚火起来的职业&#xff0c;以前那个混乱的年代&#xff0c;前端要么…

如何检查当TextBox设置为多行时是不是超长了?

<asp:RegularExpressionValidator id"revTextBox1" runat"server" ForeColor"Red" Display"Dynamic" ControlToValidate"textBox1" ValidationExpression"(/w|/W){1,100}">格式错误-只能输入不超过100个字符…

仅用2年过渡到自研ARM芯片,苹果的底气从何而来?

作者 | Steven Sinofsky译者 | 弯月&#xff0c;责编 | 屠敏题图 | 东方 IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;今年 WWDC 2020 上&#xff0c;苹果宣布自研 ARM 芯片——Apple Silicon&#xff0c;对于苹果而言&#xff0c;Apple Silicon很重要&#…

从“创业输家”到“创智赢家”

年轻就是创业的资本&#xff0c;但同时还要不怕失败&#xff0c;经得起挫折&#xff01;”在上海财经大学的演讲厅内&#xff0c;彭震以自己亲身的经历&#xff0c;向在场的学生们介绍了自己创业背后的艰辛。彭震&#xff0c;现任项丰投资公司董事长&#xff0c;作为首届“ 创智…

2.正则表达式

在计算机科学中&#xff0c;正则表达式是这样解释的&#xff1a;它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里&#xff0c;正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用…

基于监督学习+自监督学习的智能抠图,精确到发丝 | CVPR 2020

来源 | AI算法与图像处理&#xff08;ID:AI_study&#xff09;华盛顿大学的研究者最近发表的论文在CVPR 2020提供了一个新的和简单的智能抠图方法。你可以在家里做这些日常设置&#xff0c;使用固定或手持相机。我们的方法也是最先进的&#xff0c;给出的输出可比专业的结果。在…

安装Jpype

1、下载JPype-0.5.4.2 2、 python setup.py install error: gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE2 -fexceptions -fstack-protector --paramssp-buffer-size4 -m64 -mtunegeneric -D_GNU_SOURCE -fPIC -fPIC -I/usr/lib/jvm…

SQL SERVER中带参数的返回

作者&#xff1a;网际浪子专栏&#xff08;曾用名littlehb&#xff09; http://blog.csdn.net/littlehb/ CREATE PROCEDURE LoginUser loginUN char(50) OUTPUT, loginPW char(40)ASif loginPW (select [password] from users where usernameloginUN) return 0;else ret…

Android Studio 编译单个module

前期自己要把gradle环境变量配置好 在Terminal中gradle命令行编译apk 输入gradle assembleRelease 会编译全部module编译单个modulecd ./xiruan //xiruan是module的名字 //意思是进入module目录gradle assembleRelease //编译出自己签名的apk //签名环境也要配置好gradle ass…

linux下文件字符集转化实战篇

linux下文件字符集转化实战篇------------------------------------------为什么转换编码&#xff0c;起因&#xff1a;分析应用程序日志&#xff0c;文件编码格式gb2312&#xff08;含中文字符&#xff09;&#xff0c;通过linux shell脚本从日志中提取出需要的字段并生成有固…

如何得到数据库中所有表字段及字段中文描述

如何得到数据库中所有表字段及字段中文描述以下资料,通过csdn的一位师兄从SQL版主那得到:sql中SELECT (case when a.colorder1 then d.name else end) N表名, a.colorder N字段序号, a.name N字段名, (case when COLUMNPROPERTY( a.id,a.name,IsIdentity)1 then √else end)…

它估值25亿!被马云领投,是华为“老战友”,网友:也许股价能超茅台!

最近一条新闻被炒的沸沸扬扬&#xff1a;十年以来中国最大IPO&#xff0c;中芯国际将融资532亿元&#xff01;何为IPO&#xff1f;翻译即为一家公司第一次向全社会公开售出它的股份。买的人越多&#xff0c;代表着社会对其信心越大。为什么2020年&#xff0c;能爆发这样1场最大…

改變人生的21種好習慣

當一個人生活枯燥的時候&#xff0c; 他忘了用心體會是一種習慣。 當一個人覺得人生乏味的時候&#xff0c; 他忘了培養幽默是一種習慣。 當一個人體力日差的時候&#xff0c; 他忘了運動建身是一種習慣。 當一個人工作疲憊的時候&#xff0c; 他忘了認真休息是一種習慣。 當一…