Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 知乎專欄 | Search | Email

部分 II. Shell

目錄

22. Bash Shell
22.1. bash - GNU Bourne-Again SHell
22.1.1. -n 檢查腳本是否有語法錯誤
22.1.2. -x 顯示詳細運行過程
22.2. Introduction
22.2.1. chsh - change login shell
22.2.2. 切換身份
22.2.3. test 命令
22.2.4. I/O 重定向
22.2.4.1. stdout
22.2.4.2. error 重定向
22.2.4.3. 使用塊記錄日誌
22.2.4.4. tee - read from standard input and write to standard output and files
22.2.4.5. 創建檔案
22.2.4.6. 快速清空一個檔案的內容
22.2.5. pipes (FIFOs)
22.2.6. mktemp - create a temporary file or directory 臨時目錄與檔案
22.2.7. History 命令歷史記錄
22.2.7.1. .bash_history
22.2.7.2. .mysql_history
22.2.8. hash - hash database access method
22.2.9. prompt
22.3. variable
22.3.1. 系統變數
22.3.1.1. 命令行參數傳遞
22.3.1.2. $n $# $0 $?
22.3.1.3. $? 程序運行返回值
22.3.1.4. shift 移位
22.3.2. 表達式
22.3.3. Internal Environment Variables
22.3.4. set 設置變數
22.3.5. unset 變數銷毀
22.3.6. 設置變數預設值
22.3.7. export 設置全局變數
22.3.8. declare
22.3.9. Numerical 數值運算
22.3.10. Strings 字元串操作
22.3.10.1. ##/#
22.3.10.2. %%/%
22.3.10.3. :n1:n2
22.3.10.4. #
22.3.10.5. example
22.3.10.6. 計算字元串長度
22.3.10.7. 字元串查找替換
22.3.11. Array 數組
22.3.11.1. for 與 array
22.3.11.2. while 與 array
22.3.11.3. array 與 read
22.3.11.4. 拆分字元串並轉換為數組
22.3.11.5. 數組轉為字元串
22.3.12. read 賦值多個變數
22.3.13. eval
22.4. conditions if and case
22.4.1. if
22.4.2. case
22.5. Loops for, while and until
22.5.1. for
22.5.2. while
22.5.3. until
22.6. Functions
22.6.1. Local variables
22.7. User interfaces
22.7.1. input
22.8. subshell
22.9. Example
22.9.1. 有趣的Shell
22.9.2. backup
22.9.3. CPU 核心數
22.9.4. Password
22.9.5. processes
22.9.5.1. pid
22.9.5.2. kill
22.9.5.3. pgrep
22.9.6. Shell 技巧
22.9.6.1. 行轉列,再批評
22.9.6.2. for vs while
22.9.6.3. 遍歷字元串
22.9.7. to convert utf-8 from gb2312 code
22.9.8. 使用內存的百分比
22.9.9. 合併apache被cronlog分割的log檔案
23. Z Shell
23.1. installing Z shell
23.2. Oh My ZSH!
23.3. Starting file
23.3.1. ~/.zshrc
23.4. Prompting
23.5. Aliases
23.6. History
23.7. FAQ
23.7.1. Home/End key
24. Berkeley UNIX C shell (csh)
24.1.
25. KornShell
25.1.
26. Shell command
26.1. Help Commands
26.1.1. man - an interface to the on-line reference manuals
26.1.1.1. manpath.config
26.1.1.2. 查看man手冊位置
26.1.1.3. 指定手冊位置
26.2. getconf - Query system configuration variables
26.3. Directory and File System Related
26.3.1. dirname
26.3.2. filename
26.3.2.1. 排除副檔名
26.3.2.2. 取副檔名
26.3.3. test - check file types and compare values
26.3.4. file — determine file type
26.3.5. stat
26.3.6. mkdir - make directories
26.3.7. rename
26.3.8. touch
26.3.9. truncate
26.3.10. ls - list directory contents
26.3.10.1. full-time / time-style 定義日期時間格式
26.3.11. cp - copy files and directories
26.3.11.1. copy directories recursively
26.3.11.2. overwrite an existing file
26.3.11.3. -a, --archive same as -dR --preserve=all
26.3.12. rm - remove files or directories
26.3.12.1. -bash: /bin/rm: Argument list too long
26.3.12.2. zsh: sure you want to delete all the files in /tmp [yn]?
26.3.13. df - report file system disk space usage
26.3.14. du - estimate file space usage
26.3.15. tac - concatenate and print files in reverse
26.3.16. split - split a file into pieces
26.3.16.1. 按行分割檔案
26.3.16.2. 按尺寸分割檔案
26.3.17. find - search for files in a directory hierarchy
26.3.17.1. name
26.3.17.2. regex
26.3.17.3. user
26.3.17.4. perm
26.3.17.5. type
26.3.17.6. -delete
26.3.17.7. exec
26.3.17.8. xargs
26.3.17.9. 排除目錄
26.3.17.10. -mmin n File's data was last modified n minutes ago.
26.3.17.11. -mtime / -mmin
26.3.17.12. --newer
26.3.17.13. -print / -printf
26.3.17.14. -size
26.4. package / compress and decompress
26.4.1. tar — The GNU version of the tar archiving utility
26.4.1.1. tar examples
26.4.1.2. gunzip
26.4.1.3. b2zip
26.4.1.4. compress
26.4.1.5. -t, --list
26.4.1.6. tar: Removing leading `/’ from member names
26.4.1.7. -C, --directory=DIR
26.4.1.8. -P, --absolute-names don't strip leading `/'s from file names
26.4.1.9. --exclude
26.4.1.10. -T
26.4.1.11. 日期過濾
26.4.1.12. 保留權限
26.4.1.13. -r, --append
26.4.1.14. 遠程傳輸
26.4.1.15. 分卷壓縮
26.4.2. cpio - copy files to and from archives
26.4.3. gzip
26.4.4. zip, zipcloak, zipnote, zipsplit - package and compress (archive) files
26.4.5. RAR
26.4.6. 7-Zip
26.4.6.1. 壓縮
26.4.6.2. 瀏覽壓縮包
26.4.6.3. 解壓
26.4.6.4. Creates self extracting archive.
26.5. date and time
26.5.1. 日期格式
26.5.2. -d --date=
26.5.2.1. 日期偏移量
26.5.2.2. 時間偏移
26.5.3. weekday name
26.5.4. UTC
26.6. Numeric
26.6.1. 數值運算
26.6.2. seq - print a sequence of numbers
26.6.3. bc - An arbitrary precision calculator language
26.7. Text Processing
26.7.1. iconv - Convert encoding of given files from one encoding to another
26.7.1.1. cconv - A iconv based simplified-traditional chinese conversion tool
26.7.1.2. uconv - convert data from one encoding to another
26.7.2. 字元串處理命令expr
26.7.3. cat - concatenate files and print on the standard output
26.7.3.1. -s, --squeeze-blank suppress repeated empty output lines
26.7.4. nl - number lines of files
26.7.5. od - dump files in octal and other formats
26.7.5.1. 16進制
26.7.6. tr - translate or delete characters
26.7.7. cut - remove sections from each line of files
26.7.8. printf - format and print data
26.7.9. Free `recode' converts files between various character sets and surfaces.
26.7.10. /dev/urandom 隨機字元串
26.7.11. col - filter reverse line feeds from input
26.7.12. apg - generates several random passwords
26.7.13. head/tail
26.7.14. 反轉字元串或檔案內容
26.8. grep, egrep, fgrep, rgrep - print lines matching a pattern
26.8.1. 刪除空行
26.8.2. -v, --invert-match
26.8.3. Output control
26.8.3.1. -o, --only-matching show only the part of a line matching PATTERN
26.8.3.2. 遞歸操作
26.8.3.3. -c, --count print only a count of matching lines per FILE
26.8.4. Context control
26.8.4.1. -A, --after-context=NUM print NUM lines of trailing context
26.8.4.2. -B, --before-context=NUM print NUM lines of leading context
26.8.4.3. -C, --context=NUM print NUM lines of output context
26.8.4.4. --color
26.8.5. Regexp selection and interpretation
26.8.5.1. .*
26.8.5.2. 2010:(13|14|15|16)
26.8.5.3. []與{}
26.8.5.4. -P, --perl-regexp Perl正則表達式
26.8.6. fgrep
26.8.7. egrep
26.9. sort - sort lines of text files
26.9.1. 對列排序
26.10. uniq
26.11. 表格操作/行列轉換
26.11.1. column - columnate lists
26.11.2. paste - merge lines of files
26.12. standard input/output
26.12.1. xargs - build and execute command lines from standard input
26.12.1.1. 格式化
26.12.1.2. standard input
26.12.1.3. -I 替換操作
26.13. Logging
26.13.1. logger - a shell command interface to the syslog(3) system log module
26.14. Password
26.14.1. Shadow password suite configuration.
26.14.2. newusers - update and create new users in batch
26.14.3. chpasswd - update passwords in batch mode
26.15. binutils
26.15.1. strings - print the strings of printable characters in files.
28. Utility Programs
28.1. ed, red - text editor
28.2. vim
28.2.1. 查找與替換
28.2.2. 插入檔案
28.2.3. 批處理
28.2.3.1. vi 批處理
28.2.4. line()
28.3. awk
28.3.1. 處理列
28.3.2. printf
28.3.3. Pattern(字元匹配)
28.3.3.1. Pattern, Pattern
28.3.4. Built-in Variables (NR/NF)
28.3.4.1. NR
28.3.4.2. NF
28.3.4.3. 練習
28.3.5. Built-in Functions
28.3.5.1. length
28.3.6. 過濾相同的行
28.4. sed
28.4.1. 查找與替換
28.4.1.1. 正則
28.4.1.2. delete
28.4.1.3. aaa="bbb" 提取bbb
28.4.1.4. 首字母大寫
28.4.2. 編輯檔案
28.4.3. 內容打印
28.4.4. 編輯操作
28.4.4.1. insert
28.4.5. 管道操作
28.5. CURL - transfer a URL
28.5.1. 基本用法
28.5.2. data
28.5.3. connect-timeout
28.5.4. max-time
28.5.5. compressed
28.5.6. vhosts
28.5.7. -w, --write-out <format> 輸出格式定義
28.5.8. -A/--user-agent <agent string>
28.5.9. referer
28.5.10. -v
28.5.11. -o, --output FILE Write output to <file> instead of stdout
28.5.12. -H/--header <line> Custom header to pass to server (H)
28.5.12.1. Last-Modified / If-Modified-Since
28.5.12.2. ETag / If-None-Match
28.5.12.3. Accept-Encoding:gzip,defalte
28.5.12.4. HOST
28.5.12.5. HTTP 認證
28.5.13. curl-config
28.5.14. RestFul 應用 JSON 數據處理
28.5.15. FAQ
28.6. expect
28.6.1. 模擬登錄 telnet 獲取Cisco配置
28.6.2. 模擬登錄 ssh
28.6.3. SCP
28.7. expect-lite - quick and easy command line automation tool
28.8. sshpass - noninteractive ssh password provider
28.9. Klish - Kommand Line Interface Shell (the fork of clish project)
28.9.1. 安裝Klish
28.9.2. 為用戶指定clish作為預設Shell
28.9.3. FAQ
28.9.3.1. clish/shell/shell_expat.c:36:19: fatal error: expat.h: No such file or directory
28.10. Limited command Shell (lshell)
28.11. wget - retrieves files from the web
28.11.1. Logging and input file
28.11.1.1. -i, --input-file=FILE download URLs found in local or external FILE.
28.11.2. HTTP options
28.11.2.1. --post-data=STRING use the POST method; send STRING as the data.
28.11.3. Recursive download
28.11.3.1. -r, --recursive specify recursive download.
28.11.3.2. -m, --mirror shortcut for -N -r -l inf --no-remove-listing.
28.11.4. --no-passive-ftp disable the "passive" transfer mode.
28.12. TUI
28.12.1. screen - screen manager with VT100/ANSI terminal emulation
28.12.2. tmux — terminal multiplexer
28.12.3. byobu - wrapper script for seeding a user's byobu configuration and launching a text based window manager (either screen or tmux)
28.12.4. htop - interactive process viewer
28.12.5. elinks
28.12.6. chat
28.13. parallel - build and execute shell command lines from standard input in parallel
29. Shell Terminal
29.1. terminal
29.1.1. resize - set TERMCAP and terminal settings to current xterm window size
29.1.2. tset, reset - terminal initialization
29.1.3. stty - change and print terminal line settings
29.2. tput
29.2.1. Change the prompt color using tput
29.3. dialog
29.3.1. --inputbox
29.4. whiptail - display dialog boxes from shell scripts
29.4.1. --msgbox
29.4.2. --infobox
29.4.3. --yesno
29.4.4. --inputbox
29.4.5. --passwordbox
29.4.6. --textbox
29.4.7. --checklist
29.4.8. --radiolist
29.4.9. --menu
29.4.10. --gauge