admin管理员组

文章数量:1532754

一、Linux基本介绍

1、基本简介

Linux 是一个基于Linux 内核的开源类Unix 操作系统,Linus Torvalds于 1991 年 9 月 17 日首次发布的操作系统内核。Linux 通常打包为Linux 发行版。

Linux 最初是为基于Intel x86架构的个人计算机开发的,但此后被移植到的平台比任何其他操作系统都多。由于基于 Linux 的Android在智能手机上的主导地位,截至 2022 年 5 月,Linux(包括 Android)在所有通用操作系统中拥有最大的安装基础。

Linux 也可以在嵌入式系统上运行,即操作系统通常内置在固件中并针对系统高度定制的设备。这包括路由器、自动化控制、智能家居设备、视频游戏机、电视(三星和 LG智能电视分别使用Tizen和WebOS)

Linux 是免费和开源软件协作最突出的例子之一。任何人都可以根据其各自的许可条款,例如GNU 通用公共许可证(GPL) ,以商业或非商业方式使用、修改和分发源代码。例如,Linux 内核在 GPLv2 下获得许可,但系统调用有一个特殊例外,因为没有系统调用例外,任何调用内核的程序都将被视为衍生程序,因此 GPL 必须适用于该程序。

2、Linux文件系统

2.1 核心

1.Linux一切皆文件
2.只有一个顶级目录,不像windows分C盘、D盘、E盘

2.2 目录结构

2.3 文件含义

Linux 含义 windows
/bin 所有用户可用的基本命令存放的位置 windows没有固定的命令存放目录
/sbin 需要管理员权限才能使用的命令
/boot linux系统启动的时候需要加载和使用的文件
/dev 外设连接linux后,对应的文件存放的位置 类似Windows中的U盘,光盘的符号文件。
/etc 存放系统或者安装的程序的配置文件,注册服务等 类似windows中的注册表,
/home 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 类似windows中的"我的文档",每个用户有自己的目录。
/root root账户的家目录,仅供root账户使用 类似windows中的Administrator账户的"我的文档"
/lib linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar
/usr 很多系统软件的默认安装路径 类似windows中的C盘下的Program Files目录。
/var 系统和程序运行产生的日志文件和缓存文件放在这里

二、Linux常用命令

1. 文件管理命令

注意事项:命令区分大小写

1.1 命令格式

命令格式 :命令 [-选项] [参数]
	例 : ls -la /etc
	

说明:

  • 1、个别命令使用不遵循此格式
  • 2、当有多个选项时,可以写在一起
  • 3、简化选项与完整选项-a 等于 --all

1.2 列出目录的内容:ls 命令

# 2. 查看文件列表
	ls [-参数1参数2] [目标文件夹]
		命令所在路径:/bin/ls 
		执行权限:所有用户
		功能描述:显示目录文件
		语法:ls  选项[-ald]  [文件或目录] 
		-a    显示所有文件,包括隐藏文件
		-l     详细信息显示
		-d    查看目录属性
	
	# 查看当前目录下的文件列表
		ls
	# 查看指定目录下的文件
		ls /
	# 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
		ls -l
	# 查看隐藏文件
		ls -a 
	# 参数并用
		ls -la

# 当使用ls -l会显示文件的详细信息,包含权限信息:
	-rw-r--r-- 
	- 文件类型(- 文件 d 目录 l 软链接文件)
	rw- r-- r-- 
	u g o 
	u:所有者 g:所属组 o:其他人
	r:读 w:写 x:执行

1.3 切换工作目录:cd 命令

# 5. 切换目录
	cd 目标文件夹
		命令所在路径:shell内置
		命令执行权限:所有用户
		语法:cd [目录] 
		功能描述:切换目录
		范例: $ cd  /tmp/zhang/test1     切换到指定目录
		 	  $ cd  ..        回到上一级目录

	# 绝对路径切换
		cd 绝对路径
	# 相对路径切换
		cd 相对路径
	# 例子:切换到/etc/sysconfig/networks-scripts 目录下
	

1.4 显示当前路径:pwd 命令

# 4. 查看当前命令所在的目录
	命令所在路径:/bin/pwd 
	执行权限:所有用户
	语法:pwd 
	功能描述:显示当前目录
	范例 :
		[root@rhwbilla network-scripts]# pwd
		/etc/sysconfig/network-scripts
	
	# 特殊目录符号
		~ 当前用户的home目录
		. 当前目录
		.. 上一级目录

1.5 创建目录:mkdir 命令

# 5. 新建文件夹及文件
	命令所在路径:/bin/mkdir 
	执行权限:所有用户
	语法:mkdir -p  [目录名] 
	功能描述:创建新目录-p  递归创建
	范例: $ mkdir -p /tmp/zhang/test
	      $ mkdir /tmp/zhang/test1 /tmp/zhang/test2


	# 在当前位置新建文件夹
		mkdir 文件夹名
	# 在指定目录位置,创建文件夹,并创建父文件夹
		mkdir -p /a/b/文件夹名
	# 在当前目录下新建文件
		touch 文件名

1.6 删除空目录:rmdir 命令

# 6. 删除文件夹
	命令名称:rmdir 
	命令所在路径:/bin/rmdir 
	执行权限:所有用户
	语法:rmdir [目录名] 
	功能描述: 删除空目录
	范例: $ rmdir /tmp/zhang/test
	

1.7 删除文件:rm 命令

