*1.vi和vim文本编辑器

vi和vim:用来在linux中创建查看或者编辑文本文件,就好像windows中的记事本一样。
vim是vi的增强版本,vi的绝大多数用法在vim都适用。

①vi和vim的使用:

一般模式:

  • 用vi或者vim命令打开文件(vim test.txt),进入了一般模式;
  • 可以查看文件的内容,并且可以通过上下左右键移动光标,查看文件某一部分;
  • 不能编辑文件内容。

    编辑模式:

  • 在一般模式下,按i键或者a键,进入编辑模式;

  • 可以编辑文件内容;
  • 不能保存编辑的内容;
  • 按Esc键,可以回到一般模式。

    命令行模式:

  • 在一般模式下,按shift+:,进入命令行模式;

  • 输入: q!——-不保存强制退出编辑器

    1. wq-----保存并且退出编辑器<br /> q------只是退出编辑器

    ②vi和vim编辑器的快捷键:

  1. 复制当前行:在一般模式下,按yy,把光标所在行复制到剪切板

    1. 按**p**,把剪切板中的内容粘贴到光标所在的下一行。
  2. 复制当前行往下5行:在一般模式下,按5yy,把光标所在行往下5行复制到剪切板

    1. 按**p**,把剪切板中的内容粘贴到光标所在的下一行。
  3. 在文本文件中查找关键字:在命令行模式下,输入/关键字,回车

    1. 按**n**表示光标查找下一个关键字
  4. 删除光标所在的当前行:在一般模式下,按dd,删除光标所在的当前行

  5. 删除光标所在的行往下5行:在一般模式下,按5dd
  6. 撤销上次编辑的内容:在一般模式下,按u
  7. 显示行号:命令行模式下,设置文件的行号,取消文件的行号.[命令行下(: set nu) 和(:set nonu)]

2.linux中的用户管理

  1. 任何使用linux的系统资源的用户,必须使用一个合法的账号和密码,账号和密码一般都是向系统管理员申请。

    1. rootlinux系统安装时默认创建的系统管理员账号,由root创建普通账号。
  2. 添加用户:useradd [选项] 用户名

    1. **useradd lisi**<br /> |->创建一个用户lisi<br /> |->在**/home**目录下创建用的根目录,目录名称默认跟用户名相同<br /> |->在linux中任何一个用户都至少属于一个组,新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。
    2. **useradd -d /home/ww wangwu** 创建用户的同时,指定用户的根目录,相当于一个别名
  3. 给用户设置密码:passwd 用户名

    1. **passwd lisi**<br /> 密码要满足一定的复杂度
  4. 删除用户:userdel 用户名

    1. **userdel lisi**<br /> userdel -r lisi 删除用户的同时级联删除它的主目录
  5. 查看用户信息:id 用户名

    id zhangsan

  6. 切换用户:su 用户名

    1. **su zhangsan**<br /> 从权限高的用户切换权限低的用户,不需要密码验证;<br /> 从权限低的用户切换到权限高的用户,必须密码验证。

3.linux中的组管理:

  1. linux中的组相当于角色的概念,可以对有共性的用户进行统一管理;

    1. 每一个用户至少属于一个组,不能独立于组存在,也可以属于多个组;<br /> 新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。
  2. 添加组:groupadd 组名

    1. groupadd dev
  3. 删除组:groupdel 组名

    1. groupdel dev
  4. 把用户添加到组中:gpasswd -a 用户名 组名

    1. gpasswd -a zhangsan dev
  5. 把用户从组中移除:gpasswd -d 用户名 组名

    1. gpasswd -d zhangsan dev
  6. 添加用户时,指定所属的组(主组):useradd -g 组名 用户名

    1. useradd -g dev lisi

    4.linux中的系统操作命令

  • 关机:

