Linux常用命令总结(语法+案例)建议收藏!
目录
vi和vim

 快捷键使用案例:
 1)拷贝当前行yy ,拷贝当前行向下的5行5yy,并粘贴(p)。
 2)删除当前行 dd ,删除当前行向下的5行5dd
 3)在文件中查找某个单词[命令行下/关键字,回车查找,输入 n就是查找下一个],
 4)设置文件的行号,取消文件的行号.[命令行下: set nu和:set nonu]
 5)文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
 6)撤销上一个动作,正常模式下输入u
 7)编辑/etc/profile文件,并将光标移动到第20行shift+g
 第一步:显示行号:set nu
 第二步:输入20这个数
 第三步:输入shift+g
开机、重启、防火墙相关操作
- shutdown
shutdown -h now:表示立即关机
shutdown -h 1:表示1分钟后关机
shutdown -r now:立即重启 - halt
就是直接使用,效果等价于关机 - reboot
就是重启系统。
sync :把内存的数据同步到磁盘 
注意: 当我们关机或者重启时,都应该先执行以下sync指令,把内存的数据写入磁盘,防止数据丢失。
防火墙:
查看防火墙状态
 systemctl status firewalld
 关闭防火墙
 
用户管理
增添用户:
useradd [选项] 用户名
 
当创建用户成功后,会自动的创建和用户同名的家目录
 也可以通过useradd -d 指定目录新的用户名,给新创建的用户指定家目录
 
给用户指定或者修改密码:
基本语法
 passwd 用户名
删除用户
基本语法
 userdel 用户名
应用案例:
 1)删除用户xm,但是要保留家目录
 
2)删除用户xh 以及用户主目录
 
查询用户信息
基本语法
 id 用户名
 应用案例:
 查询root信息
 
切换用户
基本语法
 su - 切换用户名
 细节说明:
 1)从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
 2)当需要返回到原来用户时,使用exit 指令
用户组
增加组
groupadd 组名
删除组
groupdel 组名
增加用户时直接指定组
useradd -g 用户组 用户名
修改用户的组
usermod -g 用户组 用户名
帮助指令
man获得帮助信息
基本语法
man[命令或配置文件] (功能描述:获得帮助信息)
应用示例
 
help 指令
help 命令(功能描述:获得shell内置命令的帮助信息)
应用实例:
 
文件目录类
pwd 指令
pwd (功能描述:显示当前工作目录的绝对路径)

ls指令
ls [选项] [目录或是文件]
 常用选项
 -a :显示当前目录所有的文件和目录,包括隐藏的。
 -l :以列表的方式显示信息
 
 
cd指令
cd [参数] (功能描述:切换到指定目录)
cd~或者cd :回到自己的家目录
 cd …回到当前目录的上一级目录
 
 
mkdir指令
mkdir 「选项] 要创建的目录
 常用选项
 -p :创建多级目录

 
 
rmdir指令(删除空目录)
 
rmdir [选项] 要删除的空目录
 
touch指令(创建空文件)
touch 文件名称
 
cp指令(拷贝文件到指定目录)
cp [选项] source dest
 常用选项
 -r :递归复制整个文件夹
 
 
 
 使用细节:
 
rm指令(移除【删除】文件或目录)
rm [选项] 要册除的文件或目录
 常用选项:
 
 
 
mv指令(移动文件与目录或重命名)
基本语法:
mv oldNameFile newNameFile (功能描述:重命名)
 mv /temp/movefile /targetFolder (功能描述:移动文件)

 案例2:将/home/pig.txt文件移动到/root目录下
 
cat指令(查看文件内容,是以只读的方式打开)
cat [选项] 要查看的文件

 
more指令
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明
基本语法:
 more要查看的文件
应用实例:
 
 
less指令
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
基本语法:
 less 要查看的文件
 
 快捷键
 
时间日期类
date指令-显示当前日期
基本语法
 1 ) date (功能描述:显示当前时间)
 2) date +%Y (功能描述:显示当前年份)
 3) date +%m (功能描述:显示当前月份)
 4) date +%d (功能描述:显示当前是哪一天)
 5) date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
date指令-设置日期
date -s 字符串时间
案例:
 
cal指令(查看日历指令)
cal [选项] (功能描述:不加选项,显示本月日历)

 
搜索查找类
find 指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
 
 
 
 
 
 
grep指令和 管道符号 │

 案例1:请在 hello.txt文件中,查找"yes"所在行,并且显示行号
 
压缩和解压类
gzip/gunzip指令
基本语法
 
 
 案例2: gunzip压缩,将 /home下的 hello.txt.gz文件进行解压缩
 
zip/unzip指令
zip 用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用的
 
 
 
tar指令

 
 案例2:将/home的文件夹压缩成myhome.tar.gz
 
 
 指定解压到的那个目录,事先要存在才能成功,否则会报错。
组管理和权限管理
Linux 组基本介绍

 
文件/目录所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
查看文件的所有者

 
 
修改文件所有者

 
组的创建
groupadd 组名
应用案例
创建一个组, ,monster
 创建一个用户fox ,并放入到monster组中
 
改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root 的管理权限可以改变某个用户所在的组。

 应用案例
 
权限的基本介绍

 
rwx权限详解
rwx作用到文件
1)[ r ]代表可读(read):可以读取,查看
 2) [ w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
 3)[x ]代表可执行(execute):可以被执行
rwx作用到目录
1)[ r]代表可读(read):可以读取,ls查看目录内容
 2)[ w]代表可写(write):可以修改,目录内创建+删除+重命名目录
 3)[ x ]代表可执行(execute):可以进入该目录
文件及目录权限实际案例

 
 可用数字表示为: r=4,w=2,x=1因此rwx=4+2+1=7
 l 文件:硬连接数或目录:子目录数
 root 用户
 root 组
 1213 文件大小(字节),如果是文件夹,显示 4096字节
 Feb 2 09:39 最后修改日期
 abc 文件名
修改权限-chmod

 
 
 3)给abc文件的所有用户添加读的权限
 
第二种方式:通过数字变更权限

 
修改文件所有者-chown
chown newowner file改变文件的所有者
chown newowner: newgroupfile改变用户的所有者和所有组
-R如果是目录则使其下所有子文件或目录递归生效
案例演示:
 1)请将 /home/abc .txt文件的所有者修改成tom

 
修改文件所在组-chgrp

 案例演示:
 
crond任务调度

 
 crontab 进行定时任务的设置
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。


快速入门
任务的要求:
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab -e命令。
接着输入任务到调度文件
如:/1***ls -l/etc/ >/tmp/to.txt
 意思说每小时的每分钟执行ls - l /etc/ > /tmp/to.txt命令
步骤如下:
1 ) crontab -e
 2) /1***ls -l/etc >>/tmp/to.txt
 3)当保存退出后就程序。
 4)在每一分钟都会自动的调用ls -l /etc >>/tmp/to.txt
参数细节说明

 
 
任务调度的几个应用实例
案例1:每隔Ⅰ分钟,就将当前的日期信息,追加到/tmp/mydate文件中

案例2:每隔1分钟,将当前日期和日历都追加到/home/mycal文件中
1)先编写一个文件/home/mytask2.sh
 date >>/tmp/mycal
 cal >>/tmp/mycal
 2)给mytask1.sh 一个可以执行权限
 chmod 744 /home/mytask2.sh
 3 ) crontab -e
 4)/1***/home/mytask2.sh
 5)成功
案例3:每天凌晨2:00将mysql数据库testdb ,备份到文件中mydb.bak
 
 
RPM和YUM
rpm包的管理
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows的setup.exe,这一文件格式名称虽然打上了RedHat 的标志,但理念是通用的.
Linux的分发版本都有采用(suse,redhat, centos等等),可以算是公认的行业标准了。
rpm包的简单查询指令
查询已安装的rpm列表rpm-qalgrep xx
 请查询看一下,当前的Linux有没有安装firefox
 
rpm包名基本格式

 
rpm包的其它查询指令
rpm -qa :查询所安装的所有rpm软件包
rpm -qa | more[分页显示]
rpm -qa l grep X [rpm -qa | grep firefox ]
 
 rpm -q软件包名:查询软件包是否安装
 rpm -q firefox
rpm -qi软件包名:查询软件包信息
 
 rpm -qi file
rpm -ql 软件包名:查询软件包中的文件
 rpm -ql firefox

 
卸载rpm包
 
细节问题
1)如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
 如: $ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
2)如果我们就是要删除 foo这个rpm包,可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如: $ rpm -e --nodeps foo
 带上 --nodeps就是强制删除。
安装rpm包
rpm -ivh RPM包全路径名称

 
yum
Yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用yum的前提是可以联网。
 
yum的基本指令
- 查询yum服务器是否有需要安装的软件
yum listlgrep xx软件列表 - 安装指定的yum包
yum install xxx下载安装 
应用案例

 
原文:https://www.cnblogs.com/cxy2020/p/15310472.html