Linux使用
正则表达式
通配符
-
- ls -l ./a*
-
?
- ls -l ./a?
匹配操作符
- ^
- $
- .
- \
- []
- <,>
- |
- (#)
- \n
重复操作符
- ?
-
-
- {n}
- {n,}
- {n,m}
匹配任意字符
- .*
与扩展正则表达式的区别
-
grep basic
- ?
- +
- {
- |
- (
- )
grep
sort
排序文件的行
-
-n
- 按数值排序
-
-r
- 倒序
-
-t
- 自定义分隔符
-
-k
- 选择排序列
-
-u
- 合并相同行
-
-f
- 忽略大小写
-
字典序(默认)
-
数值序
cut
wc
word count
- cat #.txt | wc -l
- ls -l /etc | wc -l
sed
行编辑器
-
sed [options] ‘Address Command’ fie…
-
options
-
-n
- 静默模式,不再默认显示模式空中的内容
-
-i
- 直接修改源文件
-
-e
- -e SCRIPT可以同时执行多个脚本
-
-f
- /PATH/TO/SED_SCRIPT
-
-r
- 表示使用扩展正则表达式
-
-
Address
- 可以没有(那就每行遍历)
- 给定范围
- 查找指定行/str/
-
Command
-
d
- 删除符合条件的行
-
p
- 显示符合条件的行
-
a \String
- 在符合条件行后面追加一行内容为String
-
\n
- 可以用于换行
-
i \String
- 在符合条件行前面追加一行内容为String
-
r FILE
- 将指定的文件内容添加至符合条件的行处
-
w FILE
- 将地址指定的范围内的行内容另存至指定文件中
-
s /pattern/string/修饰符
-
查找并替换,默认只替换每行中第一次被模式匹配到的字符
-
g
- 行内全局替换
-
i
- 忽略字符大小写
-
s///
- 查找/
-
-
-
-
实列
- sed “1a\hello word” #.txt
- sed -i “1a\hello word” #.txt
- sed “/hello/d” #.txt
- sed “/[0-9]/d” #.txt
- sed “s/查找id:[0-6]/替换5/” #.txt
-
awk
强大的文本分析工具
-
awk -F(+分隔符) ‘{pattern + action}’ {filenames}
-
实列
-
awk -F’:’ ‘{print $1}’ password
- 只显示/etc/passwd的账户:CUT($1第一列,$0完整行)
-
awk -F’:’ BEGIN{print “name\tshell”}{print $1 “,” $7} END{print “blue,/bin/nosh”}" password
- BEGIN、END单步调一次,中间每行执行
-
awk ‘/root/ {print $0}’ passwd
- 搜索/etc/passwd有root关键字的所有行
-
awk -F’:’ ‘{print NR"\t"NF"\t"$0}’ passwd
- 统计/etc/passwd文件中,每行的行号,每列的列数,对应的完整行内容(行,列,内容)
-
统计报表
-
代码
- 结果
-
-
-
-
支持自定义分隔符
-
支持正则表达式匹配
-
支持自定义变量,数组a[1]、a[tom]、map(key)
-
支持内置变量
- NR
- Nf
-
支持函数
- split
- substr
- sub
- gsub
-
支持流程控制语句,类c语言
- if
- while
- do/wihle
- for
- break
- continue
User
-
root
-
用户
- useradd **
- passwd **
- id **
-
组
- groupadd **
- usermod -a(追加) -G(组) 组名 用户
-
持有
- chown -R root(用户):组名 目录
-
权限
-
chmod
-
u
- 用户
-
g
- 组
-
o
- 其他人
-
-
-
$
- 普通用户
install
编译安装
-
配置文件:Makefile
-
编译,安装命令:make
-
案列(编译安装nginx)
-
下载源码
-
tar xf解压
-
README
-
./configure
- ./configure --prefix=/opt/sxt/nginx
- yum install gcc
- yum search pcre
- yum install pcre-devel
- yum install openssl-devel
-
make编译
-
make install clean等
-
/opt/sxt/nginx/sbin/nginx
-
rpm安装
-
包
-
rpm -i #.rpm
-
rpm -qa
- 查询安装清单
-
rpm -qa | grep jdk
-
rpm -ql 包名 | more
- 查询安装目录
-
rpm -u
- 升级
-
rpm -e PACKAGE_NAME
- 卸载
-
rpm -qf /path/to/somefile
- 逆向查询(哪些包生成)命令查包
-
whereis java
- 查看命令在哪儿
-
vi /etc/profile
-
export JAVA_HOME=/opt/#
-
export PATH= JAVA_HOME/bin
-
:!ls -l /etc/
- !可执行外部命令
-
-
source /etc/profile
-
hash
- 产看命令缓存
-
hash -r
- 删除命令缓存
-
更换ios源
- mount /dev/cdrom /mnt
- df -h
- cd /mnt
-
yum安装
-
仓库(C/S)
-
/etc/yum.repos.d/
-
vi CentOS-Base.repo
-
[base]
- 本地名字标识
-
#baseurl
-
http://
-
阿里
-
https://developer.aliyun.com/mirror
-
yum install wget
-
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
-
yum clean all
-
yum makecache 生成缓存
-
yum repolist
-
-
-
-
file://
-
ftp://
-
本机
-
挂载镜像
-
修改Centos-Base.repo
- gpgcheck=0(关闭验证)
- baseurl=file:///mnt
-
-
-
-
-
-
yum命令
-
yum repolist
- 查看yum包
-
yum clean all
- 清除缓存
-
yum makecache
- 重新从仓库拉回元数据
-
yum update
- 更新本地仓库包
-
yum list
- 罗列包
-
yum search
- 搜索包
-
yum info
- 包信息
-
yum install
- 安装
-
remove
-
erase
- 卸载
-
-
yum命令分组
-
yum grouplist
- 罗列组包
-
yum groupinfo
- 组信息
-
yum groupinstall
- 安装组
-
yum groupremove
- 卸载组
-
yum groupupdate
- 升级组
-
-
安装中文文档
-
-