Linux常用命令

文章目录

1 vi和vim:

1.1 解释:

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

1.2 vi和vim的使用:

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

  • 编辑模式:在一般模式下,按i键或者a键,进入编辑模式;可以编辑文件内容;但是不能保存编辑的内容;按Esc键,可以回到一般模式。

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

 输入:   
			 q!-----不保存强制退出编辑器
			 wq-----保存并且退出编辑器  
			 q------只是退出编辑器

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

1)复制当前行:在一般模式下,按yy,把光标所在行复制到剪切板。按p,把剪切板中的内容粘贴到光标所在的下一行。
2)复制当前行往下5行:在一般模式下,按5yy,把光标所在行往下5行复制到剪切板,按p,把剪切板中的内容粘贴到光标所在的下一行。
3)在文本文件中查找关键字:在命令行模式下,输入/关键字,回车。按n表示光标查找下一个关键字
4)删除光标所在的当前行:在一般模式下,按dd,删除光标所在的当前行
5)删除光标所在的行往下5行:在一般模式下,按5dd
6)撤销上次编辑的内容:在一般模式下,按u
7)显示行号:命令行模式下,设置文件的行号,取消文件的行号.[命令行下(: set nu) 和(:set nonu)]

2 linux中的用户管理:

1)、任何使用linux的系统资源的用户,必须使用一个合法的账号和密码,账号和密码一般都是向系统管理员申请。
root是linux系统安装时默认创建的系统管理员账号,由root创建普通账号。

2)、添加用户:useradd [选项] 用户名

useradd lisi
|->创建一个用户lisi
|->在/home目录下创建用的根目录,目录名称默认跟用户名相同
|->在linux中任何一个用户都至少属于一个组,新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。

useradd -d /home/ww wangwu 创建用户的同时,指定用户的根目录

3)、给用户设置密码:passwd 用户名

passwd lisi
密码要满足一定的复杂度

4)、删除用户:userdel 用户名

userdel lisi
userdel -r lisi 删除用户的同时级联删除它的主目录

5)、查看用户信息:id 用户名

id zhangsan

6)、切换用户:su 用户名

su zhangsan
#代表高权限,$代表低权限
从权限高的用户切换权限低的用户,不需要密码验证;
从权限低的用户切换到权限高的用户,必须密码验证。

3 linux中的组管理:

1)、linux中的组相当于角色的概念,可以对有共性的用户进行统一管理;
每一个用户至少属于一个组,不能独立于组存在,也可以属于多个组;
新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。
2)、添加组:groupadd 组名
groupadd dev
3)、删除组:groupdel 组名
groupdel dev
4)、把用户添加到组中:gpasswd -a 用户名 组名
gpasswd -a zhangsan dev
5)、把用户从组中移除:gpasswd -d 用户名 组名
gpasswd -d zhangsan dev
6)、添加用户时,指定所属的组(主组):useradd -g 组名 用户名
useradd -g dev lisi

4 linux中的系统操作命令:

关机:shutdown now 立即关机
shutdown -h xxx 定时关机
shutdown -r now 立即重启
重启:reboot 立即重启
同步数据库:sync

5 linux中的帮助命令:

1)、用来查看linux系统手册上的帮助信息:man 命令
man ls
分屏显示、按回车翻一行、按空格翻一页、按q退出查看。
2)、用来查看命名的内置帮助信息:help 命令
help cd

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

1)、查看当前所在目录:pwd (print working directory)

pwd

2)、查看指定目录下所有的子目录和文件列表:ls [选项] [指定目录] (list)

    |->绝对目录
    |->相对目录

ls /home
ls 查看当前目录下所有的子目录和文件列表

ls -l /home :以列表形式显示
ls -a /home:显示指定目录下所有的子目录和文件(包括虚拟的目录)
ls -al /home:以列表形式显示指定目录下所有的子目录和文件(包括虚拟的目录)

3)、切换目录:cd 目录名(change directory)

 |->绝对目录:以盘符开始的目录叫绝对目录,从盘符开始查找目标目录
      cd /opt/testDir

~:当前用户的根目录。 在任何目录下执行:cd ~,进入当前用户的根目录。

 |->相对目录:以目录名开始的目录叫相对目录,从当前目录开始查找目标目录
      cd testDir
  .. :当前目录的上一级目录,从的当前目录开始查找它的上一级目录。 
   . :当前目录
		        xxx.sh====>./xxx.sh

4)创建目录:mkdir [选项] 目录名

 |->绝对目录
 |->相对目录
mkdir /opt/testDir/test1 //在/opt/testDir目录下创建一个目录test1(使用绝对目录)
mkdir test2 //在/opt/testDir目录下创建一个目录test2(使用相对目录)

//在/opt/testDir目录下创建目录test3,并且在test3下创建test4(一次创建多级目录)
mkdir -p /opt/testDir/test3/test4 
mkdir -p test5/test6

5)、删除一个空目录:rmdir 目录名

      rmdir test1
	  rmdir test3

6)、创建一个或者多个空文件:touch 文件名列表(文件名之间用空格隔开)

      touch t1.txt
      touch t2.txt t3.txt t4.txt

7)、复制文件或者目录:cp [选项] source(源) dest(目标)

      cp t1.txt test2  //把t1.txt文件复制到test2目录中
	  cp -r test2 test5   //把test2目录复制到test5目录中(递归地复制目录)
	  cp t1.txt test2

8)、删除文件或者目录:rm 文件名或者目录名

    rm t1.txt  提示删除文件
	rm -f t2.txt  强制删除文件
	
	rm -r test2  提示递归删除目录   (recursion)
	rm -rf test5  强制递归删除目录

