ubuntu,day 2 ,退出当前用户,创建用户,查找,su,sudo,管道符,grep,alias,mount,tar解压
本节内容:
1,文件权限的控制,chmod,chown
2,用户的增删和所属组,useradd,userdel
3,用户组的增删,groupadd,groupdel
4,su,sudo的介绍
5,别名的使用,alias
6,管道符|,重定向
7,comtab,计划任务
8,locat,find查找的使用
9,df,显示所有空间的使用情况
10,mount硬盘的挂载和卸载
11,tar解压
12,grep正则表达
1,文件权限,chmod,chown
r:可读------4
w:可写-----2
x:可执行---1,普通文件可以直接通过./来执行
-:代表没有权限
chmod o+w filename
chmod g+w filename
chmod u+w filename
chmod u=rwx filename
# 其中:
# u 代表所有者(user)
# g 代表所有者所在的组群(group)
# o 代表其他人,但不是u和g (other)
# a 代表全部的人,也就是包括u,g和o
2,useradd添加用户,usermod改变用户的信息
# -c 备注 加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中
# -d 用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权
# -e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow
# -f 缓冲天数。限定密码过期后多少天,将该用户帐号停用
# -g 主要组。设置用户所属的主要组 www.cit.cn
# -G 次要组。设置用户所属的次要组,可设置多组
# -M 强制不创建用户主文件夹
# -m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下
# -p 密码。输入该帐号的密码
# -s shell。用户登录所使用的shell
# -u uid。指定帐号的标志符user id,简称uid useradd user1 # 添加用户 user1
useradd -d /home/userTT user2
sudo mkdir user1 # 在/home目录下新建用户文件目录
sudo chown user1:user1 user1 # 改变目录的所有者和组的权限
cp /etc/skel/.bash* /home/user1 # 将目录下.bash开始的文件复制到家目录
source /home/user1/.bash* # 可以使家目录下的环境变量生效
userdel删除用户
userdel user1 #
userdel -r user1 # -r, --remove 用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。
# -f, --force 此选项强制删除用户账户,甚至用户仍然在登录状态。它也强制删除用户的主目录和邮箱,即使其它用户也使用同一个主目录或邮箱不属于指定的用户
usermod用法:
chmod o+w file1
chmod g-w file1
chmod go-w file1
chmod u=rwx file1 chmod 755 file1 # -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
chmod 644 # -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限 # 其中:
# u 代表所有者(user)
# g 代表所有者所在的组群(group)
# o 代表其他人,但不是u和g (other)
# a 代表全部的人,也就是包括u,g和o
3,groupadd,groupdel,chown
groupadd group # 添加用户组
groupadd -u 1000 group1 #指定gid的用户组
groupdel # 删除组
groupdel group # 删除组
chown # 改变文件的所属组所有者
chown root:root file
chown root file
chown :root file
4,su与 sudo
su : 切换用户,没有参数时,默认切换为root用户;
su # 切换为root ## 推荐
su - # 切换为root 并加载root的环境配置
su - user1 # 切换为user1 并加载user1的环境配置
sudo让当前用户暂时以管理员的身份root来执行命令。
sudo的配置文件:/etc/sudoers;可以通过修改它配置sudo命令
5,alias : 给命令起别名
alias ll='ls -l'
alias la='ls -a'
关于各个文件的作用域,在网上找到了以下说明:
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。(6) ~/.bash_profile: 也可能是 .profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
6,管道符,重定向,标准输出
管道符 就是 | :他的作用是 将前一个命令的结果 交给后一个命令使用
>ww.txt # 文件ww.txt会变为空的
> 重定向,则覆盖文件内容,没有该文件就创建(需要有创建的权限)
>> 重定向,则向文件追加内容,没有该文件就创建(需要有创建的权限)
1> 标准正确输出,则覆盖文件内容,没有该文件就创建(需要有创建的权限)
1>> 标准正确输出,则向文件追加内容,没有该文件就创建(需要有创建的权限)
2> 标准错误输出,则覆盖文件内容,没有该文件就创建(需要有创建的权限)
2>> 标准错误输出,则向文件追加内容,没有该文件就创建(需要有创建的权限)
&> 标准正确输出和标准错误输出,文件中保存了写入的东西,报错信息也会出现在文件中,没有该文件就创建(需要有创建的权限)
7,crontab,计划任务
crontab -e # 修改计划配置* * * * * command to be executed
- - - - - -
| | | | | |
| | | | | --- 预执行的命令
| | | | ----- 表示星期0~7(其中星期天可以用0或7表示)
| | | ------- 表示月份1~12
| | --------- 表示日期1~31
| ----------- 表示小时1~23(0表示0点)
------------- 表示分钟1~59 每分钟用*或者 */1表示
---------- 表示小时1~23(0表示0点) 1,crontab -e 进行编辑操作,选择是用vim,下次不需要选择,自动默认vim,在最下边加入:
*/1**** /bin/bash /tmp/cron.sh
# /bin/bash 指定运行的路径
# cron.sh是自定义的一个文件内容下方
date >> /tmp/date.txt # 这样是防止配置文件中字符超过60个会执行错误
2,crontab -l 显示当前客户的crontab内容
8,locate,find查询命令
locate /etc/sh # 所有包含/etc/sh路径的文件
locate -i ~/a # 所有主目录下所有以开头的文件,忽略大小写
因为是本地更新,据说是每天凌晨的4点进行更新
可以使用sudo updatedb更新数据库来实现更新
find
使用方法:
find path -option [-print ] [ -exec -ok command ] {} \; ###### 根据文件名查找 #######
find / -name filename 再根目录里面搜索文件名为filename的文件
find /home -name "*.txt"
find /home -iname "*.txt" # 忽略大小写 ###### 根据文件类型查找 #######
find /home/wuzhenhu/Desktop/ . -type 类型参数,有点的时候是可以查找到隐藏文件,没有点的时候不能查到隐藏文件
f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo ###### 根据目录深度查找 #######
find . -maxdepth 3 -type f # 最大深度为3
find . -mindepth 2 -type f # 最小深度为2 -o:逻辑或,两个条件只要满足一个即可。
-a:逻辑与,两个条件必须同时满足。 find /etc -size +2M -a -size -10M
+代表大于,-代表小于 ######### 对查找结果进行处理 #############
-exec shell命令 {} \;
-ok shell命令 {} \;
其中-exec就是代表要执行shell命令,后面加的是shell指令,再后面的“{}”表示的是要对前面查询到的结果进行查询,最后的“\;”表示命令结束。需要注意的是“{}”和“\”之间是要有空格的。
而-ok选项与-exec的唯一区别就是它在执行shell命令的时候会事先进行询问,-print选项是将结果显示在标准输入上 find /home -name “*.txt” -ok ls -l {} \;
find /home -name “*.txt” -ok rm {} \;
9,df显示所有空间的使用
df -Th #
h以能显示的最大单位显示
T:显示文件系统类型
10,mount/mount3挂载和卸载设备
mount # 查询挂在设备及属性 # 挂载光盘
mount /dev/sr0 /mnt # 重新挂载设备
mount -o remount,rw /mnt # 重新挂载设备并设置rw属性 # 挂载iso文件
mount a.iso -o loop /mnt
umount /mnt # 卸载设备
umount -l /mnt # 强制卸载
11,tar解压,压缩命令
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意 c/x/t 同时仅能存在一个,因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接文件名
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! # 将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz
tar czvf this.tar.gz ./*.txt
# 将当前目录下的this.tar.gz中的文件解压到当前目录
tar xzvf this.tar.gz ./ # 将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
tar -cvf /tmp/etc.tar /etc # 仅打包,不压缩!
tar -zcvf /tmp/etc.tar.gz /etc # 打包后,以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc # 打包后,以 bzip2 压缩 # 解压文件
tar -xf a.tar.gz #
tar -xf a.tar.gz -C /tmp # 指定解包路径
12,grep匹配正则表达式
正则表达式:
初识正则表达式
^ : 匹配开头
$ : 匹配结尾
[] : 范围匹配
[a-z] : 匹配有小写字母
[A-Z] : 匹配所有大写字母
[0-9] : 匹配所有数字
. : 匹配单个字符
* : 表示*前面的内容出现0次或多次
+ : 表示+前面的内容出现1次或多次
? : 表示?前面的内容出现0次或1次
cat a.txt |grep hat$ # 匹配以hat结尾的行
cat a.txt |grep ^hat # 匹配以hat开头的行
cat a.txt | grep -E "[0-9]*" # 匹配有0到多个数字的行
cat a.txt | grep -E "[0-9]+" # 匹配有至少有1个数字的行
cat a.txt | grep -E "[0-9]?" # 匹配有0到1个数字的行
ubuntu,day 2 ,退出当前用户,创建用户,查找,su,sudo,管道符,grep,alias,mount,tar解压的更多相关文章
- 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ...
- 文件操作工具类: 文件/目录的创建、删除、移动、复制、zip压缩与解压.
FileOperationUtils.java package com.xnl.utils; import java.io.BufferedInputStream; import java.io.Bu ...
- 使用secureCRT和Telnet将文件压缩导出到Ubuntu中,到Ubuntu中加压缩发现:tar解压包的时候出现错误gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
细节描述: 问题如题所示:查找博客园和CSDN上查找问题,得到问题解决方法大致如下: 1 修改解压缩命令: 由 tar zxvf software_package.tar.gz变为tar xvf so ...
- mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)
单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT ...
- linux用户创建删除以及文件权限查看修改
一. 1.查看用户 命令如下:whoami 2.创建用户 创建用户命令:sudo adduser hello 超级用户是 root 删除用户名命令:sudo deluser hello --remov ...
- oracle创建表空间、创建用户并赋予权限
分开执行如下sql语句 --创建临时表空间 CREATE SMALLFILE TEMPORARY TABLESPACE "TEMP11" TEMPFILE 'E:\app\MD\o ...
- Oracle 12c 用户创建、角色、权限
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAADHCAIAAAA4UqVzAAAgAElEQVR4nOy9Z5Bk13UmyN/6vZrlrG
- centos6创建用户,设置ssh登录
创建用户 #创建用户 useradd -s /sbin/nologin mysql useradd –d /usr/china -m china #设置密码 passwd mysql passwd c ...
- Oracle 数据库创建表空间、创建用户
创建表空间 create temporary tablespace user_name_temp tempfile '/oradata/ORA11G/user_name_temp.dbf' size ...
随机推荐
- @RequestParam接收解析不到 POST 提交的 数据
1.使用postman或者其他发送请求模拟器进行模拟访问,需要指定Headers为Content-Type:application/x-www-form-urlencoded;指定body类型为x-w ...
- pycharm 3.4 破解
修改host,增加一行: 0.0.0.0 account.jetbrains.com 使用Activate code注册: EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUl ...
- c++11 tuple实现
实现一个简易版的c++11 tuple. 我使用的编译器是gcc,codeblocks13.12自带的,哪个版本我不熟gcc也没去查. 大致看了下他家的tuple实现,多继承,tuple之上还有2个辅 ...
- C#中Button.DialogResult属性
窗体中的某个按钮,如果设置了DialogResult(不是设置为None),当窗体是通过ShowDialog方法显示的时候 则不必设置任何响应函数,单击按钮也可窗体.然后,该窗体的DialogResu ...
- Ubuntu 16.04 安装Mysql数据库
系统环境 Ubuntu 16.04; 安装步骤 1.通过以下环境安装mysql服务端与客户端软件 sudo apt-get install mysql-server apt-get isntall m ...
- [UE4]Scroll Box带滚动条的容器
一.黑边,当可以往下滚动的时候,下边会出现黑边.当可以往上滚动的时候,上边也会出现黑边. Scroll Box.Style.Style:也可以自定义上下左右黑边的样式: 二.Scroll Box. ...
- 转载--无弹窗APT渗透实验
转载--无弹窗APT渗透实验 文章作者:亚信安全,转载自 FreeBuf.COM APT攻击方式花样繁多,我研究最近的流行的APT攻击方式,在本地搭建环境模拟一次简单的APT攻击,在模拟攻击过程中发现 ...
- Runtime 解读
首先,第一个问题, 1>runtime实现的机制是什么,怎么用,一般用于干嘛? 这个问题我就不跟大家绕弯子了,直接告诉大家, runtime是一套比较底层的纯C语言API, 属于1个C语言库, ...
- Vue 父组件调用子组件函数的方法
parent.vue(父组件的内容): <template> <div @click="divClick"> <info-wnd ref=" ...
- Open SuSE 安装Python3.6
1. 下载Python3.6 tar包 去除Modules/Setup文件167行的注释 readline readline.c -lreadline -ltermcap 2. 下载readline- ...