2017年5月29日 星期一

5/5linux心得

 5/5

mate@404040406:~$ echo *  // 顯示目前所在工作目錄中的內容物
下載 公共 圖片 影片 文件 桌面 模板 音樂

mate@404040406:~$ echo /usr/*/share
/usr/local/share   // 只出現一個(每個人的環境不同,顯示的結果不見得相同)

 mate@404040406:~$ echo ~mate
/home/mate  // 使用者的家目錄

// 列出目錄
mate@404040406:~$ echo .*
. .. .bash_logout .bashrc .cache .chewing .config .dbus .gconf .gnupg .ICEauthority .local .profile .scim .ssh

mate@404040406:~$ echo .[!.]*
.bash_logout .bashrc .cache .chewing .config .dbus .gconf .gnupg .ICEauthority .local .profile .scim .ssh

 ls -d .* | less
.
..
.bash_logout
.bashrc
.cache
.chewing
.config
.dbus
.gconf
.gnome2
.gnome2_private
.gnupg
.ICEauthority
.local
.mozilla
.profile
.scim
.ssh
(END)

 mate@404040406:~$ ls -A
.bash_logout  .chewing  .gconf         .local    .ssh  圖片  桌面
.bashrc       .config   .gnupg         .profile  下載  影片  模板
.cache        .dbus     .ICEauthority  .scim     公共  文件  音樂

mate@404040406:~$ echo with $((5%2)) left over. // 計算機
with 1 left over.


考試重點!!!
mate@404040406:~$ echo a{A{1,2},B{3,4},C{5,6}}b
aA1b aA2b aB3b aB4b aC5b aC6b
(括號內中以逗號分隔的A、B、C擇一顯示)

mate@404040406:~$ echo Number_{01..15}
Number_01 Number_02 Number_03 Number_04 Number_05 Number_06 Number_07 Number_08 Number_09 Number_10 Number_11 Number_12 Number_13 Number_14 Number_15

mate@404040406:~$ echo {Z..A}
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

mate@404040406:~$ echo {001..15}
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015

mate@404040406:~$ mkdir students {2015..2017}-{9..12}
mate@404040406:~$ ls
2015-10  2015-9   2016-12  2017-11  students  圖片  桌面
2015-11  2016-10  2016-9   2017-12  下載      影片  模板
2015-12  2016-11  2017-10  2017-9   公共      文件  音樂


雙引號 Double Quotes
功用:阻止單詞分割;修復破損的檔案名稱 ⇨ 忠實顯現內容
適用於:特別格式
echo this is a    test ⇨ this is a test
echo “this is a    test” ⇨ “this is a    test”

mate@404040406:~$ echo "$USER $((2+2)) $(cal)"
mate 4       五月 2017 
日 一 二 三 四 五 六
    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 31

單引號:禁止展開,只將引號內容顯示,不執行運算、命令替代

反斜線 Escaping Characters:只顯示反斜線後的字元,不執行運算 ⇨ 只引用單個字元 (位置:字元前;常用於雙引號中,來有選擇地阻止展開)

cf:
echo text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER ⇨ text /home/me/ls-output.txt a b foo 4 me
echo "text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER" ⇨ text ~/*.txt {a,b} foo 4 me
echo 'text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER'
⇨ text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER

echo "The balance for user $USER is: \$5.00" ⇨ The balance for user me is: $5.00

mate@404040406:~$ sleep 10 // 10秒後嗶一聲
// 倒數計時器;解釋轉義序列
mate@404040406:~$ sleep 10; echo -e "Time's up\a"
Time's up
mate@404040406:~$ sleep 10; echo -e "Time's up"$'\a'
Time's up


mate@404040406:~$ file /etc/shadow
/etc/shadow: regular file, no read permission
mate@404040406:~$ less /etc/shadow
/etc/shadow: 拒絕不符權限的操作
--------------------------------------------------------------------------------------------------------------------------

mate@404040406:~$ which cp // 指明「程式」位置
/bin/cp
mate@404040406:~$ ls -l `which cp`
-rwxr-xr-x 1 root root 153608  3月 15  2015 /bin/cp
mate@404040406:~$ ls -l $(which cp)
-rwxr-xr-x 1 root root 153608  3月 15  2015 /bin/cp

mate@404040406:~$ ls -d .* | less
mate@404040406:~$ !!
ls -d .* | less
mate@404040406:~$ mate@404040406:~$

Command line命令列目的就是要妳不用滑鼠
遊標移動:
按鍵
動作
[Ctrl]a
遊標到最前面行首
[Ctrl]e
遊標到最後面行尾
[Ctrl]f
往前一個字元=右鍵
[Ctrl]b
往後一個字元=左鍵
[Alt]f
往前一個字
[Alt]b
往後一個字
[Ctrl]l
把螢幕清空=clear
註:字()=一串字元,例如:英文單字
修改:
按鍵
動作
[Ctrl]d
刪除游標位置的字元=delete
[Ctrl]t
互換游標位置與前面的字元
[Alt]t
互換游標位置與前面的字
[Alt]l
從游標所在位置到結尾轉換成小寫
[Alt]u
從游標所在位置到結尾轉換成大寫
剪貼(Cutting And Pasting)
按鍵
動作
[Ctrl]k
剪切從游標位置到行尾的文本
[Ctrl]u
剪切從游標位置到行首的文本
[Alt]d
剪切從游標位置到詞尾的文本
若游標在一個單詞的結尾,剪切後一個單詞
[Alt][Backspace]
剪切從游標位置到詞頭的文本
若游標在一個單詞的開頭,剪切前一個單詞
[Alt]y
把剪切的文本粘貼到游標位置

註:1980s前,PC尚未出現,以元鍵(The Meta Key)當作控制鍵,相當於現今的[Alt]

註:Pathname路徑

沒有留言:

張貼留言