4,檔案盒目錄管理命令,shell的引用,shell曆史

來源:互聯網
上載者:User

標籤:關鍵字   字串   曆史   資訊   使用者   

目錄: 

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曆史

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.