shutdown now 立即关机
shutdown -h xxx 定时关机
shutdown -r now 立即重启

  • 重启:reboot 立即重启
  • 同步数据库:sync

    5.linux中的帮助命令

  1. 用来查看linux系统手册上的帮助信息:man 命令

    1. man ls<br /> 分屏显示、按回车翻一行、按空格翻一页、按q退出查看。
  2. 用来查看命名的内置帮助信息:help 命令

    1. help cd

    *6.linux中的文件和目录操作的命令

  3. 查看当前所在目录:pwd

    1. pwd
  4. 查看指定目录下所有的子目录和文件列表:ls [选项] [指定目录]

    1. |->绝对目录<br /> |->相对目录<br /> ls /home<br /> ls 查看当前目录下所有的子目录和文件列表
    2. ls -l /home :以列表形式显示<br /> ls -a /home:显示指定目录下所有的子目录和文件(包括虚拟的目录)<br /> ls -al /home:以列表形式显示指定目录下所有的子目录和文件(包括虚拟的目录)
  5. 切换目录:cd 目录名

    1. |->绝对目录:以盘符开始的目录叫绝对目录,从盘符开始查找目标目录<br /> cd /opt/testDir<br /> ~:当前用户的根目录。在任何目录下执行:cd ~,进入当前用户的根目录。 <br /> |->相对目录:以目录名开始的目录叫相对目录,从当前目录开始查找目标目录<br /> cd testDir<br /> ..:当前目录的上一级目录,从的当前目录开始查找它的上一级目录。 <br /> .:当前目录<br /> xxx.sh====>./xxx.sh
  6. 创建目录:mkdir [选项] 目录名

    1. |->绝对目录<br /> |->相对目录<br /> mkdir /opt/testDir/test1 //在/opt/testDir目录下创建一个目录test1(使用绝对目录)<br /> mkdir test2 //在/opt/testDir目录下创建一个目录test2(使用相对目录)
    2. mkdir -p /opt/testDir/test3/test4 //在/opt/testDir目录下创建目录test3,并且在test3下创建test4(一次创建多级目录)<br /> mkdir -p test5/test6
  7. 删除一个空目录:rmdir 目录名

    1. rmdir test1<br /> rmdir test3
  8. 创建一个或者多个空文件:touch 文件名列表(文件名之间用空格隔开)

    1. touch t1.txt<br /> touch t2.txt t3.txt t4.txt
  9. 复制文件或者目录:cp [选项] source(源) dest(目标)

    1. cp t1.txt test2 //把t1.txt文件复制到test2目录中<br /> cp -r test2 test5 //把test2目录复制到test5目录中(递归地复制目录)
    2. cp t1.txt test2
  10. 删除文件或者目录:rm 文件名或者目录名

    1. rm t1.txt 提示删除文件<br /> rm -f t2.txt 强制删除文件
    2. rm -r test2 提示递归删除目录<br /> **rm -rf **test5 强制递归删除目录
  11. 移动目录或者文件:mv source(源) dest(目标)

    1. mv test.txt test1<br /> mv test1 test2<br /> mv t3.txt t3_new.txt **文件重命名**<br /> ***如果目标中已经存在该文件或者目录,则会提示是否覆盖。**
  12. 查看文件内容:

①文件内容一次性显示出来:cat 文件名
cat t4.txt
cat -n t4.txt 显示行号
②分页查看文件文件内容:more 文件名
一次性加载文件所有内容到内存,分页显示
按回车翻一行、按空格翻一页
more t4.txt
③分页查看文件文件内容:less 文件名
分页加载文件所有内容到内存,分页显示
less t4.txt
按回车翻一行、按空格翻一页,按q退出查看
④查看文件的头n行:head [选项] 文件名
head t4.txt
head -n 5 t4.txt
⑤查看文件的后n行:tail [选项] 文件名
tail t4.txt
tail -n 5 t4.txt

  1. echo:输出系统变量或者常量的值到命令行终端。

    1. echo $JAVA_HOME


    echo $PATH

    echo Hello World!

    JAVA_HOME=D:\DPFS\Java\jdk1.8.0_101
    PATH=%JAVA_HOME%\bin;…….
    CLASSPATH=%JAVA_HOME%\lib;.

  2. 把前一个查看命令的结果输出到指定的文件中: 查看命令 > 文件名

    1. *如果目标文件不存在,则新建一个文件


    如果目标文件已存在,则把文件以前的内容覆盖
    ls > ret.txt
    ls -al > ret.txt
    *cat ret.txt > t3_new.txt 文件内容的复制

    cat t4.txt > t3_new.txt

  3. 把前一个查看命令的结果追加输出到指定的文件中:查看命令 >> 文件名

    1. *如果目标文件不存在,则新建一个文件


    如果目标文件已存在,则在文件原来内容的基础上进行追加
    ls > ret.txt
    ls -al >> ret.txt
    *cat t4.txt >> ret.txt 文件内容的追加