这里写自定义目录标题

  • RHCSA 学习笔记
    • 系统组成
    • 常用的目录结构:
    • shell解释器
    • bash的优点
    • BASH快捷键操作:
    • 路径
    • 常用简单基础命令
    • BASH的高级应用
    • 管理用户和组
    • 管理文档的权限
    • 特殊权限(附加权限)

RHCSA 学习笔记

系统组成

Linux系统=内核+shell解释器+文件系统+(应用程序)

常用的目录结构:

/boot 存放系统内核、各种系统引导所必须的文件、驱动、启动配置
/bin 用于存放系统的命令的程序文件
/dev 用于存放设备文件
/etc 用于存放各种系统软件以及自安装应用软件的配置文件
/tmp 用于存放系统运行过程中产生的临时文件
/var 存放日志文件、邮箱邮件等经常发生变化的文件
/home&/root /root管理员的家目录,/home用于存放普通用户的家目录
/proc 特殊,大多数都是内存的映射数据,不占用硬盘空间

shell解释器

把用户输入的命令翻译成内核所认识的二进制指令(0/1)
RHEL8中默认的shell是:/bin/bash
其它shell:/bin/sh,/sbin/nologin

bash的优点

①提供相对较完整的tab命令补全
②具有较为完整的终端提示符信息
[root@localhost ~]#
[当前登录的用户@当前使用的计算机的主机名 当前目录的名称]
@=at介词,在…
~当前用户的家目录
#当前登录用户是管理员用户root身份
$当前登录用户是普通用户身份
③具有强大的批处理脚本、实用的环境变量功能
④可以通过上下方向键来调取过往执行过的Linux命

BASH快捷键操作:

ctrl + c 废弃当前编辑的命令行(结束正在运行的命令)
Esc+.或Alt+. 粘贴上一条命令的最后一个参数
ctrl+l 清空整个屏幕
ctrl+w 删除一个单词(以空格为界限)
ctrl+u 从光标开始,清空至行首
以下快捷键原生图形界面才适用:
ctrl+shift+t 新开一个终端标签
ctrl_shift_+ 放大字体
ctrl_- 缩小字体
搜索模式: /关键词,回车,n下一个,N上一个

路径

绝对路径:以根(/)开始的路径
相对路径:不以根(/)开始的路径,以当前所在路径作为参照
命令:命令字 [选项] 参数
命令字:命令的程序
选项:一般是执行命令时去指定的这个命令的特定功能
参数:一般是命令执行的对象,也可以是指定一些命令执行的功能

常用简单基础命令

date [选项] [参数]
作用:查看修改时间及日期
date +%F 查看日期
date +%R 查看时间
date +’%Y-%m-%d %H:%M:%S’ 自定义格式查看时间日期
自定义:
%Y:年
%m:月
%d:日
%H:时
%M:分
%S:秒
date -s ‘年-月-日 时:分:秒’ 修改时间

cal [选项]
作用:在屏幕上打印出日历
常用用法:
cal 显示当前月份
cal -3 显示这个月、上个月和下个月
cal -m 显示时,周一作为一周的第一天
cal -y 显示一整年

pwd
作用:显示用户当前所在的工作目录

wc [选项] 文本
作用:统计指定文本的行数、字数、字节数
常用选项:
-l 统计文本的行数
-w 统计文本单词数(以空格为界限)
-c 统计字节数
例:[root@localhost ~]# wc -l /etc/passwd

关机重启
reboot:重启(常用用法:reboot -f 强制重启)
poweroff:关机(常用用法:poweroff -f 强制关机)

shutdown:(关机、重启、计划时间关机、重启)
常用用法:
shutdown -h now 立即关机
shutdown -h 10:10 10:10关机
shutdown -h +10 10分钟后关机
shutdown -r now 立即重启

运行级别(RHEL6)
0:关机
1:单用户模式(修复模式/破解密码模式)
2:字符界面(不支持网络)
3:字符界面(支持网络)
4:未定义
5:图形界面(支持网络)
6:重启
切换运行级别:init 运行级别

