第五天、vim,重定向,用户和组管理

vim


  • vi:Visual editor,文本编辑器
  • 行编辑器:sed
  • 全屏编辑器:vim,vi,nano
  • 其他编辑器gedit,gvim

  • 定义别名让vi等于vim;将alias vi=vim写入~/.bashrc或者全局配置文件

vim打开文件

1、打开文件后光标跳到第9行

  1. [root@centos7 ~]# vim +9 1.txt

效果:

2、直接跳到含有qqq的那一行

  1. [root@centos7 ~]# vim +/qqq 1.txt

效果:

3、以二进制方式打开文件,如果要改二进制文件

  1. [root@centos7 ~]# vim -b /usr/bin/ls

4、打开两个文件对比

  1. [root@centos7 ~]# vim -d 1.txt 2.txt

效果,使用:qall退出


vim的三个模式

  • 命令模式
  • 插入模式
  • 拓展模式

三种模式转换

命令模式进入插入模式

  • i:在光标前插入内容
  • I:在光标所在行首插入内容
  • a:在光标后插入内容
  • A:在光标所在行尾插入内容
  • o:在光标所在行下插入新的一行
  • O:在光标所在行上插入新的一行

关闭并保存文件

  • :wq
  • :x
  • ZZ

拓展命令模式

1、读文件到当前文件中:

  1. :r /etc/hostname

效果:

2、将当前文件写入令一文件中,即windows中的另存为

  1. :w /data/hello.txt

效果:

3、执行命令

  1. :!hostname

效果:

4、执行命令并将输出写入当前文件

  1. :r! free -h

效果:


命令模式光标的跳转

  • k,j,h,l
  • 数字直接回车
  • H,M,L
  • zt,zz,zb
  • ^:行首非空字符,$:行尾,0:行首
  • gg:第一行;G:最后一行;5gg:第五行
  • (,),{,},

翻屏(少用)

  • CTRL+f,CTRL+b,CTRL+d,CTRL+u

命令模式操作

字符编辑

  • x:删单个字符;5x:删5个字符;10x:删10个字符
  • xp交换光标除和光标后字符位置
  • ~:转换大小写
  • J:删除当前行换行符,让下一行接到本行后面

替换

  • r:替换光标所在处
  • R:切换成REPLACE模式

删除

注意:删除的内容会保存在粘贴板,按p可以粘贴

  • dd:删一行
  • d$:删到行尾
  • d^:删到行首非空字符
  • d0:删到行首
  • 5dd:删5行;6dd:删6行
  • dw,de,db

复制

注意:复制后的内容也会保存在粘贴板,按p可以粘贴

  • yy:复制一行
  • y$:复制到行尾
  • y^:复制到行首非空字符
  • y0:复制到行首
  • 5yy:复制5行,10yy:复制10行
  • ye,yw,yb

改变命令

  • cc:删除当前行内容,重新编辑
  • c$:删除到行尾并重新编辑
  • c^:删除到行首非空字符并重新编辑
  • c0:删除到行首并重新编辑
  • 3cc:删除3行并重新编辑

特殊操作

  • 100iwang,ESC 会粘贴wang100次

  • vim显示颜色

效果

  • di"表示删除""中间的内容;di(表示删除()中间的内容;di{表示删除{}中间的内容
  • yi"表示复制""中间的内容;yi(表示复制()中间的内容;yi{表示复制{}中间的内容
  • vi"表示选中""中间的内容;vi(表示选中()中间的内容;vi{}表示选中{}中间的内容
  • dtx:删字符直到遇到x停止
  • ytx:复制字符直到遇到x停止

扩展模式范围表示

  • 2,3表示第2行到第三行
  • 2,+3表示第2行开始,再加3行,即第2行到第5行
  • .表示当前行,$表示最后一行
  • .,$-1表示当前行到倒数第二行
  • %表示全文,相当于1,$

