linux:最全的开发常用命令(代码片段)

ABin-阿斌 ABin-阿斌     2022-12-01     581

关键词:

我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。 如果小伙伴们觉得文章有点 feel ,那就点个赞再走哦。

文章目录

一、Linux是什么?

  • linux 是一个内核:redhat [红帽]:收费,centos:免费,ubuntu:【界面】

二、虚拟机常用简单命令

1.reboot:重启

2.ifconfig[ipconfig]:查看ip

3.cd 目录:进入到某个目录

	1.目录:绝对路径:以/开头的路径 cd   /usr
	
    2. 相对路径:不是以/开头的路径     cd ../usr
			  
4.pwd:当前光标所在的目录  

5.clear:清空屏幕  

6.shutdown -h now
  	
7.查看文本内容命令:

 	1. cat    使用单屏查看文本文件
 
 	2. more  分屏查看时用h(帮助)  space(下翻屏)  b(上翻屏)  enter(下一行)  q键(退出)
 	
 	3. less   e(下一行)  y(上一行)  f  (下翻页)b (上翻页) q(退出)
 	
 	4. head   -#head -2
 	
 	5. tail   -#tail -2


# 查看cpu的命令:top

# 查看内存:free -m

# 查看硬盘:df -h 

# find / -name "da"# sync:关机之前,最好将内存中的数据保存到磁盘上!
	   
	   # file 文件:查看文件类型
	   
8.tab键补齐功能【目录或文件名补齐】、命令补齐

三、VI编辑器

  • VI 编辑器是 Linux 系统中使用最广泛的,而且是默认的文本编辑器

1、文本编辑器的作用:

  1. 修改系统配置文件
  2. 创建用户信息文件
  3. 编辑程序源代码文件

2、VI编辑器的模式(三种):

  • 命令模式: 由命令模式进入到输入模式:点击 i ( o,a,r );由命令模式进入到末行模式 输入:【冒号】
  • 输入模式: 由输入模式退出到命令模式:用 ESC
  • 末行模式: 在末行模式输入 (w,q,wq,wq! )就可以退出编辑器了

3、VI编辑器的使用:

  1. 打开或新建文件:vi 文件
  2. 编辑文件:i ,或者o ,或者 a,或者 r
  3. 保存文件: :w 文件 (有另存为功能)
  4. 退出编辑器
  5. :q (已保存或未更改)
  6. :wq (保存后退出)
  7. :q! (强制退出)

