rpm包仅用于 redhat suse redflag
若是源代码包的话,那就都适用
linux下面的备份,差不多就是用tar打包

tar命令
用途:制作归档文件,释放归档文件
格式:tar 【选项】... 归档文件名 源文件或目录
      tar 【选项】... -C 建包或解包时进入指定的相对路径
tar cjvf ds.tar.bz2 file1 file2 dir1 使用bzip2标准压缩file1 file2 dir1包名为ds.tar.bz2
tar czvf ds.tar.gz file1 file2 dir1  使用gzip标准压缩file1 file2 dir1包名为ds.tar.gz
tar tvf ds.tar.gz  查看压缩文件ds.tar.gz的内容
tar xvf ds.tar.gz  -C /tmp 将ds.tar.gz释放到tmp文件夹下面去
-c:建立压缩包
-C:建包或解包时进入指定的相对路径
-x:解压文件
-t:查看压缩文件
-z:使用gzip标准进行压缩、解压
-j:使用bzip2标准进行压缩、解压
-v:显示压缩解压过程
-f:后面紧跟压缩文件名称
-p:使用原文件的原来属性
-P:使用绝对路径(最好不用)
--exclude file:压缩过程中排除file(也可以是目录)
扩展:
tar cjvf ds-`date+%F`.tar.bz2 file1 file2 dir1

[root@localhost ~]# vim file1      file1中有abc
[root@localhost ~]# echo "abc"
abc
[root@localhost ~]# echo "abc"
abc
[root@localhost ~]# echo "abc" | tr "a-z" "A-Z"
ABC
[root@localhost ~]# tr "a-z" "A-Z" < file1
ABC
[root@localhost ~]# tr "a-z" "A-Z"
abc          输入字符
ABC          转换后字符
wsx
WSX
edc
EDC
^C

[root@localhost ~]# lslsls 1>a 2>b     1标准输出 2标准错误输出
[root@localhost ~]# cat a
[root@localhost ~]# cat b
bash: lslsls: command not found
[root@localhost ~]# date 1>a 2>b
[root@localhost ~]# cat a
Tue Jul 16 10:23:31 CST 2013
[root@localhost ~]# cat b

[root@localhost ~]# dateabc &>a    标准输出和标准错误输出都放到同一个文件中去&为1或者2
[root@localhost ~]# cat a
bash: dateabc: command not found
root@localhost ~]# date 1>a 2>a
[root@localhost ~]# date 1>a 2>&1
[root@localhost ~]# cat a
Tue Jul 16 10:27:38 CST 2013

rpm -e gdb         卸载gdb软件
rpm -ivh gdb or yum install gdb -y    安装gdb软件
若要屏幕不显示安装信息,可将其安装信息重定向到别的文件中去 eg: yum install gdb -y >a
这样,a文件中又有安装信息,占了内存,所以定向到/dev/null中去,因为其中的内容会自动被内存清理掉 eg:yum install gdb -y > /dev/null

[root@localhost ~]# grep "tom" /etc/passwd      找出tom用户的信息
tom:x:500:500::/home/tom:/bin/bash

[root@localhost ~]# route -n | grep "UG"
0.0.0.0         10.0.0.253      0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# route -n | grep "UG"| cut -f2
0.0.0.0         10.0.0.253      0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# route -n | grep "UG"| awk '{print $2}'
10.0.0.253
[root@localhost ~]# route -n | grep "UG"| tr -s " "
0.0.0.0 10.0.0.253 0.0.0.0 UG 0 0 0 eth0
[root@localhost ~]# route -n | grep "UG"| tr -s " " | cut -d" " -f2
10.0.0.253
cut制定默认的分割符是tab键

grep 通用正则表达式分析程序。正则表达式一定要用""引起来
用途:在文件中查找并显示包含指定字符串的行
格式:grep  [选项]...  模式  目标文件
-i:查找时忽略大小写
-v:反转查找,输出与模式不相符的行
-l:仅显示符合模式要求的文件名
-n:显示符合模式要求的行号
-r:递归搜索所有文件
-q:禁止任何输出
[root@localhost ~]# grep "lee" file1 -i         -i是指不区分大小写
Lee    3    k
grep "^#" 正则表达式中的一个元字符。以#开头 “^a”则是以a开头的行
[root@localhost ~]# grep "^tom" file1               以tom开头的
tom    to    kg
[root@localhost ~]# grep "^tom" file1 -v           不以tom开头的
dfsk    23    k
jk    23    n
Lee    3    k
[root@localhost ~]# grep "def$" file1          以def结尾的
av dkj def
[root@localhost ~]# grep "def" file1           包含了def的
dskf def sdk
av dkj def
fgrep:快速搜索简单模式
egrep:可以使用扩展正则表达式搜索

