The Linux Command Line 筆記(未完)

Chap 4 研究操作系統(tǒng)

  • command -options arguments (大多數(shù)命令格式)
    • ?? 短選項 -a, 長選項 --all
    • ?? 可以同時寫兩個options , ls -ls (長格式 + 按照文件大小排序)
  • file filename -確定文件類型
  • less filename -瀏覽文件內(nèi)容
  • 符號鏈接/硬鏈接

Chap 5 操作文件和目錄

  • 常用命令
    • cp - 復(fù)制文件
      • cp -u *.html destination
      • -a, --archive
      • -i, --interactive
      • -r, --recursive
      • -u, --update
      • -v, verbose
    • mv - 移動/重命名
      • -i, --interactive
      • -u, --update
      • -v, --verbose
    • mkdir directory
      • mkdir dir1 (dir2 dir3)
    • rm
      • -i, --interactive
      • -r, --recursive
      • -f, --force
      • -v, --verbose
    • ln 創(chuàng)建硬鏈接/符號鏈接
      • 符號:ln file link
      • 硬鏈接:ln -s item link
  • 通配符
      • -任意多個
    • ? -任意一個
    • [characters]
    • [!characters]
    • [[:class:]] -匹配任意一個屬于制定字符類中的字符
      • [:alnum:] -匹配任意字母或數(shù)字
      • [:alpha:] -任意字母
      • [:digit:] -任意數(shù)字
      • [:lower:]
      • [:upper:]
    • ??
      • [[:upper:]]* 以大寫字母開頭的
      • [![:digit:]]* 不以數(shù)字開頭的
      • *[[:lower:]123] 文件名以小寫字母結(jié)尾,或以 “1”,“2”,或 “3” 結(jié)尾的文件

Chap 6 使用命令

  • 常用命令
    • type - 命令形式
      • 什么是命令?
        • 是一個可執(zhí)行程序
        • 內(nèi)建于 shell 自身的命令,builtins
        • shell函數(shù)
        • 命令別名
      • type command
    • which -顯示當(dāng)前可執(zhí)行程序的位置,不能是內(nèi)部命令/命令別名
    • man -顯示程序手冊
      • man section search_term
        • 1 -用戶命令
        • 2 -程序借口內(nèi)核系統(tǒng)調(diào)用
        • 3 -C庫函數(shù)程序接口
        • 4 -特殊文件
        • 5 -文件格式
        • 6 -游戲娛樂
        • 7 -其他方面
        • 8 -系統(tǒng)管理員命令
    • apropos -顯示適當(dāng)?shù)拿?/li>
    • info - 顯示程序 Info 條目
    • whatis -非常簡潔的命令說明
    • alias - 別名
      • alias name='string'
      • command1; command2; command3... 可以把多個命令放在同一行上,命令之間 用”;”分開
      • eg
        • alias foo = 'cd /usr ; ls'
        • unalias foo
    • help - 提供shell內(nèi)部命令幫助文檔
    • --help -顯示用法信息

