目录
❀My学习Linux命令小记录(8)❀
36.userdel指令
功能说明:用于删除给定的用户以及与用户相关的文件。
(ps.userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。)
基本语法:userdel(选项)(参数)
选项:
-f:强制删除用户,即使用户当前已登录
-r:删除用户的同时,删除与用户相关的所有文件
实例:
#userdel tt #删除用户tt,但不删除其家目录及文件
#userdel -r linuxde #删除用户tt,其家目录及文件一并删除
请不要轻易用-r选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。
其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd是极为重要的文件,可能您一不小心会操作失误。
37.passwd指令
功能说明:用于让用户可以更改自己的密码。
(ps.passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。)
基本语法:passwd(选项)(参数)
选项:
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
知识扩展:
与用户、组账户信息相关的文件
存放用户信息:
/etc/passwd
/etc/shadow
存放组信息:
/etc/group
/etc/gshadow
用户信息文件分析(每项用:隔开)
例如:
jack:X:503:504:::/home/jack/:/bin/bash
jack # 用户名 X # 口令、密码
503 # 用户id(0代表root、普通新建用户从500开始)504 # 所在组
: # 描述 /home/jack/ # 用户主目录 /bin/bash # 用户缺省Shell
组信息文件分析
例如:
jack:$!$:???:13801:0:99999:7:*:*:
jack # 组名 $!$ # 被加密的口令 13801 # 创建日期与今天相隔的天数 0 # 口令最短位数
99999 # 用户口令 7 # 到7天时提醒 * # 禁用天数 * # 过期天数
实例:
如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。
#passwd tt #更改或创建tt用户的密码
#passwd #普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是tt
#passwd -l tt #锁定用户tt不能更改密码
# passwd -d tt #清除tt用户密码
#passwd -S root #查询tt用户密码状态
38.tar指令
功能说明:Linux下的归档使用工具,用来打包和备份。
(ps.tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。)
基本语法:tar(选项)(参数)
选项:
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。
补充知识:
- z:有gzip属性的
- j:有bz2属性的
- Z:有compress属性的
- v:显示所有过程
- O:将文件解开到标准输出
实例:
#tar -czvf pink.tar.gz pink #在当前目录下打包并压缩pink这个目录为pink.tar.gz
#tar -xzvf pink.tar.gz #解压并解包pink.tar.gz
解压成功:
#tar -tvf pink.tar.gz #详细列出pink.tar.gz中的所有文件
39.sort指令
功能说明:将文件进行排序并输出。
(ps.sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入)
基本语法:sort(选项)(参数)
选项:
-b:忽略每行前面开始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-u/uniq:忽略相同行
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序;
-t<分隔字符>:指定排序时所用的栏位分隔字符;
-k:按指定的列进行排序;
+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
补充知识:
在linux中经常会看到stdin,stdout和stderr,这3个可以称为终端(Terminal)的标准输入(standard input),标准输出( standard out)和标准错误输出(standard error)。
sort命令默认按每行的第一个字符排序,根据首字母的ASCII码值进行升序(从小到大排列)。
实例:
#cat sort.txt #样例文件
aaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5
#sort sort.txt #默认排序
#sort -u sort.txt #忽略相同行
#cat sort.txt #样例文件
AAA:BB:CC
aaa:30:1.6
ccc:50:3.3
ddd:20:4.2
bbb:10:2.5
eee:40:5.4
eee:60:5.1
#sort -n -k 2 -t : sort.txt #将BB列(-k 2)按照数字从小到大(-n)顺序、指定排序时所用的栏位分隔字符为:(-t :)来排列
#sort -nrk 3 -t: sort.txt #将CC列(-k 3)数字从大到小顺序(-n)以相反顺序(-r)、指定排序时所用的栏位分隔字符为:(-t :)排列
40.nc指令
功能说明:用于设置路由器,是网络工具中的瑞士军刀。
(ps.NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。netcat(简写是nc) 是 linux 上非常有用的网络工具,它能通过 TCP 和 UDP 在网络中读写数据。通过配合使用其他工具和重定向,可以在脚本中以多种方式使用它。netcat 所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。)
语法:
nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>]
[-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
选项:
-g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。
实例:
①扫描端口
#nc -nv 10.1.1.28 22 #扫描10.1.1.28的22端口
#nc -nv 10.1.1.28 23 #扫描10.1.1.28的23端口,端口连接拒绝
# nc -zv 10.1.1.28 1-100 #扫描10.1.1.28的端口,范围是1-100,端口连接拒绝
#nc -unv 192.168.0.1 111 #验证10.1.1.28的UDP端口,端口号设置一个1111
②拷贝文件
10.10.1.26是发送端,10.10.1.28是接收端
首先在接收端开启nc监听 (设置一个通信端口666来建立连接)
10.10.1.28 #nc -lp 666 > 5.txt
然后在文件发送终端机器上发送文件
10.10.1.26 #nc 10.10.1.28 666 < 5.txt
10.1.1.28:
③终端之间通信
10.10.1.26 #nc -l 666
10.10.1.28 #nc 10.1.1.26 666
然后两个终端之间就可以聊天互相发信息啦~
❀My学习Linux命令小记录(8)❀over~