9)、移动目录或者文件:mv source(源) dest(目标)

     mv test.txt test1
	mv test1 test2
	mv t3.txt t3_new.txt  文件重命名

如果目标中已经存在该文件或者目录,则会提示是否覆盖。

10)、查看文件内容:cat 文件名

文件内容一次性显示出来。

    cat t4.txt
	cat -n t4.txt  显示行号

11)、分页查看文件文件内容:more 文件名 一次性加载文件所有内容到内存,分页显示

      按回车翻一行、按空格翻一页
      more t4.txt

12)、分页查看文件文件内容:less 文件名 分页加载文件所有内容到内存,分页显示

      less t4.txt

按回车翻一行、按空格翻一页,按q退出查看

13)、查看文件的头10行:head [选项] 文件名

      head t4.txt
      head -n 5 t4.txt (number)

14)、查看文件的后10行:tail [选项] 文件名

     tail t4.txt
	 tail -n 5 t4.txt

7 linux中的文件和目录操作的命令:

15)、echo:输出系统变量或者常量的值到命令行终端

 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;.

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

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

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

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

8 linux中关于日期和时间的操作命令:date\cal

1)、查看或者设置系统的日期或者时间:date
  date 查看系统当前的完整的日期和时间
  date +%Y  系统当前的年份
  date +%m  系统当前的月份
  date +%d  系统当前的日期

  date '+%Y-%m-%d %H:%M:%S' 按yyyy-MM-dd HH:mm:ss格式显示

  date -S '2020-10-20 10:20:30' 设置当前的系统时间
2)、查看系统日历:cal
  cal:查看当前月份的日历
  cal 2020:查看指定年份的日历

9 linux中关于搜索文件或者目录的命令:

1)find [搜索范围][搜索标准] 关键字

|->-name:默认按名称搜索(文件或者目录所在的路径也在搜索范围之内)
|->-size:按文件大小搜索
|->-user:按文件的所有者搜索
 find *.txt  搜索当前目录下,所有的.txt文件
 find *e*  搜索当前目录下,所有名称中包含e的那些文件或者目录

 find /etc *.txt  搜索/etc目录下所有.txt文件

 find /etc -size -5k  搜索/etc目录下所有小于5k的文件

 find /etc -user zhangsan  搜索/etc目录下所有的所有者是zhangsan的文件和目录
2)locate:在整棵目录树中搜索文件或者目录,都是根据名称搜索,效率高。
  updatedb
  locate 关键字

  updatedb
  locate *.txt

3)搜索过滤命令,在前一个搜索命令的结果中进行按名称进一步过滤:搜索命令 |grep [选项] 过滤条件 globol regular expression print (也适用于正则表达式)

  查看命令 |grep [选项] 过滤条件
  find *.txt|grep new  搜索当前目录下,所有名称包含new的.txt文件
  find /etc -size -5k|grep firefox

  cat t1.txt|grep beijing
  cat t1.txt|grep -ni beijing

  ls -al|grep new

10 linux中有关压缩和解压的命令:

1)、压缩或者解压单个文件:gzip 文件名:压缩单个文件,生成一个.gz的压缩包,并且会把原来的文件删除。

          gunzip .gz压缩包名:解压.gz压缩包,并且会把原来的.gz压缩包删除。
		      
	      gzip ret.txt
	      gunzip ret.txt.gz

2)、压缩(打包)或者解压多个文件和目录:zip 目标压缩包名称(通常使用.zip压缩包) 文件或者目录列表:

unzip 压缩包名(.zip) -d 解压目录名:将指定的.zip压缩包解压到当前目录(或者指定目录)。

              zip test.zip ret.txt t1.txt test2 
	  unzip test.zip -d test3

	  zip mytest.zip test.zip t3_new.txt t4.txt test2

3)、压缩(打包)或者解压多个文件和目录:tar [选项] 目标压缩包名称(xxx.tar.gz) 文件或者目录列表

     |->c:打包或者压缩
      tar [选项] 压缩包名(xxx.tar.gz) -C 解压目录名:将指定的.tar.gz压缩包解压到当期目录(或者指定目录)
	 |->x: 解压
      
  tar -zcvf xxx.tar.gz 文件或者目录列表
  tar -zxvf xxx.tar.gz -C 解压目录名

  tar -zcvf mytar.tar.gz mytest.zip ret.txt t1.txt test2
  tar -zxvf mytar.tar.gz -C /opt/testDir/test5

15、文件或者目录与组:

1)文件或者目录与组基本介绍:

  在linux中,每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组。

  在linux中,每一个文件或者目录也必须属于一个组,而且只能属于一个组,默认情况下,文件所有者所属的主组就是文件所属的组;
  文件或者目录通过组来控制哪些用户可以对它进行哪些操作,即文件或者目录的访问权限;
  在文件或者目录看来,linux系统中所有的用户分为三类:
     所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
     同组用户:跟文件或者目录属于同一个组的用户
     其它组用户:既不是文件或者目录的所有者,也不是同组用户

2)查看文件的所有者和所在的组:

  ls -l

3)、修改文件或者目录的所有者:chown 新的所有者 文件名或者目录名

                              chown 新的所有者:新的组 文件名或者目录名
   chown zhangsan t1.txt
   chown -R zhangsan test3
   chown zhangsan:dev t4.txt

   chown zhangsan:dev test2
   chown -R zhangsan:dev test2 递归修改目录的所有者和所在的组 

4)、修改文件或者目录的所在组:chgrp 新的组 文件名或者目录名

   chgrp dev t2.txt
   chgrp -R dev test3

16、

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值