正则表达式是一个指定文本模式的标准Unix语法
使用特殊元字符实现复杂的搜索问题
基本正则表达式和Unix兼容
扩展正则表达式增加了一些新的元字符
fgrep: 不支持正则表达式
grep:  可以使用基本正则表达式搜索
egrep:可以使用扩展正则表达式搜索
正则表达式由下列元素构成
文字字符
通配符--与文件名通配符不是一回事
修饰符:”*”、”?”等
锚点:以什么开头、以什么结尾
在正则表达式中任意字符串用.*表示
[root@localhost ~]# echo "root abc def" | grep "r..t"
root abc def
[root@localhost ~]# echo "root abc def" | grep "r.t"
[root@localhost ~]# echo "root abc def "|grep "ro*t"
root abc def
[root@localhost ~]# echo "rt abc def "|grep "ro*t"
rt abc def
[root@localhost ~]# echo "rot abc def "|grep "ro*t"
rot abc def

[root@localhost ~]# ls *.sh
vnc.sh
[root@localhost ~]# ls ?.sh
ls: cannot access ?.sh: No such file or directory
[root@localhost ~]# ls vn?.sh
vn通配符
“.”:表示一定有一个任意字符
a…b表示a b间有3个字符,有几个.就有几个字符
方括号表达式:一个文字字符域
[abc]表示什么意思?
[root@localhost ~]# echo "axb"|grep "a[xyz]b"  必须有xyz中的一个
axb
[root@localhost ~]# ls v[mnl]c.sh               []中的任意一个
vnc.sh

[^abc]表示什么意思?
[root@localhost ~]# echo "aub"|grep "a[^xyz]b"  取反,不能有xyz中的任意一个
aub                                               不能是[]中的任意一个

* ?是bash的功能,而不是正则.*表示任意字符串,?表示有且只有一个字符
在正则表达式中任意字符串用.*表示

通用修饰符
“?”:表示0个或者1个前面的字符
ab?c表示什么意思?
“*”:表示0个或者多个前面的字符
ab*c表示什么意思?
“+”:表示1个或者多个前面的字符
ab+c表示什么意思?
{n}:表示n个前面的字符
ab{2}c表示什么意思?
{n,m}:表示n个到m个前面的字符
ab{2,4}c表示什么意思?

锚点搜索
“^”:表示以什么开头
^#表示什么意思?
grep -v ‘^#’ /etc/inittab | grep –v ^$
egrep ‘^[^[:digit:]]’ /ec/inittab
“$”:表示以什么结尾
bash$表示什么意思?
egrep ':$' /etc/inittab
egrep ‘^hello$' /etc/passwd
\< abc \>:表示abc这个单词
egrep ‘\<pig\>' /usr/share/dict/words

正则表达式与文件名匹配的区别
正则表达式只在少数搜索和替换文本命令中使用
文件名匹配在bash中匹配文件名
都使用”*”、”?”但意义不一样
正则表达式元字符要放在单引号内,避免bash Shell解释

tr命令:是对单个字符进行处理,而不是字符串
字符转换工具
只能对stdin操作,不能对文件进行操作
[root@localhost ~]# echo "abc def"|tr "a-z" "A-Z"
ABC DEF
[root@localhost ~]# echo "ABC DEF"|tr "A-Z" "a-z"
abc def
[root@localhost ~]# echo "abc def ade axy"|tr "a-c" "1-3"
123 def 1de 1xy
[root@localhost ~]# tr "abc" "ABC"
avc
AvC
avb
AvB
[root@localhost ~]# echo "abc 123a dcevbf"| tr -d "abc" 删除出现的a字符b字符c字符
 123 devf
[root@localhost ~]# echo "111222333444"|tr -s "123"  把多个1压缩成一个1……
123444

sort排序
ls -l | sort -k5nr                以第5个字段作为数值降序排列
sort -t: -k3nr /etc/passwd        以第三个字段作为数值降序排列

uniq命令
删除经过排序后的数据的重复记录
uniq file1       只能删除连续的相同的行
通常和sort连用
sort -n tt | uniq
[root@localhost ~]# vim file1
[root@localhost ~]# uniq file1
111111
222222
111111
222222
[root@localhost ~]# sort file1 | uniq         删除重复行
111111
222222
[root@localhost ~]# sort file1 |uniq -c       -c显示原来的111111有多少行,原来的222222有多少行
      3 111111
      3 222222
和账户相关的文件
用户信息放在/etc/passwd下,用户密码放在/etc/shadow下
和组相关的文件
/etc/group 、 /etc/gshadow
账户宿主目录中文件来源
新建用户帐号时,从 /etc/skel 目录中复制而来
默认账户的属性文件
/etc/login.defs
useradd命令
格式:useradd  [选项]...  用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
passwd命令
格式:passwd  [选项]...  用户名
常用命令选项
-d:清空用户的密码,使之无需密码即可登录
-l:锁定用户帐号
-S:查看用户帐号的状态(是否被锁定)
-u:解锁用户帐号
--stdin:接收标准输入作为密码
root用户可以修改所有用户密码,不要求复杂性
普通用户只能改自己的密码,要求复杂性
userdel命令
格式:userdel  [-r]  用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
usermod命令
格式:usermod  [选项]...  用户名
常用命令选项
-l:更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
 -u、-d、-e、-g、-G、-s

