1.linux?
kernel(內(nèi)核)
2.什么時(shí)shell
保護(hù)系統(tǒng)內(nèi)核并對(duì)外提供操作接口的軟件
linux中默認(rèn)的shell是
bash
3.在shell如何運(yùn)行命令
#)命令行字符含義
[kiosk@foundation0 Desktop]$?
?[1]? ? [2] ? ?[3]? ? ? ? ? ? ? ? ?[4]? ? [5]?
[1]kiosk? ? ? ? ? ? ? ? ##當(dāng)前用戶名稱
[2]@? ? ? ? ? ? ? ? ? ? ##分割符?? ?
[3]foundation0? ? ?##主機(jī)名稱
[4]Desktop? ? ? ? ? ##當(dāng)前所在系統(tǒng)位置
[5]$? ? ? ? ? ? ? ? ? ? ?##用戶身份提示符$表示普通用戶,,#表示超級(jí)用戶
#)命令執(zhí)行方式
1.命令必須要在shell行提示符之后輸入
2.當(dāng)有程序占用shell時(shí)可以用ctrl c結(jié)束此程序
3.命令格式
命令?? ?參數(shù)?? ?目標(biāo)
參數(shù)
-? ? ? ? ?##單詞縮寫
--?? ??? ?##單詞全拼
-a -b -c === -abc ?===-cab ==== -cba
#)獲得幫助
mandb? ? ? ? ? ? ? ? ? ##更新幫助信息
whatis?? ?命令? ? ? ?##查看命令用途
命令 --help? ? ? ? ? ?##查看命令的幫助
?? ??? ?[]?? ?選加
?? ??? ?...?? ?加的個(gè)數(shù)任意
?? ??? ?<>?? ?必須加入
4.文件管理
##新建
#1.新建文件
touch file file1 file2 ....
注意:
?? ?touch默認(rèn)用來(lái)建立文件,同時(shí)此命令具備修改文件時(shí)間戳功能
#2.新建目錄(directory)
mkdir?? ??? ?dir? ? ? ? ? ? ? ? ? ? ? ? ?##新建目錄
mkdir -p ?? ?dir1/dir2/dir3?? ??? ?##新建遞歸目錄 -p=path
##刪除
#1.刪除文件
rm -f file1 file2 file3....
#2.刪除目錄
rm -fr ?dir?? ??? ??? ?##-f force強(qiáng)制刪除不提示
?? ??-r recursive? ? ##遞歸刪除
##復(fù)制? ? ? ? ? ? ? ?##復(fù)制是按照模版新建過(guò)程
#1.復(fù)制文件
cp file dest? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ##復(fù)制單個(gè)文件
cp file file1 file2 ? dir? ? ? ? ? ? ? ? ? ? ? ? ? ##復(fù)制多個(gè)文件到指定目錄中
#2.復(fù)制目錄
cp -r sourcedir1 sourcedir2 destdir? ##復(fù)制目錄到指定目錄中
##移動(dòng)? ? ? ? ? ? ? ? ? ? ##相同磁盤文件移動(dòng)是重命名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?##不同磁盤文件移動(dòng)是復(fù)制后刪除?
mv file file1? ? ? ? ? ? ?##重命名
mv file dir? ? ? ? ? ?? ? ##移動(dòng)文件
mv hello test
mv test/hello .?? ??? ?##此命令中的"."代表當(dāng)前目錄
##文件查看
cat ?? ??? ?file? ? ? ? ? ?##顯示文件全部?jī)?nèi)容
?? ?-n?? ?file? ? ? ? ? ? ?##顯示文件內(nèi)容并在每行前加入行號(hào)
?? ?-b?? ?file? ? ? ? ? ? ?##顯示文件內(nèi)容并在每行前加入行號(hào)但是不包含空行
less? ? ? ? ? ? ? ? ? ? ? ##分頁(yè)瀏覽
?? ?上|下? ? ? ? ? ? ? ? ##逐行查看
?? ?pgup|pgdn?? ??? ##主頁(yè)查看
?? ?/關(guān)鍵字?? ??? ??? ?##搜索關(guān)鍵字并高亮顯示,,"n"向下匹配一個(gè)關(guān)鍵字
? ? ? ? ? ? ? ? ? ? ? ? ? ? ##"N"想上匹配一個(gè)關(guān)鍵字
head ?? ??? ?file? ? ? ? ? ? ? ? ##顯示文件前10行
head ?-n 3?? ?file? ? ? ? ? ? ?##顯示文件前3行
tail?? ??? ?file? ? ? ? ? ? ? ? ? ? ##顯示文件后10行
tail ? ? -n 3?? ?file? ? ? ? ? ? ?##顯示文件后3行
##文件修改
#1.圖形工具
gedit file
#2.vim
vim file
##文件統(tǒng)計(jì)
wc?? ??? ?file? ? ? ? ?##行數(shù)
wc ?? ?-l?? ?file? ? ? ##字?jǐn)?shù)?
wc?? ?-w?? ?file? ? ?##字符數(shù)
wc?? ?-m?? ?file? ? ?##字節(jié)數(shù)
5.文件路徑?
##1.相對(duì)路徑
相對(duì)與當(dāng)前系統(tǒng)位置,,文件名稱的簡(jiǎn)寫,此名稱前會(huì)自動(dòng)添加'pwd'命令的輸出,,
相對(duì)路徑文件名稱前不會(huì)出現(xiàn)"/"
##2.絕對(duì)路徑
文件在系統(tǒng)中的真實(shí)位置,,在任何情況下都可以使用
絕對(duì)路徑一定以"/" 開頭
##3.linux的系統(tǒng)結(jié)構(gòu)及目錄分類
linux是一個(gè)倒樹型結(jié)構(gòu)頂級(jí)目錄 "/" 根目錄
"/"下的二級(jí)目錄
/bin? ? ? ? ? ? ? ##系統(tǒng)常規(guī)命令
/boot? ? ? ? ? ?##系統(tǒng)啟動(dòng)目錄
/dev? ? ? ? ? ? ##設(shè)備影射文件
/etc? ? ? ? ? ? ?##系統(tǒng)配置文件
/home? ? ? ? ?##普通用戶家目錄
/lib? ? ? ? ? ? ??##32位函數(shù)庫(kù)
/lib64? ? ? ? ? ##64位函數(shù)庫(kù)
/media? ? ? ?##光盤臨時(shí)掛載
/mnt? ? ? ? ? ?##手動(dòng)臨時(shí)掛載
/run? ? ? ? ? ? ##自動(dòng)臨時(shí)掛載
/opt? ? ? ? ? ? ##第三方軟件安裝位置
/proc? ? ? ? ? ##系統(tǒng)進(jìn)程信息和硬件信息
/root? ? ? ? ? ?##超級(jí)用戶家目錄
/sbin? ? ? ? ? ##系統(tǒng)管理命令
/srv? ? ? ? ? ?##系統(tǒng)數(shù)據(jù)
/sys? ? ? ? ? ?##內(nèi)核相關(guān)調(diào)式
/tmp? ? ? ? ? ##臨時(shí)文件
/usr? ? ? ? ? ?##用戶相關(guān)設(shè)定
/var? ? ? ? ? ?##系統(tǒng)數(shù)據(jù)
##關(guān)于系統(tǒng)路徑的命令
pwd?? ??? ??? ?##顯示當(dāng)前路徑
##顯示
ls ?? ??? ?dir? ? ? ? ? ? ? ##顯示路徑信息
ls -l?? ??? ?file? ? ? ? ? ?##顯示目標(biāo)屬性
ls -l -d ?? ?dir? ? ? ? ? ##顯示目錄本身屬性
ls -R?? ??? ?dir? ? ? ? ?##遞歸顯示目錄中的所有內(nèi)容
ls -a? ? ? ? ? ? ? ? ? ? ? ##顯示所有文件包括以"."開頭的隱藏文件
ls -ad .*? ? ? ? ? ? ? ? ##顯示所有隱藏文件
##切換
cd? ? ? ? ? ? ? ? ? ##進(jìn)入當(dāng)前用戶家目錄
cd /mnt? ? ? ? ? ##進(jìn)入mnt目錄
cd ..? ? ? ? ? ? ? ?##進(jìn)入到當(dāng)前目錄的上一級(jí)目錄
cd -? ? ? ? ? ? ? ? ##當(dāng)前目錄和進(jìn)入當(dāng)前目錄之前所在目錄之間的切換
#############文件批處理##############
*? ? ? ? ? ? ? ? ? ? ? ##匹配0~任意字符
?? ? ? ? ? ? ? ? ? ?##匹配單個(gè)字符
[[:alpha:]]?? ??? ?##匹配單個(gè)字符
[[:lower:]]?? ??? ?##匹配單個(gè)小寫字符
[[:upper:]]? ? ? ? ##匹配單個(gè)大寫字符
[[:digit:]]? ? ? ? ? ##匹配單個(gè)數(shù)字
[[:alnum:]]? ? ? ?##匹配單個(gè)字母或者字母
[[:punct:]]? ? ? ? ##匹配單個(gè)符號(hào)
[[:space:]]?? ??? ##匹配單個(gè)空格
[[::][::]]? ? ? ? ? ? ?##一個(gè)類型或者一個(gè)類型
{}? ? ? ? ? ? ? ? ? ? ##精確匹配
{1..5}
{a..c}
{1,3,5}
[]? ? ? ? ? ? ? ? ? ?? ##模糊匹配
[a-c]
[1-3]
[!a-c]? ? ? ? ? ? ? ?##不是a并且不是b并且不是c
[^a-c]? ? ? ? ? ? ? ##除了a,,b,,c
~? ? ? ? ? ? ? ? ? ? ? ? ?##當(dāng)年用戶家目錄
~username?? ??? ?##當(dāng)年用戶家目錄
~ ? ? ? ? ? ? ? ? ? ? ? ##當(dāng)年目錄
~-? ? ? ? ? ? ? ? ? ? ? ? ##當(dāng)年目錄之前的目錄
問(wèn)題:如何把etc目錄下中帶有數(shù)字和.conf的文件復(fù)制到桌面
答:cp /etc *[[:digit:]]*.conf /root/Desktop
?? ?
6.命令行技巧
<tab>鍵可以自動(dòng)補(bǔ)齊系統(tǒng)中存在的文件名稱或者命令
當(dāng)按<tab>補(bǔ)齊不了的時(shí)候,是因?yàn)橐赃@個(gè)字符開頭的內(nèi)容不唯一
可以按2次<tab>來(lái)顯示所有的以此字符開頭的內(nèi)容
如果按兩次還不出來(lái),,就是打錯(cuò)了
#2.歷史調(diào)用
history?? ??? ??? ?##顯示歷史
history -c?? ??? ?##清楚當(dāng)前環(huán)境中的歷史
?上|下? ? ? ? ? ? ?##逐行翻閱歷史
,!數(shù)字?? ??? ??? ?##調(diào)用指定行數(shù)的歷史
!字母?? ??? ??? ?##調(diào)用以此字母開頭大最近的一條命令
ctrl R(關(guān)鍵字)?? ??? ?##調(diào)用含有此關(guān)鍵字的最近一條命令
7.vim
###vim工作模式###
#命令模式
#插入模式
#退出模式
1.vim幫助
方法1:
vim?
:help
方法2:
vimtutor
#2.vim工作參數(shù)設(shè)定
臨時(shí)設(shè)定
:set 參數(shù)信息
:set nu? ? ? ? ? ? ? ? ? ?##顯示行號(hào)
:set nonu? ? ? ? ? ? ? ?##去掉行號(hào)
:set mouse=a?? ??? ?##鼠標(biāo)可選
:set cursorline? ? ? ?##顯示行線
注意:
?? ?以上設(shè)定方式在vim推出后會(huì)還原默認(rèn),更改配置的時(shí)候需要按esc加:然后輸入
#永久設(shè)定
vim /etc/vimrc
注意:
?? ?以上操作必須用root用戶,,更改永久設(shè)定不需要加:且最好寫在文件最后
#3.字符管理
y? ? ? ? ? ? ? ?##復(fù)制
yl? ? ? ? ? ? ? ##復(fù)制一個(gè)字母
y3l? ? ? ? ? ? ##復(fù)制三個(gè)字母
yw? ? ? ? ? ? ##復(fù)制一個(gè)單詞
y3w? ? ? ? ? ##復(fù)制三個(gè)單詞
yy? ? ? ? ? ? ?##復(fù)制一整行
y3y? ? ? ? ? ?##復(fù)制三整行
c? ? ? ? ? ? ##剪切
cl? ? ? ? ? ?##剪切一個(gè)字母
c3l? ? ? ? ?##剪切三個(gè)字母
cw? ? ? ? ?##剪切一個(gè)單詞
c3w? ? ? ?##剪切三個(gè)單詞
cc? ? ? ? ? ##剪切一整行
c3c? ? ? ? ##剪切三整行
注意:
?? ?當(dāng)用c做剪切之后,,vim會(huì)進(jìn)入插入模式
?? ?如果需要粘貼那么要按<esc>退出,?? ??? ?##一定要按esc后按p
d? ? ? ? ? ??##刪除(與前面相似)
p? ? ? ? ? ? ##粘貼(與前面相似)
u? ? ? ? ? ?##撤銷
crtl r? ? ?##恢復(fù)
#4.vim可視化模式
crtl v?? ?進(jìn)入可視化模式
然后用鍵盤選中,后復(fù)制y,,粘貼p
#可視化模式的批量添加
crtl v?? ?進(jìn)入可視化模式
選中要添加字符所在列?。。,。,。。,。,。。,?!,一定注意是列,。
按“I”?? ??? ??? ??? ??? ??? ?##此時(shí)注意現(xiàn)在是大寫
進(jìn)入插入模式
寫入字符
按<esc>批量添加字符
#5.字符的替換
:%s/源字符/替換后字符? ? ? ? ? ? ##每以行出現(xiàn)的第一個(gè)關(guān)鍵字
:%s/源字符/替換后字符/g? ? ? ? ?##全文替換,,s所有行,g表示所有列
:3,5s/源字符/替換后字符/g? ? ? ?##替換第三行到第五行的關(guān)鍵字
:/lp/,,/halt/s/sbin/hello/g? ? ? ? ? ##替換lp字符和halt字符之間的所有關(guān)鍵字
#6.在vim中編寫多個(gè)文件
vim file
:sp file1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ##需要先按esc推出插入模式
ctrl w 上|下|左|右? ? ? ? ? ? ? ? ? ? ? ?##光標(biāo)在窗口之間的移動(dòng)
crtl w放開后 v ? 就可以向右邊擴(kuò)展?? ?
ctrl w放開后 s?? ? 就可以向下擴(kuò)展
#7.光標(biāo)移動(dòng)及字符搜索
#光標(biāo)的移動(dòng)
:數(shù)字? ? ? ? ? ? ##光標(biāo)移動(dòng)到指定的行
<HOME>?? ??? ?##光標(biāo)移動(dòng)到行首
<END>? ? ? ? ? ?##光標(biāo)移動(dòng)到行尾
G? ? ? ? ? ? ? ? ? ? ##光標(biāo)移動(dòng)到最后一行
gg? ? ? ? ? ? ? ? ? ?##光標(biāo)移動(dòng)到第一行
#搜索字符
/關(guān)鍵字
n? ? ? ? ? ? ? ? ? ? ?##向下匹配
N? ? ? ? ? ? ? ? ? ? ##向上匹配
7.插入模式
i?? ??? ?##光標(biāo)所在位置插入
I?? ??? ?##光標(biāo)所在行的行首插入
a?? ??? ?##光標(biāo)所在字符的下個(gè)字符插入
A?? ??? ?##光標(biāo)所在行為插入
s?? ??? ?##刪除光標(biāo)所在字符插入
S?? ??? ?##刪除光標(biāo)所在行插入
o?? ??? ?##光標(biāo)所在行的下一行插入
O?? ??? ?##光標(biāo)所在行的上一行插入
8.退出模式
:q? ? ? ? ? ? ? ##再打開文件后沒(méi)有對(duì)文件作任何修改時(shí)使用
:wq? ? ? ? ? ?##退出保存,,在對(duì)文件修改后并對(duì)保存內(nèi)容時(shí)使用?? ??? ?
:q!? ? ? ? ? ?##強(qiáng)制退出,,在對(duì)文件做修改后要放棄修改時(shí)使用
:wq,!?? ??? ?##強(qiáng)制退出保存,在對(duì)屬于自己的文件或root用戶時(shí)使用
注:這是基本的操作,,需要自己去網(wǎng)上搜索
9.在linux中管理輸入輸出
>? ? ? ? ? ?##重定向正確輸出
2>? ? ? ? ?##重定向錯(cuò)誤輸出
&>?? ??? ?##重定向所有輸出
“注意:重定向會(huì)覆蓋原文件內(nèi)容"
例子
find /etc -name passwd?? ??? ?##此命令在student用戶下執(zhí)行因?yàn)闄?quán)限問(wèn)題會(huì)報(bào)錯(cuò)
find /etc -name passwd >file
find /etc -name passwd 2>file
find /etc -name passwd &>file
#輸出追加
>>
2>>
$>>
例子:
find /etc -name passwd? ? ? ? ? ? ? ? ? ##此命令在student用戶下執(zhí)行因?yàn)闄?quán)限問(wèn)題會(huì)報(bào)錯(cuò)
find /etc -name passwd >>file
find /etc -name passwd 2>>file
find /etc -name passwd &>>file
#s輸入管理
<<EOF
內(nèi)容
EOF
cat > westos <<EOF
hello
westos
world
EOF
#/bin/bash
passwd <<EOF
student
2018lei
2018lei
EOF
#管道
|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ##把第一條命令的正確輸出變成第二條命令的輸入
2>&1? ? ? ? ? ? ? ? ? ? ? ? ? ?##將編號(hào)位2的錯(cuò)誤輸出轉(zhuǎn)換為編號(hào)為1
ls /bin | wc -l?? ??? ??? ??? ?##統(tǒng)計(jì)/bin中有多少文件
find /etc -name passwd 2>&1 | wc -l? ? ? ? ? ? ? ? ? ? ? ##將etc所有韓passwd的文件輸出,,并統(tǒng)計(jì)個(gè)數(shù)
find /etc -name passwd 2>&1 |tee file |wc -l? ? ? ? ? ?##將etc所有韓passwd的文件輸出并導(dǎo)入到file,并統(tǒng)計(jì)個(gè)數(shù)
來(lái)源:http://www./content-3-27301.html
|