# 7. 删除文件
	命令所在路径:/bin/rm 
	执行权限:所有用户
	语法:rm  -rf   [文件或目录] 
	-r  删除目录
	-f  强制执行
	功能描述:删除文件
	范例:$ rm  /tmp/yum.log 
	     删除文件/tmp/yum.log 
	     
	     $ rm -rf  /tmp/zhang/test2
	     删除目录/tmp/zhang/test2


	# 删除文件
		rm 文件
	# 删除文件夹
		rm -r 文件夹
	# 强制删除不询问
		rm -rf 文件

1.8 拷贝文件:cp 命令

# 8. 拷贝文件
	命令所在路径:/bin/cp 
	执行权限:所有用户
	语法:cp  -rp  [原文件或目录] [目标目录] 
	-r  复制目录
	-p  保留文件属性
	功能描述:复制文件或目录
	范例:$ cp  -r /tmp/zhang/test1  /root   
	     将目录/tmp/zhang/test1复制到目录/root下
	 
	     $ cp  -rp /tmp/zhang/test2 /tmp/zhang/test2 /root
	     将/tmp/zhang目录下的test1和test2目录复制到/root下,保持目录属性


	# 拷贝文件
		cp 原文件  新文件
	# 拷贝文件夹
		cp -r 源文件夹 新文件夹

1.9 移动文件:mv 命令

# 9. 移动文件或修改文件名

	# 移动源文件到目标文件夹中
		mv 文件  文件夹
	# 修改文件A的名字为文件B
		mv 文件A 文件B

1.10 获取文件的md5指纹:md5sum 命令

# 8. 获取文件的md5指纹(数字签名)
	md5sum 文件名

	# 简介
	1. 数字签名,又称数字指纹
	2. 可以验证文件是否被修改
	3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)
		

2.文本内容(查看|处理)命令

2.1 创建文件:touch 命令

#1 创建文件命令名称:touch 
 
	命令所在路径:/bin/touch 
	执行权限:所有用户 
	语法:touch  [文件名]                 
	功能描述:创建空文件 
	范例: 
		$ touch test

2.2 显示文件内容:cat 命令


# 查看文件中的全部信息(适合查看小文档)
	cat 文件名

	命令所在路径:/bin/cat 
	 
	执行权限:所有用户 
	语法:cat [文件名] 
	功能描述:显示文件内容            
	   -n  显示行号 
	范例: 
		$ cat  /etc/issue              
		$ cat  -n /etc/services
	

2.3 分屏显示:more 命令

# 分屏显示命令名称:more 
 
	命令所在路径:/bin/more 
	执行权限:所有用户 
	语法:more  [文件名]                  
	   (空格) 或f           翻页               
	   (Enter)             换行                 
	   q或Q                退出 
	功能描述:分页显示文件内容 
	 
	范例:   
		$ more  /etc/services
		

2.4 分屏显示:less 命令


# 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
	less 文件名
# 浏览模式快捷键#上一行#下一行
    G #最后一页
    g #第一页
    空格 #下一页
    /关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
    q #退出

	命令所在路径:/usr/bin/less 
	执行权限:所有用户 
	语法:less  [文件名] 
	功能描述:分页显示文件内容(可向上翻页) 
	 
	范例:  
		$  less  /etc/services
	tips: 按下 / 后可以搜索 会反显高亮  按q退出(more也可以)
	
    

2.5 取首n行:head 命令

# 取首n行命令名称:head
 
	命令所在路径:/usr/bin/head 
	执行权限:所有用户 
	语法:head  [文件名] 
	功能描述:显示文件前面几行    
	    -n 指定行数 
	 
	范例:  
		$ head -n 20 /etc/services
		

2.6 取尾n行:tail 命令


# 取尾n行 命令名称:tail

	命令所在路径:/usr/bin/tail 
	执行权限:所有用户 
	语法:tail  [文件名] 
	功能描述:显示文件后面几行    
	    -n 指定行数    
	    -f  动态显示文件末尾内容 
	 
	范例:   
		$ tail -n 18 /etc/services


	# 实时滚动显示文件的最后10行信息(默认10行)
		tail -f 文件名
	# 显示文件的最后20行信息
		tail -n 20 文件名
		tail -n -20 文件名
	# 显示文件信息从第20行至文件末尾
		tail -n +20 文件名

3、文件搜索命令

3.1 查找文件:find 命令

# 查找文件 命令名称:find 
 
	命令所在路径:/bin/find 
	执行权限:所有用户 
	语法:find  [搜索范围]  [匹配条件] 
	功能描述:文件搜索

	# 语法
		find 搜索路径 -name "文件名关键词"
	# 例子
		find / -name "passwd"
		find / -name "ifcfg-*"
 
	范例:
		$ find  /etc  -name  init           
		在目录/etc中查找文件init       
		-iname 不区分大小写        
		$ find /etc -name *init*
		在目录/etc中查找文件名包含init     
		$ find /etc -name init???
		在目录/etc中查找文件名init开头并有3个字符的   
		$ find /etc -name init*
		在目录/etc中查找文件名init开头的   
		tips:* 匹配任意字符,?匹配单个字符
		$ find  /  -size  +204800           
		在根目录下查找大于100MB的文件        
		  +n  大于   -n 小于   n 等于        
		$ find  /home  -user  shenchao         
		在根目录下查找所有者为shenchao的文件       
		 -group  根据所属组查找
		$ find  /etc  -cmin  -5         
		在/etc下查找5分钟内被修改过属性的文件和目录
		       -amin  访问时间 access   
		       -cmin  文件属性 change     
			   -mmin 文件内容 modify
 
		$ find  /etc -size  +163840 -a -size  -204800          
		在/etc下查找大于80MB小于100MB的文件          
			-a 两个条件同时满足         
		 	-o 两个条件满足任意一个即可        
		$ find /etc -name inittab -exec 

本文标签: 命令大全详细系统Linux