目录

  • 目录
  • 指令集合
    • 常用于脚本的指令
    • 查看变量的指令
    • 监控命令
    • 除了root用户的其他用户不能login
    • 重定向
    • grep 过滤文件内容
    • vim预设定
    • 系统在启动时要依次运行4个脚本
    • 归档压缩文件互传
    • 安装软件
      • rpm redhat package manager
      • yum yellow dog updater modifier黄狗包管理器
    • 链接文件
    • 文件查找
    • 正则表达式

指令集合

  1. 命令行计算器
[jmilk@localhost Desktop]$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+2
3
11+13
24

常用于脚本的指令:

basename /etc/fstab 得到文件名
dirname  /etc/fstab 得到文件的上级目录名

查看变量的指令:

env 查看环境变量(存放在开机、登陆、打开bash、运行脚本前都要开的4个文件中)
set 查看全部变量

监控命令

watch -n1 "df -i"   #每一秒监控一次命令,显示一个分区的inode号剩余量

除了root用户的其他用户不能login

touch /etc/nologin  

重定向

标准输入设备:stdin 0 ,只能输入(键盘)
正确输出:stdout 1,只能输出(屏幕)
错误输出:stderr 2,只能输出(屏幕)
其他文件:3+,输入/输出
所有输出(正确、错误)重定向:&>
错误输出定向到正确输出:2>&1 ,为了能够通过管道(管道只能通过正确输入)
输入重定向: < <<
脚本中常用于here结束符

cat text << EOT   #导入配置文件

grep 过滤文件内容

grep keyWord fileName--color=auto  #keyWord颜色高亮
                    -n     #得到keyWord所在行号
                    -i     #不区分大小写
                    -A3    #keyWord后3行
                    -B3    #keyWord前三行

vim预设定

个性化设置
vim ~/.vimrc

set nu #在此文件加入自定义的vim个性化设置。

所有用户设置
vim /etc/vimrc
批量注释:CTRL+v -> 选择块 -> I -> 插入# -> ESC -> ESC
替换一列字符: CTRL+v -> 选择 -> s -> 输入字符 -> ESC
替换一行内的字符

:s/要查找的/要替换的/    #不加g只替换第一个:
:s/要查找的/要替换的/g   #加g替换一行内所有 

替换多行

:开始行,结束行 s//要查找的/要替换的/g  

全文替换:

:0,$s/要查找的/要替换的/g
:%s/要查找的/要替换的/g

替换当前行到最后一行

:,$s/要查找的/要替换的/g

当前行到倒数第 3 行:

 :,$3s/要查找的/要替换的/g

查看vim当前打开的文件名字:

:args

其他操作:
ctrl+r 还原上一个动作
u 取消上次操作
vim +行号 文件 –>快速的跳到行

系统在启动时要依次运行4个脚本

(1)/etc/profile
(2) /home/~/.bash_profile
(3) /home/~/.bashrc
(4) /etc/bashrc
其中profile 主要写入路径和(全局)变量声明
bash 主要写入存放别名

归档、压缩、文件互传

压缩:
gzip 文件名
gunzip 文件名.gz
bzip2 文件名
bunzip2 文件名.bz2
打包:

tar Xcvf 目的文件名.tar.gz 压缩的源文件或目录(X=z、j、J)--add-file= #向tar包追加文件

解包

tar Xxvf 源文件名.tar.gz -C 目的存放路径
解开包后删除原始包文件:    --remove-files

安装软件

rpm– redhat package manager:

安装: rpm -ivh 软件包名
卸载: rpm -e 软件名
更新(卸载老版本,安装新版本):
系统中软件包不能多个版本共存,内核是可以多版本共存的。

rpm -U 软件名 -->若之前没安装则安装并且升级
rpm -F 软件名 -->若之前没安装则不安装,也不升级。安装了,就看看是不是可以升级
rpm -Uvh 软件名 --force -->安装某个已经安装的软件包当中丢失的文件

查询(已经安装):

rpm -q 软件名 查询软件包是否安装-qi      查询已经安装的软件包的详细信息
                      -ql      查询软件包文件的安装位置
                      -qc      安装的配置文件
                      -qa     所有已经安装的 rpm包
                      -qf 文件名  找出文件对应的软件包的全称
                      -q --scripts 安装软件包时运行的脚本
                      --changelog 更新信息
                      -qd     安装的帮助文档

查询(没有安装):rpm -qp ...
检测rpm的可靠性:

rpm --import /etc/pki/rpm-pgp/RPM-GPG-KEY-redhat-release   #rpm出于安全考虑,每个出厂的rpm都利用非对称加密
rpm --checksig  软件包名 #先引导KEY 再检测

yum –yellow dog updater modifier(黄狗包管理器)

前提:需要建立仓库 repo –>/etc/yum.repos.d/
创建yum源:

            yum-config-manager --add-repo=file:///mnt/cdromgpgcheck=0

