linux系統(tǒng)下文件目錄機(jī)構(gòu)
/bin 包含基本上所有可執(zhí)行命令
/boot 存放引導(dǎo)系統(tǒng)程序的文件
/dev 存放設(shè)備
/etc 存放系統(tǒng)配置的文件和目錄
(/etc/passwd/etc/shadow)
/media 含有USB接口的設(shè)備
/mnt 存放掛載點(diǎn)(光驅(qū)、內(nèi)存設(shè)備)
/opt 可選目錄,存放可執(zhí)行程序
/proc 存儲(chǔ)系統(tǒng)信息
/lib 存放系統(tǒng)動(dòng)態(tài)鏈接共享庫
/sbin 存放管理員的系統(tǒng)管理程序
/usr 占用了系統(tǒng)的大部分空間,很多應(yīng)用程序存放在這里,打印驅(qū)動(dòng)、安裝游戲
/user/share 共享資源
/var 容易發(fā)生變化的目錄
/home 存放用戶的目錄
PS1用來指定命令提示符(PS1=ARMGCC)
恢復(fù)默認(rèn)提示符:PS1="[\u@\h \w]\$"
~ 表示用戶主目錄
. 表示當(dāng)前所在的目錄
.. 表示當(dāng)前目錄的上一層目錄
1)、絕對路徑:以“/”開始的目錄
2)、相對路:只相對于當(dāng)前目錄的目錄
rmdir [選項(xiàng)] 文件名 (目錄下不能有任何東西)
mkdir -p 嵌套目錄
ls -R 目錄
新建文件f1 f2 ...f9
touch f1 f2 f3 f4 f5 f6 f7 f8 f9
ls f[1-5] 其中,中括號(hào)中內(nèi)容表示一個(gè)范圍
快捷鍵 ctrl + l 清屏
touch 創(chuàng)建一個(gè)空文件
===================================================
> 重定向 ls > file
>> 追加 ls >> file
cal 顯示日歷
date 顯示時(shí)間
cp 文件或目錄拷貝到另一個(gè)文件或目錄
cp [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
wc 用來統(tǒng)計(jì)文本文件的內(nèi)容
wc 文本文件名
-l 統(tǒng)計(jì)行
-w 統(tǒng)計(jì)字?jǐn)?shù)
-c 統(tǒng)計(jì)字節(jié)數(shù)
cat 在標(biāo)準(zhǔn)輸出上顯示文件
more 在終端屏幕上按屏顯示文本文件,要繼續(xù)顯示按回車鍵或空格鍵
顯示文件頭5行內(nèi)容:
head -5 /etc/passwd
顯示文件后5行內(nèi)容:
tail -5 /etc/passwd
? 表示任意一個(gè)字符
* 表示任意多個(gè)字符
[] 匹配指定范圍內(nèi)的一個(gè)字符
grep 查找顯示指定字符串的輸出
grep 10 /etc/passwd | wc
把左邊命令的輸出當(dāng)前文件交給右邊命令處理
硬鏈接 ln
不是快捷方式 不用來建文件 只是給文件再起一個(gè)名字 多個(gè)名字對應(yīng)同一個(gè)文件
軟連接 ln -s [文件/目錄]
類似于一個(gè)快捷方式 可以去操作所指的目標(biāo)文件,例如:
ln -s /bin/date da
運(yùn)行:./da
ps 查看進(jìn)程情況
ps [選項(xiàng)]
-e 顯示所有進(jìn)程
-f 全格式
-l 長格式
-w 寬輸出
r 只顯示正在運(yùn)行的進(jìn)程
x 顯示沒有控制終端的進(jìn)程
a 顯示終端的所有進(jìn)程,包括其他用戶進(jìn)程
kill 殺死僵死進(jìn)程
kill 進(jìn)程ID
kill -9 進(jìn)程ID
chmod [who] [ + | - | = ] [mode] 文件名
文字設(shè)定法
u 表示用戶(user),即文件或目錄的所有者
g 表示同組(group)用戶,即文件屬主有相同組ID的所有用戶
o 表示其他(other)用戶
+ 添加某個(gè)權(quán)限
- 取消某個(gè)權(quán)限
= 于、、賦予給定權(quán)限并取消其他所有權(quán)限(如果有的話)
r 可讀 w 可寫 x 可執(zhí)行
如: chmod u+x file (為用戶user把文件file設(shè)置執(zhí)行權(quán)限)
chmod ugo+r+x+w file (為用戶、同組、其他用戶 把文件file都設(shè)置讀寫執(zhí)行權(quán)限)
數(shù)字設(shè)定法
0 沒有權(quán)限
1 可執(zhí)行權(quán)限
2 可寫權(quán)限
4 可讀權(quán)限
vi編輯
顯示行號(hào):set nu
取消行號(hào):set nonu
set mouse=a
set nu
set nocompatible "去掉vi一致性問題"
filetype on "文件格式識(shí)別"
set history=1000 "記錄歷史行數(shù)"
set background=dark
syntax on 語法高亮顯示
set autoindent
set smartindent "此兩行設(shè)置編輯對齊方式"
set tabstop=4 "設(shè)置Tab鍵的大小"
set shiftwidth=4
set showmatch "自動(dòng)補(bǔ)全"
set nohls "匹配高亮顯示"
set incsearch "查找"
who 顯示當(dāng)前正在系統(tǒng)中的所有用戶,使用終端設(shè)備,注冊時(shí)間
whoami顯示終端上使用的用戶
which 查找非標(biāo)準(zhǔn)命令,即使用別名或系統(tǒng)中標(biāo)準(zhǔn)命令集之外的命令
*.tar 用tar -xvf 解壓
*.zip 用unzip 解壓
*.rar 用unrar e解壓
修改某目錄下的配置文件后使之生效,如:source ~/.bashrc
alias c=clear
set mouse=a
set nu "設(shè)置行號(hào)"
set nocompatible "去掉vi一致性問題"
filetype on "文件格式識(shí)別"
set history=1000 "記錄歷史行數(shù)"
set background=dark
syntax on 語法高亮顯示
set autoindent
set smartindent "此兩行設(shè)置編輯對齊方式"
set tabstop=4 "設(shè)置Tab鍵的大小"
set shiftwidth=4
set showmatch "自動(dòng)補(bǔ)全"
set nohls "匹配高亮顯示"
set incsearch "查找"
查看IP: /sbin/ifconfig
history 歷史記錄
在命令模式下
按[i],光標(biāo)從當(dāng)前位置開始輸入文件
按[a] 是從目前光標(biāo)所在的位置的下一個(gè)位置開始輸入文字
按[o] 是插入新的一行,從行首開始輸入文字
命令行模式
在插入模式下按【Esc】鍵,進(jìn)入命令模式
移動(dòng)光標(biāo)
h: 左移一個(gè)字符
l: 右移一個(gè)字符
w:光標(biāo)跳到下個(gè)字的開頭
e: 光標(biāo)跳到下個(gè)字的字尾
k: 光標(biāo)上移一行
j: 光標(biāo)下移一行
b: 光標(biāo)回到上個(gè)字的開頭
#l: 光標(biāo)移動(dòng)到改行的第#個(gè)位置
^: 光標(biāo)移到行首
0:數(shù)字“0”,光標(biāo)移到文章開頭
G:光標(biāo)移到文件最后
$: 光標(biāo)移至行尾
Ctrl+f:向前翻屏
Ctrl+b:向后翻屏
Ctrl+d: 向前翻半屏
Ctrl+u:向后翻半屏
#G: 將光標(biāo)移動(dòng)到第#行行首
n-: 光標(biāo)上移n行
n$:光標(biāo)移至第n行
刪除
x:刪除光標(biāo)后的字符
X:刪除光標(biāo)前面的字符
#x:刪除光標(biāo)后的#個(gè)字符
#X: 刪除光標(biāo)前面的#個(gè)字符
dd:刪除光標(biāo)所在行
#dd:刪除光標(biāo)所在行數(shù)的#行
復(fù)制
yw:復(fù)制光標(biāo)所在位置的第一個(gè)字
#ye:復(fù)制光標(biāo)所在位置的#個(gè)字
yy:復(fù)制光標(biāo)所在位置的一行
#yy:復(fù)制光標(biāo)所在行數(shù)的#行
p:粘貼
替換
r:替換光標(biāo)所在處的字符
R:替換光標(biāo)所到之處的字符,直到按下Esc鍵
~:字母大小寫轉(zhuǎn)換
撤銷上一次操作
u:回到上一個(gè)操作,按多次可以多次撤銷
更改
cw:更改光標(biāo)所在位置的一個(gè)字符
#cw: 更改光標(biāo)所在位置的#個(gè)字符
底層模式
在命令模式下按Shitf+:鍵,進(jìn)入底層模式
跳到指定的行
:[#]:跳到#行
查找字符
/關(guān)鍵字: 尋找想要的關(guān)鍵字,“n”可以繼續(xù)查找下一個(gè)
?關(guān)鍵字: 尋找想要的關(guān)鍵字,“n”可以繼續(xù)查找下一個(gè)
查找與替換
:s/p1/p2/g: 將當(dāng)前行中所有p1均用p2替換
:n1,n2s/p1/p2/g: 將第n1行至第n2行中所有p1均用p2替換
:g/p1/s//p2/g:將文件中所有p1均用p2替換
塊操作
:n1,n2con3: 將n1行至n2行之間的內(nèi)容拷貝到n3行下
:n1,n2mn3: 將n1行到n2行至之間的內(nèi)容移到第n3行下
取代字符串
$s /string/replace/[g|c];
會(huì)將全文的string字符串取代replace字符串,
$表示全文,g則表示全部取代不必確認(rèn),c是要取代之前必須再次確認(rèn)是否取代
#,# s/string/replace/ [g|c];
會(huì)將從#到#中的string字符串取代為replace字符串
保存文件
w:保存文件
#,# w filename 截取部分行另存為一個(gè)文件
退出vi
q:退出vi
q!:強(qiáng)制退出vi
wq:保存退出vi
wq!:保存強(qiáng)制退出vi