Linux_指令杂烩

简介:

指令集合

  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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

常用于脚本的指令:

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

查看变量的指令:

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

监控命令

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

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

touch /etc/nologin  
  • 1
  • 1

重定向

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

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

grep 过滤文件内容

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

vim预设定

个性化设置 
vim ~/.vimrc

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

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

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

替换多行

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

全文替换:

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

替换当前行到最后一行

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

当前行到倒数第 3 行:

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

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

:args
  • 1
  • 1

其他操作: 
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包追加文件
  • 1
  • 2
  • 1
  • 2

解包

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

安装软件

rpm– redhat package manager:

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

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

查询(已经安装):

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

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

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

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

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

            yum-config-manager --add-repo=file:///mnt/cdrom
            gpgcheck=0
  • 1
  • 2
  • 1
  • 2

关闭yum源:

            yum-config-manager --disable yum 位置
  • 1
  • 1

开启yum源:

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

安装:yum install 软件名

               localinstal
               groupinstall
  • 1
  • 2
  • 1
  • 2

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

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

卸载

yum remove 软件名
yum groupremove 组名
  • 1
  • 2
  • 1
  • 2

查询

            yum info 软件名
             yum list 显示yum仓库列表
             yum list 软件名  显示软件是否安装
             yum dislist 软件名 显示软件依赖关系
             yum search keyWold  查找软件包
             yum whatprovides 软件名 找软件从哪个包提供的
             yum provides /etc/fstab  找出提供此文件的软件包
             yum list kernel 列出可使用的kernel
             yum repolist 显示有多少个repo
             yum history 查看安装的记录
             yum history info ID 号 查看某个 yum 事件
             yum history undo ID 号 恢复某个 yum 事件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

制作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 update
        baseurl=http://content.example.com/rhel7.0/x86_64/errata
        enabled=1
        gpgcheck=0    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

链接文件

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

文件查找

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 分钟的   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
find  / type f -links +1  找硬链接大于 1 个的普通文件   
find  / -name host* -ls
  • 1
  • 2
  • 1
  • 2

正则表达式 :

使用 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  *通配符不会包括隐藏文件              
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

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


转载:http://blog.csdn.net/jmilk/article/details/50357602

目录
相关文章
|
26天前
|
Linux Windows
Linux之基本指令操作
Linux之基本指令操作
|
16小时前
|
Linux Shell
工作中常用的一些Linux指令,简单易记还实用
工作中常用的一些Linux指令,简单易记还实用
6 2
|
1天前
|
Unix Linux Windows
Linux的学习之路:3、基础指令(2)
Linux的学习之路:3、基础指令(2)
16 0
|
6天前
|
安全 Linux
Linux基本指令(下)——“Linux”
Linux基本指令(下)——“Linux”
|
7天前
|
人工智能 Unix Linux
Linux基本指令
Linux基本指令
|
11天前
|
Linux Windows
|
11天前
|
Linux
Linux 指令|date|cal|find|grep|热键
Linux 指令|date|cal|find|grep|热键
|
11天前
|
Linux
Linux简单指令|cd|touch|mkdir|rmdir|rm
Linux简单指令|cd|touch|mkdir|rmdir|rm
|
12天前
|
存储 安全 Unix
Linux基本指令汇总
Linux基本指令汇总
50 2
|
30天前
|
Unix Linux Windows
Linux的基本指令讲解
Linux的基本指令讲解
40 3