扩展命令模式的地址定界

  • :/qqq/ 匹配包含qqq的行;/qqq 同样也是查找包含qqq的行,n,N向下向上找
  • :2,5d 删除第2到第5行
  • :3,8y 复制第三行到第8行

撤销与反撤销

  • u:撤销 5u:撤销5次
  • CTRL+r:反撤销
  • .:重复前一个操作 5.:重复之前操作5次

vim寄存器(少用)

  • 3"tyy 存到t寄存器

使用多个窗口

水平分割

上下切换:CTRL+w,↑ CTRL+w,↓

  1. [root@centos7 ~]# vim -o 1.txt 2.txt
效果:

垂直分割

左右切换:CTRL+w,← CTRL+w,→

  1. [root@centos7 ~]# vim -O 1.txt 2.txt
效果:

单文件窗口分割

  • CTRL+w,s CTRL+w,v CTRL+w,q CTRL+w,o :wqall

定制vim的工作特性

  • :set nu 显示行号 :set nonu 不显示行号
  • :set ai 开启缩进 :set noai 关闭缩进
  • :set hlsearch 开始高亮搜索 :set nohlsearch 关闭高亮搜索
  • :set list 显示Tab和换行符 :set nolist 不显示Tab和换行符
  • :syntax on 启动语法高亮 :syntax:禁用用法高亮
  • :set ff=dos 启动windows格式 set ff=unix 启动unix格式
  • :set textwidth=65 设置文本宽度
  • :set cul 每光标所在行显示标识线 :set nocul 不显示标识线

set帮助,vim帮助

  • :help option-list
  • :set :set all
  • :help
  • 命令vimtutor

重定向基础

  • 三种I/O设备:0,1,2 标准输入,标准输出,标准错误
  1. [root@centos7 ~]# ll /dev/std*
  2. lrwxrwxrwx. 1 root root 15 7 24 08:50 /dev/stderr -> /proc/self/fd/2
  3. lrwxrwxrwx. 1 root root 15 7 24 08:50 /dev/stdin -> /proc/self/fd/0
  4. lrwxrwxrwx. 1 root root 15 7 24 08:50 /dev/stdout -> /proc/self/fd/1
重定向输出内容到另一终端窗口

1、开启两终端窗口,tty命令看第一个终端号

2、第二个窗口输入命令

  1. [root@centos7 ~]# free > /dev/pts/3
  2. [root@centos7 ~]#

3、第一个窗口显示如下:

  1. [root@centos7 ~]# tty
  2. /dev/pts/3
  3. [root@centos7 ~]# total used free shared buff/cache available
  4. Mem: 2028088 249760 78856 3564 1699472 1504260
  5. Swap: 4194300 76288 4118012

dd命令生成一个50m的文件,然后清空

如果bigfile该文件正在被某程序读取,那么rm -rf bigfile只是表面删除,磁盘空间并没有释放,此时再执行> bigfile即可释放磁盘空间。

生产中一般日志太大了都用> bigfile此办法清理日志,而不是rm

  1. [root@centos7 data]# dd if=/dev/zero of=./bigfile bs=1M count=50
  2. 记录了50+0 的读入
  3. 记录了50+0 的写出
  4. 52428800字节(52 MB)已复制,0.695109 秒,75.4 MB/秒
  5. [root@centos7 data]# ll bigfile
  6. -rw-r--r--. 1 root root 52428800 7 25 10:53 bigfile
  7. [root@centos7 data]# ll -h bigfile
  8. -rw-r--r--. 1 root root 50M 7 25 10:53 bigfile
  9. [root@centos7 data]# > bigfile
  10. [root@centos7 data]# ll -h bigfile
  11. -rw-r--r--. 1 root root 0 7 25 10:54 bigfile

>与>>

一个> 表示覆盖,>>两个>是追加

