標籤:關鍵字 字串 曆史 資訊 使用者
目錄:
cd : 切換目錄
cd 路徑: 切換至該檔案路徑
cd ~[username] : 切換至該使用者的家目錄,
cd - : 切換至上一次所在的目錄
pwd:pring working directory: 顯示當前所在目錄
mkdir : 建立目錄
-p : 先建立父目錄, 也就是 遞迴 建立
-v : 顯示 建立 時 的 詳細 資訊
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4C/D7/wKiom1RGG4DiW8iyAAD6ocweh14989.jpg" title="mkdir.png" alt="wKiom1RGG4DiW8iyAAD6ocweh14989.jpg" />
這裡 涉及 到 一個 特性, bash關鍵字 的 展開, 例如
{a,b}_{c,d} 展開 之後 就是 a_c, a_d, b_c, b_d, 這個 在 建立 多個 檔案 或 目錄 時 很有用
rmdir : 刪除空目錄: 這裡 注意, 要 刪除 的 目錄 一定 是 空 的。。,
-p : 遞迴 刪除
-v : 顯示 刪除 資訊。。
shell中的 引用:
"" :強引用, 引用中可以加${PAHT}之類的變數引用,
‘‘ :弱引用, 引用中間的字串只能是字串
`` :命令替換, 引用中的命令會被執行。, 當然,也可使用$(命令) 這種 形式 進行 命令替換
echo : 輸出 一句 話, 寫 指令碼的 時候 有用, 相當於 c語言 裡的 printf, shell裡 也有 printf
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/D7/wKiom1RGHaKDQNswAADrUlWNag8418.jpg" title="datesss4.png" alt="wKiom1RGHaKDQNswAADrUlWNag8418.jpg" />
${NAME} 這個 是 引用 環境變數, 其中 {} 在 大多數情況 下 是 可以 省略 的, 但 如
${PATH}bbbb 這種 情況 就 不能 省略 了, 省略之後 就 變成
#PATHbbbb 了, 系統中 是 沒有 這個 環境變數 的。
shell特性 之 命令曆史:
bash會保留命令曆史在緩衝區中,當shell退出時,命令曆史會由緩衝區存放 到 ~/.bash_history 中
使用 ↑↓ 尖頭 可以 翻看 曾經執行 過 的 命令
history 捷徑:
!#: #為命令曆史列表中的命令編號,可用於執行第#條命令
!!: 執行上一條命令
!-#: 執行倒數第#條命令
!$: 引用上一個命令的最後一個參數
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/D8/wKioL1RGICWCM_HzAAEogs0Cwrc169.jpg" title="history.png" alt="wKioL1RGICWCM_HzAAEogs0Cwrc169.jpg" />
執行 history 就 可以 看到 命令曆史 了, 這裡 太長了, 就 截取 了 最後 一部分, 先 看一下 快捷 方式 把,
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4C/D8/wKioL1RGIKTgyB-wAABi9gfSIs4372.jpg" title="909.png" alt="wKioL1RGIKTgyB-wAABi9gfSIs4372.jpg" />
這裡我又執行了下909號 的 這個 命令,
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/D7/wKiom1RGIJSwv6doAABiUBveot0778.jpg" title="910.png" alt="wKiom1RGIJSwv6doAABiUBveot0778.jpg" />
這個是執行上一條語句,其實 還是 再 執行 一次 echo 語句,
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4C/D8/wKioL1RGIR_zRgwWAABYgV9ITxA873.jpg" title="911.png" alt="wKioL1RGIR_zRgwWAABYgV9ITxA873.jpg" />
這個 和 !! 沒區別 的, 也是 執行 上一條 語句, 當然, 把-1 改成 別的 就 有 區別 了。。
最後說下 !$ 把,
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/D7/wKiom1RGIVXjGCxVAADPIfTlVLI356.jpg" title="!$.png" alt="wKiom1RGIVXjGCxVAADPIfTlVLI356.jpg" />
我 最開始 是 在 / 目錄 下 查看 了 一下 我 的 家目錄, 然後 用 cd !$ 直接 跳轉 到 我的 家目錄, 這裡 的 !$ 就是 上個 命令 的 參數。。
----------------------------------------------------------
history選項:
-c: 清空曆史
-d#:刪除指定命令曆史,#為命令曆史的編號
-a:追加當前命令曆史到命令曆史檔案中去。
命令曆史相關的環境變數:
HISTSIZE:命令曆史中可以儲存的命令的個數;
HISTFILE: 命令曆史檔案;
HISTFILESIZE:命令曆史檔案可以儲存的命令的個數;
HISTCONTROL: 控制命令曆史的產生;
ignoredups: 忽略記錄重複的命令;連續的相同命令才為重複;
ignorespace: 不記錄以空白字元開頭的命令;
ignoreboth: 同時具有上面兩種特性;
shell中變數賦值:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/D8/wKioL1RGIxiTQX-5AABo4j0NBkQ712.jpg" title="fuzhi .png" alt="wKioL1RGIxiTQX-5AABo4j0NBkQ712.jpg" />
FHS:檔案系統目錄標準, 這個標準列出了Linux應該具有哪些目錄,這裡給出 根目錄下 的 一些 重要 的 目錄 的 作用。
/bin: 所有使用者可執行檔程式
/sbin: 管理員可執行檔程式
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
/boot: 儲存系統引導檔案:核心、ramfs檔案、bootloader(grub);
/dev: 裝置檔案存放目錄;
/etc: 設定檔的存放目錄;
/etc/sysconfig:
/etc/init.d: 系統服務指令碼
/home: 普通使用者,預設在/home下有一個與其名稱同名目錄,作為使用者的家目錄;
/root: 管理員的家目錄;
/lib, /lib64:庫檔案;
/media: 專用掛載位置,通常用來掛載攜帶型裝置;
/mnt: 專用掛載位置,掛載額外存放裝置;
/misc: 備用目錄
/opt: 備用目錄,但通常用來安裝第三方軟體;
/proc: 偽檔案系統,核心參數的映射;
/sys: 偽檔案系統,系統層級的用於配置外圍裝置秘的參數;
/srv: 為服務提供資料存放位置;
/tmp: 臨時檔案系統;
/usr: shared, readonly
/usr/include: 標頭檔
/var: 頻繁發生變化的檔案
/var/log
/var/lock
/var/run
/var/cache
檔案:
linux檔案類型:
普通檔案:-, file, 這個 就 相當於 windows裡 的 txt 檔案
目錄檔案:d,directory, 這個 相當於 windows 裡 的 檔案夾把。
連結檔案(符號連結):l,link, 這個 指的是 軟串連, 相當於 捷徑
裝置檔案:
字元裝置:c, char, 這個 又叫做 串列裝置介面, 如 鍵盤 什麼 的。
塊裝置: b, block, 這個 又叫做 平行裝置介面,如 硬碟
具名管道:p, pipeline, 不太理解, 學到了 再說 把。
通訊端檔案:s, socket, 這個 也 不太清楚。。
------------------------------------------
Linux檔案時間戳記:
訪問時間, access time, atime
修改時間, modify time, mtime
改變時間, change time, ctime
-------------------------------------------
檔案分類樹:
tree 命令, 這個 命令 一般 系統 不會 內建 的, 需要 自己 安裝。。
# yum install tree, 安裝 tree 命令
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/EE/wKioL1RHo5fw72ICAADDuEcCyyA053.jpg" title="tree.png" alt="wKioL1RHo5fw72ICAADDuEcCyyA053.jpg" />
------------------------------------------
bash特性 之 命令別名:
# alias 別名=‘原始命令名‘
當 alias 無參數 是 可以 查看 已定義 的 命令 別名
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/EE/wKioL1RHpHLQncBvAAEAjPgA2cs877.jpg" title="alias.png" alt="wKioL1RHpHLQncBvAAEAjPgA2cs877.jpg" />
這裡 還 可以 看到 ls 命令 也 是個 別名, ls=‘ls --color=auto‘, 這裡 如果 想 執行 命令的 原有 意思 可以 在 命令 前面 加 ‘ \ ’, 如,
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4C/ED/wKiom1RHpPvgCAtFAADyRO5nlOU369.jpg" title="、ls.png" alt="wKiom1RHpPvgCAtFAADyRO5nlOU369.jpg" />
取消 命令 別名 後 ls 就 不顯示 顏色 了。。
# unalias 別名, 這個 是 用於 取消 命令 別名 的
----------------------------------------------
文字檔 的 查看:
cat File : 正序查看一個檔案
-n顯示行號
-E顯示行結束符
-v顯示非列印字元
-A顯示所有字元
-s 多個連續的空白行顯示為一個空白行
tac File : 與cat 相反, 逆序 查看 一個 檔案。。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/EE/wKioL1RHp-rANhGCAAD3HV5hYd0035.jpg" title="cat.png" alt="wKioL1RHp-rANhGCAAD3HV5hYd0035.jpg" />
--------------------
more: 顯示 多行 檔案, 用法 同 man, 不過 在 顯示 完檔案 最後 一行 後 會 自動結束。
less: 顯示 多行 檔案, 用法 同 man, 不過 貌似 man 是 用 less 來 實現 的。。。, 這個 與 more 的 區別 是 顯示 完 最後一行 後 不會 退出 了,
--------------------
head: 顯示 檔案 的 前幾行, 預設 為 顯示 前10行
tail: 顯示 檔案 的 後幾行, 預設 為 顯示 後10行
-n# : 設定 所 顯示 的 行數, # 為 數字,
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4C/EF/wKioL1RHqYCDYf1RAAC-fiKg958505.jpg" title="headtail.png" alt="wKioL1RHqYCDYf1RAAC-fiKg958505.jpg" />
-------------------------
echo 命令:
-e : 允許使用類似 c 語言 裡面 的 逸出字元
-n : 不 預設 輸出 換行 符
-------------------------
關於 檔案 的 命令
touch : 建立 檔案, 其實 是 修改 時間戳記。。, 當 這個 檔案 不存在 是 會 自動 建立檔案。
access time, atime,
modify time, mtime
change time, ctime
-c: 不建立空檔案
-a: 僅修改訪問時間
-m: 僅修改修改時間
-t STAMP: [CC]YYMMDDhhmm.s
access time, atime
modify time, mtime
change time, ctime
-c: 不建立空檔案
-a: 僅修改訪問時間
-m: 僅修改修改時間
-t STAMP: [CC]YYMMDDhhmm.s
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/ED/wKiom1RHrU7BUjvdAAB0DvvPfQs530.jpg" title="touch.png" alt="wKiom1RHrU7BUjvdAAB0DvvPfQs530.jpg" />
在 一個 空 檔案夾 裡面 建立 一個 a 檔案, 可以 用 stat 來 查看 這個 檔案 的 資訊。
stat : 顯示 一個 檔案 的 基本 資訊。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/EF/wKioL1RHriXgh_JEAAEQHhSGI5E926.jpg" title="stat.png" alt="wKioL1RHriXgh_JEAAEQHhSGI5E926.jpg" />
現在 來 改變 一下 檔案 的 Access 時間戳記:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4C/EE/wKiom1RHrvngrM8dAAE_897z0AQ017.jpg" title="ssssssss.png" alt="wKiom1RHrvngrM8dAAE_897z0AQ017.jpg" />
ok, 已經 改好 了
------------------------------------------------------------
cp: copy : 複製檔案
SRC, DEST
cp SRC... DEST
-r:遞迴複製
-i: 人機互動
-d: 當源為連結檔案時,複製連結檔案本身而非指向的源檔案
-a: 相當於-dr
-p: 保持原有屬性
-f: 強制
假如SRC是一個檔案:
如果目標是一個檔案且存在:覆蓋
如果目標檔案不存在:建立新檔案
如果目標存在,且是個目錄:複製源至目標目錄,並保持原名
假如SRC有多個檔案:
如果目標存在,且是一個檔案:複製無法進行
如果目標存在,且是一個目錄:複製各檔案至目標目錄中,並保持原名
如果目標不存在:複製無法進行
如果SRC只有一個且是目錄:-r
如果目標是一個檔案且存在:失敗
如果目標檔案不存在:建立新目錄
如果目標存在,且是個目錄:複製來源目錄至目標目錄中,且保持原名
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/EF/wKioL1RHsFLy58leAADSC02PrIE398.jpg" title="cp.png" alt="wKioL1RHsFLy58leAADSC02PrIE398.jpg" />
把 /etc/passwd 複製 到 當前 檔案 加 的 aaa 檔案 中, 並 查看 了 一下 aaa 檔案。。
複製 大概 就 這些 把, 沒什麼 太高端 的 東西。。
---------------------------------------------------------
mv : move : 移動檔案, 用法 和 cp 差不多,
可以直接移動目錄,而無須-r選項;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/EE/wKiom1RHsdLzT2QhAAD625v9A0I571.jpg" title="abcd.png" alt="wKiom1RHsdLzT2QhAAD625v9A0I571.jpg" />
----------------------------------------------------------
rm : remove :刪除 檔案
-r : 遞迴 刪除 檔案, 加上 這個 選項 就 可以 刪除 非空 目錄 了,~
-i : 人機互動
-v : 刪除 的 詳細資料。
-f : 強制移除,不需要 人機 互動
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/4C/EF/wKioL1RHsxDQAQ8rAACpH7ghgco703.jpg" title="rm.png" alt="wKioL1RHsxDQAQ8rAACpH7ghgco703.jpg" />
---------------------------------------------------------------
nano : 一個 簡單 的 文本 編輯器,
Ctrl+O 是 儲存, Ctrl+X 是 退出
bash特性 之 globbing : 檔案名稱 通配
萬用字元:
* : 表示 任意 長度 的 任意 字元
? : 表示 任意 單個 字元
[]: 指定 字元 範圍 內 的 任意 單個 字元
[xyz] x 或者 y 或者 z
[a-z] a 到 z 之間 的 任意 一個 字元
[0-9] 0 到 9 之間 的 任意 一個 字元
[a-z0-9] a 到 z , 0 到 9 之間 任意 一個 字元
[^]: 匹配 到 指定 字元 範圍 外 的 任意 單個 字元
[^0-9] 非 數字 字元
[[:upper:]] : 所有大寫字母
[[:lower:]] : 所有小寫字母
[[:alpha:]] : 大小寫字母
[[:digit:]] : 數字
[[:alnum:]] : 大小寫字母加數字
[[:space:]] : 空白字元
[[:punct:]] : 標點符號。
本文出自 “寧靜淡泊” 部落格,請務必保留此出處http://vrgfff.blog.51cto.com/6682480/1566913
4,檔案盒目錄管理命令,shell的引用,shell曆史