Linux最新历经一个月拿下<Linux鸟哥的私房菜>(基础篇)(1),成功入职字节跳动

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[dmtsai@study ~]$ echo $?

127 <==因为有问题,回传错误代码(非为0) # 错误代码回传值依据软件而有不同,我们可以利用这个代码来搜寻错误的原因喔!

[dmtsai@study ~]$ echo $?

0

# 咦!怎么又变成正确了?这是因为 “?” 只与“上一个执行指令”有关, # 所以,我们上一个指令是执行“ echo $? ”,当然没有错误,所以是 0 没错!

read:读取来自键盘输入的变量watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_15,color_FFFFFF,t_70,g_se,x_16

declare/typeset:宣告变量的类型

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_15,color_FFFFFF,t_70,g_se,x_16

history:历史命令

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_15,color_FFFFFF,t_70,g_se,x_16

[dmtsai@study ~]$ !66 <==执行第 66 笔指令

[dmtsai@study ~]$ !! <==执行上一个指令(相当于↑)

[dmtsai@study ~]$ !al <==执行最近以 al 为开头的指令

防止别人查看你的历史记录可history -w 把记录写到文件.bash_history里,再history -c 清除记录,强迫更新记录档

终端机的环境设置:stty,set

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_15,color_FFFFFF,t_70,g_se,x_16

intr : 送出一个 interrupt (中断) 的讯号给目前正在 run 的程序 (就是终止啰!);

quit : 送出一个 quit 的讯号给目前正在 run 的程序;

erase : 向后删除字符, kill : 删除在目前命令行上的所有文字;

eof : End of file 的意思,代表“结束输入”。

start : 在某个程序停止后,重新启动他的 output

stop : 停止目前屏幕的输出;

susp : 送出一个 terminal stop 的讯号给正在 run 的程序。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_16,color_FFFFFF,t_70,g_se,x_16

万用字符与特殊符号

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_14,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_13,color_FFFFFF,t_70,g_se,x_16

数据流重导向

1> :以覆盖的方法将“正确的数据”输出到指定的文件或设备上;

1>>:以累加的方法将“正确的数据”输出到指定的文件或设备上;

2> :以覆盖的方法将“错误的数据”输出到指定的文件或设备上;

2>>:以累加的方法将“错误的数据”输出到指定的文件或设备上;

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_11,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_11,color_FFFFFF,t_70,g_se,x_16

Linux账号管理与ACL权限设置

=================

用户组


有效用户组和初始用户组

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_14,color_FFFFFF,t_70,g_se,x_16

我想要让 dmtsai 这个使用者,加入 vbird1, vbird2, vbird3 这三个群组,且不影响 dmtsai 原本已经支持的次要群组时,该如何动作?

usermod -a -G vbird1,vbird2,vbird3 dmtsai

groups:查看用户组

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_6,color_FFFFFF,t_70,g_se,x_16

newgrp:有效用户组的切换

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_11,color_FFFFFF,t_70,g_se,x_16

exit :注意,记得退出newgrp的环境

chown 目录:改变目录用户者(加-R可把目录下的文件也改变)

chgrp 目录:改变用户组 -R,同上

账号管理

useradd 选项 用户名

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_16,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_18,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_16,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

系统账号的UID都是小于1000,默认不会建立家目录

要让 test 变成 root 的权限,那么就将 /etc/passwd 里面, test 的 UID 与 GID 字段变成 0 即可

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_15,color_FFFFFF,t_70,g_se,x_16

实例1


# useradd –d /home/sam -m sam

此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。

实例2


# useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

passwd

修改用户密码格式为【sudo passwd 用户名】

使用useradd建立账号默认账号是锁定的,直接passwd修改账号密码就好了

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

要帮一般账号修改密码需以【passwd账号】格式,使用【passwd】表示修改自己的密码

与root不同的是,密码的规范非常严格,只有出现【Retype】密码才被接受,并看到【successfuly】才算修改密码成功

为方便系统管理,可用【–stdin】

举例来说,帮vbired2修改密码成为abc543cc

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

这个动作会直接更新使用者的密码而不用再次的手动输入!好处是方便处理,缺点是这个密 码会保留在指令中, 未来若系统被攻破,人家可以在 /root/.bash_history 找到这个密码呢! 所以这个动作通常仅用在 shell script 的大量创建使用者帐号当中!

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

让某个账号暂时无法使用密码登录主机,办法就是让它的密码变成不合法(shadow第二字段长度变掉)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_18,color_FFFFFF,t_70,g_se,x_16

将 /etc/passwd 的 shell 字段写成 /sbin/nologin ,即可让该帐号暂时无法登陆主机; 将 /etc/shadow 内的密码字段,增加一个 * 号在最前面,这样该帐号亦无法登陆! 将 /etc/shadow 的第八个字段关于帐号取消日期的那个,设置小于目前日期的数字, 那么他就无法登陆系统了!

chage【使用者在第一次登陆时, 强制她们一定要更改密码后才能够使用系统资源】

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

usermod

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA44Gj5L2O6Kq_5Lmf5piv5LiA56eN5ae_5oWLwro=,size_20,color_FFFFFF,t_70,g_se,x_16


# usermod -s /bin/ksh -d /home/z –g developer sam

此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

userdel

userdel -r username:连同使用者的家目录也一起删除

如果想要完整的将某个帐号完整的移除,最好可以在下达 userdel -r username 之前, 先以“ find / -user username ”查出整个系统内属于 username 的文件,然后再加以删除吧!

如果该帐号只是【暂时不启用】的话,那么将 /etc/shadow 里头帐号失效日期 (第八字段) 设置为 0 就可以让该帐号无法使用,但是所有跟该帐号相关的数据都会留下来

用户功能

id username:查看账号信息

finger[-s-m] username:列出用户相关属性

chfn[-fopeh][账号名]:修改用户finger的数据(/etc/passwd的第五个栏位)

chsh[-ls]:-s修改shell,-l列出系统上可用shell

新增与删除用户

groupadd[-g GID][-r]用户组名称(增)

groupmod[-g GID][-n]用户组(改)

groupdel用户组(删)

linux磁盘管理

Linux 磁盘管理常用三个命令为 df、du 和 fdisk。

  • df(英文全称:disk full):列出文件系统的整体磁盘使用量

  • du(英文全称:disk used):检查磁盘空间使用量

  • fdisk:用于磁盘分区

df

df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

df [-ahikHTm] [目录或文件名]

选项与参数:

  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

  • -k :以 KBytes 的容量显示各文件系统;

  • -m :以 MBytes 的容量显示各文件系统;

  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

  • -H :以 M=1000K 取代 M=1024K 的进位方式;

  • -T :显示文件系统类型, 连同该分区 的文件系统名称 (例如 ext3) 也列出;

  • -i :不用硬盘容量,而以 inode 的数量来显示

du

Linux du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值