touch创建已有文件会刷新源文件的三个时间,但内容不会动

  1. [root@centos7 data]# stat a.log
  2. 文件:"a.log"
  3. 大小:16 块:8 IO 块:4096 普通文件
  4. 设备:803h/2051d Inode8847 硬链接:1
  5. 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
  6. 环境:unconfined_u:object_r:etc_runtime_t:s0
  7. 最近访问:2019-07-24 15:51:30.467199007 +0800
  8. 最近更改:2019-07-24 15:51:28.453199107 +0800
  9. 最近改动:2019-07-24 15:51:28.453199107 +0800
  10. 创建时间:-
  11. [root@centos7 data]# touch a.log
  12. [root@centos7 data]# stat a.log
  13. 文件:"a.log"
  14. 大小:16 块:8 IO 块:4096 普通文件
  15. 设备:803h/2051d Inode8847 硬链接:1
  16. 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
  17. 环境:unconfined_u:object_r:etc_runtime_t:s0
  18. 最近访问:2019-07-25 10:59:58.509834591 +0800
  19. 最近更改:2019-07-25 10:59:58.509834591 +0800
  20. 最近改动:2019-07-25 10:59:58.509834591 +0800
  21. 创建时间:-

使用追加符号>>创建已有文件,不会刷新文件的三个时间,内容也不会改变

  1. [root@centos7 data]# stat a
  2. 文件:"a"
  3. 大小:8 块:8 IO 块:4096 普通文件
  4. 设备:803h/2051d Inode68 硬链接:1
  5. 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
  6. 环境:unconfined_u:object_r:etc_runtime_t:s0
  7. 最近访问:2019-07-24 11:22:49.816547042 +0800
  8. 最近更改:2019-07-20 19:51:02.893407098 +0800
  9. 最近改动:2019-07-20 19:51:02.893407098 +0800
  10. 创建时间:-
  11. [root@centos7 data]# >> a
  12. [root@centos7 data]# stat a
  13. 文件:"a"
  14. 大小:8 块:8 IO 块:4096 普通文件
  15. 设备:803h/2051d Inode68 硬链接:1
  16. 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
  17. 环境:unconfined_u:object_r:etc_runtime_t:s0
  18. 最近访问:2019-07-24 11:22:49.816547042 +0800
  19. 最近更改:2019-07-20 19:51:02.893407098 +0800
  20. 最近改动:2019-07-20 19:51:02.893407098 +0800
  21. 创建时间:-

重定向操作

  • 1>等于>,重定向的是标准输出
  • 2>,重定向的是标准错误
  • &>所有输出重定向到文件 >/dev/null 2>&1
  • set -C执行后可以禁止将内容覆盖到已有文件;可以使用>|进行强制覆盖
  • set +C(默认)允许覆盖
练习1,标准错误和标准输出分别重定向到不同文件
  1. [root@centos7 data]# ll all.log xxxx
  2. ls: 无法访问xxxx: 没有那个文件或目录
  3. -rw-r--r--. 1 root root 6 7 25 11:01 all.log
  4. [root@centos7 data]# ll all.log xxxx > stdout.log 2> stderror.log
  5. [root@centos7 data]# cat stdout.log
  6. -rw-r--r--. 1 root root 6 7 25 11:01 all.log
  7. [root@centos7 data]# cat stderror.log
  8. ls: 无法访问xxxx: 没有那个文件或目录
练习2,将所有输出都重定向到某个文件

ll all.log xxxx &> std.log

或者

ll all.log xxxx > std.log 2>&1

或者

  1. [root@centos7 data]# ll all.log xxxx
  2. ls: 无法访问xxxx: 没有那个文件或目录
  3. -rw-r--r--. 1 root root 6 7 25 11:01 all.log
  4. [root@centos7 data]# ll all.log xxxx &> std.log
  5. [root@centos7 data]# cat std.log
  6. ls: 无法访问xxxx: 没有那个文件或目录
  7. -rw-r--r--. 1 root root 6 7 25 11:01 all.log

错误写法:

  1. 2>&1 > /dev/null