4、命令行模式下:

  • 行内快速跳转:

    1. ^ 行首
    2. $ 行尾
    3. w 后一个单词首字母
  • 行间快速跳转:
    1. : set nu 显示行号
    2. : set nonu 取消行号
    3. 1G 文件首行
    4. #G 转到#行(#号代表的是数字)
    5. G文件末行
    6. vi [+#] 文件名,光标就会自动到达文件的第#行首! (#表示数字!!!)

  • 在末行模式直接输入:#(#代表的是数字),那么就会直接跳转到第 # 行!

  • 光标方向移动在命令模式下:

    • k(上)
    • j(下)
    • h(左)
    • l(右)

5、删除操作:

  • dd:删除光标所在行
  • 3dd:从光标所在行,往下删除三行
  • d$:删除光标至行尾
  • d^:删除光标至行首
  • 在末行模式直接输入:1,20 d 即可删除第 #1 行到 #2 行的所有内容!(#代表的是数字)!
  • 加#, 如3dd(3就是这里说的#)
  • 撤销操作: u

6、复制操作:

  • yy:复制光标所在行
  • 3yy:复制光标所在行及下面2行
  • y$:复制光标至行尾
  • y^:复制光标至行首
  • 加#,如20yy -----从光标开始计算
  • 在末行模式直接输入:#,$y 即可复制第#行到文尾的所有内容!(#代表的是数字)!

7、粘贴操作:

  • p(小p): 粘贴在光标所在行之后
  • P(大p):粘贴在光标所在行之前

8、查找与替换(末行命令):

  • 查找:
    1. 由 ”/” 或者 ”?” 开始后跟一个 word
    2. 按 n 键查找后一个
    3. 按 N 键查找前一个

  • 替换:
    1. 在末行模式,%s/被替换单词/替换成哪个单词

四、文件文本相关命令

1. ls 目录:显示指定目录下的所有未隐藏的目录或者文件

2. ls -a 目录:显示指定目录中所有的文件或者目录【包括隐藏的,以.开头的文件】

3. ls -l:

4. ls -al:以长输出的方式显示所有的文件

5. cat 文件名:查看文件中的内容信息

# mkdir 目录 :创建目录,通过指定 -p 参数可以创建多级目录

# touch 文件名:用于创建一个文件

#rm -rf 目录、文件 删除目录或文件

# rmdir dir1:删除空目录

  
# cp 复制

   # cp 文件名a  目录A:  直接将文件a拷贝到目录 A 中,名字不变 a
   
   # cp 文件名a  目录A/b  直接将文件a拷贝到目录 A 中,名字变为 b
   
   # cp -r 目录a  目录A/b  直接将目录a拷贝到目录 A 中,名字由a变为 b
   
   # cp 源文件  目标文件【目标目录】
   
   
  # mv 源文件【源目录】  目标目录【目标文件】:
  
    # mv  源文件  目标文件:
    
    # mv 文件名  目录:
 
 
6. find 查找文件:

   	# find / -name 'aa.txt'

 
7. grep :查找文本中的内容

   	# cat aa.txt  | grep "hello"

五、压缩和解压缩命令

  • Windows 常用的压缩格式: .zip .rar 格式(压缩比更高,压缩速度也更快!)

  • Linux 常用压缩格式:.zip .gz .bz2 .tar.gz .tar .bz2 (把要压缩的文件或者目录先转换成tar包然后再压缩,解决了目录不能压缩和解压缩的问题!)

  • 注意: windows 的 zip 格式的压缩和 linux 系统的 zip 压缩是一致的(可以互相压缩和解压缩)!

1、zip文件的解压和压缩(可压缩目录和文件)

  1. zip 压缩格式:

    • 压缩文件: zip 压缩文件名 源文件
    • 压缩目录: zip -r 压缩文件名 源目录
    • 注意: 压缩文件有可能比源文件大(这是由于压缩格式的信息也在压缩包里面)!
  2. 解压缩zip压缩的文件:

    • unzip 压缩文件

2、gz 格式解压和压缩

  • gz 压缩格式是 linux 所特有的压缩格式,但可以在 windows 上解压,不能压缩目录,只能压缩子文件
  1. 压缩:gzip 源文件

    • 注意: 源文件会消失

    • gzip -c 源文件 > 压缩文件

      • 注意:源文件会保留( 重定向是把命令的结果输出到一个文件中! )
    • gzip -r 目录 注意:这会压缩该目录下的子文件

  2. 解压: gzip -d 压缩文件

  • gunzip 压缩文件
  • gunzip -r 目录 (解压缩目录里面的文件)

3、bz2 格式解压和压缩( bzip2 压缩目录会报错 )

  1. 压缩:bzip2 源文件
    • 注意: 源文件会消失
  • bzip2 -k 源文件
    • 注意: 源文件会保留
  1. 解压:bzip2 -d 压缩文件
    • 注意:-k 保留压缩文件
  • bunzip2 压缩文件
    • 注意:-k 保留压缩文件

4、tar.gz格式的解压和压缩

  1. 压缩: tar -cvf 打包文件名 源文件(源目录)
  • 选项:
    • -c : 打包
    • -v :显示过程
    • -f :指定打包后的文件名
      • 例子:tar -cvf hello.tar hello.txt
        • gzip hello.tar
        • gzip -d hello.tar .gz
        • bzip2 hello.tar
        • bzip2 -d hello.tar .bz2
  1. 解压:
  • tar -xvf 打包文件名
    • 选项: -x : 解压
      • 例子:tar -xvf hello .tar
  1. tar .gz压缩(先打包为 .tar 格式,再压缩为 .gz 格式)
  • 压缩: tar -zcvf 压缩包名.tar.gz 源文件(可以为多个,文件之间用空格隔开,压缩包名.tar.gz也可以写绝对路径)

    • 选项:-z :压缩为.tar.gz格式
  • 解压: tar -zxvf 压缩包名.tar.gz -C 要解压到的文件夹

    • 选项:-x :解压.tar.gz格式

5、tar.bz2格式解压和压缩

  • 压缩: tar -jcvf 压缩包名.tar.bz2 源文件

    • 选项:-j :压缩为:.tar.bz2格式
  • tar -jxvf 压缩包名.tar.bz2

    • 选项:-x :解压.tar.bz2格式
    • 案列(指定解压目录):tar -jxvf hello.tar.bz2 -C /opt/installDir

六、用户(组)管理命令

  1. 添加用户:useradd

  2. 设置密码:passwd

    • 注意:若无则默认为root修改密码
  3. 删除用户: userdel [-r]

  4. 禁止/解禁用户:usermod [-L|-U]

  5. 切换用户:su 注意:输入的是你将要切换到目标用户的密码

  6. 查看当前用户: whoami / who am i

  7. 查看所有已登录用户:who

  8. 查看所有登录用户记录:last

  9. 用户信息文件: /etc/passwd 可通过cat /etc/passwd 进行查看,字段之间都是用冒号隔开,格式为:用户名:口令:用户标示符号:组标识符号:注释性描述:宿主目录:命令解释器

  10. 用户密码文件: /etc/shadow 可通过cat /etc/shadow 进行查看

  11. history:查看你输入过的命令[200]

1、用户组

12. 增加用户组:groupadd <groupname>

13. 创建用户时指定用户初始组 useradd -g <initial_group>  <username>
	
14. 删除用户组:groupdel  <groupname>

15. 修改用户所在初始组 usermod -g  <groupname>  <username>	
 
16. 查看用户所属组:groups <username>

18. 组信息:/etc/group :格式为:组名:组口令:GID:组成员  组密码信息在:/etc/gshadow文件中保存!!
	

七、文件/目录的权限

# r:# w:# x: 执行的权限
	
# ll命令:长输出显示文件信息

  	-rw-r--r-- 1 zhangsan   root                  0        11月 22 18:31                aaaa
            	   属主      属组               文件大小     创建或者修改时间               文件名
                     

  -rw-r--r--:
   第一位:文件类型:-:表示这是个普通文件
                  d:表示这是个目录
				  l:这是一个链接文件
				  
rw-[2-4]:表示属主对当前文件的操作权限 

r--[第5位-第7位]:表示属组中的用户对当前文件的操作权限

r--[第8位-第10位]:表示其它人【既不属于属主、也不属于属组中的用户】对当前文件的操作权限

八、文件和文件夹的读写执行权限的含义

		权限		简写		对普通文件的作用	      对文件夹的作用
		
		读取		r	    查看文件内容	          列出文件夹中的文件(ls)
		
		写入		w	    修改文件内容	          在文件夹中删除、添加或重命名文件()
		
		执行		x	    文件可以作为程序执行 	  cd 到文件夹
	 
	 
	 # root用户:不受权限限制,是一个超级的存在。
	 
	 # 修改文件的权限:
	 
	   chmod:  u/   r/w/x 文件名
	   
	   属主:u
	   
	   属组:g
	   
	   其它:o
	   
	   所有用户:a

     # 文件授权: 
     
        chmod u+rwx 文件名 或者 chmod u+7 文件
        
		chmod g+rwx 文件名 或者 chmod g+7 文件
		
		chmod o+rwx 文件名 或者 chmod o+7 文件
		
		chmod a+rwx 文件名 或者 chmod a+7 文件
		

# 文件权限设置:

	更改文件权限:chmod [ugoa][+-=][rwx] <file> (用逗号分隔)
	
	更改文件所有者:chown <owner> <file>
	
	更改文件所属组:chgrp <group> <file>
	
	同时更改所有者和所属组:chown <owner:group> <file>

# 连接文件

    软链接文件:ln -s 源文件  链接文件,软连接文件依赖于源文件
    
	硬链接文件:ln  源文件   链接文件,   硬连接文件不完全依赖于源文件

# su|sudo 用户: 表示切换到指定用户身份,暂时以指定用户的身份运行,普通用户切换到root用户,需要输入密码,而root用户切换到普通不需要输入密码:修改:vim /etc/sudoers

九、软件安装相关

1). RPM 包【.rpm软件包】:这种方式比较麻烦:

		1.RPMRedHat Package Manager),Rethat 软件包管理工具,类似 windows 里面的 setup.exe
		
		  RethatLinux这系列操作系统里面的软件安装工具,它虽然是RedHat的标志,但理念是通用的

	 
		2.RPM 包的名称格式:
		
			 apache-1.3.23-11.i386.rpmapache:“软件名称”
			 
			 "1.3.23-11":软件的版本号,主版本和此版本
			 
			 "i386":是软件所运行的硬件平台
			 
			 “rpm”:文件扩展名,代表 RPM 包:
			 
		
		
		3.对于 RPM 包而言
		
			常用命令:
					  查询:rpm -qa:查询所安装的所有rpm软件包
					  
							rpm -q tomcat
							
							rpm -qa | grep X
	
					  安装: rpm -ivh RPM包全路径名称:
	
						 i=install,安装
						 
						 v=verbose,提示信息
						 
						 h=hash,进度
						 
						rpm -ivh jdk-7u67-linux-x64.rpm //安装 ,安装到/usr/java/目录下了
					 
				
				   配置环境变量:
				   
					vim /etc/profile
					
					export  JAVA_HOME=/usr/java/jdk1.7.0_67
					
					export  CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
					
					export  PATH=$PATH:$JAVA_HOME/bin  注意:这里等号两侧不要留空格;

					保存并退出,并使得配置生效
					
					source /etc/profile 
					
					查看java版本:java -version	
															 
				  卸载:rpm -e RPM 软件包
				  
				  
				  
# Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的

   1/usr:系统级的目录,可以理解为C:/Windows//usr/lib理解为C:/Windows/System322/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
   3/opt:用户级的程序目录,可以理解为D:/Softwareopt有可选的意思,这里可以放置第三方软件,当你不需要时,直接rm -rf掉即可。
		   
		   
		   
	2).yum 安装 ---->
	
	    语法:yum install 软件名称
	   
一、 安装 mysql:centos6

    1. 使用root用户: su root
    
    2. 安装:
 
		yum install mysql(这是安装的mysql的客户端!!!)
		
		yum install mysql-server  这是安装的mysql的服务端!!!)
		
		yum install mysql-devel(可选)
		
    3. 修改配置信息,添加: vim /etc/my.cnf

		   (添加一个mysql节点)
		   
			[mysql]
			
			default-character-set=utf8
			
			[mysqld]
			
			character-set-server=utf8
			
			lower_case_table_names=1
			
    4. 启动mysqlservice mysqld restart/stop/start
    
    5. 配置超级用户名和密码, mysqladmin -u root password 123456
    
    6. root用户登录mysql -u root -p 123456
	
    7. 创建mysql用户:create user 'hive' identified by '123456';
  
    8. 授权:grant all privileges on *.* to 'hive'@'%' with grant option
   
    9. flush privileges;
   
    10. 重启一下这个mysql服务。
 
    11. 使用hive用户创建数据库并修改连接信息。
    
	    create database hive;
	 
	 