关闭yum源:

            yum-config-manager --disable yum 位置

开启yum源:

        yum-config-manager --enable yum 位置yum缓存(yum 安装软件时,先从 yum 源中将软件包和依赖包下载到本地缓存,安装后清除缓存。):yum makecache 建立缓存yum clean all 清除缓存

安装:yum install 软件名

               localinstalgroupinstall

升级:yum update 更新所有可以升级的软件包

             yum update 软件名yum check_update  检测系统中可升级的软件包yum groupupdate 组名  检查系统中可升级的软件包

卸载

yum remove 软件名
yum groupremove 组名

查询

            yum info 软件名yum list 显示yum仓库列表yum list 软件名  显示软件是否安装yum dislist 软件名 显示软件依赖关系yum search keyWold  查找软件包yum whatprovides 软件名 找软件从哪个包提供的yum provides /etc/fstab  找出提供此文件的软件包yum list kernel 列出可使用的kernelyum repolist 显示有多少个repoyum history 查看安装的记录yum history info ID 号 查看某个 yum 事件yum history undo ID 号 恢复某个 yum 事件

制作yum仓库
1.mount /dev/cdrom /mnt/cdrom
2.安装vsftpd (rpm 或 yum)
3.安装createrepo
4.mkdir /var/ftp/cdrom
5.createrepo -v /var/ftp/cdrom –>生成yum数据库
5.cp -rvf /mnt/cdrom /var/ftp/cdrom
6.启动vsftpd–>注意防火墙策略
:有些系统中,会把升级的软件包放到一个独立的 repo 中。

        [update]name=red hat updatebaseurl=http://content.example.com/rhel7.0/x86_64/errataenabled=1gpgcheck=0    

链接文件

    ln -s 软链接, 可以跨分区 ln    硬链接, 不能跨分区 

文件查找

1).查找指令 which whereis
2).查找文件
locate 文件
原理:查询的一个数据库(此数据库保存了所有文件的绝对路径),但新建立的文件找不到,由于数据库未更新 ,可以用 updatedb 更新,4:22 自动更新
3) .find

find 路径 -找什么 -exec 命令 {}  \;                 {}代表找到的结果      -name  按名称
            -size  +-  按大小
            -user  按文件的拥有者
            -group 按文件的拥有组
            -perm  按权限   --> -(/)324   -wx-w-r-- 只要满足一位就 ok
                             +324   -wx-w-r-- 此几位必须要有          -newer 文件名  找比此文件新的文件
            -older 文件名  找比此文件老的文件
            -mmin  120     找正好在前 120 分钟更改或建立的文件  --> +120    找正好在 120 分钟前更改或建立的文件
                                                            -120    找更改或建立不到 120 分钟的   
find  / type f -links +1  找硬链接大于 1 个的普通文件
find  / -name host* -ls

正则表达式 :

使用 grep 配合 :
通配符:

                      ?  一个任意字符 *  0-多个任意的字符 cat file | grep [a,b,c]  匹配其中的一个字符 cat file | grep [a-z] 匹配其中的一个字符               [^ab] 以ab开头[^a-z]* 第一个字符以 a-z 开头的      ls /etc/ | grep [a-z][0-9] 找前面结果包括一个字符 a-z 同时相连字符 0-9 的行   ls ?*  第一个字符随意,后面 0-多个字符     [!.] 除了.    rm -rf .[!.]*   第一个字符是.,第二个字符不是.的,后面随意  rm -rf * --> *通配符默认不会删除隐藏文件的      shopt -s dotglob  指令使得*通配符可以包含.     shopt -u dotglob  *通配符不会包括隐藏文件              

正则通配符
(grep -E 或 egrep – 代表后面选项可以有正则表达式)–>官方推荐在正则表达式加上’ ,不加单引号,shell 会认为这个 shell 的通配符?

        . 代表单个任意字符     grep .. file  找 file 文件中包含 2 个字符的行 +  +前面字符可以出现多次,一次以上,不能是 0 次      ? ?前面的字符可以出现 1 次或 0 次               *  *前面的字符可以出现多次或 0 次    .* 相当于任意字符(和 shell 中的*)          grep -E 'a.+' file      包括 a 开头,后面任意多个字符(1-多次)   grep -E 'a.+?' file      包括 a 开头,后面任意字符 0-多次 ^a    以 a 开头     a$   以 a 结尾   ^a..b$    a11b  axxb  akkb 

