下載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命令學習方法。