Chap 7 重定向

  • 命令
    • 管道線 |
      • command 1 | command 2
    • cat (Ctrl - d)
      • cat ls-output.txt
      • cat > lazy_dog.txt
        • 鍵盤輸入??: The quick brown forx jumped over the lazy dog.
      • cat < lazy_dog.txt
        • txt文件作為輸入
    • sort -排序
    • uniq -刪除重復(fù)行
      • uniq -d 可看到重復(fù)列表
    • gerp -打印匹配行
      • grep pattern
        • eg: ls /bin /usr/bin | sort | uniq | grep zip
        • -i 忽略大小寫
        • -v 只打印不匹配的行
      • 正則表達(dá)式
    • wc -打印行,字,字節(jié)數(shù) (word count)
      • wc -l 只顯示行數(shù)
    • head/tail -打印文件開頭部分/結(jié)尾部分
      • 默認(rèn)情況下10行
      • head/tail -n 5 ls-output.txt
      • tial -f 實時監(jiān)控文件,直到ctrl-c
    • tee -從標(biāo)準(zhǔn)輸入(stdin)讀取數(shù)據(jù)并輸出(stdout)到標(biāo)準(zhǔn)輸出和文件
      • ls /usr/bin | tee ls.txt | grep zip
  • I/O重定向允許我們可以更改輸出走向和輸入來向
    • 一般地,輸出 ->屏幕,
    • 輸入來自鍵盤,
    • 但是通過 I/O 重定向,我們可以改變輸入輸出方向
  • > 或者 >> 重定向符號
    • 覆蓋寫入 >
      • ls -l /usr/bin > ls-output.txt
        • less ls-output.txt
      • > ls-output.txt 寫入空白
    • 追加寫入 >>
      • ls -l /usr/bin >> ls-output.txt
    • 重定向標(biāo)準(zhǔn)錯誤
      • ls -l /bin/usr 2> ls-error.txt
    • 重定向標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤到同一個文件
      • ls -l /bin/usr > ls-output.txt 2>&1
      • ls -l /bin/usr &> ls-output.txt
    • 處理不需要的輸出
      • ls -l /bin/usr 2> /dev/null