groupmod命令
用途:设置组名和组id
格式:groupmod [选项]...  组帐号名
常用命令选项
-n:修改组名
-g:修改组id
newgrp改变主要组
用户必须是要改变组的成员
id命令
用途:查询用户身份标识
格式:id  [用户名]
finger命令
用途:查询用户帐号的详细信息
格式:finger  [用户名]
chfn命令
用途:修改用户的备注信息,/etc/passwd第5字段
who、w、users命令
用途:查询已登录到主机的用户信息
groups命令
用途:查询用户所属的组

tar命令,重定向,正则表达式,添加删除用户,tr命令,sort排序的更多相关文章

  1. [CentOS]添加删除用户

    摘要 在安装CentOS的时候,我们只设置了root,类似windows的超级管理员.当然我们在工作的时候,为了安全考虑,不可能对外开发root,一方面是从安全的角度,另一方面也是方便管理. 添加删除 ...

  2. centos的用户、组权限、添加删除用户等操作的详细操作命令

    1.Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还 有组账户所谓组账户就是用户账户的集合,centos组中有两种类型, ...

  3. 在Linux中新增与删除用户可以使用命令:Useradd

    在Linux中新增与删除用户可以使用命令:Useradd 我们先使用man命令理解一下Useradd的用法 新增与删除用户操作需要先获取高级用户权限 输入命令:sudo -i 确定后输入高级用户密码 ...

  4. vue简单案例_动态添加删除用户数据

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Linux——CentOS7添加/删除用户和用户组1

    Linux--CentOS7添加/删除用户和用户组 2017.05.02 19:58 23012浏览   前言 今天又重新装了centos7突然有关用户和用户组有关的命令记不清了,所以记一下,也方便你 ...

  6. Shell系列(36)- for循环语法二简介及批量添加删除用户

    for循环语法二 for ((初始值;循环控制条件;变量变化)) do 程序 done 例子 例子-1 求和工具 需求:根据用户输入的数字,求1~输入所有数字的和 脚本: #!/bin/bash re ...

  7. Linux添加/删除用户和用户组

    声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 本文总结了Li ...

  8. 详解centos用户&组权限&添加删除用户

    1.Linux用户操作系统 Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种: 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还有组账户所谓组账户就是用户账户的集合,ce ...

  9. mysql基础:登录退出,修改用户密码,添加删除用户

    今天刚开始学习mysql,最先接触用户管理,给大家分享下 注:mysql中命令的大小写都可以的 ==========登录退出相关=================== root@jack-deskto ...

随机推荐

  1. 10. IDENTITY属性使用小结

    原文:10. IDENTITY属性使用小结 从SQL Server 2012开始有了Sequence,简单用列如下: CREATE SEQUENCE TestSeq START INCREMENT ; ...

  2. asp.net mvc3 数据验证(三)—自定义数据注解

    原文:asp.net mvc3 数据验证(三)-自定义数据注解         前两节讲的都是asp.net mvc3预先设定的数据注解,但是系统自由的数据注解肯定不适合所有的场合,所以有时候我们需要 ...

  3. Redis 中文入库成功,读取数据写入文件乱码问题

    近期须要用到redis ,可是在编码这个问题上,纠结了非常久.        需求 :每天一个进程将中文文件入库到redis中(不定时更新) ,另外几个进程读取redis中的信息 ,并处理数据结果.使 ...

  4. UiAutomator源码分析之获取控件信息

    根据上一篇文章<UiAutomator源码分析之注入事件>开始时提到的计划,这一篇文章我们要分析的是第二点: 如何获取控件信息 我们在测试脚本中初始化一个UiObject的时候通常是像以下 ...

  5. MVC5 + EF6 + Bootstrap3-10

    MVC5 + EF6 + Bootstrap3 (10) 数据查询页面 上一节:MVC5 + EF6 + Bootstrap3 (9) HtmlHelper用法大全(下) 源码下载:点我下载 目录 前 ...

  6. JS自动化测试 单元测试之Qunit

    前言 因为公司开发了一套javascript SDK需要测试,在网上找了很久,找到了JQuery团队开发的QUnit,和基于JUnit的JsUnit,还有一些还没有看,先讲讲QUnit吧 下载 登录J ...

  7. 快速构建Windows 8风格应用16-SettingContract原理及构建

    原文:快速构建Windows 8风格应用16-SettingContract原理及构建 本篇博文主要介绍Setting Contract概述.Setting Contract实现基本原理.如何构建Se ...

  8. IntelliJ IDEA 13 破解安装(JRebel 5.6.3a皴)

    首先安装IntelliJ 13,记住下载Ultimate Edition版本号,否则就必须打破..   安装到本地.然后一些配置(这一步不能.不过考虑到交换系统后,保存,建议做) 打开{install ...

  9. 多线程下HashMap的死循环是如何产生的

    前言 HashMap不是线程安全的,如果需要在多线程环境中使用Map,那么我们可以使用ConcurrentHashmap. 1.举例说明: package com.test; import java. ...

  10. jquery 产品查看放大镜组件

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...