美文网首页
linux重要命令

linux重要命令

作者: zhuleixiao666 | 来源:发表于2018-12-13 00:59 被阅读0次

    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--------单独使用时,将每一行中第一次匹配的字符串进行替换

    g---------每一行进行全部替换

    -i---------修改文件内容

    实验前 单独使用s s和g组合使用

    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.为每个文件进行信息索引

    inode

    总结inode与block

    1.磁盘被分区格式化文件系统后,会分为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

    crontab实例

    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信息

    相关文章

      网友评论

          本文标题:linux重要命令

          本文链接:https://www.haomeiwen.com/subject/wkwmhqtx.html