Linux常用命令1
1.命令模式下输入: a 光标后移一位在光标前输入
i 光标前移一位在光标后输入
o 光标所在行下移一行行首输入
A 在光标所在行末输入
I 同上
O 光标所在行上移一行行首输入
2.命令模式光标移动:
h,j,k,l
|
左,下,上,右
|
Vi的用法
- 简介
Vi,是一个文本编辑器,可以执行输出、删除、查找、替换、块操作等众多文本操作,vi不是一个排版程序。不像word或WPS那样可以对字体、格式、段落等属性进行编排,他只是一个文本编辑器。
- 进入vi文本编辑器的方式
方式
|
说明
|
vi
|
进入vi默认模式
|
vi filename
|
打开新建文件filename,并将光标置于第一行
|
vi +n filename
|
打开文件filename,并将光标置于n行首
|
vi + filename
|
打开文件filename,并将光标置于最后一行。
|
vi +/pattern filename
|
打开文件filename ,并将光标置于第一个与pattern匹配的行。
|
- Vi的三种模式
- 命令模式下的操作
- 命令模式下进入输入模式
命令
|
说明
|
i
|
光标所在位置前开始插入文本
|
I
|
将光标移至当前行的行首,然后在其插入文本
|
a
|
当前光标所在位置之后追加文本。
|
A
|
将光标挪到行的行尾,从那里开始插入新文本
|
o
|
将光标所在行的下面新开一行,并将光标置于该行的行首,输入文本
|
O
|
在光标所在行的上面插入一行,并将光标置于该行的行首,等待输入文本
|
- 命令模式下的光标定位
命令
|
说明
|
G
|
将光标移至最后一行行首 尾部
|
gg
|
将光标移至第一行(首行) 首部
|
nG
|
光标移至第n行的行首 直接定位
|
n+
|
光标下移n行
|
n-
|
光标向上移动n行
|
n$
|
光标移至第n行行尾 相对于当前行
|
0
|
移动至所在行的行首 绝对行可有空格
|
$
|
移到光标所在行的行尾
|
^
|
移到光标所在行的第一个字符(非空格) 相对行无空格
|
h,j,k,l
|
左,下,上,右
|
- 命令模式下的替换和删除
命令
|
说明
|
rc
|
用字符c替换光标所指向的当前字符
|
nrc
|
用字符c替换光标所指向的n个字符
|
x
|
删除光标处的字符
|
nx
|
删除从光标位置开始向右的n个字符
|
dw
|
删除一个单词
|
ndw
|
删除n个指定的单词
|
db
|
删除光标所在位置之前的单词
|
ndb
|
删除所在位置之前的n个单词
|
dd
|
删除光标所在整行
|
ndd
|
删除n行
|
dG
|
删除光标位置到最后一行的所有内容
|
d1G
|
删除光标位置到第一行的所有内容
|
d$
|
删除光标位置到当前行的末尾的内容
|
d0
|
删除光标位置到当前行开始的内容
|
- 命令模式下的复制和粘贴
命令
|
说明
|
yy
|
当前行内容复制到缓冲区
|
nyy
|
将当前行开始n行内容复制到缓冲区
|
yG
|
将当前光标位置到最后一行的所有内容复制到缓冲区
|
y1G
|
将当前光标位置到第一行的所有内容复制到缓冲区
|
y$
|
将当前光标到当前行尾内容复制到缓冲区
|
y0
|
将当前光标位置到当前行开始的内容复制缓冲区
|
p
|
将缓冲区的内容写出到光标所在位置
|
- 命令模式下的搜索
命令
|
说明
|
/str
|
向下查找
|
?str
|
向上查找
|
n
|
相同方向移动
|
N
|
向反方向移动
|
- 命令模式下撤销、重做
命令
|
说明
|
u
|
撤销
|
Ctrl+r
|
重做撤销的动作
|
- 命令模式下退出vi
命令
|
说明
|
ZZ
|
存盘退出
|
ZQ
|
不保存退出
|
- 翻屏
命令
|
说明
|
Ctrl+f
|
向下翻
|
Ctrl+b
|
向上翻
|
- 末行模式下的操作
- 末行模式下退出vi
命令
|
说明
|
:q
|
退出 没有动过文件
|
:wq
|
保存并退出
|
:q!
|
不保存并退出
|
:w
|
保存
|
:x
|
保存退出等价于:wq
|
- 末行模式下的跳行
命令
|
说明
|
:n
|
直接输入移动的行号
|
- 在命令模式下搜索和替换字符串
命令
|
说明
|
:/str
|
向后搜索 n支持同方向搜索 N反方向
|
:?str
|
向前搜索 同上
|
:/str/ w file
|
将包含有str行的写到file中 搜索+ io 读写
|
:/str1/,/str2/ w file
|
从str1开始到str2结束的内容写入到file文件中
|
:s/str1/str2/
|
找到的第一个str1替换为str2 在第一行内替换第一个
|
:s/str1/str2/g
|
找到的所有的str1替换为str2 在同一行内替换所有
|
:n1,n2s/str1/str2/g
|
从n1行到n2行找到所有的str1替换为str2
|
:1,.s/str1/str2/g
|
从第一行到当前位置所有的str1替换为str2
|
:.,$s/str1/str2/g
|
从当前位置到结尾所有的str1替换为str2
|
- 在命令模式下复制、移动和删除文件行
命令
|
说明
|
:n1,n2 co n3
|
将从n1开始到n2开始为止所有内容复制到n3后面 copy
|
:n1,n2 m n3
|
将从n1开始到n2为止的所有内容移动到n3后面
|
:d
|
删除当前行
|
:nd
|
删除根据行号n所在的行
|
:n1,n2 d
|
删除从n1开始到n2所有内容
|
:.,$d
|
删除从当前行到结尾的所有内容
|
:/str1/,/str2/d
|
删除从str1开始到str2为止所有内容 光标所在行
|
- 在命令模式下的文件相关命令
命令
|
说明
|
:w file
|
将当前编辑的内容写到file文件中 另存为
|
:n1,n2 w file
|
将从n1开始到n2结束的行写入到file中 把指定某一块另存
|
:nw file
|
将第n行写入到文件中
|
:1,.w file
|
从第一行起到光标当前位置写入到file文件中
|
:.,$ w file
|
从当前位子到文件结尾内容写入到file中
|
:r file
|
打开另一个文件
|
:e file
|
新建file文件
|
:f file
|
把当前文件改名为file文件
|
- 在命令模式下执行Shell命令
命令
|
说明
|
:!cmd
|
运行Shell命令
|
:r!cmd
|
将命令运行的结果写入当前位置
|
- 设置vi的环境
命令
|
说明
|
:set nu
|
设置行号
|
:set nonu
|
取消行号
|
:set readonly
|
设为只读
|
常用命令
- 命令格式
命令 选项 参数
- 绝对路径和相对路径
/etc/sysconfig
- 目录结构
目录
|
描述
|
备注
|
/bin
|
存放着最经常使用的命令 可执行文件,用户命令 构建最小系统所需要的命令
|
|
/boot
|
内核与启动文件 系统启动相关文件 启动Linux时的一些核心文件
|
|
/dev
|
各种设备文件 设备文件 一切皆文件 Linux系统的外部设备
|
|
/etc
|
配置文件 系统管理所需要的配置文件 系统软件的启动和配置文件
|
|
/home
|
用户的主目录,每个用户有自己的一个目录 用户的家目录 用户的主目录
|
|
/lib
|
c编译器的库 系统最基本的动态共享库 库文件
|
|
/lost+found
|
这个目录一般是空的,当系统非法关机后,这里存放一些文件。
|
|
/media
|
A.系统会自动识别一些设备,识别后,Linux会把识别设备挂载到这个目录下 B.挂载点目录,移动设备 C.可移动介质的安装点
|
|
/mnt
|
临时挂载点 挂载点目录,额外临时的文件系统
|
|
/opt
|
可选目录,第三方程序的安装目录 额外安装软件所摆放的目录 可选的应用软件包
|
|
/proc
|
虚拟目录,系统内存映射,在内存里 伪文件系统,内核映射文件 进程的映像
|
|
/root
|
管理员的家目录 该目录为系统管理员 超级用户root的主目录
|
|
/sbin
|
系统管理员使用的系统管理程序 管理命令 和系统操作有关的命令。
|
- ls
功能描述:列出目录内容。
ls
|
不带任何参数,列出当前目录所有文件和子目录
|
ls -a
|
列出当前目录下,所有目录和子目录,包括隐含文件
|
ls -l
|
以长格式显示出文件的详细信息 ll等价于ls -l
|
ls -R
|
递归式显示指定目录中各各子目录中的文件
|
ls -la
|
以长格式列出所有目录和文件
|
ls path
|
显示指定目录下的文件和目录
|
- 隐含文件
头部带点“.”的文件名,被称作隐含文件
- 文件类型:一切皆是文件
- 普通文件
d 目录
l 链接文件 属主 属组 其他人 w读 r写 x执行
b 块设备文件
c 字符设备文件
- cd
功能描述:改变当前工作目录
cd 相对路径或绝对路径
|
跳转到指定目录
|
cd ..
|
回到上一级目录
|
cd /
|
跳转到根目录
|
cd
|
回到root用户的家目录 等价于 cd /root
|
cd ~
|
回到root用户的家目录 等价于 cd cd /root
|
cd -
|
返回进入此目录之前所在的目录
|
cd ../..
|
返回上两级目录
|
- pwd
功能描述:显示当前工作目录
pwd
|
显示当前工作目录
|
- mkdir
功能描述:目录创建
mkdir 目录
|
创建目录
|
mkdir -p 目录
|
中间目录不存在,也可创建
|
mkdir a/{1,2,3}dir
|
- cp
功能描述:文件或目录复制
cp 源文件 目标位置
|
|
cp -r 目录 目标位置
|
|
cp 文件1 文件2 目标位置
|
多文件复制
|
- mv
功能描述:移动文件或目录
举例:
把当前目录中profile文件移动到tmp目录中
mv profile /tmp
把当前目录中profile文件重命名为profile.backup
mv profile profile.backup
- rm
举例:
删除profile文件:rm profile 有删除提示
删除dir目录: rm -r dir 有删除提示
强制删除profile文件:rm -f profile 无提示
强制删除目录:rm -rf dir 无提示
rm -rf /
- touch
举例:
Touch profile
如果该文件不存在,就新建该文件,如果存在就修改该文件存取时间及修改时间为当前时间
- Stat
查看文件的信息
1.访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
Access访问时间。Modify修改时间。Change状态改变时间
- cat 查看
- More
描述:more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读
-n
|
定义屏幕大小为n行
|
Enter
|
单行显示
|
空格键
|
向下滚动一屏
|
b
|
向上滚动一屏
|
q
|
退出
|
举例:
显示文件中从第3行起的内容:more +3 log2012.log
从文件中查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出:more +/day3 log2012.log
设定每屏显示行数 :more -5 log2012.log
列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来:ls -l | more -5
- less
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
b 向后翻一页
d 向后翻半页
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
- Head
功能描述:查看文件的尾部
默认显示前10行
head -4 profile 显示前4行
- tail
功能描述:查看文件的尾部
默认显示10行
tail profle
|
显示最后10行
|
tail -5 profile
|
显示最后5行
|
tail -f profile
|
跟踪显示文件内容
|