1.find
find /data -type -f -----查找data文件夹下文件类型文件
find /data -type f -name ‘dalei.txt’ ----根据文件名和文件类型查找
find /data -type f -name 'dalei.txt' --exec rm {} \.----表示对找到的对象采取什么动作
find . -type f -exec ls -l {} \;
find /test -type f -name "*.txt" | xargs rm -f-----删除所有txt文件
find -name '*.sh' |grep a------------文件名包含a的文件
find -name '*.sh' |xargs grep a------------文件内容包含a的文件
find -name '*.sh' |xargs cat ---------------打印所有符条件文件的内容
总结:
-type类型包含-f(file)、-d(文件夹)等
-name 文件名
2.touch
touch {1..10}.txt
3.grep过滤命令(linux三剑客grep/awk/sed之一,过滤需要的内容)
grep -v haha 'dalei.txt' ------取出不包含haha的其他行数据
grep haha 'dalei.txt'-----------取出包含haha的行数据
grep -n 'boss dev' README.md------------n显示行号
grep -A -B -C
4.head(取出文件的前n行,默认是前十行)
head -n 1.txt
5.tail(输出文件的后n行,默认是后10行 )
6.mkdir -p /a/b/c(连续创建命令)
7.tree(文件结构,yum install tree -y安装)
tree -L 1 -------------- 查看一级目录
8.alias和unalias
alias------查看别名
alias rr='rm -f' ------- 设置别名
unalias rr ---------- 临时取消别名
定义别名永久生效方法:
/etc/profile ------- 全局生效
~/.bashrc -------- 当前用户生效
9.更新补丁 yum install
10.sed(linux三剑客老二,stream editor流编辑器,实现对文件的增删改替换查,取行)
统一实验文本sed -n '20,30'p 1.txt --------- 打印出20至30行的数据(p是打印)
sed -n '20'p 1.txt --------- 打印第20行的数据
sed -i 's#boy#girl#g' 1.sh --------- 将1.sh文件中boy替换为girl(s查找替换,g全局,-修改内容)
find /test -type f -name '*.sh'|xargs sed -i 's#boy#girl#g'
1.1 增加
sed 在第二行后追加一行 sed 在第二行插入文本a追加文本到指定行后
i插入文本到指定行前
sed -i -------修改文本内容
2.2 删除
删除第一行 删除全部行d------删除指定的行
3.改
3.1 按行替换
新行取代第一行c---------用新行取代旧行
3.2 文本替换
实验前 单独使用s s和g组合使用s--------单独使用时,将每一行中第一次匹配的字符串进行替换
g---------每一行进行全部替换
-i---------修改文件内容
3.3 分组替换
4.查询
p--------输出指定内容,和-n结合使用
4.1 按行查询
输出第一行4.2 按照字符串查询
按照字符串查询4.3 混合查询
混合查询11.awk(linux三剑客老大,过滤、输出内容,一门语言,主要用于处理日志、文本。NR代表行号)
awk 'NR>19&&NR<31' 1.txt --------- 取出20至30行的数据(p是打印)
awk 'NR==1' 2.txt -------------- 取出第一行数据
12.xargs
从标准输入(管道,输入重定向)获取数据。并将数据转换为命令行的参数。
xargs < 1.txt
13.cat
cat >>1.txt <<EOF------EOF为结束符
设置普通用户:
1.useradd dalei--------设置用户名
2.tail -l /etc/passwd
3.passwd dalei-------设置密码
4.su - dalei ---------角色切换
5.whoami ---------查看当前用户
打印系统信息
uname -a
hostname---显示主机名
关机
shutdown
重启
shutdown -r now
reboot
关闭防火墙
/etc/init.d/iptables status---------临时关闭
chkconfig iptables off -----------开机也不启动
查看命令
which
批量创建文件
touch file{1..10}.txt
seq 1 10
查看文件属性
ls -lhi 或 ls -li
第一列:索引节点inode
硬盘存储数据(房子住人),手电要分区(隔断),然后格式化创建文件系统(装修),最后存数据(住人)
Block是用来存储实际数据用的,例如照片视频等普通文件数据,而inode就是用来存储这些数据属性信息的(也就是ls -l的结果)
inode作用:
1.inode包含属性信息包括文件大小,属主,归属的用户组,读写权限,文件类型,修改时间,还包含想文件实体的指针的功能(inode节点--block的对应关系),但是inode唯独不包含文件名。
2.为每个文件进行信息索引
inode1.磁盘被分区格式化文件系统后,会分为inode和block两部分内容
2.inode存放文件的属性以及指向文件实体的指针,文件名不在inode里,一般在上级目录的block里
3.访问文件,通过文件名-------->inode--------->blocks
4.inode默认大小为256,block大小1,2,4k,默认是4k,注意,引导分区等特殊分区除外
5.一个block只能被一个文件使用,如果文件很小block很大,剩余空间浪费,无法继续被其他文件使用。
6.block不是越大越好,要根据业务的文件大小进行选择。
linux文件类型:
1,纯文本文件,可以用cat命令读文件,比如配置文件几乎都是这种类型
2,二进制文件,linux中的命令程序就是属于这种格式,例如cat命令就是一个二进制文件
3,数据格式文件
文件权限链接
硬链接 软硬链接的区别硬链接:ln 源文件 目标文件
硬链接通过索引节点inode进行链接,多个文件指向同一个inode
软链接:ln -s 源文件 目标文件(目标文件不能事先存在),类似于windows快捷方式
对于目录不能创建硬链接,只能创建软链接
linux文件删除的原理:
文件删除原理用户与组的关系
文件权限添加组
groupadd name----------添加组
useradd 用户名 -g 组名---------添加用户(主人)到该组(家)
useradd 用户----------主人及家庭成员以外的人
提示;如果用户提示存在就usermod -g 组名 用户名修改
cronb
crontab.guru - the cron schedule expression editor
D定时任务生产应用问题10箴言:
1.系统环境变量导致定时任务执行问题
2.定时任务里的命令要使用绝对路径
3.脚本权限问题加/bin/sh
4.时间变量问题用反斜线\%转义,最好用脚本
5.>/dev/null 2>&1问题
6.定时任务规则之前加注释
7.使用脚本任务代替命令行执行定时任务
8.避免不必要的程序及命令输出
9.切到目标目录的上一级打包目标
10.定时任务脚本中的程序命令尽量使用全路径(和环境变量的识别有关)
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
Rsync
本地或远程文件同步工具,类似ssh的scp命令
scp每次是全量拷贝,rsync可以增量拷贝
工作场景:
两台服务器之间数据同步(定时任务)即cron+rsync
reload
1,重新加载配置文件,使命令生效
2,不用配置文件直接提供挂载服务
pkill
pkill命令可以按照进程名杀死进程,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。
rpm -qa
检查一个包是否被安装
#curl
curl -I-------------- 查看响应header信息
网友评论