计算1+...+100

  1. [root@centos7 ~]# echo {1..100} | tr ' ' '+'
  2. 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
  3. [root@centos7 ~]# echo {1..100} | tr ' ' '+' | bc
  4. 5050
  5. [root@centos7 ~]# seq -s'+' 100
  6. 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
  7. [root@centos7 ~]# seq -s'+' 100 | bc
  8. 5050

将etc/issue转换为大写

  1. [root@centos7 ~]# cat /etc/issue | tr [a-z] [A-Z]
  2. CURRENT TERMINEL:\L
  3. CURRENT TIME:\T
  4. CURRENT HOSTNAME:\S
  5. \S
  6. KERNEL \R ON AN \M
  7. [root@centos7 ~]# cat /etc/issue | tr [:lower:] [:upper:]
  8. CURRENT TERMINEL:\L
  9. CURRENT TIME:\T
  10. CURRENT HOSTNAME:\S
  11. \S
  12. KERNEL \R ON AN \M

处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格

  1. [root@centos7 ~]# echo 'xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4' | tr -dc ' 0-9'
  2. 1 2 3 4

删除windows中记事本中的回车符\r(十六进制是0d)

  1. [root@centos7 ~]# file win.txt
  2. win.txt: ASCII text, with CRLF line terminators
  3. [root@centos7 ~]# hexdump -C win.txt
  4. 00000000 61 62 63 0d 0a 64 65 66 |abc..def|
  5. 00000008
  6. [root@centos7 ~]# tr -d '\r' < win.txt > win2.txt
  7. [root@centos7 ~]# file win2.txt
  8. win2.txt: ASCII text
  9. [root@centos7 ~]# hexdump -C win2.txt
  10. 00000000 61 62 63 0a 64 65 66 |abc.def|
  11. 00000007
  12. [root@centos7 ~]# cat win2.txt
  13. abc
  14. def

cat和tee写入文件的方法(经常用)

cat > win2.txt <<EOF 一个>是覆盖,两个>是追加

  1. [root@centos7 ~]# cat > win2.txt <<EOF
  2. > hello
  3. > world
  4. > EOF
  5. [root@centos7 ~]# cat win2.txt
  6. hello
  7. world

tee win2.txt <<EOF tee命令默认是覆盖文件,并且会把输入的内容打印一遍

  1. [root@centos7 ~]# tee win2.txt <<EOF
  2. > hello
  3. > world!
  4. > EOF
  5. hello
  6. world!

tee如果要追加使用-a选项

  1. [root@centos7 ~]# tee -a win2.txt <<EOF
  2. > i am bob.
  3. > EOF
  4. i am bob.
  5. [root@centos7 ~]# cat win2.txt
  6. hello
  7. world!
  8. i am bob.

mail给qqq用户发一封邮件,标题为hi

  1. [root@centos7 ~]# mail -s hi qqq < win2.txt

qqq收邮件

  1. [qqq@centos7 ~]$ mail
  2. Heirloom Mail version 12.5 7/5/10. Type ? for help.
  3. "/var/spool/mail/qqq": 1 message 1 new
  4. >N 1 root Thu Jul 25 14:15 20/602 "hi"
  5. & 1
  6. Message 1:
  7. From root@centos7.localdomain Thu Jul 25 14:15:39 2019
  8. Return-Path: <root@centos7.localdomain>
  9. X-Original-To: qqq
  10. Delivered-To: qqq@centos7.localdomain
  11. Date: Thu, 25 Jul 2019 14:15:39 +0800
  12. To: qqq@centos7.localdomain
  13. Subject: hi
  14. User-Agent: Heirloom mailx 12.5 7/5/10
  15. Content-Type: text/plain; charset=us-ascii
  16. From: root@centos7.localdomain (root)
  17. Status: R
  18. hello
  19. world!
  20. i am bob.

危险操作

1、清空文件的操作

  1. [root@centos7 ~]# cat win.txt
  2. abc
  3. def[root@centos7 ~]# cat < win.txt > win.txt
  4. [root@centos7 ~]# cat win.txt
  5. [root@centos7 ~]# ll win.txt
  6. -rw-r--r--. 1 root root 0 7 25 14:18 win.txt

