接着上一篇,继续肝

事件日期类

date 设置系统时间

命令 描述
date 直接数出 时间信息 如:2022年 08月 18日 星期四 10:20:30 CST
date +%Y 显示当前年份
date+%m 显示当前月份
date+%d 显示当前月的第几天数
date “+%Y-%m-%d %H:%M:%S” 输出 年月日时分秒
date +%s 当前秒数时间戳
date -d “1 days ago” 返回前一天的时间 (1可以自定义)
date -d “-2 hours ago” 返回两小时后的时间(-2可以自定义)
date -s “2017-06-19 20:52:15” 将系统时间设为 2017-06-19 20:52:15
hwclock -s 通过硬件配置系统时间
ntpdate ntp1.aliyun.com 联网 同步时间 (阿里云服务)

cal 查看日历

命令 描述
cal 当前做在的月份日历
cal -1, –one 只显示当前月份(默认)
cal -3, –three 显示上个月、当月和下个月
cal -s, –sunday 周日作为一周第一天
cal -m, –monday 周一用为一周第一天
cal -j, –julian 输出儒略日
cal -y, –year 输出整年(当前年)
cal -V, –version 显示版本信息并退出
cal -h, –help 显示此帮助并退出
cal 2001 输出2001整年日历

用户管理

useradd 添加新用户

命令 描述
useradd [用户名] 添加新用户
useradd -d /home/dave david 创建 dave 文件夹 但是 用户名是 david
useradd -g [组名] [用户名] 创建 [用户名] 这个用户,并且组名是 [组名]
passwd [用户名] 给新用户设置密码
exit 登出

id 查看用户是否存在

命令 描述
id [用户名] 查看用户是否存在

查看创建了哪些用户

命令 描述
cat /etc/passwd 查看创建了哪些用户

who 查询登录用户信息

命令 描述
who am i
whoami
  • 一个有着哲学问题的命令 文字解释很复杂 请自行测试

sudo 设置普通用户具有root权限

命令 描述
sudo [用户名] 将 [用户名] 设为可以使用 root 权限

执行完毕后 填写用户密码 之后 提示tony 不在 sudoers 文件中。此事将被报告。

那就需要 在 sudoers 中添加配置

  1. 首先切换回 root 权限

  2. 在终端输入 vim /etc/sudoers

  3. 找到root ALL=(ALL) ALL 这一行 复制并粘贴到下一行

  4. 修改为 下面的格式 [用户名] 是你想要哪个用户可以使用root权限的用户名

1
2
root	   ALL=(ALL)       ALL
[用户名] ALL=(ALL) ALL
  1. :wq!强制保存退出即可

删除用户

命令 描述
userdel [用户名] 删除 [用户名]
userdel -r [用户名] 删除 [用户名] 会删除 /home下面的目录

userdel [用户名] 删除用户不会删除 /home 目录下的 文件 如果想要删除

1
2
3
cd /home

rm -rf [用户名]

用户组管理命令

每个用户都有一个用户组组,系统可以对一个用户组中的所有用户集中管理 不同 Linux 系统对用户组的规定有所不同

如 Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建

用户组的管理涉及用户组的添加、删除、和修改 实际上就是对/etc/group文件的更新

groupadd 新增组

命令 描述
groupadd [组名] 添加 [组名] 组

usermod 修改用户

命令 描述
usermod -g [用户组] [用户名] 修改用户的对应的用户组

查看所有用户组

命令 描述
cat /etc/group 查看所有用户组

groupmod 替换组名

命令 描述
groupmod -n [新组名] [旧组名] 替换组名

groupdel 删除用户组

命令 描述
groupdel [组名] 删除 [组名] 组

文件权限类

文件属性

Linux 系统是一中经典的的多用户系统,不同的用户处于不同的地位,拥有不同的的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一个文件(包括文件目录)的权限作了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

从左到右的10个字符表示

image-20220818143956110

如果没有权限就会出现 [ - ] 而已。从左至右用0-9这些数字来表示

  1. 0首尾表示类型

    ​ 在Linux中第一个字符代表这个文件是目录、文件、链接文件等

    • -代表文件
    • d 代表目录
    • l 代表链接目录
  2. 1-3位确定属主(该文件的所有者)拥有该文件的权限。–User

  3. 4-6位确定属主组(所有者的同组用户)拥有该文件的权限 –Group

  4. 7-9位确定其他用户拥有该权限文件的权限 –Other

rwx作用文件和目录的不同解释

  1. 作用到文件:
    • [ r ] 代表可读(read),看读取,查看
    • [ w ] 代表可写(write),可以修改,但不代表可以删除该文件,删除一个文件的前提条件是对该文件所在目录有写权限,才能删除该文件
    • [ x ] 代表可执行(execute),可以被系统执行
  2. 作用到目录
    • [ r ] 代表可以读取(read),ls 查看目录内容
    • [ w ] 代表可以写:可以修改,目录内 创建+删除+重命名目录
    • [ x ] label 代表可执行:可以进入该目录

image-20220818153736529

chmod 改变权限

image-20220818154251444

第一种方式修改权限

命令 描述
chmod [{ugoa}{+-=}{rwx}]

chmod a=rwx hello.txt 表示 hello 文件 ugo 权限设置为rwx

chmod u+rwx hello.txt + 表示添加权限

chmod a-rwx hello.txt - 表示删除权限

第二种修改权限方法

命令 描述
chmod [mod=421] [文件或目录]

经验技巧:

u: 所有者 g:所有组 o:其他人 a:所有人

r=4 w=2 x=1 rwx=4+2+1=7

修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限

chmod -R 777 [目录]

chown 改变文件所有者

命令 描述
chown [新所有者] [文件] 文件所有者改为[新所有者]
chown -R [新所有者] [目录] 目录下面所有文件的所有者改为[新所有者]

搜索查找类

find 查找文件或者目录

find 指令将从指定目录下递归遍历其个个子目录,将满足条件显示在终端

命令 描述
find [指定范围] [选项] 搜索[指定范围]
find [绝对或相对路径] -name [名称] 查找 [绝对或相对路径] 目录下名称为 [名称] (路径可以省略不写默认当前文件夹)
find [绝对或相对路径] -name “*.cfg” 查找 [绝对或相对路径] 目录下名称为 后缀名为 .cfg
find [路径] -user [用户名] 查找 [路径] 目录下 [用户名] 创建的文件
find [路径] -size +10k 查找 [路径] 目录下 文件大于 10K的

locate 快速定位文件路径

locate 指令利用事先建立的系统中的所有文件名称及路径的 locate 数据库事先快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

命令 描述
locate [搜索文件]

经验技巧:

由于 locate 指令基于数据库进行查寻,所以第一次运行前,必须使用 updatedb

gerp 内容过滤和“|”管道符

命令 描述
grep [关键词] [文件名] 查找 [文件名]内 [关键词] 直接输出结果
grep -n [关键词] [文件名] 输出结果显示行号

经验技巧

ls | grep .cfg

ls 的结果 过滤 .cfg并且输出终端

grep -n hello fileHello | wc

wc是统计词频的,可不是你想的那样😜