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
开机、重启、防火墙相关操作
注意: 当我们关机或者重启时,都应该先执行以下sync指令,把内存的数据写入磁盘,防止数据丢失。
查看防火墙状态
systemctl status firewalld
关闭防火墙
用户管理
当创建用户成功后,会自动的创建和用户同名的家目录
也可以通过useradd -d 指定目录新的用户名,给新创建的用户指定家目录
基本语法
passwd 用户名
基本语法
userdel 用户名
基本语法
su - 切换用户名
细节说明:
1)从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
2)当需要返回到原来用户时,使用exit 指令
groupadd 组名
groupdel 组名
useradd -g 用户组 用户名
usermod -g 用户组 用户名
帮助指令
基本语法
man[命令或配置文件] (功能描述:获得帮助信息)
help 命令(功能描述:获得shell内置命令的帮助信息)
文件目录类
pwd (功能描述:显示当前工作目录的绝对路径)
ls [选项] [目录或是文件]
常用选项
-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息
cd [参数] (功能描述:切换到指定目录)
cd~或者cd :回到自己的家目录
cd …回到当前目录的上一级目录
mkdir 「选项] 要创建的目录
常用选项
-p :创建多级目录
空
目录)cp [选项] source dest
常用选项
-r :递归复制整个文件夹
使用细节:
基本语法:
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
案例2:将/home/pig.txt文件移动到/root目录下
cat [选项] 要查看的文件
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明
基本语法:
more要查看的文件
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
时间日期类
基本语法
1 ) date (功能描述:显示当前时间)
2) date +%Y (功能描述:显示当前年份)
3) date +%m (功能描述:显示当前月份)
4) date +%d (功能描述:显示当前是哪一天)
5) date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
date -s 字符串时间
搜索查找类
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
案例1:请在 hello.txt文件中,查找"yes"所在行,并且显示行号
压缩和解压类
基本语法
案例2: gunzip压缩,将 /home下的 hello.txt.gz文件进行解压缩
zip 用于压缩文件,unzip用于解压的,这个在项目打包发布中很有用的
案例2:将/home的文件夹压缩成myhome.tar.gz
指定解压到的那个目录,事先要存在才能成功,否则会报错。
组管理和权限管理
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
groupadd 组名
应用案例
创建一个组, ,monster
创建一个用户fox ,并放入到monster组中
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root 的管理权限可以改变某个用户所在的组。
权限的基本介绍
1)[ r ]代表可读(read):可以读取,查看
2) [ w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
3)[x ]代表可执行(execute):可以被执行
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 文件名
chown newowner file改变文件的所有者
chown newowner: newgroupfile改变用户的所有者和所有组
-R如果是目录则使其下所有子文件或目录递归生效
案例演示:
1)请将 /home/abc .txt文件的所有者修改成tom
crond任务调度
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
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
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows的setup.exe,这一文件格式名称虽然打上了RedHat 的标志,但理念是通用的.
Linux的分发版本都有采用(suse,redhat, centos等等),可以算是公认的行业标准了。
查询已安装的rpm列表rpm-qalgrep xx
请查询看一下,当前的Linux有没有安装firefox
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
细节问题
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 -ivh RPM包全路径名称
Yum是一个Shell前端软件包管理器
。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系
,并且一次安装所有依赖的软件包。使用yum的前提是可以联网。