您的位置:首页 > 运维架构 > Linux

Linux常用命令总结(语法+案例)

2021-09-15 22:00 926 查看

目录

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下载安装

应用案例


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: