Linux 基本指令的操作和示例說明(五節)
阿新 • • 發佈:2019-05-01
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 基本指令的操作和示例說明(五節)