博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux_指令杂烩
阅读量:5877 次
发布时间:2019-06-19

本文共 6323 字,大约阅读时间需要 21 分钟。

指令集合

  1. 命令行计算器
[jmilk@localhost Desktop]$ bcbc 1.06.95Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'. 1+2311+1324
  • 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 .. 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

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

你可能感兴趣的文章
[转]PAC Manager: Ubuntu 上强大的 SSH 帐号管理工具,可取代 SecureCRT_Miracle_百度空间...
查看>>
顺序容器 (2)string类型操作
查看>>
转载:我最近的研究成果(IGeometry.Project and IGeometry.SpatialReference)
查看>>
提示框
查看>>
HDOJ1233 畅通工程之一(最小生成树-Kruscal)
查看>>
14Spring_AOP编程(AspectJ)_环绕通知
查看>>
PHP之打开文件
查看>>
iOS - OC SQLite 数据库存储
查看>>
PHP-mysqllib和mysqlnd
查看>>
Redis常用命令
查看>>
NeHe OpenGL教程 第三十五课:播放AVI
查看>>
Linux下ping命令、traceroute命令、tracert命令的使用
查看>>
js replace,正则截取字符串内容
查看>>
socket
查看>>
Highcharts使用表格数据绘制图表
查看>>
Thinkphp5笔记三:创建基类
查看>>
hdu5373
查看>>
4.单链表的创建和建立
查看>>
Android 好看的搜索界面,大赞Animation
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>