下载Python图像。
1、使用命令行下载Python图像处理库(PIL)。
2、在名为home/shiyanlou/目录下创建ascii.py的文件。
3、使用gedit打开ascii.py这个代码文模液件。
4、使用简易算法计算像素灰度值。
5、在ascii.py文件中编写代码即可。
Python由荷兰数学简罩和计算机科学研究学会的GuidovanRossum于1990年代初设计,作为一门叫做ABC语言的替代拦码闹品。
② linux系统符号说明
01 系统特殊符号
02 系统通配符号
03 系统正则符号
说明: 查询信息的时候,会带来便利
1) 基础符号系列
$
a 调取变量信息
b 区分用户类型 $ 普通用户
c 结合awk对文件进行取列
xargs -n 2 <test01.txt|awk '{print $2}'
!
a 强制的作用 wq!
b 可以实现取反
awk '!/oldgirl/' test02.txt (排除oldgirl)
find /oldboy_dir/ ! -type f (排除文件)
c !信息 可以快速调取执行历史命令(慎用)
cat ~/.bash_history -- 记录历史命令信息, 但是不会实时记录
history -- 显示所有输入过的历史命令
|
a 实现管道功能
将前一个命令执行的结果交给管道后面的命令进行处理
一般管道符号 会经常和xargs命令配合使用
批量删除操作
find /oldboy -type f -name "oldboy*.txt"|xargs rm
find /oldboy_dir/ -type f -delete
find /oldboy_dir/ -type f -exec rm -f {} \;
查找指定数据信息进行复制
find /oldboy -type f -name "oldboy*.txt" |xargs -i cp {} /oldgirl/
find /oldboy -type f -name "oldboy*.txt" |xargs cp -t /oldgirl/
find /oldboy -type f -name "oldboy*.txt" -exec cp -a {} /oldgirl \;
查找指定数据信息进行移动
find /oldboy -type f -name "oldboy*.txt" |xargs -i mv {} /oldgirl/
find /oldboy -type f -name "oldboy*.txt" |xargs mv -t /oldgirl/
find /oldboy -type f -name "oldboy*.txt" -exec mv {} /oldgirl \;
xargs(火眼金睛)后面跟的命令,不识别别名信息
#
a 表示对配置文件信息进行注释
b 表示用户的身份信息 超级管理员用户
2) 引号符号系列
"" 基本上和单引号功能类似 但是可以对一些特殊符号做出解析 $ `命令`==$(命令)
'' 里面编写的什么内容就输出什么内容 所见即所得
作用:
01. 指定需要输出的信息
02. 利用引号将空格分隔的信息汇总为一个整体
``($()) 将引号里面命令执行结果,交给引号外面命令进行使用
3) 重定向符号
>/1> 标准输出重定向符号
>>/1>> 标准输出追加重定向符号
2> 错误输出重定向符号
2>> 错误输出追加重定向符号
< 标准输入重定向符号
tr xargs
<< 标准输入追加重定向符号
4) 逻辑符号系列
逻辑: 在完成一件事情的时候,有合理先后顺序
&& 前一个命令操作执行成功了,再操作执行后面的命令
|| 前一个命令操作执行失败了,再操作执行后面的命令
mkdir /old_dir && echo "create dir sucess" || echo "create dir failed"
create dir sucess
mkdi /old_dir && echo "create dir sucess" || echo "create dir failed"
-bash: mkdi: command not found
create dir failed
什么通配符号: 用于匹配文件名称信息, 便于快速查找文件信息 find
* 匹配所有信息
find /oldboy -type f -name "oldboy*" ---以oldboy开头的信息都查询出来
find /oldboy -type f -name "*oldboy" ---以oldboy开头的信息都查询出来
find /oldboy -type f -name "oldgirl*oldboy"
---以oldgirl 开头的信息
以oldboy 结尾的信息都查询出来
{} 产生序列信息
连续序列:
echo {01..05}
echo {a..z}
echo {A..Z}
生成不连续序列
a 有规律的不连续序列
echo {01..05..2}
01 03 05
echo {a..z..2}
b 没规律的不连续序列
echo {www,bbs,blog}
www bbs blog
生成组合序列
echo {1,2}{a,b}
1a 1b 2a 2b
echo {1,2}{a,b}{A,B}
1aA 1aB 1bA 1bB 2aA 2aB 2bA 2bB
echo A{a,b}
Aa Ab
A=oldboy.txt
echo oldboy.txt{a,b}
oldboy.txta oldboy.txtb
echo A{,b}
A Ab
A=oldboy.txt
b=.bak
cp oldboy.txt{,.bak} == cp oldboy.txt oldboy.txt.bak
快速备份文件命令
cp oldboy.txt{,.bak}
快速还原数据方法
cp oldboy.txt{.bak,}
echo A{B,}
AB A
oldboy.txt{.bak,} == cp oldboy.txt.bak oldboy.txt
基础正则符号:basic regular expression (BRE)
扩展正则符号:extended regular expression (ERE)
基础正则符号:
a 尖角符号:^
以什么开头的信息进行过滤出来
grep -v "^#" nginx.conf.default >nginx.conf(对不需要关注的信息取反)
常见错误
find / -type f -name "^oldboy" 错误
find / -type f -name "oldboy*" 正确
b 美元符号:$
以什么结尾的信息进行过滤出来
以m结尾信息, 并且显示上1行 和 下2行的信息
grep "m$" -A 2 -B 1 test.txt
常见错误:
如果过滤不出来,确认每行结尾是否有空格信息
方法一:
cat -A test.txt
方法二
vim 底行模式输入命令 --- :set list
c 尖角美元符号:^$
取出文件中空行信息
grep "^$" test.txt
grep -v "^$" test.txt
d 点符号: .
表示匹配任意一个且只有一个字符
grep "." test.txt -o(更直观的显示过程)
e 星号符号: *
匹配星号前面一个字符连续出现0次或多次
f 点和星号组合: .*
匹配所有信息
说明: 正则符号在匹配数据信息的时候具有贪婪特性
避免贪婪特性的方法,是在指定一行信息中唯一节点信息
g 转译符号: \
1) 将一些有意义的符号进行转译, 变为一个普通符号
grep "\.$" ~/oldboy_test.txt
2) 将一些没有意义的符号进行转译,变为有意义符号
\n 换行符号 linux
3) 可以将扩展正则符号转换成普通正则让grep sed命令可以直接识别'
grep "o\?" test.txt
h 括号符号:[]
匹配括号中每一个字符,并且匹配的关系是或者的关系
需求: 找出文件中oldboy 和 oldbey两个单词信息
grep "oldb[oe]y" test.txt
企业应用: 找寻文件中字母 数字信息
grep "[0-9a-zA-Z]" test.txt
i 尖号和中括号组合使用 : [^]
对中括号里面匹配的字符信息进行排除
grep "[^0-9a-zA-Z]" test.txt --- 将字母数字都排除,只留下符号信息
尖号和中括号组合使用 : ^[]
以中括号里面匹配的字符作为一行开头的字符
grep "^[zx]" test.txt
正则符号注意事项
按照每行信息进行过滤处理
注意正则表达符号禁止中文
附上颜色信息进行正则过滤 --color=auto/--color
基础正则符号可以被三剑客命令直接识别 grep sed awk
扩展正则符号不可以被三剑客命令中老二和老三直接识别
sed命令想识别正则符号: sed -r
grep命令想识别正则符号: egrep / grep -E
a 加号符号:+
匹配加号前面一个字符连续出现1次或者多次
b 竖线符号:|
或者关系符号
egrep "oldboy|oldbey" test.txt
c 括号符号:()
将多个字符信息进行汇总为一个整体
egrep "(oldboy)" test.txt
进行后向引用前向的一个操作(sed)
echo "123456"|sed -r "s#(..)(..)(..)#<\1><\2><\3>#g"
修改配置文件内容
sed -rn "s#(^S.*UX=).*#\1enforcing#gp" /etc/selinux/config
SELINUX=enforcing
d 括号符号:{}
指定花扩号前一个字符连续匹配多少次
* 连续匹配 0 次 或 多次
+ 连续匹配 1 次 或 多次
1) {n,m} n表示最少连续匹配多少次 m表示最多连续匹配多少次
2) {n} n表示只连续匹配n次
3) {n,} n表示至少连续匹配n次,至多没有限制
4) {,m} m表示至多连续匹配n次,至少0次
e 问号符号:?
表示匹配问号前面一个字符出现0次或者1次
③ Linux下怎么输入连字符
在linux命令行中,命令的参数有的时候是一个连字符,有的时候是两个连字符《Linux就该这么学》有Linux命令大全
对于options类型参数可以有两种方式:
1)短选项(short options):顾名思义悄顷,就是短小参数。它们通常包含一个连字号和一个字母(大写
或小写字母)。例如:-s,-h等。
2)长选项(long options):长选项,包含了两个连字号和一些大小写字母组成的单词。例如,--
size,--help等。
*注:一个程序通常会提供包括short options和long options两种参数形纤运配式的参数。
因为选项可以合并,如-sh,为了区分sh是一个选项还是两个选项s和h的组合,对于组合用单连字符'-',如果是单一选项sh则要用双连字符'--',如--sh表明sh是单毁指一的选项,不是s和h的组合。
但是对于一些一些命令,这个单双连字符的规则似乎不起作用,例如
find -name -fstype
④ 如何修改linux系统的字符集
把linux的字符集销御改变一下。
路径:etc/sysconfig/i18n
默认的为:
代码如下:
LANG=“en_US.UTF-8”
SYSFONT=“latarcyrheb-sun16”
修改为:
代码如下:
LANG=“zh_CN.GB18030”
LANGUAGE=“zh_CN.GB18030:zh_CN.GB2312:zh_CN”
SUPPORTED=“zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
亏知岩SYSFONT=“lat0-sun16”
重启Linux服猛芦务器即可。
⑤ linux进程家族树怎么画
pstree
pstree显示正在运行的进程的树形结构,树以PID为根;如果省略了pid则以init为根。如果指定了用户名,则显示根植于该用户拥有的进程的所有进程树。如果pstree被调绝坦哗用为pstree.x11,那么它将提示行尾的用户按RETURE,并且在这种情况发生之前不会返回。这对于在x终端中运行pstree非常有用。
pstree通过将相同的分支放在方括号中并以重复计数作为前缀,在视觉上合并它们。例如:
init-+-getty
|-getty
|-getty
‘-getty
变成下面的样子
init---4*[getty]
进程的子线程在父进程下找到,并以大括号显示进程名,例如:
icecast2---13*[{icecast2}]
此命并行令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
pstree [选项]
2、选项列表
选项
说明
-a
显示每个进程信陪的完整指令,包括路径、参数
-A
使用ascii码显示树形
-c
关闭精简表示法
-G
使用VT 100线条绘制字符
-h
高亮显示正在执行的程序
-H
类似“-h”,但是突出显示指定的进程。与-h不同,如果高亮显示不可用,pstree在使用-H时会失败。
-l
长格式显示
-n
以进程号排序,默认以名字排序
-p
显示pid
-u
显示用户
-U
以utf-8显示字符
-V
显示命令版本信息
-Z
每个SELinux的上下文
3、实例
1)显示完成的树形结构
[root@localhost ~]# pstree -a
init
├─NetworkManager --pid-file=/var/run/NetworkManager/NetworkManager.pid
│ ├─dhclient -d -4 -sf /usr/libexec/nm-dhcp-client.action -pf /var/run/dhclient-eth0.pid ...
│ └─{NetworkManager}
├─VBoxClient --clipboard
│ └─VBoxClient --clipboard
2)显示进程号
[root@localhost ~]# pstree -p
init(1)─┬─NetworkManager(6362)─┬─dhclient(6377)
│ └─{NetworkManager}(6379)
├─VBoxClient(7869)───VBoxClient(7870)───{VBoxClient}(7872)
├─VBoxClient(7882)───VBoxClient(7883)
├─VBoxClient(7890)───VBoxClient(7891)───{VBoxClient}(7894)
├─VBoxClient(7898)───VBoxClient(7899)─┬─{VBoxClient}(7901)
│ └─{VBoxClient}(7903)
├─VBoxClient(7306)───VBoxClient(7308)
├─VBoxClient(7312)───VBoxClient(7314)───{VBoxClient}(7317)
├─VBoxClient(7318)───VBoxClient(7320)─┬─{VBoxClient}(7323)
│ └─{VBoxClient}(7325)
⑥ linux特殊符号大全
tab:文本分隔符,相当于四个空格,在命令行界面可以用来自动补齐命令与目录。
ESC:esc+. ,上一条命令的选项参数,vim恢复到命令模式。
~:家目录
`:反引号,编程中调用shell命令
!:调用前面的命令,!!调用上一条,!23调用前面低23条。
@:at符,后面接IP地址。
#:Linux文件中注释行,表示不起作用。
$:文件行结尾标识符,变量标识符。
%:格式化文本。
^:文件行首标识符
&:任务放到后台
*:通配符,代表一个字符或者很多个字符。
\:用来转义,\t表示制表符,\n表示换行符。
<:数据流的流入方向,表示输入,将数据传入给左侧软件。
|:管道,改变数据流的方向,将数据传入给另外的软件。
>:数据流的流出方向,表示输出,将屏幕输出的内容写入一个文件。
2>:数据流的流出的第二个方向,表示错误输出,报错信息会写入到这个文件中。
>>:表示追加写入
/:根目录,目录分隔符
‘’:双引号,支持转义
‘:单引号,不支持转义
():shell编程中使用,命令行用的不多
[]:索引
{}:代码块
::vim或者less命令中,表示可以输入命令
;:分割不同命令
-:短选项标识符-h
--:长选项标识符--help
⑦ 为什么linux里的字符那么不清楚
linux缺省是显示英文字符羡拆集的,把嫌好缺省语言改为英文后显示效果就非常清晰;另外还有个办法,把linux所使用的显示字库替换为Windows下的显示字库,这个办法比较麻烦,不建议新手这芹派铅么做。
⑧ 如何查看linux系统的字符集
1、# echo $LANG2、# env |grep LANG3、# locale以上三个操作,均可查到当前系统所使用的字符集,请看看《linux就该这么学》,linux命令学习方法。