一、简单系统命令
1、基本操作
1、帮助命令
//查看 ifconfig 命令的用法
ifconfig --help
2、切换用户(su)
su yao //切换为用户"yao",输入后回车需要输入该用户的密码
exit //退出当前用户
3、重启命令
# 查看ip地址
ip a
ip addr
# ping网络(测试网络连通)
ip 目标机器的ip
# 查看系统时间
date
# 注销
logout
# 关机
shutdown now
shutdown -h now 或者 poweroff 立刻关机
shutdown -h 2 两分钟之后关机
# 重启
shutdown -r now 或者 reboot 立刻重启
shutdown -r 2 两分钟之后重启
# 清屏
clear
2、目录操作
2.1、切换目录(cd)
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd ../ //切换到上一级目录 或者使用命令:cd ..
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
2.2 查看目录(ls)
# 1. 查看文件列表
ls [-参数1参数2] [目标文件夹]
ls //查看当前目录下的所有目录和文件
ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls -la
ls /bin //查看指定目录下的所有目录和文件
2.3、创建目录(mkdir)
# 在当前位置新建文件夹
mkdir 文件夹名
# 在指定目录位置,创建文件夹,并创建父文件夹
mkdir -p /a/b/文件夹名
# 在当前目录下新建文件
touch 文件名
mkdir tools //在当前目录下创建一个名为tools的目录
mkdir /bin/tools //在指定目录下创建一个名为tools的目录
2.4、删除目录与文件(rm)
删除文件:
# 删除文件
rm 文件 //删除当前目录下的文件
# 删除文件名
rm -f 文件名 //删除当前目录的的文件(不询问)
# 删除文件夹
rm -r 文件夹 //递归删除当前目录下此名的目录
# 强制删除不询问
rm -rf 文件 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】
2.5 修改目录(mv)
# 移动源文件到目标文件夹中
mv 文件 文件夹
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
# 修改文件A的名字为文件B
mv 文件A 文件B
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
2.6、拷贝目录(cp)
拷贝文件
# 拷贝文件
cp 原文件 新文件
cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面
# 拷贝文件夹
cp -r 源文件夹 新文件夹
cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹
2.7 搜索目录(文件夹)(find)
# 语法
find 搜索路径 -name "文件名关键词"
# 例子
find / -name "passwd"
find / -name "ifcfg-*"
find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
find . -name "*.c" //将目前目录及其子目录下所有延伸档名是 c 的文件列出来
find . -type f //将目前目录其其下子目录中所有一般文件列出
find . -ctime -20 //将目前目录及其子目录下所有最近 20 天内更新过的文件列出
find /var/log -type f -mtime +7 -ok rm {} \; //查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
find . -type f -perm 644 -exec ls -l {} \; //查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
find / -type f -size 0 -exec ls -l {} \; //为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
2、文件内容查找
# 语法
grep -参数 要查找的目录范围
# 参数
-n 显示查找结果所在行号
-R 递归查找目录下的所有文件
# 例子
grep aries /etc
grep aries /etc/passwd
grep -i "the" demo_file //在文件中查找字符串(不区分大小写)
grep -A 3 -i "example" demo_text //输出成功匹配的行,以及该行之后的三行
grep -r "ramesh" * //在一个文件夹中递归查询包含指定字符串的文件
查询一个软件包是否安装
// 查询是否安装lvm
rpm -qa|grep lvm
-qa代表query,a代表all
rpm -q 查询一个包是否被安装
rpm -qa 列出所有被安装的rpm package
| 表示管道,上一条命令的输出,作为下一条命令参数(输入)
grep 用于查找文件里符合条件的字符串。
2.8、编辑文件(vi、vim)
vi 文件名 //打开需要编辑的文件
--进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":"进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
## 操作步骤示例 ##
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
## 补充 ##
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件
2.9、查看文件
cat a.txt //查看文件最后一屏内容
less a.txt //PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt //显示百分比,回车查看下一行,空格查看下一页,"q"退出查看
head -n 100 filename // 查看文件中的前100行
tail -n 100 filename // //查看文件的后100行
tail -100 a.txt //查看文件的后100行,"Ctrl+C"退出查看
# 实时滚动显示文件的最后10行信息(默认10行)
tail -f 文件名
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名
2.10 打包与解压
1 说明
.zip、.rar //windows系统中压缩文件的扩展名
.tar //Linux中打包文件的扩展名
.gz //Linux中压缩文件的扩展名
.tar.gz //Linux中打包并压缩文件的扩展名
2 打包文件
tar -zcvf 打包压缩后的文件名 要打包的文件
参数说明:z:调用gzip压缩命令进行压缩; c:打包文件; v:显示运行过程; f:指定文件名;
示例:
tar -zcvf a.tar file1 file2,... //多个文件压缩打包
3 解压文件
tar -zxvf a.tar //解包至当前目录
tar -zxvf a.tar -C /usr------ //指定解压的位置
unzip test.zip //解压*.zip文件
unzip -l test.zip //查看*.zip文件的内容
防火墙操作
service iptables status //查看iptables服务的状态
service iptables start //开启iptables服务
service iptables stop //停止iptables服务
service iptables restart //重启iptables服务
chkconfig iptables off //关闭iptables服务的开机自启动
chkconfig iptables on //开启iptables服务的开机自启动
##centos7 防火墙操作
systemctl status firewalld.service //查看防火墙状态
systemctl stop firewalld.service //关闭运行的防火墙
systemctl disable firewalld.service //永久禁止防火墙服务
配置映射
修改文件:vi /etc/hosts
在文件最后添加映射地址,示例如下:
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
配置好以后保存退出,输入命令:ping node1 ,可见实际 ping 的是 192.168.1.101。
查看文件不以#开头或者是空行的内容
// 例如:查看redis配置文件的不以#开头 或者是空行 的内容
grep -Ev "^#|^$" /etc/redis.conf
vi操作定位
1.跳到文本的最后一行:按“G”,即“shift+g”
2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。
3.跳到第一行的第一个字符:先按两次“g”,
4.跳转到当前行的第一个字符:在当前行按“0”。
5.vi加密。进入vi,输入":" + “X” 之后就提示你输入两次密码。
6.文件重新载入 :e!
7.单行复制 将光标移到复制行 按 'yy’进行复制
8.多行复制 将光标移到复制首行 按 'nyy’进行复制 n=1.2.3.4。。。。。
9.粘贴 将光标移到粘贴行 按 'p’进行粘贴
10.查找 /pattern Enter
查看进程
# 静态查看系统进程
ps -aux
ps -ef //查看所有正在运行的进程
结束进程
# 关闭进程
kill 进程id
# 强制关闭进程(谨慎使用)
kill -9 进程id
kill pid //杀死该pid的进程
kill -9 pid //强制杀死该进程
参考:
https://www.runoob.com/linux/linux-command-manual.html
二、centos 7 安装软件
2.1、centos 7 安装 jdk1.8
https://blog.youkuaiyun.com/weixin_42326851/article/details/123769617