1. 程式人生 > >Linux 基本指令的操作和示例說明(五節)

Linux 基本指令的操作和示例說明(五節)

rect 作文件 file 在操作 進行 python 指令 pro 更新

指令規則:命令 【參數選項】【文件或路徑】 ls -ld (參數 l 和 d) 多參數可以直接連起來操作 前面 加 “ - ” 操作查看目錄指令: mkdir 創建目錄 全名稱:make directorys ---- :mkdir (/data)是創建的目錄;或者 cd /; mkdir data 第一個指令 是 直接創建 目錄 在根 " / "下 : mkdir /data ; 第二個是 進入根" / "下直接創建 :cd /; mkdir data 例子: mkdir /myfile 或者 cd /; mkdir myfile ls 列表 ll :查看該目錄下的文件總個數 例子: ll 參數 l (long) 長格式 參數 d (directorys) 查看目錄 例子: ls -l \ ls -d \ ls -ld() ls /data (進入目錄下查看) cd 改變目錄路徑 全名稱 :change directory 相當路徑:沒有從根 " / " 開始 cd data 絕對路徑:從根 " / " 開始 cd /etc 例子: cd /etc ; cd data pwd 打印工作目錄(顯示當前所在路徑) 全名稱 :print work directory 例子: pwd 輸出結果:/directory / (那個文件) 操作文件指令: touch 創建文件及更新時間戳 若文件不存在 touch file.txt 若文件存在 更新時間戳(文件的時間屬性) ; 例子: touch /myfile/file.txt vi 編輯文件 vi file.txt vi 後跟 操作的文件 ; 回車進入待編輯狀態 按 " a "或 " i " 字母 進入編輯狀態 ; 編輯好之後 按 鍵盤 Esc 回到 待編輯狀態; 輸入 " :wq " 保存和退出 編輯 回到 命令行模式; 不想保存: 輸入 :q 強制退出 輸入 :q! 解釋 wq : w(write) 、q (Quit) ; vim 復雜編輯器 功能復雜,高亮,自動縮進,寫腳本(shell / python 腳本用) vim file.txt 按 " a "或 " i " 字母 進入編輯狀態 ; 編輯好之後 按 鍵盤 Esc 回到 待編輯狀態; 輸入 " :w " 保存後再按":q"退出 編輯 回到 命令行模式; echo 覆蓋或追加內容 配合 " 重定向 > " , " 追加 >>" echo ‘ I am study Linux now; ‘ >myfile.txt 解釋:echo 後面跟 文件內容 " > " 代表重定向到 那個文件 或者其他 " > " 後的文件若存在 會 先清空 該文件的內容 後 寫入 " > " 前面的 內容 ; 此 " > " 指令 操作 危險 ,在操作前 請先備份 ,在操作; 若想追加 則用 " >> " 例子: echo ‘I drop in love river with you; ‘>>myfile.txt cat 單行和多行文本追加 cat >myfile.txt 回車 後編輯輸入 I love you in my life;在按 Ctrl + C 或 D 結束編輯; [[email protected] myfile]# cat >>myfile.txt<<my : (多行追加實例:) > i love you in mylife; > do you want to mirry with me? > my(my 可以換成任意,但必須頂格寫) [[email protected] myfile]# cat myfile.txt (實例顯示的結果:) I studying Linux now; i love you in mylife; do you want to mirry with me? 特殊符號: > 或 (0\1\2)> 輸出重定向:把前面的內容輸入到後面,會清除原有的文件內容;(有 1 沒有都一樣) 例子 :>myfile.txt (清空原有內容) echo ‘ i love you ‘ >myfile.txt >> 或 (0\1\2)>> 追加輸出重定向:把前面的內容追加到後面,不會清除原有文件內容; 例子:echo ‘I drop in love river with you; ‘>>myfile.txt 0< 或 < 輸入重定向 : 把文件或文本內容 輸入給 前面的命令; 例子: [[email protected] myfile]# echo ‘ 1 2 3 4 ‘>myfile.txt [[email protected] myfile]# cat myfile.txt 1 2 3 4 [[email protected] myfile]# xargs -n 2 <myfile.txt (xargs -n 2 理解為:2個一個單位分組) 1 2 3 4 0<< 或 << 輸入追加重定向 [[email protected] myfile]# cat >>myfile.txt<<my : (多行追加實例:) > i love you in mylife; > do you want to mirry with me? > my 特殊符號 < 、< <、>、>> 的說明: 箭頭的指向代表數據的流向 數字的說明: 標準輸入(stdin): 代碼為0 ,使用 0< 或 0<< ,數據(輸入的數據)流向從右到左 例子: cat < myfile.txt 標準正常輸出(stdout):代碼為1 ,使用 1> 或 1>> ,數據(正確的數據)流向從左到右 例子: echo oldbook >myfile.txt echo oldbooks >> myfile.txt 標準錯誤輸出( stderr ): 代碼為2 ,使用 2> 或 2>> ,數據(錯誤的數據)流向從左到右 echo oldbook > myfile.text 2>b.txt 意思是:正確的數據輸出到 myfile.txt,錯誤的輸出到b.txt cho odkbb > a.txt 2>‘&‘ 意思是: 正確或者錯誤都輸出到 a.txt cho oooddd &>a.txt 意思是: 正確或者錯誤都輸出到 a.txt echo shuikm &>>a.txt 意思是:正確或者錯誤輸出追加到 a.txt xargs -n number <wenjian 分組 echo 1 2 3 4 5 6 7 8 >a.txt 例子:xargs -n 3 <a.txt cp file /temp 把某個文件或目錄拷貝到 某個地方 例子: cp a.txt /temp/ 相對路徑拷貝 [[email protected] myfile]# cp /myfile/a.txt /my cp: overwrite `/my/a.txt‘? y 絕對路勁拷貝 若有文件輸入 " y " 覆蓋;輸入" n " 不覆蓋 若拷貝 目錄 需要 加參數 " -r 遞歸拷貝,用於復制目錄 " " -a 相對於 -p: 保持屬性 ;-d:鏈接文件 -r " 例子: cp -r /myfile /temp rm remove rm -f(force)強制 -r(recuresive) 遞歸刪除目錄 / mydirectory mv 移動文件和目錄 mv file.txt /temp 原位置文件就沒有了 find 查找 -type f (什麽類型) -name (叫什麽名字) " file.txt" -exec(做什麽動作) find /myfile -type f -name ‘ myfile.txt ‘ -exec rm {} \; 上面例子是:找到/myfile 目錄下file類型的myfile.txt 文件 ‘ {} 內容 ‘刪除操作 find /myfile -type f -name "*.txt " | xargs rm -f 把查找的內容 放到一行上 進行刪除

按照一個系統的流程練習總結:

[[email protected] ~]# cd / 進入根目錄
[[email protected] /]# ls 跟列表清單
---a.txt boot dev home lost+found mnt proc sbin srv tmp var
---bin data etc lib media opt root selinux sys usr

[[email protected] /]# mkdir /my 創建my目錄
[[email protected] /]# ls 查看目錄裏有沒有my
---a.txt data home media opt sbin sys var
---bin dev lib mnt proc selinux tmp
---boot etc lost+found my root srv
[[email protected] /]# touch /my/a.txt 在目錄裏創建文件a.txt
[[email protected] /]# ls /my 查看目錄裏有沒有a.txt
---a.txt
[[email protected] /]# echo ‘111 222 333 444 向文件裏輸入內容編輯
555 666 444 555 666
111 222 55 66 44 88
552‘>/a.txt 根目錄下有該文件就寫入,沒有就創建
[[email protected] /]# cat a.txt 查看根目錄下a.txt文件的編輯的內容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
[[email protected] /]# pwd 打印當前目錄位置
[[email protected] /]# vi a.txt vi編輯器編輯內容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
"a.txt" 6L, 115C written
[[email protected] /]# cat a.txt 查看編輯的內容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
---please do something for it
[[email protected] /]# vim a.txt vim 編輯器編輯
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
---please do something for it
please do something for it
---vim to do this
---55556666
[[email protected] /]# cat a.txt 查看編輯的內容
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
-- please do something for it
---vim to do this
---55556666
---8888 99999
[[email protected] /]# cho 123456 >>a.txt 2>&1 錯誤數據是否和正確數據輸出寫入到了 a.txt 文件裏
[[email protected] /]# cat a.txt 查看錯誤數據有沒有寫入
---111 222 333 444
---555 666 444 555 666
---111 222 55 66 44 88
---552
---if you love that
please do something for it
---vim to do this
---55556666
---8888 99999
-bash: cho: command not found 這裏是寫入的 錯誤數據輸出值
[[email protected] /]# xargs -n 4 <a.txt 對a.txt 文件進行 分組整理 按每行 4 個數據分組
---111 222 333 444
---555 666 444 555
---666 111 222 55
---66 44 88 552
---if you love that
---please do something for
---it ----------- vim to
---do this 55556666 8888
---99999 -bash: cho: command
---not found
[[email protected] /]# cp /my/a.txt / cp 復制文件到 根目錄
---cp: overwrite /a.txt‘? y 根目錄有 是否要覆蓋 ‘y‘ 覆蓋 ‘n‘ 不覆蓋<br/>[[email protected] /]# mv /a.txt /my mv 移動根目錄的a.txt文件到/my目錄下<br/>---mv: overwrite/my/a.txt‘? y
[[email protected] /]# cat /my/a.txt
[[email protected] /]# cd /my
[[email protected] my]# cat a.txt
[[email protected] my]# echo 1 2 3 4 5 6 7 8 >a.txt 對文件進行編輯
[[email protected] my]# cat a.txt
---1 2 3 4 5 6 7 8
[[email protected] my]# xargs -n 3 <a.txt 按 3 分組整理
---1 2 3
---4 5 6
---7 8
[[email protected] my]# cp a.txt /
[[email protected] my]# cd /
[[email protected] /]# ls
& boot etc lost+found my root srv usr
---a.txt data home media opt sbin sys var
---bin dev lib mnt proc selinux tmp
[[email protected] /]# rm /my/a.txt 刪除文件
---rm: remove regular file /my/a.txt‘? y<br/>[[email protected] /]# ls /my<br/>[[email protected] /]# find / -type f -name ‘a.txt‘ -exec rm{} \; 按條件找到文件刪除<br/>---find:rm/a.txt‘: No such file or directory
[[email protected] /]# touch /my/b.txt
[[email protected] /]# ls /my
---b.txt
[[email protected] /]# find /my -type f -name ‘b.txt‘ |xargs rm 按條件進行管道刪除
[[email protected] /]# ls /my**

Linux 基本指令的操作和示例說明(五節)