文档管理基础命令
ls [选项] [文档路径]
作用:列出文档的信息
###############################################
可以通过颜色来区分文档的类型
白色:文本文件
蓝色:目录
绿色:可执行文件(程序或脚本)
红色:压缩包(同时包含:软件包,iso镜像文件)
蓝绿色:快捷方式
###############################################
常用选项
-l 以长格式显示详细属性信息
-h 与-l一起用,用易读的单位显示文档大小
-d 与-l一起用,查看目录本身(而不是目录的子文档)的详细属性信息
-A 显示目录所有内容,包括以.开头的隐藏文档

cd [目录路径]
作用:用于切换工作路径
其它常用用法:
cd或cd ~:切换到当前用户的家目录
cd …:切换到当前目录的上一级目录(…父目录(上一级目录) | .当前目录)
cd -:切换到上一次所在的目录

cp [选项] 源文档路径 目标路径
作用:复制文档到目标路径
常用选项:
-r:递归,复制目录时必须要有,除了复制目录本身,还会复制目录的子文档

cp命令常见用法
1.忽略复制时询问是否覆盖
\cp -r /etc/ /mnt/
2.复制时多个参数:多个参数时,永远把最后一个参数作为目标路径
cp /etc/fstab /etc/shadow /opt/(把/etc/fstab和/etc/shadow复制到/opt)
3.复制时与.连用
[root@localhost ~]# cp -r /etc/ .
4.复制时可以重命名
[root@localhost ~]# cp [-r] /路径/源文档名称 /目标路径/新名称
注意:新名称不可以是目标路径下已存在的文档名称,否则:
情况1:如果重复同名的是目录,则会把文档复制到这个目录里面去
情况2:如果重复同名的是文件,则会询问是否覆盖

mv 源文件路径 目标路径
作用:移动(windows-剪切)
常用用法
重命名:路径不变的移动
例:[root@localhost ~]# mv /root/Desktop/101.txt /root/Desktop/202.txt

rm [选项] 文档路径
作用:删除文档
//出现提示:y回车为是,n回车为否,直接回车默认否
常用选项:
-r 递归删除(目录),删除目录时必须要有
-f 强制删除(不出现提示,直接删除)
注意:rm命令属于危险操作,三思而行

cat [选项] [文件]
作用:查看文本内容较少的文件(一个屏幕能够显示完整)
常用选项:
-n 添加行号

less 文件
作用:查看文本内容较多的文件(一个屏幕不够显示完整)

touch /文件存放路径/文件名称
作用:创建一个空白文件

mkdir /目录存放路径/目录名称
作用:创建一个空白目录
常用用法:递归创建子目录
例:mkdir -p /a/b/c/d

获取Linux帮助:
①–help选项
②man帮助手册

Vim编辑器的基本使用
作用:Linux命令行的文本剪辑器,不支持所有鼠标操作
格式:vim /路径/文本文件
情况1:该文件已存在,打开并编辑
情况2:该文件不存在,创建并编辑

            按i键(-- INSERT --)

命----------------------------->插入模式(编辑模式,输入模式)【按Esc键回到命令模式】

模 按:键
式----------------------------->末行模式【按Esc键回到命令模式】

保存并退出::wq
不保存强制退出::q!

BASH的高级应用

(1)通配符
①*:代表任意个数(0,1,n)的任意字符
[root@localhost ~]# ls /boot/vm* 查看/boot目录下以vm开头的文档
[root@localhost ~]# ls /etc/tab 查看/etc目录下以tab结尾的文档
[root@localhost ~]# ls /etc/
ta 查看/etc目录下包含ta的文档
[root@localhost ~]# ls /etc/fb 查看/etc以f开头且以b结尾的文档

②?:代表1个任意字符
[root@localhost ~]# ls /dev/tty?
[root@localhost ~]# ls /dev/tty??

