管理輸入輸出、vim文本編輯14

1.管理輸入輸出

(1)在linux系統中,正確輸出的編號爲1,錯誤輸出編號爲2
(2)在系統中用普通用戶執行 "student"
find /etc -name passwd
因爲student用戶權限問題會有以下輸出
find: ‘/etc/pki/CA/private’: Permission denied        ##
沒有進入權力,報錯
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/passwd                     ##
正確輸出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/grub.d’: Permission denied
/etc/pam.d/passwd                   ##
正確輸出
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/named’: Permission denied


操作過程如下圖所示:


(3)find /etc -name passwd >file      ##重定向正確輸出


(4)find /etc -name passwd 2> file     ##重定向錯誤輸出


(5)find /etc -name passwd &> file     ##重定向所有輸出

 注意:

      (1)>,2>,&>都會覆蓋原文件內容

      (2)>file   ##清空文件file的內容


(6)find /etc -name passwd >> file     ##追加正確輸出

 如下圖所示,追加正確輸出並不會覆蓋原文件的內容。


(7)find /etc -name passwd2>> file    ##追加錯誤輸出


(8)find /etc -name passwd &>> file    ##追加所有輸出


注意:

    (1)>> 2>> &>>不會覆蓋源文件內容,會把相應的輸出字符方到文件的最後

    (2)交互指用戶有操作系統給出結果的過程


(9)echo>>file<<end
     >1
     >2
     >3
     >end

     cat>>file<<end
     >1
     >2
     >3
     >end


操作如下圖所示


注意:

    (1)多行輸入,catecho必須有否則無法輸出
    (2)
student用戶操作。
    (3) <<end
避免交互


(10)|管道,管道的作用是將前一條命令的輸出變成管道後命令的輸入
ls /bin | wc -l    ##
統計ls /bin命令輸出的行數


操作如下圖所示,統計出ls /bin命令輸出了1582行。


注意:

    (1)系統中錯誤的輸出是無法通過管道的。
    (2)用 2>&1可以把錯誤的輸出編號由2變成1。如下圖所示。


(3)tee複製輸出到指定位置
date |tee file |wc -l  ###tee
命令複製date命令的輸出到file中,並統計輸出行數。該命令操作如下圖所示。



2.vim

(1)vim命令模式
vim一場退出時,系統中會在所編輯的文件目錄中生成.file.swp(異常退出指斷電、直接關閉shell窗口等)
vim
再次編輯此文件時會出現相應提示
"o"  open
"e"  edit
"r"  recover   ##將.file.swp的內容還原到被編輯文件
"d"  delete.swap file
"q"  quit


如下圖所示:


當出現上圖,按R後,會編輯結束回到shell窗口,再次編輯該文件時,會出現下圖:

按Q鍵進入編輯文件界面,編輯結束回到shell,再次編輯該文件就可以直接編輯了。


(2)vim的命令模式下可以配置vim的工作方式
:set nu        ##
行號添加
:set nonu      ##
取消行號
:set mouse=a       ##
添加鼠標選擇
:set cursorline    ##
行線顯示


操作及結果如下圖所示:



以上設定都是臨時的,永久設定方式爲:
vim /etc/vimrc     ###
此文件爲vim的配置文件,在此文件最後加入以上參數,加到文件中的參數不需要:


如下圖所示,在shell窗口輸入vim /etc/vimrc,進入到vim的配置文件,在最後一行加上參數,保存文件並退出就可以了。

(3)vim命令模式下關鍵字搜索
/
關鍵字

n
向下匹配
N
向上匹配


如下圖所示,在shell窗口輸入vim filename,進入vim命令模式後輸入/nu,回車後就會將關鍵字高亮顯示,按住n、N就可以向上、向下匹配。

3.vim命令模式下字符的管理

(1)字符的複製
yl      ##
複製一個字母
y3l     ##
複製3個字母
yw      ##
複製一個單詞
y3w     ##
複製3個單詞
yy      ##
複製一行
y3y     ##
複製3
p       ##
複製完成後按“P”粘貼


如下圖所示,將光標放置於第一行的首字母處,按下yl然後再按p就會複製首字母;光標位於第一行的world的w處,按下y3l就會複製wor,再按下p即完成粘貼。