3).解压配置安装:tomcat.tar.gz 
         
   tar -zxvf  apache-tomcat-7.0.65.tar.gz -C /opt/install/ :-C指定要解压到的目录
   
   vi /etc/profile

十、查看日志相关命令

# 最常用查看日志方法:

	实时日志:tail -f XXX.log
	
	搜索关键字附近日志:cat -n filename | grep "关键字"
	
# 查看日志常用命令

1tail:

   -n  是显示行号;相当于nl命令;例子如下:

        tail -100f test.log      实时监控100行日志

        tail  -n  10  test.log   查询日志尾部最后10行的日志;

        tail -n +10 test.log    查询10行之后的所有日志;

2head:tail 是相反的,tail 是看后多少行日志,而 head 是查看日志文件的头多少行,例子如下:

        head -n 10  test.log   查询日志文件中的头10行日志;

        head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

3cattac 是倒序查看,是 cat 单词反写;例子如下:

        cat -n test.log |grep "debug"   查询关键字的日志(常用!)

4vim1、进入vim编辑模式:vim filename
    
    2、输入“/关键字”,enter 键查找
    
    3、查找下一个,按 “n” 即可
    
    退出:按 ESC 键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令
    
    wq! 保存退出
    
    q! 不保存退出 

# 查看日志应用场景一:按行号查看:过滤出关键字附近的日志

 (1) cat -n test.log |grep "debug"  得到关键日志的行号

 (2) cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前 10 行和后 10 行的日志:

        tail -n +92表示查询92行之后的日志

        head -n 20 则表示在前面的查询结果里再查前20条记录

