tar命令,重定向,正则表达式,添加删除用户,tr命令,sort排序
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排序的更多相关文章
- [CentOS]添加删除用户
摘要 在安装CentOS的时候,我们只设置了root,类似windows的超级管理员.当然我们在工作的时候,为了安全考虑,不可能对外开发root,一方面是从安全的角度,另一方面也是方便管理. 添加删除 ...
- centos的用户、组权限、添加删除用户等操作的详细操作命令
1.Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还 有组账户所谓组账户就是用户账户的集合,centos组中有两种类型, ...
- 在Linux中新增与删除用户可以使用命令:Useradd
在Linux中新增与删除用户可以使用命令:Useradd 我们先使用man命令理解一下Useradd的用法 新增与删除用户操作需要先获取高级用户权限 输入命令:sudo -i 确定后输入高级用户密码 ...
- vue简单案例_动态添加删除用户数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux——CentOS7添加/删除用户和用户组1
Linux--CentOS7添加/删除用户和用户组 2017.05.02 19:58 23012浏览 前言 今天又重新装了centos7突然有关用户和用户组有关的命令记不清了,所以记一下,也方便你 ...
- Shell系列(36)- for循环语法二简介及批量添加删除用户
for循环语法二 for ((初始值;循环控制条件;变量变化)) do 程序 done 例子 例子-1 求和工具 需求:根据用户输入的数字,求1~输入所有数字的和 脚本: #!/bin/bash re ...
- Linux添加/删除用户和用户组
声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 本文总结了Li ...
- 详解centos用户&组权限&添加删除用户
1.Linux用户操作系统 Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种: 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还有组账户所谓组账户就是用户账户的集合,ce ...
- mysql基础:登录退出,修改用户密码,添加删除用户
今天刚开始学习mysql,最先接触用户管理,给大家分享下 注:mysql中命令的大小写都可以的 ==========登录退出相关=================== root@jack-deskto ...
随机推荐
- Asp.net MVC + EF + Spring.Net 项目实践(二)
这一篇主要介绍数据库和entity framework集成 1. 先创建数据库,很简单的几张表,但也涉及了一些主外键关系.联合主键等,关系图如下(DB脚本在最后) 2. 打开VS,现在建立Model实 ...
- [C#]设置或取消开机启动(注册表形式)
原文:[C#]设置或取消开机启动(注册表形式) 使用代码: 代码效果:
- 推荐几个靠谱的VPN
最近开发scala程序使用sbt构建工程时,下载很慢,有些依赖只能通过VPN才能下载下来.在网上搜索了一大堆提供VPN服务的.有一大部分不提供试用,而且还必须得按年购买,看起来是像骗子. 在这里推荐几 ...
- Java清理临时目录文件Demo(一)
/** * 删除单个文件 * * @param sPath * 被删除文件的文件名 * @return 单个文件删除成功返回true,否则返回false */ public static boolea ...
- Appium Android Bootstrap源码分析之简介
在上一个系列中我们分析了UiAutomator的核心源码,对UiAutomator是怎么运行的原理有了根本的了解.今天我们会开始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium ...
- SQL 中OPENQUERY的使用
原文:SQL 中OPENQUERY的使用 OpenQuery 是SQL Server用来与其他Server交互的一种技术,通过OpenQuery,SQL Server 可以直接访问其他数据库资源. 而 ...
- 【转】android json解析及简单例子
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- 【转】Android官方下拉刷新控件 SwipeRefreshLayout
今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...
- 一般处理程序装配数据到html页的原理
相应html页面并保存状态输出原理:(有状态请求)请求页面提交给后台,获取值进行处理之后再根据name标记读取原html文件文字将值替换再一并返回给页面:(在response时替换)比如原模板< ...
- mvc上传头像加剪裁功能
asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jquery ...