2、更危险的操作:秒级生成巨大文件

win.txt如果为空不会有任何事,如果win.txt不为空,就麻烦了,执行不到1s我便CTRL+C

  1. [root@centos7 ~]# echo 1 > win.txt
  2. [root@centos7 ~]# ll win.txt
  3. -rw-r--r--. 1 root root 2 7 25 14:19 win.txt
  4. [root@centos7 ~]# cat < win.txt >> win.txt
  5. ^C
  6. [root@centos7 ~]# ll win.txt
  7. -rw-r--r--. 1 root root 990436 7 25 14:19 win.txt

  • passwd输出的内容无法重定向到文件

标准I/O和管道

seq

  • seq打印1到100: seq 100
  • seq打印2到23: seq 2 23
  • seq打印1到100内的奇数 seq 1 2 100
  • seq打印1到100内的偶数 seq 2 2 100
  • 100以内 ,从1开始,每隔5步打印一个数 seq 1 5 100
  • 100以内 ,从1开始,每隔6步打印一个数 seq 1 6 100
  • 100以内 ,从1开始,每隔6步打印一个数,分隔符为+ seq -s'+' 1 6 100
  • 100以内 ,从1开始,每隔6步打印一个数,分隔符为* seq -s'*' 1 6 100
  • 计算1+7+13+19+...+97的和 seq -s'*' 1 6 100 | bc

管道加重定向

2>&1 | 等于 |& 表示如果有错就重定向到标准输出

  1. [root@centos7 ~]# cat /etc/fst | tr [a-z] [A-Z]
  2. cat: /etc/fst: 没有那个文件或目录
  3. [root@centos7 ~]# cat /etc/fst 2>&1 | tr [a-z] [A-Z]
  4. CAT: /ETC/FST: 没有那个文件或目录
  5. [root@centos7 ~]# cat /etc/fst |& tr [a-z] [A-Z]
  6. CAT: /ETC/FST: 没有那个文件或目录

巧用bc加管道,将十进制转化为二进制

  1. [root@centos7 ~]# echo "obase=2;12" | bc
  2. 1100
  3. [root@centos7 ~]# echo "obase=2;127" | bc
  4. 1111111

巧妙生成随机数密码

1、使用tr命令加随机数生成设备urandom

  1. [root@centos7 ~]# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c20
  2. uqst41VFGIDrwmusM1k2[root@centos7 ~]#

2、使用openssl

  1. [root@centos7 ~]# openssl rand -base64 20
  2. ihgyRWEJscwOj7Gm82ZYElBcxm4=

管道中的 - 符号

可以表示一个输入或输出流

比如

1、https://raw.githubusercontent.com/uscwifi/scripts/master/nginx-install.sh是一个脚本,如果想在本地执行该脚本,一般需要下载下来。下面方法为curl访问到脚本的内容,bash -表示将curl的输出流作为自己的参数

  1. [root@centos7 ~]# curl https://raw.githubusercontent.com/uscwifi/scripts/master/nginx-install.sh | bash -

2、打包文件

tar -cvf - /etc表示将/etc目录打包,-为输出流,不写文件名;tar -xvf - 表示解压文件,-将管道前面的输出流作为自己的输入流;-C /tmp表示解压到/tmp目录

  1. [root@centos7 ~]# tar -cvf - /etc |tar -xvf - -C /tmp

用户、组和权限

用户ID分配

  • CentOS6系统用户分配的ID范围为1-499
  • CentOS7系统用户分配的ID范围为1-999
  • CentOS6普通登陆用户分配的ID范围为500+
  • CentOS7普通登陆用户分配的ID范围为1000+

windows命令创建和删除用户(了解即可)

  • net user root root /add
  • net user root /del

用户和组相关配置文件

  • /etc/passwd
  • /etc/group
  • /etc/shadow
  • /etc/gshadow

/etc/passwd的7个字段(了解即可)