③[a-b]:区间(支持字母和数字,数字只支持0-9,两位数或以上会错乱)
[root@localhost ~]# ls /dev/tty[4-6]

④{值1,值2…}:集合
[root@localhost ~]# ls /dev/tty{1,2,3,11,23}

思考题:
列出/dev/tty20至/dev/tty30之间所有设备文件?
ls /dev/tty{2[0-9],30}

(2)管道符 |:管道符后面的命令仅支持单参数的命令
作用:把管道符前面命令的执行结果作为管道符后面命令的执行对象
补充:
查看文本的头n行:head -n 文本
查看文本的尾n行:tail -n 文本
【-n选项可以省略,若省略-n则默认n=10】
[root@localhost ~]# head -3 /etc/passwd

思考题:
①查看/etc/passwd文件中的8-12行
[root@localhost ~]# head -12 /etc/passwd | tail -5
②查看/etc/passwd文件中的8-12行,并把8-12的行号显示出来
[root@localhost ~]# cat -n /etc/passwd | head -12 | tail -5

(3)重定向:把原来按照标准输出应该输出到屏幕上的内容重新定向到一个文件中存储
①标准输出:输出内容到屏幕上
1.正确输出:正常执行一条命令,获得想要的输出结果
2.错误输出:执行命令过程中报错的内容
②标准输入:从键盘获取输入内容
③输出重定向:
1.正确输出重定向:>:覆盖重定向,>>:追加重定向
2.错误输出重定向:2>:覆盖重定向,2>>:追加重定向
3.正确与错误输出重定向:&>:覆盖重定向,&>>:追加重定向
补充:echo ‘字符串’:在屏幕上打印’字符串’

(4)grep文本过滤:按照条件过滤输出包含匹配过滤条件的行
grep [选项] [条件] 文本
常用条件:
关键词 匹配过滤输出包含关键词的行
^关键词 匹配过滤输出以关键词开头的行
关键词$ 匹配过滤输出以关键词结尾的行
^$ 匹配空行

常用选项:
-n 输出行号
-v 取反
-i 忽略大小写
-c 统计行数

[root@localhost ~]# grep root /etc/passwd
[root@localhost ~]# grep ^root /etc/passwd
[root@localhost ~]# grep bash$ /etc/passwd
[root@localhost ~]# grep ^$ /etc/chrony.conf

