bash基础特性2
命令别名(alias)
()alias
显示当前shell进程所有可用的命令别名:
()alias NAME='VALUE'
定义别名NAME,相当于执行命令value
()unlias
撤销别名
注意:
在命令行中定义的别名,仅对当前shell进程有效:如果想永久有效,要定义再配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/.bashrc
别名持久化:
vim .bashrc
alias NAME='VALUE'
source .bashrc
glob(globbing)
bash中用于实现文件"通配"
通配符:*,?,[]
()*:
任意长度的任意字符
a*b:
aab,ab,a123b
()?:
任意单个字符
a?b
aab
()[]:
匹配指定范围内的任意单个字符
[a-z]:不区分字符大小写
[-]:
[A-Z]:代表大写字母
()^:
匹配指定范围之外的任意字符
[^-]
专用字符集合:
[:alnum:]:任意数字或字母
[:alpha:]:任意大小写字母
[:digit:]:任意数字,相当于0-
[:lower:]:任意小写字母
[:punct:]:表示标点符号
[:space:]:匹配空格字符
[:upper:]:任意大写字母
[:xdigit:]
[:blank:]
[:cntrl:]
[:print:]
[:graph:]
练习
.显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字的文件或者目录; .显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或者目录 .显示/etc目录下,以非字母开头,后面跟了一个字母及其他任意长度任意字符的文件或者目录 .复制/etc目录下,所有以m开头,以非数字结尾的文件或者目录至/tmp/fengzi目录中 .复制/etc目录下,所有以.d结尾的文件或者目录到/tmp/fengzi目录中 .复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或者目录到/tmp/fengzi目录下
答案
.-]*[[:lower:]]
.-]*[^-]
.-][a-z]*
.-] /tmp/fenzi
.cp /etc/*.d /tmp/fengzi
6.cp /etc/{m,n,r,p}*.conf
bash的快捷键
ctrl+l:清屏,相当于clear命令
ctrl+a:跳转至命令开始处
ctrl+e:跳转至命令结尾
ctrl+c:取消命令的执行
ctrl+u:删除命令行首至光标所在处的所有内容
ctrl+k:删除光标所在处至命令行尾部的所有内容
bash的I/O重定向管道
程序:指令+数据
读入数据:input
输出数据:output
打开的文件都有一个fd:file descriptor(文件描述符)
标准输入:keyboard,
标准输出:monitor,
标准错误输出:monitor,
I/O重定向:改变标准位置
输出重定向:command > new_pos, command >> new_pos
>:覆盖重定向,目标文件中的原有内容将会被清除;
>>:追加重定向,新内容会追加到目标文件尾部;
#set -C:禁止将内容覆盖已有文件的内容
强制覆盖:>|
#set +C:关闭禁止内容覆盖已有文件的内容
>:覆盖重定向错误输出数据流;
>>:追加重定向错误输出数据流;
标准输出和错误输出鸽子定向不通的位置;
command > /path/to/ > /path/to/error.out
合并标准输出和错误输出为同一个数据流进行重定向:
&>:覆盖重定向
&>>:追加重定向
command > /path/to/>&
输入重定向
tr命令:转换成删除字符
HERE Documentation: <<
#cat << EOF
#cat > /path/to/somefile <<EOF
管道:
COMMAND1 | COMMAND2 | COMMAND3 |...
Note:最后一个命令会在当前shell进程的子shell进程中
文件处理工具
wc,cut,sort
wc命令:
-l:行数
-w:单词数
-c:字节数
cut命令
-d:以...分割
-f:显示第几个字段
,
-
混合使用:-,
--output-delimiter=STRING
例如:
--output-delimiter='|' /etc/passwd
sout命令:
-f:忽略字符大小写
-r:逆序
-t delimiter: 字段分隔符
-k:以指定字段标准排序 -n:按照数字排序
linux用户和组的相关配置文件
/etc/password:用户及其属性信息
name:password:UID:GID:GECOS:directory:shell
用户名:密码:UID:GID:GECOS:主目录:默认shell
/etc/group:组及其属性信息
group_name:password:GID:user_list
组名:组密码:GID:以当前组为附加组的用户
/etc/shadow:用户密码及相关属性
用户名:加密了的密码/etc/gshadow:组密码及相关属性
用户创建
useradd [option] LOGIN
-u UID:[UID_MIN,UID_MAX],定义再/etc/login.defs
-g GID:指明用户基本组,可为组名,也可以GID
-c COMMENT:用户的注释信息
-d /PATH/TO/HOME_DIR:以指定的路径为家目录
-s SHELL:致命用的默认shell程序,可用列表在/etc/shells文件中
-G GID:为用户指明附加组,可以有多个用逗号分隔开,组必须事先存在 -D:修改默认shell。例子:useradd -D -s /bin/tcsh
练习
.创建用户fengzi,附加组为distro和linux,默认shell为/bin/csh,注释信息为"Gentoo distribution"
组创建:groupadd
groupadd [OPTION]....group_name
-g:GID:指明GID号
-r:创建系统组
Centos6:ID<
Centos7:ID<
查看用户相关的id信息:id
id [OPTION].....[USER]
-u:UID
-g:GID
-G:GROUP
-n:Name
切换用户或以其他用户身份执行命令:su
su [OPTIONS] [-] [user [args....]]
su UserName:非登陆式切换,即不会读取目标用户的配置文件
su - UserName:登录式切换:会读取目标用户的配置文件,完全切换
Note:root su至其他用户无需密码,非root用户切换时需要密码
用户修改属性usermod
usermod [OPTION] login
-u UID:新UID
-g GID:新基本组
-G GROUP1...GROUP2..:新附加组,原来的附加组将会被覆盖,若保留原有,则要同时使用-a选项表示append
-s SHELL:新的默认shell
-c 'COMMMENT':新的注释信息
-d HOME:新的家目录:原有的家目录不会同时移动至新的家目录:若要移动,要同时使用-m选项
给用户添加密码
passwd [OPTIONS] UserName:修改指定用户的密码,仅root用户权限
passwd:修改自己的密码
常用选项:
-l:锁定指定用户
-u:解锁指定用户
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
删除用户
userdel [options] login
-r:连点家目录一起删除
组属性修改
groupmod [options] group
-n group_name:新名字
-g GID:新的GID
权限管理
文件的权限主要针对三类对象进行定义:
owner:属主,u
group: 属组,g
other: 其他,o
每个文件针对每类访问者都定义了三种权限:
r:readable
w:writeable
x:excutable
文件:
r:可以用文件查看类工具查看内容
w:可以修改内容
x:可以把文件提取到内核启动为一个进程
目录:
r:可以使用ls查看此目录中文件列表
w:可以在此目录中创建文件也可以删除
x:可以使用ls -l查看此目录中文件列表,可以cd进入此目录
chmod命令:
修改文件或者目录的权限
chown命令:
用法:
owner
owner:group
:group
Note:命令中的:可以用.替换
-R:递归
bash基础特性2的更多相关文章
- linux文件系统及bash基础特性
linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重 ...
- Bash 基础特性
命令别名 alias 显示当前shell中定义的所有别名 alias 别名='原始命令' unalias 别名 取消定义的别名在命令前加\使用命令本身,而不是别名(或者使用绝对路径执行命令使用命 ...
- Linux bash基础特性二
shell脚本的组成部分 shebang 各种命令组合 编程变量种类 本地变量: 仅仅在当前的shell生效 环境变量: 在当前和子shell生效 局部变量: shell进程某代码片段 位置变量: $ ...
- Linux bash基础特性一
命令别名 alias cdnet=”cd /etc/sysconfig/network-scripts” 针对用户的别名: “~/.bashrc” 针对系统的别名:”/etc/bashrc” 重读配置 ...
- bash基础特性3(shell编程)
Linux上文本处理三剑客: grep:文本过滤工具 sed:stream editor,文本编辑工具 awk:文本报告生成器 grep -v:显示不能够被pattern匹配到的行 -i:忽略字符大小 ...
- bash基础特性1
shell俗称壳(用来区别于内核),是指“提供使用者使用界面”的软件,就是一个命令行解释器. BASH是SHELL的一种,是大多数LINUX发行版默认的SHELL,除BASH SHELL外还有C SH ...
- linux bash基础特性
使用history命令,取得命令历史,当bash进程结束后,会把命令历史存放到文件中,下次开机还能看到命令历史. 定制history:通过设置环境变量,来定制history 环境变量$HISTSIZE ...
- linux bash基本特性
一.bash 基础特性 (1)命令历史的功能 history: 环境变量 HISTSIZE:命令历史记录的条数 HISTFILE: ~/.bash_history 每个用户都有自己独立的命令历史文件 ...
- cmd 与 bash 基础命令入门
身为一个程序员会用命令行来进行一些简单的操作,不是显得很装逼嘛!?嘿嘿~ ヾ(>∀<) cmd 与 bash 基础命令入门 简介 CMD 基础命令 ...
随机推荐
- Distance on the tree
Distance on the tree https://nanti.jisuanke.com/t/38229 DSM(Data Structure Master) once learned abou ...
- JS-正则表达式 限制输入整数、小数
//只可以输入整数 onkeyup="value=value.replace(/[^\d]/g,'')" //可以输入数字 包括小数 onkeyup="value=val ...
- ELK-Elasticsearch 安装启动
系统版本:Centos7 Elasticsearch:5.3.1 1:关闭SELinux [root@es local]# sed -i 's/SELINUX=enforcing/SELINUX=di ...
- kubenetes安装记录和要点
https://blog.csdn.net/jinglexy/article/details/79813546 在官网web上进行kubenetes测试:kubectl run kubernetes- ...
- linux wc使用详解
转载:https://www.cnblogs.com/peida/archive/2012/12/18/2822758.html Linux系统中的wc(Word Count)命令的功能为统计指定文件 ...
- java maven compiler设置默认1.8
方法一: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupI ...
- Job集群设计
- 第二阶段第九次spring会议
今天我将对软件进行宠物信息的添加. 清屏功能 private void button5_Click(object sender, EventArgs e) { textBox2.Text = &quo ...
- No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so ,needed by '../bin/generate_pointcloud解决方法
这是/usr/lib/x86_64-linux-gnu/文件夹内没有这个libproj.so 库,先在该文件夹内搜索是否有同名不同版本的库,如果有 ,可以使用ln -s在该文件夹内部对存在的库链接到一 ...
- LeetCode —— 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作, ...