本文共 6323 字,大约阅读时间需要 21 分钟。
[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
basename /etc/fstab 得到文件名dirname /etc/fstab 得到文件的上级目录名
env 查看环境变量(存放在开机、登陆、打开bash、运行脚本前都要开的4个文件中)set 查看全部变量
watch -n1 "df -i" #每一秒监控一次命令,显示一个分区的inode号剩余量
touch /etc/nologin
标准输入设备:stdin 0 ,只能输入(键盘)
正确输出:stdout 1,只能输出(屏幕) 错误输出:stderr 2,只能输出(屏幕) 其他文件:3+,输入/输出 所有输出(正确、错误)重定向:&> 错误输出定向到正确输出:2>&1 ,为了能够通过管道(管道只能通过正确输入) 输入重定向: < << 脚本中常用于here结束符:cat text << EOT #导入配置文件
grep keyWord fileName --color=auto #keyWord颜色高亮 -n #得到keyWord所在行号 -i #不区分大小写 -A3 #keyWord后3行 -B3 #keyWord前三行
个性化设置
vim ~/.vimrcset 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 +行号 文件 –>快速的跳到行(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 -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 --import /etc/pki/rpm-pgp/RPM-GPG-KEY-redhat-release #rpm出于安全考虑,每个出厂的rpm都利用非对称加密rpm --checksig 软件包名 #先引导KEY 再检测
前提:需要建立仓库 repo –>/etc/yum.repos.d/
创建yum源:yum-config-manager --add-repo=file:///mnt/cdrom gpgcheck=0
关闭yum源:
yum-config-manager --disable yum 位置
开启yum源:
yum-config-manager --enable yum 位置 yum缓存(yum 安装软件时,先从 yum 源中将软件包和依赖包下载到本地缓存,安装后清除缓存。): yum makecache 建立缓存 yum clean all 清除缓存
安装:yum install 软件名
localinstal groupinstall
升级: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 列出可使用的kernel yum repolist 显示有多少个repo yum 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 update baseurl=http://content.example.com/rhel7.0/x86_64/errata enabled=1 gpgcheck=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
转载:http://blog.csdn.net/jmilk/article/details/50357602