Chap 8 從shell眼中看世界

  • echo -顯示一行文本
    • *
      • echo * == ls
      • echo .* 僅顯示隱藏文件
      • echo /usr/*/share
    • ~
      • echo ~ (home路徑)
    • 算術(shù)表達(dá)式 $((expression))
      • echo $((2+2)
    • {} -乘法原理
      • [me@linuxbox ~]$ echo Front-{A,B,C}-Back Front-A-Back Front-B-Back Front-C-Back
    • 參數(shù)
      • echo $USER
  • 命令替換 - 允許把一個命令的輸出作為一個展開模式來使用
    • echo $(ls) 或者 echo ls
    • ls -l $(which cp) 或者 ls -l which cp
    • "" 除了$ \ `之外,當(dāng)作普通字符
      • echo $(cal)
      • echo "$(cal)"
    • ‘’ 所有的都當(dāng)作普通字符

Chap 9 鍵盤高級操作技巧

  • 命令
    • clear
    • history -顯示歷史列表內(nèi)容
      • 默認(rèn)最后500個命令
      • history | grep /usr/bin
  • 移動光標(biāo)
    • Ctrl-a -移到行首
    • Ctrl-e -移到行尾
  • 修改/剪切/粘貼文本
  • 自動補(bǔ)全 : tap

Chap 10 權(quán)限

  • Unix -多個用戶可以在同一時間使用同一臺計算機(jī)
  • 命令
    • id -顯示用戶身份號
    • chomod -更改文件模式
      • 只有文件所有者/超級用戶才能修改
    • umask -設(shè)置默認(rèn)權(quán)限
      • 0022 (八進(jìn)制) -> 000 000 010 010
      • 二進(jìn)制中數(shù)字1出現(xiàn)的位置,相對應(yīng)的屬性被刪除
    • su -以其他用戶身份和組ID運(yùn)行一個shell
      • su [-[l]] [user]
      • su -c 'command'
        • 不啟動一個新的可交互shell
        • 僅將命令結(jié)果傳回當(dāng)前shell
          • su -c 'ls -l /root/*'
    • sudo
      • su 和 sudo 之間的一個重要區(qū)別是 sudo 不會重新啟動一個 shell,也不會加載另一個 用戶的 shell 運(yùn)行環(huán)境
    • chown - 更改文件所有者和用戶組
      • 需要超級用戶權(quán)限
      • chown [owner][:[group]] file...
        • sudo chomn tony: ~tony/myfile.txt
    • chgrp -更改用戶組所有權(quán)
    • passwd -更改用戶密碼
      • passwd [user]
  • 讀取寫入執(zhí)行
    • -rw-rw-r--
      • 第一位(5種)
        • -
        • d
        • l
        • c
        • b
      • 剩下九位讀r/寫w/執(zhí)行x
        • 對應(yīng)文件所有者、文件組所有者、其他人
        • 八進(jìn)制
          • 000 ---
          • 001 --x
          • 010 -w-
          • 011 -wx
          • 100 r--
          • 101 r-x
          • 110 rw-
          • 111 rwx
        • 符號表示法
          • u -user
          • g -group
          • o -others
          • a -all
          • eg
            • u+x - user添加執(zhí)行權(quán)限
            • -x -所有人都刪除執(zhí)行權(quán)限
            • o-rw
            • go=rw
  • 更改身份
    • 多重身份
      • 注銷系統(tǒng)并以其他用戶身份重新登陸系統(tǒng)
      • 使用su命令 (超級用戶是# 不是$ )
      • 使用sudo命令

Chap 11 進(jìn)程

  • 常用命令
    • ps
      • ps -列出與當(dāng)前終端會話相關(guān)的進(jìn)程
      • ps x -列出所有進(jìn)程
      • ps aux -顯示屬于每個用戶的進(jìn)程信息
        • user -用戶ID.進(jìn)程所有者
        • %CPU -CPU使用率
        • %MEM -內(nèi)存使用率
        • VSZ -虛擬內(nèi)存大小
        • RSS -所占物理內(nèi)存大小
        • START -起始時間
    • top 動態(tài)查看進(jìn)程
    • jobs
    • bg -進(jìn)程放到后臺
      • 進(jìn)程 &
    • fg -進(jìn)程返回到前臺
      • fg %1 (工作序號)
    • kill -停止一個進(jìn)程
      • kill [-signal] PID
      • HUP 1 終端斷線 INT 2 中斷(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) TERM 15 終止 KILL 9 強(qiáng)制終止 CONT 18 繼續(xù)(與STOP相反, fg/bg命令) STOP 19 暫停(同 Ctrl + Z)
    • killall
      • killall [-u user] [-signal] name
    • shutdown

Chap 12 shell 環(huán)境

  • 命令
    • printenv - 打印部分或所有環(huán)境變量
      • printenv USER
    • set
    • export
    • alias
  • 常用變量
    • DISPALY
    • EDITOR
    • HOME
      • echo $HOME
    • SHELL
    • LANG
    • OLD_PWD
    • PAGER
    • PATH
    • PS1
    • PWD
    • TERM
    • TZ
    • USER
  • 如何建立shell環(huán)境
    • 登陸shell會話的啟動文件
      • /etc/profile - 應(yīng)用于所有用戶的全局配置腳本
      • ~/.bash_profile -用戶私人的啟動文件
      • ~/.bash_login -如果~/.bash_profile沒找到,會讀取該腳本
      • ~/.profile -如果/.bash_profile和/.bash_login沒找到,會讀取該腳本
    • 非登陸shell會話的啟動文件
      • /etc/bash.bashrc -應(yīng)用于所有用戶的全局配置文件
      • ~/.bashrc -用戶私有的啟動文件
  • 文本編輯器
    • nano
      • nano .bashrc
      • Ctrl-o 保存修改
      • ctrl-x 退出修改
    • vi/vim
    • emacs
    • 備份文件
      • cp .bashrc .bashrc.bak
      • .bak, .sav, .old, .orig 是用來指示文件的流行方法
    • ??
      • umask 0002 -設(shè)置掩碼來解決共享目錄的問題
      • export HISTCONTROL = ignoredups -忽略重復(fù)命令
      • export HITSIZE = 1000 -設(shè)置最大記錄1000行,默認(rèn)是500行

Chap 13 VI簡介

  • vi -啟動
    • :q 退出
    • :q! 強(qiáng)制退出
    • 兩次 Esc 找到路
    • i 插入文本
    • f 查找一行
    • / 查找整個文件
    • :wq 保存修改
      Chap 14 自定制shell提示符
      Chap 15 軟件包管理
  • apt-get
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容