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