(2)字符的刪除
dl      ##
刪除一個字母
d3l     ##
刪除3個字母
dw      ##
刪除一個單詞
d3w     ##
刪除3個單詞
dd      ##
刪除一行
d3d     ##
刪除3

##與複製相比刪除操作要簡單,直接把光標放置於需要刪除的位置,使用相應的刪除命令即可。

如下圖,將光標置於第一行首字母,按下dd就刪除該行的所有的內容了。

(3)字符的剪切
cl        ##
剪切一個字母
c3l      ##
剪切3個字母
cw      ##
剪切一個單詞
c3w    ##
剪切3個單詞
cc       ##
剪切一行
c3c     ##
剪切3
esc ---> p  ##
剪切過後會進入到插入模式,在執行粘貼動作時一定要退出插入模式


(4)vim的可視化模式

在命令模式下按“ctrl+v”進入到可視模式
在可視模式下可以區域選擇字符

可視模式下批量添加字符
*>> ctrl+v
選中要加入字符所在列
*>>
“I”進入插入模式,寫入要加入的字符
*>>
esc


如下圖所示,通過vim的可視化模式,在每行hello後面批量添加####。

(5)批量修改字符
:%s/
原有字符/替換後字符      ##只替換每一行中出現的第一個原有字符
:%s/
原有字符/替換後字符/g   ##替換所有
:1,5s/
原有字符/替換後字符/g  ##替換1-5


如圖所示,在命令模式下輸入:%s/hello/hi

得到的結果如下圖所示,其餘的使用方法類似。


(6)vim的分屏功能
ctrl+w s    ###
上下分屏
ctrl+w v    ###
左右分屏
ctrl+w c    ###
關閉光標所在屏幕
ctrl+w
上下左右     ###光標移動到指定屏幕
:sp file2                 ##
同時編輯當前文件和file2


如下圖所示,Ctrl+w+s、Ctrl+w+v可以上下、左右分屏。

如下圖所示,輸入:sp file2可以同時編輯當前文件和文件2。


(7)vim光標移動
在命令模式下
:
數字       ##移動到指定的行
G       ##
文件最後一行
gg      ##
文件第一行

在插入模式下
i        ##
光標所在位置插入
I        ##
光標所在行行首
a       ##
光標所在字符的下一個位置
A       ##
光標所在行行尾
o       ##
光標所在行下一行
O       ##
光標所在行上一行
s       ##
刪除光標所在字符插入
S       ##
刪除光標所在行插入


如下圖所示,在命令模式下,輸入:10,回車後光標就移動至第10行的行首了


(8)vim的退出模式
:q        ##
當用vim打開文件但沒有對字符作任何操作時可直接退出
:q!       ##
當用vim打開文件並對字符作操作,放棄所有操作退出
:wq     ##
保存退出
:wq!    ##
強行保存退出,對超級用戶及文件所有人生效(wq!適用於文件是自己的,或自己是root用戶)

##當文件編輯結束後,我們可以根據需要選擇vim的退出模式。

(9)vim手冊
vimtutor    ##vim
的手冊
:q             ##
退出vimtutor


如下圖所示,在shell窗口輸入vimtutor,就會進入到vim手冊文件。退出則輸入:q

(10)兩個文件對比編輯

vimdiff 文件1 文件2    ##在一個窗口同時打開兩個文件,並將不同的內容高亮顯示


如下圖所示,同時打開兩個文件並將文件中不同的內容高亮顯示。

4.gedit

ctrl+n         ##gedit中打開一個新的tab
ctrl+s         ##
保存文件

ctrl+o         ##
打開文件
ctrl+x         ##
剪切字符
ctrl+v         ##
粘貼字符
ctrl+c         ##
複製字符
yelp help:gedit    ##gedit
的圖形手冊


如下圖所示,在shell窗口輸入gedit file,打開該文件,使用Ctrl+n即可在gedit中打開一個新的tab


如下圖所示,使用Ctrl+o即可打開文件。




發佈了27 篇原創文章 · 獲贊 2 · 訪問量 8362
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章