# 查看日志应用场景二:根据日期查询日志

   (1) sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log
   
# 特别说明:

	1、上面的两个日期必须是日志中打印出来的日志,否则无效

	2、先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点


# 查看日志应用场景三:日志内容特别多,打印在屏幕上不方便查看,分页/保存文件查看

	(1)使用moreless命令,
	
	       如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页
	
	(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
	
	        如:cat -n test.log |grep "debug"  >debug.txt

最全linux常用命令(代码片段)

1.更改文件拥有者命令:chown[-cfhvR][--help][--version]user[:group]file...功能:更改文件或者文件夹的拥有者参数格式:  user:新的档案拥有者的使用者IDgroup:新的档案拥有者的使用者群体(group)  -c:若该档案拥有者确实已经更改,才显示... 查看详情

最全的git常用命令速查-2021版(代码片段)

现在做项目Git代码管理是一定少不了的。多年以前可能是SVN,我想如今的公司里面基本都转型到用Git了吧。虽然如今已有很多可视化的Git工具,但是很多时候我们还是需要用到命令直接操作。所以我就把Git的相关命令汇集了起来... 查看详情

精通linux系列最全的linux常用操作命令都在这了,收藏备用(代码片段)

🚀作者:“大数据小禅”🚀专栏简介:本专栏主要分享Linux技术,会涉及到常用的Linux命令操作,常用的服务部应用署以及相关运维知识,还有一些Linux系统的深层解析,Linux系列专栏地址,欢... 查看详情

csdn最全的linux常用指令详细解析[2023/1/16](代码片段)

本文将给大家详细介绍Linux常用的指令、演示以及一些基础知识的讲解目录ls指令file指令pwd命令whoami指令cd指令相对路径和绝对路径which指令touch指令mkdir指令添加用户信任关系rmdir指令rm指令man指令cp指令mv指令编辑cat指令echo指令... 查看详情

linux常用开发命令(代码片段)

文章目录Linux常用开发命令查看文件内容的某几行cat专项读取标准输入的数据,并将其内容输出成文件性能分析工具Top软件管理命令进程管理IO重定向查看文件大小和文件夹大小查找grep从一个输出或文件中查找指定内容别名... 查看详情

linux开发常用命令(代码片段)

Linux操作1常用的命令1.1杂项history查看执行过的历史命令命令太长,需要在命令后使用回车,让·命令不执行,输入\\所有没有权限的都可以使用前置命令sudoctrl+C结束进程tab自动代码补全linux命令格式命令名称[命令... 查看详情

全网最全linux命令总结!!(史上最全,建议收藏)(代码片段)

...他人持续有所收获。今天,给小伙伴们带来一篇史上最全Linux命令总结的文章,命令有点多,建议小伙伴 查看详情

全网最全linux命令总结!!(史上最全,建议收藏)(代码片段)

...他人持续有所收获。今天,给小伙伴们带来一篇史上最全Linux命令总结的文章,命令有点多,建议小伙伴 查看详情

nginx最全操作总结(代码片段)

作者:chrootliu,腾讯QQ音乐前端开发工程师本文将会从:安装->全局配置->常用的各种配置来书写,其中常用配置写的炒鸡详细,需要的童鞋可以直接滑倒相应的位置查看。查看nginx的文件列表,可以发现里面有一个auto的目录... 查看详情

hadoop开发常用linux命令整理(代码片段)

Linux命令整理集群崩溃处理办法HDFS_Shell命令MavenShuffle机制Hadoop压缩Hadoop生产调优手册配置白名单服役新服务器服务器间数据均衡黑名单退役服务器纠删码更改文件夹所属用户:sudochownzs:zsmodule/software/查看安装的Java版本:r... 查看详情

二linux开发中常用到的命令(代码片段)

目录二、Linux开发常用命令2.1、常用的系统工作命令1、echo命令2、reboot命令3、poweroff命令4、ps命令5、kill命令6、killall命令2.2、系统状态检测命令1.ifconfig命令2.uname命令2.3、工作目录切换命令1、pwd命令2、cd命令3.ls命令2.4... 查看详情

全网最全一文搞定linux压缩解压哪些事儿(代码片段)

一文搞定Linux压缩、解压哪些事儿Linux常用的解压和压缩命令如下:1、.tar#解包tarxvfFileName.tar#打包tarcvfFileName.tarDirName#🔔注:tar是打包,不是压缩!2、.gz#解压1gunzipFileName.gz#解压2gzip-dFileName.gz#压缩gzipFil 查看详情

csdn最全的linux常用指令详细解析[2023/1/16](代码片段)

本文将给大家详细介绍Linux常用的指令、演示以及一些基础知识的讲解目录ls指令file指令pwd命令whoami指令cd指令相对路径和绝对路径which指令touch指令mkdir指令添加用户信任关系rmdir指令rm指令man指令cp指令mv指令编辑cat指令echo指令... 查看详情

linux——最全面试题整理(仅此一篇)(代码片段)

文章目录1.七层模型、三次握手和四次挥手①OSI(7层)②TCP/IP(5层)③TCP/IP(4层)④TCP建立连接的过程称为三次握手,为了确认双方收发数据的能力⑤TCP断开连接的过程为四次挥手,目的是关闭一... 查看详情

技能篇:开发必备linux命令大全(代码片段)

我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须。接下来将一一详细介绍一些常用的linux的命令文件操作远程登录与操作磁盘挂载进程管理启动和结束系统性能参数查看网络数据抓取shell脚本命令jvm常... 查看详情

hadoop高可用ha开发常用linux命令(代码片段)

HA开发常用Linux命令手动故障转移配置手动故障转移配置在module文件夹下,新建HA目录:mkdirHA拷贝hadoop文件夹到HA中:cp-rhadoop-2.7.2/HA/删除配置data/logs/rm-rfdata/logs/启动hadoopsbin/hadoop-daemon.shstartjournalnode-hadoop102.out 查看详情

hadoop高可用ha开发常用linux命令(代码片段)

HA开发常用Linux命令手动故障转移配置手动故障转移配置在module文件夹下,新建HA目录:mkdirHA拷贝hadoop文件夹到HA中:cp-rhadoop-2.7.2/HA/删除配置data/logs/rm-rfdata/logs/启动hadoopsbin/hadoop-daemon.shstartjournalnode-hadoop102.out 查看详情

linux常用命令汇总(带代码示例)(代码片段)

...是命令行;在Linux操作系统当中可以进行各种语言的开发工作,我们可以通过命令进行各种指令操作,从而完成文件相关的管理工作。  💦接下来,小编带大家学习一 查看详情