用户名:密码:UID:GID:注释说明:家目录:SHELL

/etc/shadow的9个字段(了解即可)

用户名:加密了的密码:最后一次更改密码的日期:密码的最小年龄:密码最大年龄:密码警告时间段:密码禁用期:账户过期日期,保留字段

getent查看用户信息的强大

1、查看qqq用户的passwd文件记录

  1. [root@centos7 ~]# getent passwd qqq
  2. qqq:x:1000:1000:qqqq,it,10010,10086:/home/qqq:/bin/bash

2、查看qqq用户的group文件记录

  1. [root@centos7 ~]# getent group qqq
  2. qqq:x:1000:qqq

3、查看qqq用户的shadow

  1. [root@centos7 ~]# getent shadow qqq
  2. qqq:$6$yb2wPd/6dOY1ELLQ$M0DwUcC0XrYNDGPb.cgXBhZ4H7PLzFeO.Us1NrNPqLYgB.8ybFfxBNgqYKBLzFhScG7iK1YvcQ7XyItd6qai9.::0:99999:7:::

chage命令可以更改用户密码过期信息

finger查看用户信息

  1. [root@centos7 ~]# finger qqq
  2. Login: qqq Name: qqqq
  3. Directory: /home/qqq Shell: /bin/bash
  4. Office: it, x1-0010 Home Phone: x1-0086
  5. Last login 7 25 14:16 (CST) on pts/6
  6. Mail last read 7 25 14:17 2019 (CST)
  7. No Plan.

usermod改用户属性

  • useradd可以创建用户
  • usermod -L锁用户,-U解锁用户
  • groupadd用于添加一个组,比较少用
  • 每个用户创建后属于和自己同名的组

给qqq用户添加附加组wheel

usermod -aG添加附加组不影响原来的组

  1. [root@centos7 ~]# id qqq
  2. uid=1000(qqq) gid=1000(qqq) 组=1000(qqq)
  3. [root@centos7 ~]# usermod -aG wheel qqq
  4. [root@centos7 ~]# id qqq
  5. uid=1000(qqq) gid=1000(qqq) 组=1000(qqq),10(wheel)

把qqq从所有附加组中国移除

附加组为空即可

  1. [root@centos7 ~]# id qqq
  2. uid=1000(qqq) gid=1000(qqq) 组=1000(qqq),10(wheel)
  3. [root@centos7 ~]# usermod -G '' qqq
  4. [root@centos7 ~]# id qqq
  5. uid=1000(qqq) gid=1000(qqq) 组=1000(qqq)

修改密码的几种方式

1、passwd 交互式改密码
2、passwd --stdin
  1. [root@centos7 ~]# echo 123456 | passwd --stdin wang
  2. 更改用户 wang 的密码
  3. passwd:所有的身份验证令牌已经成功更新。
3、chpasswd批量改密码
  1. [root@centos7 ~]# cat passwd.list
  2. wang:123456
  3. zhang:1234567
  4. [root@centos7 ~]# cat passwd.list | chpasswd

4、echo加管道加passwd

  1. [root@centos7 ~]# echo -e "12345678\n12345678" | passwd zhang
  2. 更改用户 zhang 的密码
  3. 新的 密码:无效的密码: 密码未通过字典检查 - 过于简单化/系统化
  4. 重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。

杂七杂八命令(少用)

  • grpck:group check;检查组文件的完整性
  • vipw,vigr 编辑密码、组、影子密码或影子组文件
  • chfn 修改你的finger信息
  • chsh 修改用户的shell,一般可以创建系统用户并修改其shell为/sbin/nologin,禁止其登陆

第五天、vim,重定向,用户和组管理的更多相关文章

  1. 一、Vim编辑器 二、用户和组管理 三、软件的安装(jdk,mysql) 四、Shell编程

    一.Vim编辑器的使用 1. vim编辑器的运行模式 编辑模式:等待用户编辑命令的输入 插入模式:编辑文本内容 命令模式:执行命令 2. 使用 :vim 文件名 3. 查看当前vim编辑器介绍:vim ...

  2. linux学习(五)用户与组管理命令,以及用户信息文件解释

    目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...

  3. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  4. (转)AIX 用户和组管理

    AIX 用户和组管理 原文:https://www.ibm.com/developerworks/cn/aix/library/au-aixuseradmin/ 管理 IBM AIX 中的用户和组是管 ...

  5. (转)Centos 7.3 用户和组管理

    Centos 7.3 用户和组管理 原文:http://blog.csdn.net/github_39069288/article/details/73306489 3.1 用户和密码配置文件 pas ...

  6. Solaris用户管理(一):用户与组管理

    Solaris用户管理(一):用户与组管理  2008-07-01 09:19 用户管理是系统管理的基础.Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基 ...

  7. 总结描述用户和组管理类命令的使用方法,系统用户相关信息,取出主机IP地址

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@db146 ~]# who|cut -f1 -d' ' |sort -u root 2.取出最后 ...

  8. linux基础之用户和组管理及权限

    一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...

  9. linux系统用户和组管理

    用户和组管理 Linux是多用户多任务的网络操作系统,作为网络管理员,掌握用户的组的创建与管理至关重要. 学习要点: 了解用户和组的群的配置文件. 熟悉掌握Linux下用户的创建和维护管理. 熟悉掌握 ...

随机推荐

  1. asp.net core 腾讯验证码的接入

    asp.net core 腾讯验证码的接入 Intro 之前使用的验证码服务是用的极验验证,而且是比较旧的,好久之前接入的,而且验证码服务依赖 Session,有点不太灵活,后来发现腾讯也有验证码服务 ...

  2. Bran的内核开发教程(bkerndev)-04 创建main函数和链接C文件

    目录 创建main函数和链接C文件 PS: 下面是我自己写的 Win10安装gcc编译器 本节教程对应的Linux下的编译脚本 _main的问题 创建main函数和链接C文件   一般C语言使用mai ...

  3. (未完)经典Web漏洞实战演练靶场笔记

    记录下自己写的经典Web漏洞靶场的write up,包括了大部分的经典Web漏洞实战场景,做个笔记. 0x01 任意文件下载漏洞 if(!empty($_GET['filename'])){ $fil ...

  4. macbook使用美化工具在屏幕展示出常查信息

    磕叨 凭本人自己的经验,写代码过程中要经常查看内存使用网络流量下等,所以经常用到命令去查,而且mac上的命令跟linux上又有些不一样,经常打错. 多年前还没用mac前我用的是ubnutu,那时还是1 ...

  5. ArraryList源码解读

    先由一道题引发思考: ArrayList list = new ArrayList(20);中的list扩充几次() A 0     B 1     C 2      D 3 答案:A 直接翻看 jd ...

  6. 浏览器标签tab窗口切换时事件状态侦听

    做到 是大屏项目,用的websocket,在浏览器切换标签窗口后,过了一段时间回来,页面会非常卡,所以想页面切回来的时候刷新页面,找到了这个方法,这是原来的例子.这段代码可以自己复制去做下测试 var ...

  7. Exception evaluating SpringEL expression:

    Exception evaluating SpringEL expression:错误 说明: 在帮助同事看BUG的时候遇上了这个问题,不知道是前端还是后端的错误 在网上找了很多文章解决的方法,很多都 ...

  8. 云开发如何解决serverless对端的最后一公里问题

    前端圈从来不缺少新的技术.点子和话题,有些留下来了而有些则转瞬即逝.在决定一种新技术是否能够长久的所有因素里,最核心的必然是自身实力过硬能够经受住实践检验.而除此之外,这项技术所解决问题的广泛程度.受 ...

  9. Day 3,学习的知识点

    年龄 如何判断是否未成年人 age = input('请输入你的年龄:')#input=输入age = int(age)#int=转化为整型if age < 18:    print('小妹妹你 ...

  10. 谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信

    前言 之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法 ...