(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)多行輸入,cat與echo必須有否則無法輸出
(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即可打開文件。