linux基礎和幫助
- echo
- 命令擴展行:$()或` `
- # echo $USER
- # root
- # echo “i am `whoami`”
- # i am root
- 括號擴展:{ }
- # echo file{1,3,5}
- # file1 file3 file5
- # rm -f file{1,3,5}
- # echo {1..10}
- # 1 2 3 4 5 6 7 8 9 10
- # echo {0..10..2}
- # 0 2 4 6 8 10 12 14 16 18 20
- # echo {a..z}
- # a b c d e f g h i j k l m n o p q r s t u v w x y z
- tab鍵 雙擊補全
- 路徑補全
- 命令補全:
- command 2tab 子命令或文件補全
- string 2tab 以string開頭的命令
- / 2tab 顯示所有根目錄下一級目錄,包括隱藏目錄
- ./ 2tab 當前目錄下子目錄,包括隱藏目錄
- * 2tab 當前目錄下子目錄,不包括隱藏目錄
- ~ 2tab 所有用戶列表
- $ 2tab 所有變量
- @ 2tab /etc/hosts記錄 (centos 7 不支持)
- =2 tab 相當于ls -A (centos 7 不支持)
- 命令行歷史
- 登陸shell時,會讀取命令歷史文件中記錄子啊的命令~/.bash_history
- 登陸shell后新執行的命令會記錄在緩存中;這些命令會在用戶退出時追加只歷史文件中
- 命令history
- history 顯示歷史命令
- 重復前一個命令:向上的方向鍵 page up
- history -c 空歷史命令
- history -d n 刪除歷史命令中第 n 個命令
- history n 顯示最近n條歷史
- 命令歷史相關的環境變量
- HISTSIZE 命令歷史記錄的條數
- HISTFILE 指定歷史文件,默認為 ~/.bash_history
- bash 的快捷鍵
- crtl + l 清屏,相當于clear命令
- crtl + o 執行當前命令,并重復顯示本命令
- crtl + q 允許屏幕輸出
- alt + r 刪除當前行
- whatis 顯示命令的簡短描述,使用數據庫,剛安裝后不可立即使用
- makewahtis | mandb 制作數據庫
- # whatis cal
- # man -f cal
- 命令幫助
- 內部命令:help cmd
- man bash
- 外部命令:
- cmd –help 顯示用法總結和參數列表
- cmd -h
- 使用手冊(manual):man cmd
- man 章節
- 用戶命令
- 系統調用
- C庫調用
- 設備文件及特殊文件
- 配置文件格式
- 游戲
- 雜項
- 管理類的命令
- linux 內核API
- man 幫助 man cmd
- man [章節] keyword 查看man手冊
- man -a keyword 列出所有幫助
- man -k keyword 列出所有匹配的頁面;使用wahtis 數據庫
- man -f keyword 相當于whatis
- man -w [章節] keyword 打印 man 幫助文件路徑
- q 退出
- / keyword 搜索關鍵字
- man 章節
- 信息頁,導航info頁
- info cmd
- q 退出
- s keyword 或者 / 搜索關鍵字
- 內部命令:help cmd
文件管理
- 文件系統與目錄結構
- 文件和目錄被組織成一個單根倒置樹結構,從根目錄下開始,用 ” / “表示
- 文件系統
- 文件名稱區分大小寫(/ 和 null 不能作文件名),文件名最長255個字節,路徑最長4095個字節,以 . 開頭的為隱藏文件,路徑分隔符 /
- 文件數據分為:
- 元數據:metadata
- 數據:data
- 藍色–> 目錄;綠色–> 可執行文件;紅色–> 壓縮文件;淺藍色–> 鏈接文件;灰色–>其他文件
- 文件系統結構
- /boot 引導文件存放目錄
- /bin 基本命令
- /sbin 管理類的基本命令
- /lib 啟動時程序依賴的基本共享庫以及內核模塊文件
- /lib64 專用于x86_64系統上的輔助共享庫文件存放位置
- /etc 配置文件目錄
- /hone/username 普通用戶家目錄
- /root 管理員的家目錄
- /media 便攜式移動設備掛載點
- /mnt 臨時文件系統掛載點
- /dev 設備文件及特殊文件存儲位置
- /opt 第三方應用程序的安裝位置
- /srv 系統上運行的服務用到的數據
- tmp 臨時文件存儲位置
- usr universal shared,read-only data 共享只讀數據
- bin;sbin;lib;lib64;include;share
- local 第三方應用程序的安裝位置
- bin,sbin,lib,lib64,etc,share
- /var variable data files 可變數據文件
- cache;lib;local;lock;opt;run;spool;
- log 日志目錄及文件
- tmp 保存系統兩次重啟之間產生的臨時數據
- /proc 用于輸出內核與進程信息相關的虛擬文件系統
- /sys 用于輸出當前系統上硬件設備相關的信息虛擬文件系統
- /selinux secuirty enchanced Linux
- linux 下的文件類型
- – 普通文件
- d 目錄問價
- b 塊設備
- c 字符設備
- l 符號鏈接文件
- p 管道文件pipe
- s 套接字文件socket
- pwd current work directory 顯示當前工作目錄
- -P 顯示真實物理路徑
- -L 顯示鏈接路徑 默認
- 絕對路徑:以正斜杠開始,完整的文件的路徑
- cd ../ 當前工作目錄的父目錄,上一級目錄
- 基名 basename 目錄名 dirname
- cd 更改目錄 -P -L
- cd /home/wang
- cd /home/wang/
- cd .. 切換至父目錄
- cd 切換至當前用戶的主目錄
- cd – 切換至以前的工作目錄
- 環境變量:PWD 當前目錄路徑 OLDPWD 上一次目錄路徑
- ls 列出當前目錄的內容或指定目錄
- ls -a 包括隱藏文件
- ls -l 顯示額外的信息,相當于 ll
- ls -R 目錄遞歸通過
- ls -ld 目錄和符號鏈接信息
- ls -1 文件分行顯示
- ls -S 從大到小排序
- ls -t 按mtime排序
- ls -u 配合 -t 選項,顯示并按atime從新到舊排序
- ls -U 按目錄存放順序排序
- ls -X 按文件名后綴排序
- stat 查看文件狀態;包含文件的:metadata,data
- 文件的三個時間戳:
- access time 訪問時間,atime 讀取文件的內容
- modify time 修改時間,mtime 改變文件內容、數據
- change time 改變時間,ctime 元數據發生改變
- 文件的三個時間戳:
- 文件通配符
- * 匹配零個或多個字符
- ?匹配任何單個字符
- ~ 當前用戶家目錄
- ~ mage 用戶mage家目錄
- ~ + 當前工作目錄
- ~ – 前一個工作目錄
- [0-9] 匹配數字范圍
- [a-z] 小寫字母 [A-Z] 大寫字母
- [abcdefg] 匹配列表中的任何的一個字符
- [^abcdefg] 排除列表中的任何的一個字符,其他都匹配
- [:digit:] 任意數字,相當于0-9 ;man 7 glob
- [:lower:] 任意小寫字母
- [:upper:] 任意大寫字母
- [:alpha:] 任意大小字母
- [:alnum:] 任意數字或字母
- [:blank:] 水平空白字符
- [:space:] 水平或垂直空白字符
- touch 創建空文件和刷新時間 ( > f1 也可以創建f1 空文件;cat > f1創建非空文件f1)
- touch -a 僅改變atime和ctime
- touch -m 僅改變mtime和ctime
- touch -t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的時間戳
- touch -c 如果文件不存在,則不予創建
- cp 復制
- cp /文件a /文件b
- 文件b不存在;復制文件a(一個文件)并命名為文件b
- 文件b存在且為文件;復制文件a(一個文件)覆蓋文件b并命名為文件b
- 文件b存在且為目錄;復制文件a(一個文件)到目錄b下
- 文件b不存在;提示錯誤
- 文件b存在且為文件;提示錯誤
- 文件b存在且為目錄;復制文件a(多個文件)到目錄b下
- 文件b不存在;復制文件a(目錄)并命名為目錄b
- 文件b存在且為文件;提示錯誤
- 文件b存在且為目錄;復制文件a(目錄)到目錄b下
- cp /文件a /文件b
-
-
- cp -i 覆蓋前提示 cp -n 不準覆蓋
- cp -r -R 遞歸復制目錄及內部的所有內容
- cp -a 歸檔,相當于 -dR –preserv=all 保留所有信息
- cp –preserv mode權限 owership屬組 .timestamp links xattr context all
- cp -d –no-dereference –preserv=links 不復制原文件,只復制鏈接名
- cp -p 等同 –preserv=mode owership timestamp
- cp -v –verbose
- cp -f –force
- cp -u –update 只復制源比目標更新文件或目標不存在的文件
- cp –backup=numbered 目標存在,覆蓋前先備份加數字后綴
- mv 移動和重命名文件
- mv -i 詢問,交互式 定義別名 alias mv=’mv -i’
- mv -f 強制
- rm 刪除
- rm -i 詢問,交互式 定義別名 alias rm=’rm -i’
- rm -f 強制刪除 “rm -rf / 強制刪除根”
- rm -r 遞歸刪除 –no-preserve-root 刪除/
- tree 顯示目錄樹,目錄結構
- 安裝:rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
- tree -d 只顯示目錄
- tree -L level 指定顯示的層級數目錄
- tree -P pattern 只顯示由指定pattern匹配到的路徑
- mkdir 創建目錄
- mkdir -p 存在于不報錯,且可自動創建所需的各級目錄
- mkdir -v 顯示詳細信息
- rm -r 遞歸刪除目錄樹
- inode(index node) 索引節點 表中包含文件系統所有文件列表
- 一個索引節點是在一個表項,包含有關文件的信息(元數據),包括:文件類型,權限,UID,GID,鏈接數(指向這個文件名路徑名稱個數),改文件大小和不同的時間戳,指向磁盤上文件的數據塊指針,其他文件數據
-
-
-
- 目錄,文件引用一個是inode號,人是通過文件名來引用一個文件,一個目錄是目錄下的文件名和文件inode號之間的映射
- 硬鏈接
- 創建硬鏈接會增加額外的記錄項以引用文件
- 對應于同一文件系統上一個物理文件
- 每個目錄引用相同的inonde號
- 創建時鏈接數遞增
- 刪除文件時:rm 命令遞減計數的鏈接;文件要存在,至少有一個鏈接數;當鏈接數為零時,改文件被刪除
- 不能跨越驅動器或分區
- 語法:ln filename [linkname]
- ln /root/f1 /ln/root/f2
- 符號鏈接,軟連接
- 一個符號鏈接指向另一個文件
- ls -l 顯示鏈接的名稱和引用的文件
- 一個符號鏈接的內容是它引用文件的名稱
- 可以對目錄進行,也可以跨分區
- 指向的是另一個文件的路徑;其大小為指向的路徑字符串的長度;不增加或減少目標文件inode的引用數
- 語法:ln -s filename [linkname]
- file 檢查文件的類型
- file [option] filename…
- file -b 列出文件辨識結果時,不顯示文件名稱
- file -f filelist 列出文件filelist 中文件名的文件類型
- file -F 使用指定分隔符號替換輸出文件名默認的”:”分隔符
- file -L 查看對應軟鏈接對應文件的文件類型
-
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95449