- 客製化(可調整)提示符號 Prompt
轉義序列
|
顯示值
|
\a
|
以ASCII 格式編碼的鈴聲。計算機會發出嗡嗡的響聲
|
\d
|
以日 月 天的格式表示當前日期
|
\t
|
以24小時制,時:分:秒的格式,表示當前時間
|
\T
|
以12小時制,表示當前時間
|
\@
|
以12小時制,AM/PM的格式,表示當前時間
|
\A
|
以24小時制,hours:minutes的格式,表示當前時間
|
\w
|
當前工作目錄名
|
\W
|
當前工作目錄名的最後部分
|
\u
|
當前用戶名
|
\l
|
當前終端設備名
|
\h
|
本地機的主機名稱,但不帶末尾的功能變數名稱
|
\H
|
完整的主機名稱
|
\s
|
shell程式名
|
\v
|
shell程式的版本號
|
\n
|
分行符號
|
\r
|
回車符(回到一行的開頭)
|
\j
|
運行在當前shell 會話中的工作數
|
\!
|
當前命令的歷史號
|
\#
|
當前shell會話中的命令數
|
\$
|
顯示一個”$” 字元,若擁有超級用戶許可權,則會顯示一個#字元
|
\[
|
標誌一系列非列印字元的開始
|
\]
|
標誌非列印字元序列結束
|
mate@404040406:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
mate@404040406:~$ ps1_old="$PS1" // 先儲存現有參數內容 ($PS1 儲存至 ps1_old)
mate@404040406:~$ echo $ps1_old // 檢查確實複製了PS1的值
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
mate@404040406:~$ PS1="$ps1_old" // 將 $ps1_old 還原為 PS1
PS1="\$ "
$ // 提示符號復原
mate@404040406:~$PS1="黃敬婷\$ "
黃敬婷$
$ PS1="\[\a\]\$ " // 發出一聲響鈴 [ASCII bell (\a) does not “print,”印不出來]
$ PS1="\A \h \$ " // 現在時間time-of-day(\A) 機器名稱hostname of local machine(\h)
08:36 404040406 $
08:36 404040406 $ PS1="<\u@\h \W>\$ "
<mate@404040406 ~>$
- 添加顏色 (只有16個固定顏色→未安裝繪圖卡)
Escape Codes (ESC) Used In Shell Prompts → 033
轉義序列
|
文字顏色
|
轉義序列
|
文字顏色
|
\033[0;30m
|
黑色
|
\033[1;30m
|
深灰色
|
\033[0;31m
|
紅色
|
\033[1;31m
|
淺紅色
|
\033[0;32m
|
綠色
|
\033[1;32m
|
淺綠色
|
\033[0;33m
|
棕色
|
\033[1;33m
|
黃色
|
\033[0;34m
|
藍色
|
\033[1;34m
|
淺藍色
|
\033[0;35m
|
粉紅
|
\033[1;35m
|
淺粉色
|
\033[0;36m
|
青色
|
\033[1;36m
|
淺青色
|
\033[0;37m
|
淺灰色
|
\033[1;37m
|
白色
|
轉義序列
|
背景顏色
|
轉義序列
|
背景顏色
|
\033[0;40m
|
藍色
|
\033[1;44m
|
黑色
|
\033[0;41m
|
紅色
|
\033[1;45m
|
粉紅
|
\033[0;42m
|
綠色
|
\033[1;46m
|
青色
|
\033[0;43m
|
棕色
|
\033[1;47m
|
淺灰色
|
例如:
<mate@404040406 ~>$ PS1="\[\033[0;31m\]<\u@\h \W>\$ " // 變動文字顏色為紅色
<mate@404040406 ~>$ PS1="\[\033[0;34m\]<\u@\h \W>\$ " // 變動文字顏色為藍色
<mate@404040406 ~>$ PS1="\[\033[0;31m\]<\u@\h \W>\$ "
<mate@404040406 ~>$ PS1="\[\033[0;31m\]<\u@\h \W>\$\[\033[0m\] " // 關閉顏色設置,顏色復原
<mate@404040406 ~>$ PS1="\[\033[0;41m\]<\u@\h \W>\$\[\033[0m\] " // 變動背景顏色為紅色
<mate@404040406 ~>$
- 移動游標
轉義編碼
|
行動
|
\033[l;cH
|
游標移到第l行、第c列
|
\033[nA
|
游標向上移動n行
|
\033[nB
|
游標向下移動n行
|
\033[nC
|
游標向前移動n個字元
|
\033[nD
|
游標向後移動n個字元
|
\033[2J
|
清空螢幕,把游標移到左上角(第零行,第零列)
|
\033[K
|
清空從游標位置到當前行末的內容
|
\033[s
|
儲存當前游標位置
|
\033[u
|
喚醒之前儲存的游標位置
|
- 綜合舉例
包含時鐘的黃色文字的紅色長條:
19:22:23
u\]<\u@\h \W>\$ "
<mate@404040406 ~>$
解析:
儲存記住當前游標位置 → 游標回到左上角(移到第0行,第0列) → 紅色背景 → 清空從游標位置到當前行末的內容 → 黃色文字 → 顯示現在時間 → 關閉顏色 → 恢復游標位置 → 提示符字串
- 套件管理
- 套件庫/資料庫 (Repositories)
大部分安裝的套件都存在於本身套件庫。 - 相依性 (Dependencies)
沒辦法將所有要用到的程式全部放於deb file中,故在其中必須做一些連結。若要用此套件時,必須安裝其他套件。
Programs are seldom “standalone” rather they rely on the presence of other software components to get their work done.
程式不可能獨立存在,幾乎所有程式皆須依賴其他軟體的幫忙,才能夠運行。
⇒ 檢查相依性 ⇒ 補足相依性 - 套件工具
(1) 高階語言 → 接近人類語言
例如:apt-get, aptitude
(2) 低階語言 → 接近機器語言
例如:dpkg - 安裝linux軟體的迷思 (不能安裝的原因)
(1) 設備(包含:電腦、網卡、顯示卡)太新
(2) 設備太稀有,很少人使用
(3) 硬體廠商隱藏、不公開規格等資訊 - 安裝實例
(1) emacs撰寫程式的編輯器 ⇨ 提升速度:apt-get update; apt-get install emacs
(2) VLC多媒體播放器 ⇨ 播放影音資料:apt-get install vlc - 列出安裝套件
mate@404040406:~$ dpkg --list >> data.txt // 將列出的安裝套件的輸出結果轉向至.txt
mate@404040406:~$ gedit data.txt // 開啟檔案
⇨ 總共:1687-5=1682
- 資料儲存媒介
一、舉例
- *紙
- 隨身碟(USB)
- 硬碟(hardware)
- 光碟(CD)
- 磁片
- SD記憶卡
二、指令
- mate@404040406:~$ nano /etc/fstab // filesystem table
GNU nano 2.2.6 檔案: fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda3 during installation
UUID=63577ac8-23b3-406a-b9e7-43c5a5969ecc / ext4 errors=remoun$
# swap was on /dev/sda6 during installation
UUID=8c8bcc8b-1286-40a2-827c-0235aa704c45 none swap sw $
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 - linux中,每一設備皆視為一個檔案:從根目錄中的device開始 ⇨ /dev/sda3
- 掛載一個檔案系統:mount ⇨ 掛上資料
- 卸載一個檔案系統:umount ⇨ 卸除資料
- 卸載
清空buffer中的東西,確定工作已完成,否則導致檔案系統崩盤(file system corruption)。 - 舉例:
插入隨身碟後
mate@404040406:~$ mount
/dev/sde1 on /media/mate/Transcend type vfat // 隨身碟(rw,nosuid,nodev,relatime,uid=1001,gid=1001,fmask=0022,dmask=0077,codepage=437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
mate@404040406:~$ umount /media/mate/Transcend // 卸載
mate@404040406:~$ ls /media/mate/Transcend
ls: 無法存取 /media/mate/Transcend: 沒有此一檔案或目錄 - Linux存放裝置名稱模式設備/dev/fd*軟碟機/dev/hd*老系統中的IDE(PATA)磁片/dev/hdb第一通道上的主設備名/dev/hdb第一通道上的從設備名/dev/hdc第二通道上的主設備名末尾的數字表示硬碟驅動器上的分區例如:/dev/hda1,指系統中第一硬碟驅動器上的第一個分區/dev/had ,指整個硬碟驅動器/dev/lp*印表機/dev/sd*SCSI 磁片Linux系統中,內核把所有類似於磁盤的設備(包括:PATA/SATA 硬碟、快閃記憶體、USB 存儲設備)看作SCSI 磁盤/dev/sr*光碟(CD/DVD讀取器、燒寫器)
註:光碟機iso映像檔(iso 9660國際標準)
三、
現今電腦和印表機皆有 buffer(電腦記憶體的一小塊),可多工分配 CPU 系統時間,故電腦送檔案給印表機後,仍可同時做其他事。
註:印表機速度慢;電腦速度快
註:windows命令提示字元
註:流汗後,可以減輕0.5公斤
沒有留言:
張貼留言