運維初學,cal命令,獲取幫助,vim,head命令和tail命令的
阿新 • • 發佈:2018-12-11
一·對linux的認識
1.什麼是linux linux整個基於Linux核心,是linux的核心+GNU組織的軟體 GNU/linux的作業系統 2.什麼是shell shell是一個直譯器,是保護系統核心不被篡改的軟體,我們所使用的系統中預設啟動的shell是bash 注: bash是一個為GNU計劃編寫的Unix shell,它是Bourne-Again SHell的縮寫 3.怎樣在shell中執行命令 命令必須在行提示符之後輸入,如果行提示符被佔用,那麼,ctrl+c可以結束佔用當前行提示符的程式從而釋放行提示符 4.在shell中輸入命令的格式:命令+空格+引數+空格+物件 命令就是程式,引數就是程式指定的某種功能 -a -b -c =-abc = -bac,物件是操作的目標 舉例: rm -f -r /* == rm -fr /*
二·虛擬機器的基本操作
1.虛擬機器的控制
[[email protected] Desktop]$ rht-vmctl view desktop #顯示虛擬機器
[[email protected] Desktop]$ rht-vmctl start desktop #開啟虛擬機器
[[email protected] Desktop]$ rht-vmctl poweroff desktop #關閉虛擬機器
[[email protected] Desktop]$ rht-vmctl reset desktop #重置虛擬機器
注:
kiosk #表示shell的執行人是誰
@foundation0 #shell開啟主機的主機名稱
Desktop #你當前所在資料夾的名字
2. 虛擬機器的報錯情況以及改正
[ [email protected] Desktop]$ rht-vmctl start desktop
Error: desktop not started (is already running) #虛擬機器正在執行
改正:停止‘rht-vmctl start desktop’操作,直接執行當前準備執行的命令
[[email protected] Desktop]$ rht-vmctl view desktop
Error: unable to view desktop - not currently running. #虛擬機器沒有執行
改正:先執行命令‘rht-vmctl start desktop’,再執行下一步操作
[ [email protected] Desktop]$ rht-vmct1 start desktop
bash: rht-vmct1: command not found... #命令輸入錯誤
改正:檢查輸入的命令‘rht-vmctl’是否正確,注意區分‘數字1’和‘字母l’
[[email protected] Desktop]$ rht-vmctl stat desktop
Error: bad option, stat #引數寫入錯誤
改正:檢查輸入的引數‘start/view/poweroff/reset’是否正確,注意區分大小寫
[[email protected] Desktop]$ rht-vmctl start deskop
Error: unrecognized VMNAME specified, deskop. #虛擬機器名稱錯誤
改正:檢查輸入的名稱‘desktop’是否正確,注意區分大小寫
3.系統使用者登陸
$ #普通使用者,這個使用者只能使用系統,但是權力比較低,比如不能刪除 home/computer/boot/student/student
# #超級使用者,系統管理員,權力絕對大,可以破壞系統
注意: 刪除boot以後,在系統中選擇reset 那麼系統啟動成功 系統啟動不了可以直接重置虛擬機器
4.在系統內新增中文輸入法 application ------> setting ---> 藍旗(region&language)---->china pinyin
5.文字編輯
gedit 檔名稱 & # "&"的作用是讓gedit命令在後臺執行而不佔用當前介面
6.檔案管理命令
(1)新建檔案
touch 檔名
注:建立多個檔案時,touch ‘檔名’ ‘檔名’ ... #想建立多少個檔案,就用引號引用多少個
[[email protected] Desktop]# touch file[[email protected] Desktop]# ls
file
[[email protected] Desktop]# touch file1 file2 file3
[[email protected] Desktop]# ls
file file1 file2 file3
(2)新建目錄
mkdir 目錄名
(3)刪除檔案
rm -f 檔名 # -f 是force的縮寫,表示強制刪除不提示
區分rm和rm -f
[[email protected] Desktop]# ls
file file1 file2 file3
[[email protected] Desktop]# rm file # 刪除時要徵求意見
rm: remove regular empty file ‘file’? y
[[email protected] Desktop]# rm -f file1 #直接刪除
[[email protected] Desktop]# ls
file2 file3
(4)刪除目錄
rm -fr 目錄名 #-r 表示遞迴,包括目錄本身和裡面的所有內容一起刪除
7.檢視
(1)cat 檔名 # 檢視檔案或者目錄裡的具體內容
(2)ls 檔名 # 顯示當前檔案下的目錄名稱
注:
ls -a #顯示所有檔案包括以點開頭的隱藏檔案
ls -R #遞迴顯示目錄中的所有內容
(3)file # 檢視檔案型別操作步驟(可以清楚的體現file的作用以及檔案的作用)
[[email protected] Desktop]# touch westos
[[email protected] Desktop]# file westos
westos: empty
[[email protected] Desktop]# vim westos
1 hello world
2 say hi
[[email protected] Desktop]# file westos
westos: ASCII text
[[email protected] Desktop]# vim westos
1 #!/bin/bash
2 hello
[[email protected] Desktop]# file westos
westos: UTF-8 Unicode text
[[email protected] Desktop]# vim westos
1 #include<stdio.h>
2 hello
[[email protected] Desktop]# file westos
westos: C source, ASCII text
(4)wc (統計檔案的字數,字元數,位元組數)
wc -l #行數
wc -m #字元數
wc -c #位元組數
wc -w #字數
[[email protected] Desktop]# cat westos
#include<stdio.h>
hello
[[email protected] Desktop]# wc -l westos
2 westos
[[email protected] Desktop]# wc -m westos
24 westos
[[email protected] Desktop]# wc -c westos
24 westos
[[email protected] Desktop]# wc -w westos
2 westos
區分wc -m 與 wc -c
在輸入中文時,會有不同;輸入英文時,兩個差不多
[[email protected] Desktop]# cat westos
hello
linux
你好
[[email protected] Desktop]# wc -c westos
19 westos
[[email protected] Desktop]# wc -m westos
15 westos
8.複製
cp 檔名 新檔名稱/目錄
cp -r 目錄 新目錄名稱 # -r 表示遞迴
[[email protected] Desktop]# ls
[[email protected] Desktop]# cp /etc/passwd file
[[email protected] Desktop]# ls file
[[email protected] Desktop]# cp -r /etc . # . 代表當前位置
[[email protected] Desktop]# lsetc file
[[email protected] Desktop]# mkdir westos
[[email protected] Desktop]# cp /etc/passwd westos/
[[email protected] Desktop]# ls westos/
passwd
9.移動
mv 檔名 要移動到的目錄名稱
mv 目錄名 要移動到的目錄名稱
mv 目錄/* . #把目錄中的所有內容移動到當前所在系統位置, "."代表當前位置
10.系統結構
/bin # 存放常用系統命令
/sbin # 存放系統管理命令
/boot # 啟動分割槽
/sys # 核心引數調整
/dev # 裝置檔案
/lib # 32位庫檔案
/lib64 # 64文庫檔案
/media /run /mnt # 臨時裝置的掛載點
/opt # 第三方軟體安裝位置
/proc # 系統資訊
/etc #系統配置目錄
/home # 普通使用者家目錄
/root # 超級使用者家目錄
/var,/srv # 系統資料
11.關於路徑的命令
<1>路徑的分類
絕對路徑:檔案所在系統的真實位置,在系統的任何位置都可以使用通常以"/"開頭
相對路徑:相對當前所在系統位置的一個檔名稱的簡寫,他通常會自動新增"pwd"的值在名稱前
pwd # 顯示當前所在系統位置的路徑
[[email protected] Desktop]# pwd
/root/Desktop
touch /mnt/file # 用絕對路徑的方式在/mnt/中建立file檔案
rm -fr /mnt/file # 用絕對路徑的方式刪除/mnt/中的file檔案
mv hello /mnt # 把當前的hello檔案移動到/mnt目錄中
mv /mnt/hello . # 用絕對路徑的表示方式把/mnt中的hello檔案移動到當前位置
12.切換工作目錄
cd 目錄名
cd .. # 進入當前目錄的上層目錄
cd . # 進入當前目錄
13.如何在系統中獲得幫助
(1)whatis # 得到一個命令但不知道這個命令的作用時使用
whatis cat # 顯示cat命令的用途
[[email protected] Desktop]# whatis cat
cat (1) - concatenate files and print on the standard output
cat (1p) - concatenate and print files
(2)--help命令:當知道命令的用途,但是不知道命令的執行格式或者方法時使用
注:--help只適用於命令
[[email protected] Desktop]# cal --help
Cal # 用來顯示陽曆日曆
-1 # 顯示當前月日曆
-3 # 顯示上月,本月,下月日曆
-s # 顯示的日曆是以週日為每週的第一天
-m # 顯示的日曆是以週一為每週的第一天
-j # 日曆中顯示的數字是指此天為今年的第幾天
-y # 顯示今年的日曆
-V # 顯示版本資訊並退出
-h # 顯示此幫助文字並退出
[] #選加,可以加也可以不加
... #加的個數可以時任意多個
<> #必須加不可缺少的資訊
[[email protected] Desktop]# cal 8 2018 # 顯示2018年8月的日曆
[[email protected] Desktop]# cal #顯示當月的日曆
[[email protected] Desktop]# cal -j #顯示自1月1日至當天的總天數
3.man ==manual #當檢視檔案的幫助時,--help是不能使用的,必須用man命令來檢視幫助了
(1)man的級別
1 命令
2 核心呼叫的介面
3 函式庫
4 特殊檔案比如裝置檔案
5 系統檔案
6 遊戲
7 包資訊
8 系統密令
9 核心規則
[[email protected] Desktop]# man date # 檢視date命令的幫助手冊
[[email protected] Desktop]# man 5 passwd # 檢視/etc/passwd 檔案的幫助手冊
(2)man使用時的快捷鍵
進入man頁面後
pageup # 向上翻頁
pagedown # 向下翻頁
q # 退出
注:當man或者whatis命令無法查詢幫助是,是因為系統沒有載入幫助資料庫
解決辦法:執行 mandb
三·vim
1.編輯檔案
vim 檔名
進入瀏覽模式,按"i"鍵 進入插入模式開始編寫字元,編寫結束後按"ESC"鍵 退出插入模式,按":wq" 儲存退出,檔案編寫完成。
vim同時編輯多個檔案
先開啟一個檔案,再進行操作‘:sp ’+‘filename’
ctrl + w # 實現游標在上下檔案視窗切換
注:
<1>當檔名稱存在,那麼進入檔案直接編輯,當檔名稱不存在,vim會在退出儲存時自動建立檔案,當vim命令後沒有跟任何檔名稱時,無法實現‘:wq’退出儲存的,那麼可以用":wq filename"
<2>當vim異常退出時,系統會建立.file.swp這個快取檔案,這個檔案中儲存著在‘:wq’動作之前儲存的資訊,當用vim對檔案做編輯的時候會提示
O #只讀開啟
E #直接忽略.file.swap資訊編輯檔案
R #利用.file.swap進行為儲存資料恢復
D #刪除.file.swap
Q #退出
A #終止
2.vim的三種模式
(1)命令模式
A: vim工作方式設定(命令模式是vim開啟檔案後預設進入的模式,這個模式中不能插入字元,但是可以設定vim的工作方式)
:set nu
:set nonu
:set cursorline
:set mouse=a
注:在vim中直接設定vim的工作方式是臨時設定,也就是說當vim關閉,設定失效 如果要永久設定需要編寫vim的配置檔案 ‘/etc/vimrc’
B: 在命令模式下如何管理字元
x # 刪除游標所在字元
u # 恢復(undo)
ctrl+r # 撤銷恢復(redo)
y # 複製
yw # 複製一個單詞
yl # 複製一個字母
yy # 複製一整行
y5y # 複製5行
c # 剪下
cw # 剪掉一個單詞
cl # 剪掉一個字母
cc # 剪掉一整行
c5c # 剪掉5行
注:"用C做剪下時,會進入插入模式,如果要貼上需要退出插入模式按‘ESC’鍵再按‘P’
d # 刪除
dw # 刪除一個單詞
dl # 刪除一個字母
dd # 刪除一整行
d5d # 刪除5行
p # 貼上
C.vim的視覺化操作
a:視覺化模式的基本操作
在vim中是不能用滑鼠選擇區域操作的,如果要操作某個區域,需要進入到視覺化模式,在命令模式下 "ctrl + v" 就可以進入到可視模式了 按"上|下|左|右"移動游標選擇區域,按相應操作鍵就可以對選擇區域進行操作
b.視覺化模式下批量新增字元
。把游標停留在想要加入字元所在的列的第一行
。移動游標選擇新增字元所在列
。"I"進入插入模式 。寫入要插入的字元
。按"ESC"退出插入模式,字元批量新增成功
D:vim的字元替換
%s/原有字元/新字元/g # 全文替換
1,5s/原有字元/新字元/g # 替換1到5行的字元
g # 替換出現的所有關鍵字,如果不加"g"只替換每行出現的第一個
E:總字元的查詢及游標的移動
(1)字元的查詢
/關鍵字 # 搜尋關鍵字
n # 向下匹配關鍵字
N # 向上匹配關鍵子
注:按‘v’ 由瀏覽模式進入vim模式,按‘i’進入編輯模式,按‘ECS’後按‘:wq’退出編輯模式進入瀏覽模式
(2)游標的移動
:數字 # 游標快速移動到指定行
gg #游標移動到檔案的第一行
G # 游標移動到檔案的最後一行
(3)插入模式
i #在游標所在位置插入字元
I #游標所在行的行首插入字元
o # 游標所在行的下一行新行插入字元
O # 游標所在行的上以行新行插入
s # 刪除游標所在字元並插入字元
S # 刪除游標所在行並插入字元
a #游標所在字元的下一個字元插入
A # 游標所在行的行尾插入字元
(4)退出模式
:q # 當vim進入檔案沒有對檔案內容做任何操作可以按"q"退出
:q! #當vim進入檔案對檔案內容有操作但不想儲存退出
:wq # 正常儲存退出
:wq! # 強行儲存退出,只針對與root使用者或檔案所有人生效
四.萬用字元
1.字元匹配
* # 匹配0到任意字元
? # 匹配單個字元
[[:alpha:]] # 匹配單個字母
[[:lower:]] # 匹配單個小寫字母
[[:upper:]] # 匹配單個大寫字母
[[:digit:]] # 匹配單個數字
[[:alnum:]] # 匹配單個數字或字母
[[:punct:]] # 匹配單個符號
[[:space:]] # 匹配單個空格
[[email protected] Desktop]# cp -r /etc/*[[:digit:]]* .
[[email protected] Desktop]# ls
at-spi2 grub2.cfg mke2fs.conf rc0.d rc5.ddbus-1
gtk-2.0 pbm2ppa.conf rc1.d rc6.dDIR_COLORS.256color gtk-3.0
pkcs11 rc2.d sasl2e2fsck.conf iproute2 pnm2ppa.conf
rc3.d udisks2gnome-vfs-2.0 krb5.conf polkit-1 rc4.d X11
{} # 精確指定目標,前提是指定的所有目標都必須存在
{}{} # 兩個括號裡的目標分別進行有順序的組合組合
{1..3} # 指定1,2,3,而且1,2,3都存在
{1..3}{a..c} # 1a 2a 3a 2a 2b 2c 3a 3b 3c
[] # 模糊指定目標
[1-3] # 1或者2或者3
[^abc]|[!abc] # 除了a並且除了b並且除了c
2.常用文字處理工具(在命令輸入視窗直接輸入)
(1)head # 顯示指定檔案的前多少行
head -n 1 passwd # 顯示檔案的第一行
head -n 3 passwd #顯示檔案的前3行
head passwd # 預設顯示檔案的前10行
(2)tail #顯示檔案的後多少行,在閱讀檔案時,直接按此字元
tail -n 1 passwd # 顯示檔案的最後以行
tail -n 5 passwd # 顯示檔案的最後5行
tail passwd # 顯示檔案的最後10行
(3)less # 分頁瀏覽
less passwd
(4)‘!’和‘^’ # 表示非,相反的
3. 滑鼠點不動時, ctrl alt f2 , init 3;ctrl alt f1 , init 5;