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