思考题:过滤出/etc/chrony.conf文件中的有效配置信息(不包含空行和以#开头的注释信息),并重定向到文件/root/101.txt文件中
[root@localhost ~]# grep -v ^$ /etc/chrony.conf | grep -v ^# > /root/101.txt

(5)find查找系统文档:递归查找,除了查找目标路径还会查找目标路径的子文档
find 查询路径 查找条件1 [-a/-o 查找条件2 查找条件3…]
-a 逻辑和 -o 逻辑或
常用查找条件选项:
-type 按文档类型查找(f文件,d目录,l快捷方式)
[root@localhost ~]# find /root/ -type d

-name或-iname 按文档名称查找(支持通配符)
[root@localhost ~]# find /root -name Dow*

-size 按文档的大小查找(+大于,-小于,容量单位:k,m,G)
[root@localhost ~]# find /boot/ -size +30M

-user 按所有者查找
[root@localhost ~]# find / -user student

-group 按所属组查找
[root@localhost ~]# find / -group student

-mtime 按修改时间查找
(+N:N天之前,-N:N天之内,N:第N天)

管理用户和组

用户:用于登录系统的账号和身份
组:为了方便批量管理一些用户的权限,一般可以把想要具有相同权限的用户加到同一个组

组的分类:
基本组:在创建用户的时候,会自动创建一个与用户名同名的组并自动加入
附加组:除了基本组,每个用户还能加入到其它的组,这些组我们把它称之为附加组

组的gid:每一个组都会有一个唯一标识这个组的编号
用户的uid:每一个用户都会有一个唯一标识这个用户的编号
管理员root的uid永远为:0
系统自带用户的uid为:1-999
普通用户的uid默认为:1000开始,按顺序排列下去

/sbin/nologin解释器:用于禁止该用户登录

添加用户:useradd [-选项 参数] 用户名
[root@localhost ~]# useradd zhyx001
[root@localhost ~]# tail -1 /etc/passwd

常用选项与参数:
-u uid 用于指定用户的uid
[root@localhost ~]# useradd -u 10086 zgyd
-d 家目录的路径 用于指定用户的家目录
[root@localhost ~]# useradd -d /home/haha test01
-s shell的路径 用于指定用户登录的shell解释器
[root@localhost ~]# useradd -s /sbin/nologin jzdl
-G 附加组名称 用于指定用户的附加组
[root@localhost ~]# useradd -G student tom

查看用户信息:
id 用户名
grep ^用户名 /etc/passwd
[root@localhost ~]# grep ^zgyd /etc/passwd
zgyd❌10086:10086::/home/zgyd:/bin/bash
用户名:密码占位符:uid:基本组gid:描述信息(可以为空):用户的家目录:用户登录的默认shell

临时切换用户:管理员使用这个命令不需要输入用户密码
su - 用户名

管理员设置用户密码:
交互式:passwd 用户名
非交互式:echo 密码 | passwd --stdin 用户名
[root@localhost ~]# passwd root
Changing password for user root.
New password: 新密码
BAD PASSWORD: The password is shorter than 8 characters提示密码短于8位,忽略
Retype new password: 确认密码
passwd: all authentication tokens updated successfully.密码修改成功
[root@localhost ~]# echo 123 | passwd --stdin zhyx001

***查看历史命令:[root@localhost ~]# history

/etc/shadow文件:
root:$67FV0YRelWRxajcvp7FV0YRelWRxajcvp7FV0YRelWRxajcvpnBCG3xBBHYhBbCiMI0pU.NHie23tipW9f2Ix.j2F
Rz3TNIgGOFMAu40BokVqLmeEJZ6J15xS4qcEcUSrS7vhC0:18406:0:99999:7:::
用户名:加密后的密码:上一次修改密码的时间(时间戳:自1970年1月1日开始经过的天数)
修改用户属性:mod:摩的=修改
usermod [-选项 参数] 用户名(命令的本质是修改passwd文件中的内容)
常用选项与参数:
-u uid 用于修改用户的uid
-d 家目录的路径 用于修改用户的家目录(需要手动创建对应目录)
-s shell的路径 用于修改用户登录的shell解释器

删除用户:
userdel [-r] 用户名
-r:在删除用户的同时删除用户的家目录,一般不用,普通用户权限较低,一般数据都存在家目录

组的管理:
创建组:groupadd [-g gid] 组名
[root@localhost ~]# groupadd -g 10010 zgdx

把用户添加到组:gpasswd -a 用户名 组名
把用户从组删除:gpasswd -d 用户名 组名
[root@localhost ~]# gpasswd -a zglt zgdx
[root@localhost ~]# gpasswd -d zglt zgdx

删除组:groupdel 组名
[root@localhost ~]# groupdel zgdx

/etc/group文件:存放组的属性信息
[root@localhost ~]# grep ^student /etc/group
student❌1000:tom,zhyx001,test02,jzdl
组名:密码占位符:组的gid:组成员列表,可以为空,也可以是多个(以,分隔)

管理文档的权限

基本权限的类别:
r:读:(文件:查看文件的内容,目录:浏览目录)
w:写(文件:修改文件内容,目录:创建,删除,复制…目录内容)
x:执行(文件:可执行文件:程序或脚本,目录:cd进入目录)

权限的使用对象:
u:所有者:文档的主人
g:所属组:文档的属组
o:其它用户:既不是所有者,也不是所属组的成员

ls -l 或ls -ld
[root@localhost ~]# ls -l /var/mail/student
-rw-rwx—. 1 student mail 0 May 24 05:52 /var/mail/student
①-:文件,d:目录,l:快捷方式
②rw-rwx—:所有者,所属组和其它用户的权限
③1:如果是文件:文件的硬链接个数;如果是目录:子文档的个数
④student mail:文档的所有者和所属组
⑤0:文档的大小
⑥May 24 05:52:文档的修改时间
⑦/var/mail/student文档的绝对路径

判断权限:
第一步:判断用户对于这个文档来说,属于什么身份
ls -ld或ls -l命令查看文档的所有者和所属组,对比该用户是否为所有者或所属组,如果都不是,那么该用户为其它用户(原则:按照所有者>所属组>其它用户的优先级进行判断,遵循匹配即停止的原则:按照优先级,一旦匹配上,立即停止匹配)

第二步:判断所拥有的权限是什么
rw- | rwx | —
所有者 所属组 其它用户

第三步:得出结论
所有者拥有读、写的权限

设置权限:chmod [-R] 421权限或描述权限 /文档路径
-R选项:递归修改权限,除了设置目标目录的权限,还会设置子文档的权限
方法1:421权限
4:读
2:写
1:执行
例题1:为/test目录设置权限:要求目录的所有者拥有读写执行的权限,目录的所属组成员拥有只读的权限,其它用户拥有读写的权限
u=4+2+1=7;g=4=4;o=4+2=6
chmod 746 /test

方法2:描述权限
+:添加权限
-:删除权限
=:设置权限
r:读
w:写
x:执行
-:取消权限
u:所有者
g:所属组
o:其他用户

例题2:把/test目录的所有者的权限修改为只读
chmod u=r /test

设置归属关系
同时修改文档的所有者和所属组:chown [-R] 所有者:所属组 /文档路径
只修改所有者:chown [-R] 所有者 /文档路径
只修改所属组:chown [-R] :所属组 /文档路径
-R:递归修改,除了修改目标目录的归属关系还修改子目录的归属关系

注意:
①所有普通用户没有权限执行chmod和chown命令,仅限管理员使用
②必须要对文档的父目录拥有权限,否则只对子文档拥有权限也没有意义

特殊权限(附加权限)

1.Set GID
chmod g+s或g-s /路径/目录
附加在所属组的执行权限x位上,所属组的权限标识会变成s或S
(s代表所属组的执行权限为x,S代表所属组的执行权限为-)
适用范围:目录
作用:让新创建的子文档自动继承父目录的所属组

2.Set UID
chmod u+s或u-s /路径/可执行文件
附加在所有者的执行权限位x上,所有者的权限标识会变成s或S
(s代表所有者的执行权限为x,S代表所有者的执行权限为-)
适用范围:适用于可执行文件
功能:传递所有者身份,用户在执行脚本的时候可以暂时拥有所有者的权限

3.Sticky Bit
chmod o+t或o-t /路径/文档
附加在其他用户的执行权限x位上,其他人的权限标识会变成t或T
(t代表其他用户的执行权限为x,T代表其他用户的执行权限为-)
适用范围:适用于开放w权限的目录
功能:可以防止用户滥用w权限(禁止用户操作别人的文档)
#文档所有者才能操作自己的文档,其他人无法操作

acl访问控制列表
作用:可以针对某一个文档为某个用户或组单独设置权限
设置acl:setfacl [-R] -m u或g:用户名或组名:权限列表 /文档路径
例:setfacl -m u:ceo:r-- /cw/cw001file
-R选项:递归修改:除了为目标目录设置acl还同时设置其子目录的acl
删除acl:setfacl -x u:用户名或g:组名 /文档路径
删除某个文档的所有acl:setfacl -b /文档路径
查看acl:getfacl /文档路径

linux 基础常用命令集相关推荐

  1. Linux基础常用命令

    ps -ef用于查看全格式的全部进程,其中"ps"是在Linux中是查看进程的命令,"-e "参数代表显示所有进程,"-f"参数代表全格式. ...

  2. Linux——基础+常用命令

    Linux命令基础和常用命令 Linux命令基础 Shell Linux命令的分类 Linux命令行的格式 编辑Linux命令行的辅助操作 获得命令帮助的方法 内部命令 help 使用man命令阅读 ...

  3. Linux基础——常用命令

    find /grep /xargs /sort /uniq /tr /cut /paste /sed /awk......待续...... 1.find 名字查找: find . -name file ...

  4. Linux基础 常用命令学习

    2019独角兽企业重金招聘Python工程师标准>>> touch FILE 更新/创建文件 -a 访问时间 -m 修改时间 -c 不创建 -t 指定时间 mv FILE/DIR D ...

  5. linux权限切换命令,Linux基础常用命令汇总(权限操作)

    权限操作 权限简介 Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功. Linux下文件的权限类型一般包括读,写,执行.对应字母为 r.w. ...

  6. Linux 入门基础——常用命令(一)

    1. 初识 Linux Linux根据原生程度,分为两种: (1)内核版本: Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核.内核是什么?内核建立了计算机软件与硬件之间通讯的 ...

  7. Linux命令集(Linux常用命令集--CD指令篇)

    Linux命令集(Linux常用命令--CD指令篇) Linux常用命令集(CD指令篇) 1.CD(change directory) Linux常用命令集(CD指令篇) 如下为笔者总结出在linux ...

  8. Linux下netstat常用,Linux netstat常用命令

    1.统计80端口连接数 netstat -nat|grep -i "80"|wc -l 2.统计httpd协议连接数(查看Apache的并发请求数及其TCP连接状态) ps -ef ...

  9. Linux基础 常见命令 思维导图总结

    该系列文章总纲链接:专题分纲目录 Linux环境 1 Linux基础 常见命令 学习链接 @1 该链接旨在 对Linux系统 从0到1 进行入门级学习,同时对Linux命令有一个基本的了解: Linu ...

最新文章

  1. 中文分词器分词效果的评测方法
  2. Build Docker image of a Python Flask app【转载】
  3. 如何向github提交更新
  4. 【mongodb】couldn't connect to server 127.0.0.1:27017 (127.0.0.1)
  5. .prettierrc 文件
  6. 计算机编辑作业之目录制作,大学计算机ppt作业
  7. 解决无法从Git官网下载Git安装包的具体方法
  8. Result的类型分析和总结
  9. 多个考拉海购的商品主图如何一键批量保存
  10. 机器学习:几种分类识别问题
  11. linux用shell编写猜数字,Shell猜数字游戏
  12. java服务监控_Java最流行的微服务框架监控和各种监控数据
  13. 数字体验词汇表:您需要了解的最重要术语
  14. base64上传为表单提交给后台的方法
  15. 小米手机6X简单刷成开发版启用Root权限的流程
  16. codeforces 577B Modulo Sum
  17. 青少年ctf crypto easy 部分题解
  18. 新突破!华为诺亚开源首个亿级中文多模态数据集-悟空!
  19. \centering与\begin{center}区别
  20. 票据打印控件 票据打印控件

热门文章

  1. win10更新之后搜狗输入法、QQ拼音输入法不可用
  2. 用手机GPRS使电脑上网
  3. python3 模拟 ajax post请求
  4. 晶振(有源晶振、无源晶振)构造,工作原理。
  5. Python 程序设计(第二版)董付国_清华大学出版社_习题答案【未处理1-9章】
  6. 4g网络设置dns地址_如果你的手机WiFi信号差?输入这串DNS地址,网络瞬间变流畅...
  7. 将本地的项目导入到github仓库总结lxw
  8. springboot自动创建Oracle,一键生成项目 SpringBoot项目代码生成器 支持Oracle 支持MySql...
  9. 计算机主机内部结构连接,OPS电脑与显示器之间的连接结构的制作方法
  10. K.田园的饭可好吃了