CentOS7:Bash 常用命令

查询
# 查询当前目录下的文件和目录
dir
ls
# ll == ls -l
ll

# 切换到指定目录
cd dir-name

# 文件查询
# 通配符
# * 表任意多个字符
# ? 表示任意单个字符
# [ - ] 范围通配符,表示一个字符的取值范围
# [ ^ ] 取反通配符,表示在范围之外的一个字符
# 特殊符号
# { } ,表一个范围内的所有字符串,常用于遍历
# 查询当前目录下的所有文件、文件夹、子文件及子文件夹
find *
# 查询当前目录下的所有以 f 开头,长度为 2 的文件/文件夹
find f?
# 查询当前目录下的所有以 f 开头,长度为 2 且范围在 0-9 或 a-z 的文件/文件夹
find f[0-9a-z]
# 查询当前目录下的所有以 f 开头,长度为 2 且范围在 0-9 的文件/文件夹
find f{0..9}
# 查询当前目录下名为 f1, f3, f5 的文件/文件夹
find f{1,3,5}
# 查询当前目录及子目录下是否包含文件 filename,为精确查询
find -name filename

# 查询输出内容的每一行是否包含该字符串
ls -l | grep tll
输出
# '' 单引号内的字符串不会经过特殊处理,是啥输出就是啥,要输出单引号的话还是要借助双引号
# "" 双引号内的字符串会进过特殊处理,会被翻译成指定作用的字符串,输出双引号的话要借助转义字符 '\' 反斜杠

# 字符串输出,会在末尾追加一个换行符
echo abc
echo 'abc'
echo "abc"
# 输出当前命令行进程编号
echo $$
# 输出所有环境变量
echo
# 输出当前目录下的文件和文件夹
echo *

# 文件内容输出
# 输出文件 f1 中的内容
cat f1
# 用于内容太多,一页放不下的情况
# more 没有 less 好用
cat f1 | less
cat f1 | more

# 重定向 >、>>、<、<<:将输出内容输入到指定文件中
# 将字符串 abc 输入到文件 f1 中,会覆盖掉文件中的所有内容
echo abc > f1
# 将字符串 abc 追加到文件 f1 中
echo abc >> f1
# 重定向具有灵活性, > f1 可放置在任意位置
# 下面结果都相同
>> f1 echo bbb ccccc
echo bbb ccccc >> f1
echo bbb >> f1 ccccc

# 管道 |:将输入内容作为下一命令的输入内容
# 查看指定端口是否开放
netstat -anlp | grep 80

# 字符串替换
# 将所有环境变量的字符串中的 : 替换为换行符 \n 并加上行号
echo $PATH | sed s/':'/'\n'/g | nl

# 字符串分割
# 输出环境变量字符串中的第一个环境变量
echo $PATH | awk -F ':' '{print $1}'

# `cmd` 和 $(cmd) 中的命令会被优先执行
# 输出当前磁盘占用量
echo 'disk used' `df -l | awk 'NR==2{print $5}'`
echo 'disk used' $(df -l | awk 'NR==2{print $5}')
# 查看环境变量中所有目录的权限、大小、日期等信息
echo $PATH | awk -F ':' '{for(i=1;i<=NF;i++) {system("ls -dl " $i)}}'
查看开放端口
# tcp
netstat -tnpl
# udp
netstat -unpl
后台进程
# 后台命令不可接收输入
# 将当前命令放入后台执行
sleep 400 &
# 将前台耗时命令放入后台执行
`control + z` 键将当前执行命令暂停并放入后台
# 使后台暂停的命令执行
bg
# 查看当前命令行的后台进程
jobs
# 输出每个后台的系统进程号
jobs -p
# 输出每个后台进程的详细信息
jobs -l
# 结束指定后台进程编号的后台进程,n 为当前命令行的进程编号,
kill -KILL %n
# 结束最新一个进程
kill -KILL %+
# 结束第二个最新的进程
kill -KILL %-
# 结束指定后台进程编号的后台进程,pid 为该进程在系统中的进程号
kill -KILL pid
守护进程(服务)
# 有两种命令管理
# systemctl 和 service
# service 有些情况无法使用

# systemctl
# 开启防火墙服务,关机后失效
systemctl start firewalld
# 关闭服务,关机后失效
systemctl stop firewalld
# 重启服务
systemctl restart firewalld
# 重新加载配置文件
systemctl reload firewalld
# 查看服务状态
systemctl status firewalld
# 开机自动启用
systemctl enable firewalld
# 开机自动关闭
systemctl disable firewalld

# service
# 开启防火墙服务,关机后失效
service firewalld start
# ... 其它同理
下载
# rpm 和 yum
# rpm 只会从系统自带的工具包中下载,不会自动安装相关依赖包
# yum 是从网路上的一个库中下载相关软件,默认为官方库,可配置为国内的库,如阿里的,腾讯的,提高下载速度,并
# 且会自动安装相关依赖包,因此一般来说只会用 yum

# yum
# <> 表可选
# 安装软件,中途要确认是否安装,使用可选参数直接安装
yum install software <-y>
# 安装多个
yum install software software1 softwar2 <-y>
# 卸载软件
yum remove software <-y>
# 更新软件,不加参数为更新所有,
yum update <software> <-y>
# 查询所有可更新软件
yum check-update
# 查询所有可安装软件
yum list
# 查询指定软件
yum search <all> software

# rpm
# 只可安装系统库中的软件
# 安装软件
rpm -ivh software
# 查询所有已安装软件
rpm -qa
# 卸载软件
rpm -e software
# 查询软件的安装目录
rpm -ql software

# wget
# 直接下载地址文件
# 默认没有,要安装
install install wget -y
# 下载文件,参数为下载到指定目录,不加参数下载到当前目录下
wget link-addr <-P dir-name>

# curl
# 下载文件
curl -O link-addr

# curl 下载有时候可解决 ssl 无法建立连接问题

压缩和解压
# zip
# 压缩文件,f1.zip 为压缩包名,f1.txt 为文件名
zip f1.zip f1.txt
# 压缩文件夹,d1 为文件夹
zip -r d1.zip d1

# unzip
# 解压以 zip 方式压缩的文件
# 解压到当前目录
unzip f1.zip
# 解压到目录 d1 中
unzip f1.zip -d d1
# 查看压缩包内文件信息
unzip -l f1.zip

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值