[16:05:59 root@localhost ~]#who ZT tty2 2021-11-03 10:45 (tty2) ZT pts/1 2021-11-05 08:28 (10.0.0.1)
[18:23:33 root@localhost ~]#whoami root
[18:25:14 root@localhost ~]#who am i ZT pts/1 2021-11-05 08:28 (10.0.0.1)
[18:26:19 root@localhost ~]#w 18:28:06 up 1 day, 9:25, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ZT tty2 tty2 Wed10 2days 6:02 0.05s /usr/libexec/gsd-disk-utility-notify ZT pts/1 10.0.0.1 08:28 0.00s 1.82s 0.09s sshd: ZT [priv]
[18:30:11 root@localhost ~]#ifconfig ens33: flags=4163mtu 1500 inet 10.0.0.201 netmask 255.255.255.0 broadcast 10.0.0.255 inet6 fe80::20c:29ff:fe72:50b6 prefixlen 64 scopeid 0x20 ether 00:0c:29:72:50:b6 txqueuelen 1000 (Ethernet) RX packets 50078 bytes 45870644 (43.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 23893 bytes 2620659 (2.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 102 bytes 8553 (8.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 102 bytes 8553 (8.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099 mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:68:17:c7 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[18:31:46 root@localhost ~]#history 40 ll -i 41 cp /etc/redhat release f22.txt 42 ll -i 43 cp /etc/redhat-release f22.txt 44 ll -i 45 mv yiling/f22.txt ./it 46 mv yiling/f22.txt ./it 47 mv yiling/f22.txt ./data 48 cd /data 49 mkdir it 50 cd it
[18:33:29 root@localhost ~]#hash hits command 5 /usr/sbin/groupadd 2 /usr/sbin/groupdel 1 /usr/bin/lsblk 5 /usr/bin/groups 1 /usr/sbin/ifconfig 3 /usr/bin/cat 1 /usr/sbin/pidof 2 /usr/bin/who 1 /usr/bin/ln 1 /usr/bin/whoami 9 /usr/bin/id 2 /usr/bin/chfn 1 /usr/bin/chage 1 /usr/bin/w 5 /usr/bin/gpasswd 1 /usr/sbin/usermod 2 /usr/bin/getent
[18:34:37 root@localhost ~]#free total used free shared buff/cache available Mem: 1997772 1090828 124068 9956 782876 743060 Swap: 4194300 63000 4131300
[18:39:54 root@localhost ~]#free -h total used free shared buff/cache available Mem: 1.9Gi 1.0Gi 121Mi 9.0Mi 764Mi 725Mi Swap: 4.0Gi 61Mi 3.9Gi
[18:40:45 root@localhost ~]#free -h -s 3 total used free shared buff/cache available Mem: 1.9Gi 1.0Gi 121Mi 9.0Mi 764Mi 725Mi Swap: 4.0Gi 61Mi 3.9Gi total used free shared buff/cache available Mem: 1.9Gi 1.0Gi 121Mi 9.0Mi 764Mi 725Mi Swap: 4.0Gi 61Mi 3.9Gi total used free shared buff/cache available Mem: 1.9Gi 1.0Gi 121Mi 9.0Mi 764Mi 725Mi Swap: 4.0Gi 61Mi 3.9Gi
[18:41:53 root@localhost ~]#hostname zt [18:44:36 root@zt ~]#hostname zt
[18:47:07 root@zt ~]#type command command is a shell builtin
[18:54:55 root@zt ~]#alias zt=history [18:55:55 root@zt ~]#zt 6 ll 7 ls -i 8 rm -f file 9 ll -i 10 ls -i 11 rm -f file1 12 ls -i 13 cp /etc/redhat-release f2.txt 14 ll -i 15 rm -rf * 16 ll [18:56:24 root@zt ~]#unalias zt [18:57:30 root@zt ~]#zt bash: zt: command not found...
[18:59:02 root@zt ~]#tty /dev/pts/1
[19:04:59 root@zt ~]#hash hits command 1 /usr/bin/tty 1 /usr/bin/hostname 1 /usr/sbin/pidof 2 /usr/bin/who 1 /usr/bin/w [19:10:17 root@zt ~]#enable -n hash [19:10:30 root@zt ~]#hash [19:10:33 root@zt ~]#hash [19:10:55 root@zt ~]#enable hash [19:11:19 root@zt ~]#hash hits command 1 /usr/bin/tty 1 /usr/bin/hostname 2 /usr/bin/hash 1 /usr/sbin/pidof 2 /usr/bin/who 1 /usr/bin/w [19:00:14 root@zt ~]#enable enable . enable : enable [ enable alias enable bg enable bind enable break enable builtin enable caller enable cd enable command enable compgen enable complete enable compopt enable continue enable declare enable dirs enable disown enable echo enable enable enable eval enable exec enable exit enable export enable false enable fc enable fg enable getopts enable hash enable help enable history enable jobs enable kill enable let enable local enable logout enable mapfile enable popd enable printf enable pushd enable pwd enable read enable readarray enable readonly enable return enable set enable shift enable shopt enable source enable suspend enable test enable times enable trap enable true enable type enable typeset enable ulimit enable umask enable unalias enable unset enable wait
-h
或者--help
参数来获取使用方法、参数信息等。[19:12:39 root@zt ~]#help GNU bash, version 4.4.19(1)-release (x86_64-redhat-linux-gnu) These shell commands are defined internally. Type `help' to see this list. Type `help name' to find out more about the function `name'. Use `info bash' to find out more about the shell in general. Use `man -k' or `info' to find out more about commands not in this list. A star (*) next to a name means that the command is disabled. job_spec [&] history [-c] [-d offset] [n] or history -anrw [> (( expression )) if COMMANDS; then COMMANDS; [ elif COMMANDS; th> . filename [arguments] jobs [-lnprs] [jobspec ...] or jobs -x command > : kill [-s sigspec | -n signum | -sigspec] pid | > [ arg... ] let arg [arg ...] [[ expression ]] local [option] name[=value] ... alias [-p] [name[=value] ... ] logout [n] bg [job_spec ...] mapfile [-d delim] [-n count] [-O origin] [-s c> bind [-lpsvPSVX] [-m keymap] [-f filename] [-q n> popd [-n] [+N | -N] break [n] printf [-v var] format [arguments] builtin [shell-builtin [arg ...]] pushd [-n] [+N | -N | dir] caller [expr] pwd [-LP] case WORD in [PATTERN [| PATTERN]...) COMMANDS ;> read [-ers] [-a array] [-d delim] [-i text] [-n> cd [-L|[-P [-e]] [-@]] [dir] readarray [-n count] [-O origin] [-s count] [-t> command [-pVv] command [arg ...] readonly [-aAf] [name[=value] ...] or readonly > compgen [-abcdefgjksuv] [-o option] [-A action] > return [n] complete [-abcdefgjksuv] [-pr] [-DE] [-o option]> select NAME [in WORDS ... ;] do COMMANDS; done compopt [-o|+o option] [-DE] [name ...] set [-abefhkmnptuvxBCHP] [-o option-name] [--] > continue [n] shift [n] coproc [NAME] command [redirections] shopt [-pqsu] [-o] [optname ...] declare [-aAfFgilnrtux] [-p] [name[=value] ...] source filename [arguments] dirs [-clpv] [+N] [-N] suspend [-f] disown [-h] [-ar] [jobspec ... | pid ...] test [expr] echo [-neE] [arg ...] time [-p] pipeline enable [-a] [-dnps] [-f filename] [name ...] times eval [arg ...] trap [-lp] [[arg] signal_spec ...] exec [-cl] [-a name] [command [arguments ...]] [> true exit [n] type [-afptP] name [name ...] export [-fn] [name[=value] ...] or export -p typeset [-aAfFgilnrtux] [-p] name[=value] ... false ulimit [-SHabcdefiklmnpqrstuvxPT] [limit] fc [-e ename] [-lnr] [first] [last] or fc -s [pa> umask [-p] [-S] [mode] fg [job_spec] unalias [-a] name [name ...] for NAME [in WORDS ... ] ; do COMMANDS; done unset [-f] [-v] [-n] [name ...] for (( exp1; exp2; exp3 )); do COMMANDS; done until COMMANDS; do COMMANDS; done function name { COMMANDS ; } or name () { COMMAN> variables - Names and meanings of some shell va> getopts optstring name [arg] wait [-n] [id ...] hash [-lr] [-p pathname] [-dt] [name ...] while COMMANDS; do COMMANDS; done help [-dms] [pattern ...] { COMMANDS ; } [19:16:45 root@zt ~]#command --help command: command [-pVv] command [arg ...] Execute a simple command or display information about commands. Runs COMMAND with ARGS suppressing shell function lookup, or display information about the specified COMMANDs. Can be used to invoke commands on disk when a function with the same name exists. Options: -p use a default value for PATH that is guaranteed to find all of the standard utilities -v print a description of COMMAND similar to the `type' builtin -V print a more verbose description of each COMMAND Exit Status: Returns exit status of COMMAND, or failure if COMMAND is not found.
[19:24:02 root@zt ~]#man ls LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speci‐ fied. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters --block-size=SIZE with -l, scale sizes by SIZE when printing them; e.g., '--block-size=M'; see SIZE format below -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; other‐ wise: sort by ctime, newest first -C list entries by columns --color[=WHEN] colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below -d, --directory list directories themselves, not their contents -D, --dired generate output designed for Emacs' dired mode -f do not sort, enable -aU, disable -ls --color
注:该命令通常用命令“.”来替代。
[19:53:04 root@zt ~]#bc bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. obase=2 99 1100011 obase=8 99 143 obase=10 99 99 obase=16 99 63
[19:54:46 root@zt ~]#date Fri Nov 5 19:55:18 CST 2021
[19:57:42 root@zt ~]#clock 2021-11-05 20:00:50.616566+08:00
[1]查看文件详情:ls -l 或 ll [2]增强对文件大小易读性,以人类可读的形式显示文件大小: ls -lh [3]对文件或者目录进行从大到小的排序: ls -lhs [4]查看当前目录下的所有文件或者目录,包括隐藏文件: ls -la [5]只查看当前目录下的目录文件: ls -d . [6]按照时间顺序查看,从上到倒下时间越来越近: ls -ltr [7]查看文件在对应的inode信息:ls -li
[20:01:46 root@zt ~]#ls 2021-10-22_15-07-27.log anaconda-ks.cfg initial-setup-ks.cfg newuser.txt 2021-10-22.log f1.txt linshi1 user.txt 2021-10-24.log f2.txt localhost.localdomain_2021-10-22.txt 2021-10-24.txt f3.txt localhost.localdomain_2021-10-24.txt [20:07:02 root@zt ~]#ls -l total 28 -rw-r--r--. 1 root root 0 Oct 22 15:07 2021-10-22_15-07-27.log -rw-r--r--. 1 root root 0 Oct 22 14:55 2021-10-22.log -rw-r--r--. 1 root root 0 Oct 24 15:29 2021-10-24.log -rw-r--r--. 1 root root 0 Oct 24 15:31 2021-10-24.txt -rw-------. 1 root root 1535 Oct 18 17:35 anaconda-ks.cfg -rw-r--r--. 1 root root 2 Oct 26 20:16 f1.txt -rw-r--r--. 1 root root 1 Oct 26 20:24 f2.txt -rw-r--r--. 1 root root 1 Oct 24 11:22 f3.txt -rw-r--r--. 1 root root 1826 Oct 18 17:42 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 Oct 25 16:12 linshi1 -rw-r--r--. 1 root root 0 Oct 22 15:26 localhost.localdomain_2021-10-22.txt -rw-r--r--. 1 root root 0 Oct 24 16:37 localhost.localdomain_2021-10-24.txt -rw-r--r--. 1 root root 86 Nov 5 10:27 newuser.txt -rw-r--r--. 1 root root 89 Nov 5 10:21 user.txt [20:08:17 root@zt ~]#ll total 28 -rw-r--r--. 1 root root 0 Oct 22 15:07 2021-10-22_15-07-27.log -rw-r--r--. 1 root root 0 Oct 22 14:55 2021-10-22.log -rw-r--r--. 1 root root 0 Oct 24 15:29 2021-10-24.log -rw-r--r--. 1 root root 0 Oct 24 15:31 2021-10-24.txt -rw-------. 1 root root 1535 Oct 18 17:35 anaconda-ks.cfg -rw-r--r--. 1 root root 2 Oct 26 20:16 f1.txt -rw-r--r--. 1 root root 1 Oct 26 20:24 f2.txt -rw-r--r--. 1 root root 1 Oct 24 11:22 f3.txt -rw-r--r--. 1 root root 1826 Oct 18 17:42 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 Oct 25 16:12 linshi1 -rw-r--r--. 1 root root 0 Oct 22 15:26 localhost.localdomain_2021-10-22.txt -rw-r--r--. 1 root root 0 Oct 24 16:37 localhost.localdomain_2021-10-24.txt -rw-r--r--. 1 root root 86 Nov 5 10:27 newuser.txt -rw-r--r--. 1 root root 89 Nov 5 10:21 user.txt
[20:08:52 root@zt ~]#cat /etc/issue \S Kernel \r on an \m
[1]reboot -d重新启动时不把数据写入记录文件/var/tmp/wtmp
[2]reboot -f强制重新开机,不调用shutdown指令的功能
[3]reboot -h在系统关机或poweroff之前,将所有的硬盘处于待机模式
[4]reboot -i关闭网络设置之后再重新启动系统
[5]reboot -n保存数据后再重新启动系统
[6]reboot -w仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
shutdown关机指令,关机同时关闭电源,只有拥有root权限的用户才可以执行(普通用户需要root授权),发送信号给init,使之改变运行级别(run level)来实现关机
[1]shutdown -r 重启 [2]shutdown -P相当于poweroff [3]shutdown -H相当于hatl [4]shutdown -k不关机但是发送警告给用户 [5]shutdown 加时间,如shutdown now / shutdown 22:22可以在指定时间关机,在关机前,也可以执行shutdown -c取消关机。
halt 关机但是不关闭电源,需要手动关闭电源(加p参数会关闭电源),不加参数时调用shutdown来关机。halt被称为最简单的关机命令,它会通知硬件停止所有的CPU功能,执行时会杀死进程,执行sync系统调用文件系统写操作,完成后就会停止内核。
poweroff:关机同时关闭电源,会发送一个ACPI信号通知系统关机
[root@zt ~]# su - ZT [ZT@zt ~]$ exit logout [root@zt ~]#
[20:38:47 root@zt ~]#cd /data [20:43:42 root@zt data]#cd [20:43:49 root@zt ~]#
[20:46:53 root@zt ~]#yes 666666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 ^C
-i 如果目标已存在,覆盖前提示覆盖。
-n 不覆盖
-r, -R 递归复制目录及内部的所有内容
-p 保留权限和时间戳(保留了权限,所属主和组,时间戳)、
—preserv= { mode, ownership timestamp links, xattr, context,all}
-d 不复制原文件,只复制连接名。
-a, 归档,相当于 -dR —preserv=all (常用于备份文件,比较全)
-v —verbose 显示过程
-u —update 只复制源比目标新的文件或目录
-b 目标存在,覆盖前先备份,filename~ 只保留一份(cento7)
—backup=numberd 目标存在,覆盖前先备份并且文件名加数字filename.~1~
--backup[=CONTROL] : 为每个已存在的目标文件创建备份 -b : 类似–backup 但不接受参数 -f, --force : 覆盖前不询问 -i, --interactive : 覆盖前询问 -n, –nechoo-clobber : 不覆盖已存在文件 如果您指定了-i、-f、-n 中的多个,仅最后一个生效。 --strip-trailing-slashes : 去掉每个源文件参数尾部的斜线 -S, --suffix=SUFFIX : 替换常用的备份文件后缀 -t, --target-directory=DIRECTORY : 将所有参数指定的源文件或目录 移动至 指定目录 -T,--no-target-directory : 将目标文件视作普通文件处理 -u, --update : 只在源文件文件比目标文件新,或目标文件不存在时才进行移动 -v, --verbose : 详细显示进行的步骤
rmdir功能是删除一个空的目录。
[09:23:44 root@zt data]#ll total 0 [09:23:46 root@zt data]#mkdir f1 [09:23:53 root@zt data]#ll total 0 drwxr-xr-x. 2 root root 6 Nov 6 09:23 f1 [09:23:55 root@zt data]#rmdir f1 [09:24:07 root@zt data]#ll total 0 [09:24:10 root@zt data]#
将已存在的文件的时间标签改修改为系统当前的时间(默认),也可以通过参数指定时间,但是数据原封不动。
用来创建新的空文件,这个应该是最常用的一种方法。
-a:或--time=atime或--time=access或--time=use 只更改存取时间; -c: 或--no-create 不建立新文件 -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题; -m:或--time=mtime或--time=modify 只更该变动时间; -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同; -t:<日期时间> 使用指定的日期时间,而非现在的时间;
09:30:15 root@zt data]#touch {1..10} [09:30:33 root@zt data]#ll total 0 -rw-r--r--. 1 root root 0 Nov 6 09:30 1 -rw-r--r--. 1 root root 0 Nov 6 09:30 10 -rw-r--r--. 1 root root 0 Nov 6 09:30 2 -rw-r--r--. 1 root root 0 Nov 6 09:30 3 -rw-r--r--. 1 root root 0 Nov 6 09:30 4 -rw-r--r--. 1 root root 0 Nov 6 09:30 5 -rw-r--r--. 1 root root 0 Nov 6 09:30 6 -rw-r--r--. 1 root root 0 Nov 6 09:30 7 -rw-r--r--. 1 root root 0 Nov 6 09:30 8 -rw-r--r--. 1 root root 0 Nov 6 09:30 9
[09:35:38 root@zt ~]#whereis command command: /usr/bin/command /usr/share/man/man1/command.1.gz /usr/share/man/man1p/command.1p.gz
[09:42:33 root@zt mallard]#pwd /etc/xml/mallard
[09:43:08 root@zt ~]#lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 2G 0 part /boot └─sda2 8:2 0 18G 0 part ├─cl-root 253:0 0 14G 0 lvm / └─cl-swap 253:1 0 4G 0 lvm [SWAP] sr0 11:0 1 9.3G 0 rom /run/media/ZT/CentOS-8-4-2105-x86_64-dvd
-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符;
-s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;
-t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。
[:alnum:]:字母和数字 [:alpha:]:字母 [:cntrl:]:控制(非打印)字符 [:digit:]:数字 [:graph:]:图形字符 [:lower:]:小写字母 [:print:]:可打印字符[:punct:]:标点符号 [:space:]:空白字符 [:upper:]:大写字母 [:xdigit:]:十六进制字符
[09:53:00 root@zt ~]#tr '123' 'abc' 123456 abc456 [09:54:08 root@zt ~]#tr '123' 'abcd' 123456 abc456 [09:55:43 root@zt ~]#tr '1234' 'abc' 123456 abcc56
编辑器
-b 删除,覆盖以前建立的链接 -d 允许超级用户制作目录的硬链接 -f 强制执行 -i 交互模式,文件存在则提示用户是否覆盖 -n 把符号链接视为一般目录 -s 软链接(符号链接) -v 显示详细的处理过程
[10:16:17 root@zt ~]#cal November 2021 Su Mo Tu We Th Fr Sa 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
uname -r : 显示操作系统的发行版号 uname -a :显示系统名、节点名称、操作系统的发行版号、内核版本等等
[10:18:17 root@zt ~]#uname Linux [10:20:22 root@zt ~]#uname -a Linux zt 4.18.0-305.3.1.el8.x86_64 #1 SMP Tue Jun 1 16:14:33 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux [10:21:51 root@zt ~]#uname -r 4.18.0-305.3.1.el8.x86_64
[10:22:03 root@zt ~]#basename /etc/undv/mallard mallard
[11:16:06 root@zt ~]#dirname /etc/undv/mallard /etc/undv
-a,--all:全部文件系统列表 -B, --block-size=SIZE:指定分区块大小 -h:人类可阅读的方式显示 -i:以inode模式来显示磁盘使用情况 -k:区块为1024字节 -m:区块为1048576字节 -l:只显示本地文件系统
[11:18:43 root@zt ~]#df Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 968592 0 968592 0% /dev tmpfs 998884 0 998884 0% /dev/shm tmpfs 998884 9676 989208 1% /run tmpfs 998884 0 998884 0% /sys/fs/cgroup /dev/mapper/cl-root 14665728 5035168 9630560 35% / /dev/sda1 2086912 237328 1849584 12% /boot tmpfs 199776 3508 196268 2% /run/user/1000 /dev/sr0 9695644 9695644 0 100% /run/media/ZT/CentOS-8-4-2105-x86_64-dvd
-n length:格式化输出文件的前length个字节 -C:输出规范的十六进制和ASCII码 -b:单字节八进制显示 -c:单字节字符显示 -d:双字节十进制显示 -o:双字节八进制显示 -x:双字节十六进制显示 -s:从偏移量开始输出 -e 指定格式字符串,格式字符串由单引号包含,格式字符串形如:’a/b “format1” “format2”。每个格式字符串由三部分组成,每个由空格分割,如a/b表示,b表示对每b个输入字节应用format1格式,a表示对每个a输入字节应用format2,一般a>b,且b只能为1,2,4,另外a可以省略,省略a=1。format1和format2中可以使用类似printf的格斯字符串。 %02d:两位十进制 %03x:三位十六进制 %02o:两位八进制 %c:单个字符等 %ad:标记下一个输出字节的序号,用十进制表示 %ax:标记下一个输出字节的序号,用十六进制表示 %ao:标记下一个输出字节的序号,用八进制表示 %p:对不能以常规字符显示的用.代替 同一行显示多个格式字符串,可以跟多个-e选项
[14:35:28 root@zt data]#hexdump f1 0000000 3231 3133 3332 000a 0000007 [14:35:35 root@zt data]#hexdump -C f1 00000000 31 32 33 31 32 33 0a |123123.| 00000007
[14:39:31 root@zt ~]#ll /data total 4 -rw-r--r--. 1 root root 0 Nov 6 09:30 1 -rw-r--r--. 1 root root 0 Nov 6 09:30 10 -rw-r--r--. 1 root root 0 Nov 6 09:30 2 -rw-r--r--. 1 root root 0 Nov 6 09:30 3 -rw-r--r--. 1 root root 0 Nov 6 09:30 4 -rw-r--r--. 1 root root 0 Nov 6 09:30 5 -rw-r--r--. 1 root root 0 Nov 6 09:30 6 -rw-r--r--. 1 root root 0 Nov 6 09:30 7 -rw-r--r--. 1 root root 0 Nov 6 09:30 8 -rw-r--r--. 1 root root 0 Nov 6 09:30 9 -rw-r--r--. 1 root root 7 Nov 6 14:35 f1 [14:39:49 root@zt ~]#stat /data File: /data Size: 107 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 10074914 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:default_t:s0 Access: 2021-11-06 14:39:42.679434356 +0800 Modify: 2021-11-06 14:35:28.623419437 +0800 Change: 2021-11-06 14:35:28.623419437 +0800 Birth: -
-n 表示不换行输出 -e 表示转义字符
[14:40:03 root@zt ~]#echo 123456 123456 [14:44:27 root@zt ~]#echo -n 123456 123456[14:44:37 root@zt ~]#
[14:49:11 root@zt ~]#su - zt [zt@zt ~]$ su - root Password: [root@zt ~]#
rm -rf * 删除当前目录下的所有文件
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
注意:一般的删除操作用rm 即可 。
[14:57:33 root@zt ~]#lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 2 NUMA node(s): 1 Vendor ID: GenuineIntel BIOS Vendor ID: GenuineIntel CPU family: 6 Model: 37 Model name: Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz BIOS Model name: Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz Stepping: 5 CPU MHz: 2394.060 BogoMIPS: 4788.12 Hypervisor vendor: VMware Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm pti tsc_adjust arat
screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。当断开或关闭终端时,只要不杀死screen的进程,待重新连接后任能继续断开前的操作。
启动screen方式有两种,一种是直接在命令提示符下输入screen,这时Screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样。在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切换到前一个窗口。另一种方式是在screen命令后跟你要执行的程序,例如“ screen ftp”,Screen创建一个执行ftp命令的单窗口会话,退出ftp将退出该窗口/会话。
Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。
按下Ctrl+d或者显式输入exit命令,就可以退出 Tmux 窗口。
在 Tmux 窗口中,按下Ctrl+b d或者输入tmux detach命令,就会将当前会话与窗口分离。
tmux ls命令可以查看当前所有的 Tmux 会话。
tmux attach命令用于重新接入某个已存在的会话。
tmux kill-session命令用于杀死某个会话。
tmux switch命令用于切换会话。
[14:57:46 root@zt ~]#seq 1 10 1 2 3 4 5 6 7 8 9 10
-f 该参数用于监视File文件增长。 -c Number 从 Number 字节位置读取指定文件 -n Number 从 Number 行位置读取指定文件。 -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。 -b Number 从 Number 表示的512字节块位置读取指定文件。 -k Number 从 Number 表示的1KB块位置读取指定文件。
[15:19:10 root@zt /]#tail /data/f1 123123agagagagaoijaoijoirarahaoo[a8q354y q2t084ptjaw8eugaom5]p yw4-95iuhw5wuipesug98au0 4qt0qi9 m8qutyq3yq 5yq35yi90qu8 r7g 8ioi4tyhq3yq rqrj098a7708io43jqpotjkagar ahjaih89984qj4iojktjmkra [15:20:59 root@zt /]#tail -n 4 /data/f1 5yq35yi90qu8 r7g 8ioi4tyhq3yq rqrj098a7708io43jqpotjkagar ahjaih89984qj4iojktjmkra
-a显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
[15:22:06 root@zt /]#ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.7 252396 14220 ? Ss Nov04 0:14 /usr/lib/systemd/systemd --switched- root 2 0.0 0.0 0 0 ? S Nov04 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< Nov04 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< Nov04 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< Nov04 0:00 [kworker/0:0H-events_highpri] root 8 0.0 0.0 0 0 ? I< Nov04 0:00 [mm_percpu_wq] root 9 0.0 0.0 0 0 ? S Nov04 0:00 [ksoftirqd/0] root 10 0.0 0.0 0 0 ? I Nov04 0:28 [rcu_sched] root 11 0.0 0.0 0 0 ? S Nov04 0:00 [migration/0] root 12 0.0 0.0 0 0 ? S Nov04 0:00 [watchdog/0] root 13 0.0 0.0 0 0 ? S Nov04 0:00 [cpuhp/0] root 14 0.0 0.0 0 0 ? S Nov04 0:00 [cpuhp/1] root 15 0.0 0.0 0 0 ? S Nov04 0:00 [watchdog/1] root 16 0.0 0.0 0 0 ? S Nov04 0:00 [migration/1] root 17 0.0 0.0 0 0 ? S Nov04 0:00 [ksoftirqd/1] root 19 0.0 0.0 0 0 ? I< Nov04 0:00 [kworker/1:0H-events_highpri] root 20 0.0 0.0 0 0 ? S Nov04 0:00 [cpuhp/2] root 21 0.0 0.0 0 0 ? S Nov04 0:00 [watchdog/2] root 22 0.0 0.0 0 0 ? S Nov04 0:00 [migration/2] root 23 0.0 0.0 0 0 ? S Nov04 0:00 [ksoftirqd/2] root 25 0.0 0.0 0 0 ? I< Nov04 0:00 [kworker/2:0H-events_highpri] root 26 0.0 0.0 0 0 ? S Nov04 0:00 [cpuhp/3] root 27 0.0 0.0 0 0 ? S Nov04 0:00 [watchdog/3] root 28 0.0 0.0 0 0 ? S Nov04 0:00 [migration/3] root 29 0.0 0.0 0 0 ? S Nov04 0:00 [ksoftirqd/3] root 31 0.0 0.0 0 0 ? I< Nov04 0:00 [kworker/3:0H-events_highpri] root 33 0.0 0.0 0 0 ? S Nov04 0:00 [kdevtmpfs] root 34 0.0 0.0 0 0 ? I< Nov04 0:00 [netns] root 35 0.0 0.0 0 0 ? S Nov04 0:00 [kauditd] root 38 0.0 0.0 0 0 ? S Nov04 0:00 [khungtaskd] root 39 0.0 0.0 0 0 ? S Nov04 0:00 [oom_reaper] root 40 0.0 0.0 0 0 ? I< Nov04 0:00 [writeback] root 41 0.0 0.0 0 0 ? S Nov04 0:00 [kcompactd0] root 42 0.0 0.0 0 0 ? SN Nov04 0:00 [ksmd] root 43 0.0 0.0 0 0 ? SN Nov04 0:06 [khugepaged] root 44 0.0 0.0 0 0 ? I< Nov04 0:00 [crypto] root 45 0.0 0.0 0 0 ? I< Nov04 0:00 [kintegrityd] root 46 0.0 0.0 0 0 ? I< Nov04 0:00 [kblockd] root 47 0.0 0.0 0 0 ? I< Nov04 0:00 [blkcg_punt_bio] root 48 0.0 0.0 0 0 ? I< Nov04 0:00 [tpm_dev_wq] root 49 0.0 0.0 0 0 ? I< Nov04 0:00 [md] root 50 0.0 0.0 0 0 ? I< Nov04 0:00 [edac-poller] root 51 0.0 0.0 0 0 ? S Nov04 0:00 [watchdogd] root 53 0.0 0.0 0 0 ? I< Nov04 0:00 [kworker/0:1H-kblockd] root 65 0.0 0.0 0 0 ? S Nov04 0:15 [kswapd0] root 158 0.0 0.0 0 0 ? I< Nov04 0:00 [kthrotld] root 159 0.0 0.0 0 0 ? S Nov04 0:00 [irq/24-pciehp] root 160 0.0 0.0 0 0 ? S Nov04 0:00 [irq/25-pciehp] root 161 0.0 0.0 0 0 ? S Nov04 0:00 [irq/26-pciehp] root 162 0.0 0.0 0 0 ? S Nov04 0:00 [irq/27-pciehp] root 163 0.0 0.0 0 0 ? S Nov04 0:00 [irq/28-pciehp] root 164 0.0 0.0 0 0 ? S Nov04 0:00 [irq/29-pciehp] root 165 0.0 0.0 0 0 ? S Nov04 0:00 [irq/30-pciehp] root 166 0.0 0.0 0 0 ? S Nov04 0:00 [irq/31-pciehp] root 167 0.0 0.0 0 0 ? S Nov04 0:00 [irq/32-pciehp] root 168 0.0 0.0 0 0 ? S Nov04 0:00 [irq/33-pciehp] root 169 0.0 0.0 0 0 ? S Nov04 0:00 [irq/34-pciehp] root 170 0.0 0.0 0 0 ? S Nov04 0:00 [irq/35-pciehp] root 171 0.0 0.0 0 0 ? S Nov04 0:00 [irq/36-pciehp] root 172 0.0 0.0 0 0 ? S Nov04 0:00 [irq/37-pciehp] root 173 0.0 0.0 0 0 ? S Nov04 0:00 [irq/38-pciehp] root 174 0.0 0.0 0 0 ? S Nov04 0:00 [irq/39-pciehp] root 175 0.0 0.0 0 0 ? S Nov04 0:00 [irq/40-pciehp] root 176 0.0 0.0 0 0 ? S Nov04 0:00 [irq/41-pciehp] root 177 0.0 0.0 0 0 ? S Nov04 0:00 [irq/42-pciehp] root 178 0.0 0.0 0 0 ? S Nov04 0:00 [irq/43-pciehp] root 179 0.0 0.0 0 0 ? S Nov04 0:00 [irq/44-pciehp] root 180 0.0 0.0 0 0 ? S Nov04 0:00 [irq/45-pciehp] root 181 0.0 0.0 0 0 ? S Nov04 0:00 [irq/46-pciehp] root 182 0.0 0.0 0 0 ? S Nov04 0:00 [irq/47-pciehp] root 183 0.0 0.0 0 0 ? S Nov04 0:00 [irq/48-pciehp] root 184 0.0 0.0 0 0 ? S Nov04 0:00 [irq/49-pciehp] root 185 0.0 0.0 0 0 ? S Nov04 0:00 [irq/50-pciehp] root 186 0.0 0.0 0 0 ? S Nov04 0:00 [irq/51-pciehp] root 187 0.0 0.0 0 0 ? S Nov04 0:00 [irq/52-pciehp] root 188 0.0 0.0 0 0 ? S Nov04 0:00 [irq/53-pciehp] root 189 0.0 0.0 0 0 ? S Nov04 0:00 [irq/54-pciehp] root 190 0.0 0.0 0 0 ? S Nov04 0:00 [irq/55-pciehp] root 191 0.0 0.0 0 0 ? I< Nov04 0:00 [acpi_thermal_pm] root 192 0.0 0.0 0 0 ? I< Nov04 0:00 [kmpath_rdacd] root 193 0.0 0.0 0 0 ? I< Nov04 0:00 [kaluad] root 195 0.0 0.0 0 0 ? I< Nov04 0:00 [ipv6_addrconf] root 196 0.0 0.0 0 0 ? I< Nov04 0:00 [kstrp] root 275 0.0 0.0 0 0 ? I< Nov04 0:01 [kworker/2:1H-xfs-log/dm-0] root 309 0.0 0.0 0 0 ? I< Nov04 0:00 [kworker/3:1H-kblockd] root 311 0.0 0.0 0 0 ? I< Nov04 0:00 [kworker/1:1H-kblockd] root 488 0.0 0.0 0 0 ? I< Nov04 0:00 [mpt_poll_0] root 489 0.0 0.0 0 0 ? I< Nov04 0:00 [mpt/0] root 490 0.0 0.0 0 0 ? I< Nov04 0:00 [ata_sff] root 491 0.0 0.0 0 0 ? S Nov04 0:00 [scsi_eh_0] root 492 0.0 0.0 0 0 ? I< Nov04 0:00 [scsi_tmf_0] root 493 0.0 0.0 0 0 ? S Nov04 0:00 [scsi_eh_1] root 494 0.0 0.0 0 0 ? I< Nov04 0:00 [scsi_tmf_1] root 495 0.0 0.0 0 0 ? S Nov04 0:00 [scsi_eh_2] root 496 0.0 0.0 0 0 ? I< Nov04 0:00 [scsi_tmf_2] root 504 0.0 0.0 0 0 ? S Nov04 0:00 [irq/16-vmwgfx] root 505 0.0 0.0 0 0 ? I< Nov04 0:00 [ttm_swap] root 506 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc0] root 507 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc1] root 508 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc2] root 509 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc3] root 510 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc4] root 511 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc5] root 512 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc6] root 513 0.0 0.0 0 0 ? S Nov04 0:00 [card0-crtc7] root 586 0.0 0.0 0 0 ? I< Nov04 0:00 [kdmflush] root 595 0.0 0.0 0 0 ? I< Nov04 0:00 [kdmflush] root 620 0.0 0.0 0 0 ? I< Nov04 0:00 [xfsalloc] root 622 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs_mru_cache] root 623 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-buf/dm-0] root 624 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-conv/dm-0] root 625 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-cil/dm-0] root 626 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-reclaim/dm-] root 627 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-eofblocks/d] root 628 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-log/dm-0] root 629 0.0 0.0 0 0 ? S Nov04 0:11 [xfsaild/dm-0] root 726 0.0 0.6 101360 12408 ? Ss Nov04 0:05 /usr/lib/systemd/systemd-journald root 762 0.0 0.5 126640 11504 ? Ss Nov04 0:01 /usr/lib/systemd/systemd-udevd root 846 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-buf/sda1] root 847 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-conv/sda1] root 848 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-cil/sda1] root 849 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-reclaim/sda] root 850 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-eofblocks/s] root 851 0.0 0.0 0 0 ? I< Nov04 0:00 [xfs-log/sda1] root 852 0.0 0.0 0 0 ? S Nov04 0:00 [xfsaild/sda1] rpc 876 0.0 0.2 67176 5456 ? Ss Nov04 0:00 /usr/bin/rpcbind -w -f root 878 0.0 0.1 150804 2804 ? S55、Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
56、inode包含文件的元信息,每个inode都有一个号码,操作系统用inode号码来识别不同的文件,具体来说有以下内容:
Size 文件的字节数
Uid 文件拥有者的User ID
Gid 文件的Group ID
Access 文件的读、写、执行权限
文件的时间戳,共有三个:
Change 指inode上一次变动的时间
Modify 指文件内容上一次变动的时间
Access 指文件上一次打开的时间
Links 链接数,即有多少文件名指向这个inode
Inode 文件数据block的位置
Blocks 块数
IO Blocks 块大小
Device 设备号码
57、tree 以树状格式列出目录的内容, 查看文件系统的结构
-a打印所有文件,包括隐藏文件、目录
-C在文件和目录清单上加上色彩,便于区分文件类型
-d仅列出目录名称,而非内容
-D列出文件或目录更改时间
-L目录树的最大显示深度
-f打印每个文件的完整路径前缀
[15:40:01 root@zt ~]#tree . ├── 2021-10-22_15-07-27.log ├── 2021-10-22.log ├── 2021-10-24.log ├── 2021-10-24.txt ├── anaconda-ks.cfg ├── f1.txt ├── f2.txt ├── f3.txt ├── initial-setup-ks.cfg ├── linshi1 ├── localhost.localdomain_2021-10-22.txt ├── localhost.localdomain_2021-10-24.txt ├── newuser.txt └── user.txt 1 directory, 13 files58、shred 粉碎文件,多次覆盖文件,使得即使是昂贵的硬件探测仪器也难以将数据复原
-f, --force 必要时修改权限以使目标可写 -n, --iterations=N 覆盖N 次,而非使用默认的3 次 --random-source=文件 从指定文件中取出随机字节 -s, --size=N 粉碎数据为指定字节的碎片(可使用K、M 和G 作为单位) -u, --remove 覆盖后截断并删除文件 -v, --verbose 显示详细信息 -x, --exact 不将文件大小增加至最接近的块大小 -z, --zero 最后一次使用0 进行覆盖以隐藏覆盖动作
59、whatis 命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上,相当于 man -f
60、/dev/null 是一个文件,相当于垃圾桶
61、ln命令的功能是为某一个文件在另外一个位置建立一个同步的链接
62、dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
63、stdin标准输入 stdout标准输出 stderr 标准错误
64、tee给一个root文件添加内容
65、echo $PATH 显示当前PATH环境变量
[15:45:12 root@zt ~]#echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [16:01:04 root@zt ~]#echo $SHELL /bin/bash66、1> 或 > 把STDOUT重定向到文件
>| 强制覆盖
2> 把STDERR重定向到文件
&> 把所有输出重定向到文件
&>> 追加内容重定向
>> 可以在原有内容上追加内容
1>> 追加标准输出重定向至文件
2>> 追加标准错误重定向至文件
错误重定向 输出的不一定都是错误,还有可能是警告,如rm -i 删除文件时会有提示,这个也属于错误里
面
利用“<” 可以将标准输入重定向
67、head命令和tail命令就像他的名字一样浅显易懂,它是用来显示开头或者结尾某个数量的文字区块,head用来显示档案的开头至标准输出当中,而tail想当然就是查看档案的结尾
-q 隐藏文件名
-v 显示文件名
-c 显示字节数
-n 显示的行数
[16:09:55 root@zt /]#head /data/f1 1 2 3 4 5 6 7 8 9 10 [16:10:19 root@zt /]#head -n 5 /data/f1 1 2 3 4 568、wc该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
[16:12:42 root@zt /]#wc /data/f1 10 10 21 /data/f169、“|"管道符 将命令1的stdout发送给命令2的stdin
[16:12:58 root@zt /]#echo {1..10} 1 2 3 4 5 6 7 8 9 10 [16:15:37 root@zt /]#echo {1..10} | tr ' ' '+' 1+2+3+4+5+6+7+8+9+1070、passwd可以修改用户密码
-d 删除指定的用户密码
-l 锁定指定用户
-u 解锁指定用户
-e 强制用户下次登录修改密码
-f强制操作
-n mindays 指定最短使用期限
-x maxdays 最大使用期限
-w warndays 提前多少天开始警告
-i inactivedays 非活动期限
--stdin 从标准输入接收用户密码
[16:18:03 root@zt ~]#passwd zt Changing password for user zt. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully.71、useradd命令可以创建新的linux用户
useradd 增加用户
-r 创建系统用户(<1000,一般给应用程序用) -u 指定uid -g 主组(名或gid) 指定gid -G 附加组 -c 增加描述 -M 不创建家目录 -p 指定密码 -s 指定shell -d 修改家目录usermod 修改用户属性
-u UID:新UID -g GID:新主组 -G GROUP1[,GROUP2,...[GROUPN]]:新附加组将会被覆盖;若保留原有,则要同时使用-a -d 修改家目录 -c 修改描述,新的注释信息 -s 修改shell -L 锁定用户 将/etc/shadow密码栏的增加! -U 解锁用户 -l 修改用户名 new username old username -e YYYY-MM-DD:指明用户账号过期日期 -f 设定非活动期限,即宽限期userdel 删除用户
userdel 选项 -r删除用户所有信息包含各类数据信息 -f 强制删除[16:35:18 root@zt ~]#useradd zt [16:35:31 root@zt ~]#getent shadow zt zt:!!:18937:0:99999:7::: [16:35:38 root@zt ~]#userdel -rf zt userdel: user zt is currently used by process 48637 [16:35:53 root@zt ~]#getent shadow root:$6$HNvWPYbjHmKlw6Eg$FG5MbeyIEMUuW.oiGMmt00mANsZPpxTW5oIUwpZ.pD/i2wF0oh2jSAjAeeRsxTrEwi0IK2MEzSxyq5vEi2s7Z/::0:99999:7::: bin:*:18397:0:99999:7::: daemon:*:18397:0:99999:7::: adm:*:18397:0:99999:7::: lp:*:18397:0:99999:7::: sync:*:18397:0:99999:7::: shutdown:*:18397:0:99999:7::: halt:*:18397:0:99999:7::: mail:*:18397:0:99999:7::: operator:*:18397:0:99999:7::: games:*:18397:0:99999:7::: ftp:*:18397:0:99999:7::: nobody:*:18397:0:99999:7::: dbus:!!:18918:::::: systemd-coredump:!!:18918:::::: systemd-resolve:!!:18918:::::: tss:!!:18918:::::: polkitd:!!:18918:::::: geoclue:!!:18918:::::: rtkit:!!:18918:::::: pipewire:!!:18918:::::: pulse:!!:18918:::::: libstoragemgmt:!!:18918:::::: qemu:!!:18918:::::: usbmuxd:!!:18918:::::: unbound:!!:18918:::::: gluster:!!:18918:::::: rpc:!!:18918:0:99999:7::: avahi:!!:18918:::::: saslauth:!!:18918:::::: dnsmasq:!!:18918:::::: radvd:!!:18918:::::: sssd:!!:18918:::::: cockpit-ws:!!:18918:::::: cockpit-wsinstance:!!:18918:::::: chrony:!!:18918:::::: colord:!!:18918:::::: rpcuser:!!:18918:::::: setroubleshoot:!!:18918:::::: flatpak:!!:18918:::::: gdm:!!:18918:::::: clevis:!!:18918:::::: gnome-initial-setup:!!:18918:::::: sshd:!!:18918:::::: tcpdump:!!:18918:::::: ZT:$6$AeNztOCNVKgYdW/Z$wQG4EJTD9McT8qeHupGOD.YDgd3sUM58gLrAHDDkfZvOZxqhkTRSvlulh9hBWBtXKiGZpePjg3F3gAoQ6LgQS/::0:99999:7::: test2:!!:18936:0:99999:7::: test21:$6$dvg05ipfaV/GYvn$fAs7PFLtjh/p0tfswFXIliN1gwU1qEY3eKU2Ghmnfy97zfINi8t7PR99kiuvWLfQre..VwneKlRKSIDHEURBD0:18936:0:99999:7::: test20:$6$XWwbMOudxExD6xO8$urYFCHMkVJZY8KXMRTuA0MXGyeUQ.fgFuRgFaVdR3ZJh7YXf03Eltn4UJXQjAONv7pCYmRRpKQ0kIESmIfGlt/:0:0:99999:7::: test4:!!:18936:0:99999:7::: [16:36:04 root@zt ~]#72、groupadd 实现创建组
-g GID 指明GID号 -r 创建系统组groupmod修改用户组
-n 新名字 -g 新的gidgroupdel删除用户组
-f --force强制删除,即使是用户发主组也强制删除组组密码:gpasswd 也可以修改组成员关系
-a user 将user添加到指定组中 -d user 从指定组中移除用户user -A user1,user2...设置有管理权限的用户列表[16:40:23 root@zt ~]#useradd zt [16:40:35 root@zt ~]#groupadd f1 [16:41:12 root@zt ~]#id zt uid=2003(zt) gid=2003(zt) groups=2003(zt) [16:41:16 root@zt ~]#gpasswd -a zt f1 Adding user zt to group f1 [16:41:35 root@zt ~]#id zt uid=2003(zt) gid=2003(zt) groups=2003(zt),2008(f1) [16:42:22 root@zt ~]#groups zt zt : zt f1 [16:42:29 root@zt ~]#getent group f1 f1:x:2008:zt [16:42:52 root@zt ~]#groupadd f2 [16:43:11 root@zt ~]#gpasswd -a zt f2 Adding user zt to group f2 [16:43:50 root@zt ~]#id zt uid=2003(zt) gid=2003(zt) groups=2003(zt),2008(f1),2009(f2) [16:44:04 root@zt ~]#groups zt zt : zt f1 f2 [16:44:31 root@zt ~]#getent group f2 f2:x:2009:zt [16:46:15 root@zt ~]#gpasswd -d zt f1 Removing user zt from group f1 [16:46:25 root@zt ~]#groups zt zt : zt f2 [16:46:35 root@zt ~]#getent group f1 f1:x:2008: [16:47:03 root@zt ~]#gpasswd -d zt f2 Removing user zt from group f2 [16:47:20 root@zt ~]#groups zt zt : zt73、newgroup+组名可以临时切换主组
74、groupments 可以管理组成员的关系
-g --group groupname # 更改为指定组(只有root)
-a --add username # 指定用户加入组
-d --delete username 从组中删除用户
-p --purge 从组中清除所有成员
-l --list 显示组成员列表
75、getent查询用户组下面的所有成员
[17:20:31 root@zt ~]#getent group f1 f1:x:2008:76、finger命令用来查找并显示用户信息,系统管理员通过使用该命令可以知道某个时候到底有多少用户在使用这台Linux主机。
77、chage命令用于密码实效管理,该是用来修改帐号和密码的有效期限。它可以修改账号和密码的有效期
78、id打印实际和有效的用户和组ID
[17:24:02 root@zt ~]#id zt uid=2003(zt) gid=2003(zt) groups=2003(zt)79、usermod命令可以修改用户属性
-u UID:新UID
-g GID:新主组
-G GROUP1[,GROUP2,...[GROUPN]]:新附加组将会被覆盖;若保留原有,则要同时使用-a
-d 修改家目录
-c 修改描述,新的注释信息
-s 修改shell
-L 锁定用户 将/etc/shadow密码栏的增加!
-U 解锁用户
-l 修改用户名 new username old username
-e YYYY-MM-DD:指明用户账号过期日期
-f 设定非活动期限,即宽限期
80、passwd可以修改用户密码
d 删除指定的用户密码
-l 锁定指定用户
-u 解锁指定用户
-e 强制用户下次登录修改密码
-f强制操作
-n mindays 指定最短使用期限
-x maxdays 最大使用期限
-w warndays 提前多少天开始警告
-i inactivedays 非活动期限
--stdin 从标准输入接收用户密码
81、groupments 可以管理组成员的关系
-g --group groupname # 更改为指定组(只有root)
-a --add username # 指定用户加入组
-d --delete username 从组中删除用户
-p --purge 从组中清除所有成员
-l --list 显示组成员列表