---------------------------------------------------------vi下的一些基础命令-----------

I 为到该行行首并进行编辑

A 为到该行行尾并进行编辑;

kjhl分别为为上下左右光标移动命令

DD为删除行内内容,光标留在本行;

dd为删除一行,光标直接跳到上一行;

u为撤销刚才的操作

J为上下两行合并

r替换当前光标所执行的文件

R为进入替换命令,输入的文字将会替换光标所在的字符。esc才会退出替换的状态

x为删除光标所在字符。

cw修改光标所在位置的单词,即根据起始位置删除,删除后立刻进入插入模式;

dw则是根据光标删除一个单词不进去插入;

o为在光标所在行后插入一空行

O为在光标所在行前插入一空行

fs查看光标所处位置开始查找光标之后的第一个s字符

/bca快速查找bca  n往下是继续查找下一个bca,N返回上一处的

:set nu 显示行号

:set nonu不显示行号

:7是跳到第7行

G快速到行末,加上o可以进行快速到文档末尾并进行继续编辑。

nyy为从光标开始复制n行。如n不填写,则默认复制一行

p为粘贴当前复制的内容

:%s @accd@abc@g 把所有的accd替换成abc,@为分隔符;

:%s @accd@abc@g@i把所有的accd不区分大小写替换成abc;

df 检查文件系统的磁盘空间占用情况

ZZ保存退出;ZQ不保存退出,:X保存退出 :q!强制退出。


------------------------------------------------------其他的一些基础命令---------------

使用这两条进行创建一个新用户

[root@enmoedu /]# useradd test01

[root@enmoedu /]# passwd test01

当我在root权限下修改test01用户的密码可以直接修改,其他用户无法修改别的用户权限

[test02@enmoedu ~]$ passwd test02

passwd: Only root can specify a user name.

在管理员用户下删除用户

userdel test02


mkdir /u02 在根目录下创建u02文件夹

mkdir -p /u02/test1 级联增加目录

df 检查文件系统的磁盘空间占用情况。

cal日历

date日期

du -sh /home 查看home这个目录的大小


ln file2 test_dir/file5 硬连接当前文件下的file2 和test_dir/下的file5 ,硬连接修改5后2也修改了,但是删除2不会删除5,删除5也不会删除2

ln-s file2 test_dir/file5软连接 类似于windows快捷方式,删除2就没有5了。

cd ~ 返回家目录

rm -r表示删除目录  rm -rf强制删除目录


tar的相关用法

[root@enmoedu u02]# tar -cf test.tar ./test01/test02/1     打包当前路径下test01下test02下的1文件

[root@enmoedu u02]# tar -cf test.tar ./test01/test02/1  2  打包当前路径下test01下test02下的1和2文件

[root@enmoedu u02]# tar -tvf test.tar  查看u02写的test.tar文件的具体内容

[root@enmoedu u02]# tar -xf test.tar   导出test.tar里面的内容,包括路径,如果路径本身不存在将会新建

[root@enmoedu u02]# tar czvf test.tar.gz ./test01/test02/1 打包当前路径下test01下test02下的1文件并压缩 

[root@enmoedu u02]# tar xzvf test.tar.gz   还原并解压缩test.tar.gz

[root@enmoedu u02]# tar tvf test.tar | more  

rpm命令

rpm  -i (rpm—install)         安装模式

rpm  -U ( rpm—upgrade)         升级模式

rpm  -e (rpm—unstall)         卸载安装模式

rpm  -q (rpm—query)           查询模式

rpm  -V                          检验模式


chmod   chgrp    chown命令用法

chgrp  修改文件所属组

chown  修改文件所有者

chmod  修改文件属性


chgrp [-cfhRv][所属群组][文件或目录...]

-c 与-v类似,但是v表示无论如何也要显示结果,c表示只有更改组之后才会显

-h 只对符号连接的文件作修改,而不更动其他任何相关文件。 

-R 表示递归处理

chgrp  -R   test  test.txt


chown用法与chgrp类似

表示把test.txt文件的群组修改成test


chmod则是修改文件属性

u用户的当前权限

g组的当前权限

o其他用户的当前权限

$ chmod u+x file                 给file的属主增加执行权限

$ chmod 751 file                  给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

$ chmod u=rwx,g=rx,o=x file       上例的另一种形式

$ chmod =r file                  为所有用户分配读权限

$ chmod 444 file                 同上例

$ chmod a-wx,a+r   file        同上例 a=all

$ chmod -R u+r directory         递归地给directory目录下所有文件和子目录的属主分配读的权限

$ chmod 4755                      设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。


关于权限的数字的一些具体含义如下

r   w   x

0   0   0     0

0   0   1     1

0   1   0     2

0   1   1     3

1   0   0     4

1   0   1     5

1   1   0     6

1   1   1     7


a|b为管道符 指执行完a后,我在a的基础上执行b


which  查看可执行文件的位置。例如which ifconfig查找ifconfig的位置


grep  显示与条件匹配的行数

$ grep ‘test’ d*

显示所有以d开头的文件中包含 test的行。

$ grep ‘test’ aa bb cc

显示在aa,bb,cc文件中匹配test的行。


wc [选项]文件...

-c 统计字节数。

-l 统计行数。

[root@enmoedu u02]# wc -l 1

7 1

[root@enmoedu u02]# wc -c 1

267 1

分别指在1这个文件有7号和267个字节


diff  报告文本差异的内容

vimdiff 可视化报告文本差异,显示的更清晰。进入vimdiff后可以输入 :qa!不修改退出


>file2清空file2

find /home -name  file1 -exec rm -rf{}\;

find /home -name  file1 -ctime 2 -exec rm -rf{}\;在home目录下查找name为file1的文件删除两天前的数据

find /home -name  file1 -ctime -2 -exec rm -rf{}\;在home目录下查找name为file1的文件删除前两天的数据


echo abc >file2插入abc到file2

echo abc >>file2插入2行abc到file2


alias设置别名


set查看全局环境变量

env查看当前环境变量

--全局设置文件

/etc/profile

/etc/bashrc

--用户设置文件

~/.bashrc   --直接可以用

~/.bashrc_profile --进来还有source读一下相对的文件