Linux_指令杂烩相关推荐

  1. Linux_基本指令

    新的专栏Linux入门来啦!欢迎各位大佬补充指正!! Linux_基本指令 导入 文件 绝对路径与相对路径 隐藏的文件 指令 ls查看 stat查看文件属性 cd进入路径 mkdir创建目录 touc ...

  2. 任务管理 linux指令qsub,Linux_前一个投的任务跑完再跑另一个任务_qsub_-hold_jid

    Linux_前一个投的任务跑完再跑另一个任务_qsub_-hold_jid perl program_1.pl input_1.file output_1.file perl program_2.pl ...

  3. dd指令打包iso文件 linux_从零开始学Linux运维|33.文件的打包压缩和解压

    linux下打包文件常用的是tar命令 tar [选项] [文件] 常用参数 -c 创建压缩包-x 解压压缩包-t 查看压缩包内容-f 指定压缩包名字(压缩解压必选项)-v 显示所有过程-z gzip ...

  4. Linux_基础指令

    目录 目录 前言 cd和pwd ls cat du mkdir touch rm cp mv which whereis find ln head和tail wc tar vim useradd 添加 ...

  5. 最新TurboMail邮件服务器Linux_安腾版本上市

    拓波秉承不断开拓进取的精神,在技术研发和支持上不断的投入人力物力,力求在不断变化的市场需求中,达到100%的客户满意度.在刚刚踏入2010年,根据过往的市场调查,结合客户的需求和建议,拓波邮件系统推出 ...

  6. 【Linux_】权限

    [Linux_]权限 心有所向,日复一日,必有精进 专栏:<Linux_> 作者:沂沐沐 目录 [Linux_]权限 前言 Linux权限的概念(是什么)? 什么是权限? Linux权限管 ...

  7. Linux_进程相关概念

    Linux_进程相关概念 冯诺伊曼体系 我们现在常见的计算机,如笔记本,我们不常见的,如服务器,他们都遵循着冯诺依曼体系 截至到目前为止,我们所认识到的所有计算机,都是由一个个硬件组成 输入单元:包括 ...

  8. linux_进程类相关学习-fork函数-getpid函数-getppid函数-getuid函数-geteuid函数-getgid函数-getegid函数-进程之间共享数据-进程gdb调试

    接上一篇:linux_环境变量-C语言代码打印环境变量-getenv函数-setenv函数-unsetenv函数 本次来分享进程类相关的学习,主要就是分享一些函数的使用,来,开始上菜: 目录 1.fo ...

  9. Linux_环境变量(PATH)

    Linux_环境变量(PATH) 在说环境变量这一概念之前,有没有想过一个问题: 为什么运行自己写的程序的时候要加上./,而例如ls,pwd,cd,这样的命令不需要在前面加上./ 环境变量的基本概念 ...

最新文章

  1. Genomes correction and assembling - Present methods and tools
  2. 根据矩阵变化实现基于 HTML5 的 WebGL 3D 自动布局
  3. NLP——基于transformer 的翻译系统
  4. android gridview 中图片大小不一,android – Gridview及其图像不适合所有屏幕大小
  5. 怎样让手机变得更安全_使不安全变得更加安全
  6. (转)数组指针和指针数组的区别
  7. 【BZOJ 2753】 2753: [SCOI2012]滑雪与时间胶囊 (分层最小树形图,MST)
  8. api 获取网络使用情况_您的API是什么情况?
  9. 非线性时延系统matlab框图,非线性主-从时延系统的时滞相关有限时间同步控制方法与流程...
  10. MarshalByRefObject 的DOME代码
  11. linux课堂笔记(6)
  12. 配置python程序debug/run,避免每次运行都会重复加载数据集或模型,节约大量等待时间
  13. ImageMagicK遇到的一点问题
  14. 按shift键调出命令行的脚本
  15. win10如何微信多开(无需工具)
  16. 基于FPGA的CYUSB3014双向通信实验
  17. Git —— 4、团队协作机制及GitHub操作
  18. type Vector takes type parameters
  19. 卷积神经网络入门:LeNet5(手写体数字识别)详解
  20. 黑客瞄准里约奥运会,多种手法可能让你中招

热门文章

  1. c++ 暂停功能_app下载功能背后的逻辑
  2. html dom节点类型,浅谈Javascript中的12种DOM节点类型
  3. gx works2 存储器空间或桌面堆栈不足_保证安全的移动空间,超高安全品质的私家车推荐...
  4. html5网页仿写,纯CSS代码模仿绘制蚂蚁庄园页面
  5. 打印表单_超市生鲜常用表单,打印出来直接用!(可收藏)
  6. 苹果为了不让AirTag被用来跟踪,将推出一个安卓应用
  7. 华为云HiLens Kit上手初探:一款几乎“零门槛”的AI开发套件
  8. 430亿晶体管,1020万逻辑单元,英特尔发布全球最大容量FPGA,用全新硬件加速AI开发...
  9. Cell子刊:大鱼大肉吃三天,体重未动大脑先变,不仅发胖还会发炎
  10. ACL 2019最佳论文出炉:华人团队包揽最佳长短论文一作,中科院、华为等榜上有名...