[root@RHCSA ~] #
user@hostname ~
[]:固定结构
@:固定结构
# :代表的是当前是谁在执行命令 #是root $是普通用户
每一个用户登陆后都会有一个起始的目录 :家目录
RHCSA笔记:
命令提示符:
[root@RHCSA ~] #
user@hostname ~
[]:固定结构
@:固定结构
# :代表的是当前是谁在执行命令
#是root
$是普通用户
每一个用户登陆后都会有一个起始的目录 :家目录
设置命令提示符:
[root@RHCSA ~]# echo $PS1
[\u@\h \W]\$ #[\user\hostname \work]
[root@RHCSA ~]# echo $PS2
>
ctrl+c :终止命令
打开多个终端:
ALT+F2 然后输入gnome-terminal
常见的简单命令:
1:echo命令:
echo命令用于在终端设备上输出字符串或变量提取后的值。
在写字符串的时候,最好加上双引号,查看SHELL系统类型:
[root@RHCSA ~]# echo $SHELL 查看SHELL系统类型
/bin/bash
2:date:用于显示或设置系统时间与日期。语法格式为:
“ date [+指定的格式]”
[root@RHCSA ~]# date
Thu Dec 2 22:09:58 CST 2021
YYY-mm-DD-HH-MM-SS:年月日时分秒
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date
[root@RHCSA ~]# date "+%Y-%m-%d %H:%M:%S"
2021-12-02 22:41:56
将系统的当前时间设置为2021年11月2日9点30分的date:
[root@RHCSA ~]# date -s "20211102 09:30:00"
Tue Nov 2 09:30:00 CST 2021
查看今天是今年第几天:
[root@RHCSA ~]# date "+%j"
306
timedatectl:命令用于设置系统的时间,英文全称为:time date control,语法格式为:“ timedatectl [参数]”。
参数 作用
status 显示状态信息
list-timezones 列出已知时区
set-time 设置系统时间
set-timezone 设置生效时区
[root@RHCSA ~]# timedatectl status
Local time: Fri 2021-12-03 11:15:27 CST
Universal time: Fri 2021-12-03 03:15:27 UTC
RTC time: Fri 2021-12-03 03:15:27
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
[root@RHCSA ~]#
硬件时钟:
[root@RHCSA ~]# timedatectl status
Local time: Fri 2021-12-03 11:15:27 CST
Universal time: Fri 2021-12-03 03:15:27 UTC
RTC time: Fri 2021-12-03 03:15:27
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
[root@RHCSA ~]#
证明timedatectl后面只能用-不能用/也不能什么格式都没有
[root@RHCSA ~]# timedatectl set-time "2021-12-03 11:24"
[root@RHCSA ~]# date
Fri Dec 3 11:24:08 CST 2021
[root@RHCSA ~]# timedatectl set-time "2021/12/03 11:25:"
Failed to parse time specification '2021/12/03 11:25:': Invalid argument
[root@RHCSA ~]# timedatectl set-time "20211203 11:25"
Failed to parse time specification '20211203 11:25': Invalid argument
[root@RHCSA ~]# timedatectl set-timezone "America/Chicago" 设置某个地区时间
[root@RHCSA ~]# date
Thu Dec 2 21:32:19 CST 2021
[root@RHCSA ~]# timedatectl status
Local time: Thu 2021-12-02 21:32:40 CST
Universal time: Fri 2021-12-03 03:32:40 UTC
RTC time: Fri 2021-12-03 03:32:40
Time zone: America/Chicago (CST, -0600)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
[root@RHCSA ~]#
3:reboo:重启
reboot命令用于重启系统,输入后回车执行即可
[root@RHCSA ~]# reboot
4:poweroff:poweroff命令用于关闭系统,输入后回车执行即可。
与上面相同,该命令也会涉及到硬件资源的管理权限,因此最好还是用root管理员来关闭电脑,其命令 如下:
[root@RHCSA ~]# poweroff
关机命令:reboot shutdown shutdown可以设置关机时间
man shutdown:
-H, --halt
Halt the machine.
-P, --poweroff
Power-off the machine (the default).
-r, --reboot
Reboot the machine.
-h
Equivalent to --poweroff, unless --halt is specified.
-k
Do not halt, power-off, reboot, just write wall message.
wget命令用于在终端命令行里下载网络文件,英文全称为:“web get”,语法格式为:“wget [参数] 网址”。
[root@RHCSA ~]# wget https://video.pearvideo.com/mp4/third/20211130/cont-1746816-15192550-114612-hd.mp4
--2021-12-03 12:09:22-- https://video.pearvideo.com/mp4/third/20211130/cont-1746816-15192550-114612-hd.mp4
Resolving video.pearvideo.com (video.pearvideo.com)... 60.28.216.241, 60.28.216.238, 60.28.216.243, ...
Connecting to video.pearvideo.com (video.pearvideo.com)|60.28.216.241|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13289923 (13M) [video/mp4]
Saving to: ‘cont-1746816-15192550-114612-hd.mp4’
cont-1746816-1519255 100%[=====================>] 12.67M 4.82MB/s in 2.6s
2021-12-03 12:09:25 (4.82 MB/s) - ‘cont-1746816-15192550-114612-hd.mp4’ saved [13289923/13289923]
[root@RHCSA ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Public
cont-1746816-15192550-114612-hd.mp4 Downloads Music Templates
Desktop index.html Pictures Videos
[root@RHCSA home]# wget -t 3 http://www.cf.com 最大尝试次数
wget 网址+
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
type:可以判断当前命令是内部命令还是外部命令
多用户管理:
3A认证
Authenticatiom:认证机制:通过某种方案来确认用户是其声称的用户。如密码,生物识别等
Authorrization:授权机制。资源使用级别(liux只有管理员和普通用户两级分配机制,授权)
Audition :审计机制.监督权限的使用,log审计凭据-------额外审计功能seliux
用户,组,权限
重点: /etc/passwd 用户相关信息
/etc/login.defs 设置用户创建时默认的相关信息
/etc/ default/useradd 用户添加时会创建的相关信息设置
/etc/skel 用户加目录下的相关隐藏文件
/etc/group 组相关信息
/etc/gshadow 组密码
/etc/shadow 用户密码
/var/spool/mail 用户邮箱记录
用户类别:/etc/passwd
管理员 0 root
普通用户 1-65535 2^16个
| 1-200 系统中的管理用户
|
|----系统用户 201--999 专门用来运行后台进程和服务的用户,不允许登录系统(用户服务)
-----一般用户:1000--60000 后面的很少用
用户管理
查看用户信息 useradd usermod userdel -r
/etc/passwd (用户配置文件)
account 用户名
passwd 密码,x为密码占位符,
基础命令
1:ip a =ipconfig # 查看IP地址
2:whoami #我是谁
3:dhclient # 地址请求
4:kill -id #结束相应进程
5:pwd = print working directory #指出当前工作环境
6:su 切换用户但不改变工作环境 su - 改变用户和工作环境
7:nmtu #网络编辑界面
8:普通用户的家目录: /home/用户名
9:root用户的家目录 : /root
10:su he su -的区别:使用su - 会将用户的环境(家目录,shell)一起切换过去
cd=change directory 切换目录
liux 的ping命令不会停止需要CTRL+c 退出
相对路径:相对当前目录开始到目标路径 cd root
绝对路径:从根目录开始到目标路径 cd /home/redhat
/ :根目录
~ :家目录 /root/home/redhat
- :在上一个目录和当前目录来回切换
. :当前目录
.. :上一级目录
修改密码:
passwd 用户名 #直接输入passwd修改当前用户密码
passwd -d 用户名 #直接删除密码
root用户可以给任何人修改密码,可以不用符合密码复杂性
基础命令:
列出目录下的内容(list):ls list
ls -l # 以长列表方式列出 =ll
ls -r #逆序列出
ls -ld #查看指定目录.
ls -lh #显示目录或文件大小
ls -a #列出隐藏文件,包括.和..
ls -A #列出隐藏文件,不包括.和..
ll -i #显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。
第一个字符:liux文件类型
- #普通文件,类似于Windows的记事本,nano cat rm
d #目录文件。类似于文件夹 cd
l #link,链接文件 软链接
c #字符设备文件,串行端口设备,顺序读写 。键盘
b #块设备文件,可供存储的接口设备,随机读写 硬盘
p #管道文件。用于进程之间的通信
s #套接字文件,通常用于网络上 的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信
2-11权限标识位:rwx(所属用户)r-x(所属组)r-x(其他用户) 扩展权限标识位 /+
rwx rwx rwx.
权限标识符rwx
所属用户标识位
所属组标识位
其他用户标识位
. 扩展权限标识位(没有) /+添加了扩展权限
如何创建软硬链接ln -s:
1:touch 文件名 #创建文件
2:ln 原文件 目标文件 #创建硬链接
3:ln -s 原文件 目标文件 #创建软链接
eg:在root家目录创建文件aaa,并在/目录下创建链接文件a.txt/ root下创建硬链接位A
[root@localhost ~]# touch aaa # 创建文件
[root@localhost ~]# ln aaa a.txt #创建硬链接
[root@localhost ~]# ln -s aaa A #创建软链接
基础命令:
nano 文件名 #编辑文件
cat 文件名 #查看文件
rm 文件名 #删除文件
rm -r 文件名 #删除目录文件
文件查找:find
find:查找命令
find
-name #指定名字查找
-inum
-lname #指定名字进行查找忽略大小写
-user #查找属主为指定用户的文件
-group #查找属组为指定组的文件
-nourse #查找没有属主的文件
-depth #从指定目录下最深层的子目录开始查找。
-fls<列表文件> #此参数的效果和指定"-ls"参数类似,但会把结果保存为指定的列表文件。
-fstype<文件系统类型> #只寻找该文件系统类型下的文件或目录。
-gid<群组识别码> #查找符合指定之群组识别码的文件或目录。
-ilname<范本样式> #参数的效果和指定"-lname"参数类似,但忽略字符大小写的差别。
-iname<范本样式> #此参数的效果和指定"-name"参数类似,但忽略字符大小写的差别。
-inum<inode编号> #查找符合指定的inode编号的文件或目录。
-typ<文件类型> 只寻找符合指定的文件类型的文件。
b: 块设备文件。
d:目录。
c:字符设备文件。
p:管道文件。
l:符号链接文件。
f:普通文件
egg:
[root@localhost ~]# find -type d
PHS :文件系统层级标准
定义了在类liux系统中的目录结构内容,即让用户了解到已安装软件放置在哪个目录下,
PHS采用树形结构组织文件,PHS文件系统层次图
文件系统:操作系统用于明确存储设备或分区上的文件方法和数据结
liux里面的目录:
liux层次化文件结构,倒树状结构文件结构
定义了两层规范,第一层是/下面的各个目录应该要放什么文件数据
第二层是针对/usr及/var这两个目录的子目录下来定义。
bin/ sbin :存放可执行文件
dev:存放各种硬件设备
home:存放普通用户的主目录
root:管理员账号的主目录
mnt:用来挂载外部设备的目录
proc:内存数据的映射,不占用实际的硬盘空间
tmp:系统运行的临时文档目录
var:存放变化的数据,系统日志,
库文件:可以理解为 许多程序运行使用相同的代码,并且这些库可以放在一个公共的位置上,以此减少运行程序时的大小。
映射文件:就是由一个文件到一块内存的映射。内存映射文件可以保留一个地址空间的区域,将物理存储器提交给此区域。
内存文件映射的物理存储器来自一个已经存在于磁盘上的文件。
与时间有关的命令:
date 输出和更改日期时间:(软件,系统时间)
更改日期的格式:月日时分年. 秒
date -s 只有root才能设置,其他只能查看
查看硬件时间: clock
cal #查看当年当月的日历
cal 年份 #查看一年日历
cal 月份 年份 #查看当年当月的日历
cal -1 查看该月的日历
cal -3 #查看前一个月,本月,下月的日历
管理文件:
创建文本命令:
touch 创建普通文本文件
文件命名规则:
1:不能使用 /来当文件名, /是用来做根的,也是用来做路径分割符的 文件内容 元数据
2:文件名不能超过255个字符
3:区分大小写
4:目录也是文件,在同一路径下,两个文件不能同名
创建多个普通 文件:
方法1 : touch 文件1 文件2 文件3
方法2: touch {文件1,文件2,文件3}
touch {1,2}{3,4}
touch abc{1..100}
stst #查看文件的详细信息
touch不仅可以创建空文件,还可以改变文件的修改时间
atime accessr time #看了一下内容
mtime mdfify time #文件内容被改变了,ctime也会发生改变
ctime change time 元数据被改变,重命名
mkdir 目录名 #创建目录问价
-p parents #父目录
-v verboss #详细信息
rm #删除文件,命令别名默认带-i,该选项用来提示用户进行交互。
-force 强行删除,不提示-f
-r recursive ,递归删除来删除目录
cp #复制文件:
-r #复制目录
-p #复制的时候保留原文件的属性,
一、复制一个源文件到目标文件(夹)。
命令格式为:
1: cp 源文件 目标文件(夹) #这个是使用频率最多的命令,负责把一个源文件复制到目标文件(夹)下,如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后目标文件或目标文件夹中的同名文件会被覆盖。
2:二、同时复制多个文件到目标文件(夹)下。
命令格式为:
cp 源文件1 源文件2 目标文件夹 或 cp 文件* 目标文件夹
三、复制源文件夹到目标文件夹下
。
命令格式为:
cp -r 源文件夹 目标文件夹
四、只有源文件较目标文件新时复制。
命令格式为:
cp -u 源文件 目标文件 #只有源文件比目标文件新时,才会将源文件复制给目标文件,否则,及时执行了命令,也不会执行复制。
cp -i #交互式复制,及覆盖之前提醒用户确认
移动文件:mv 等同Windows里面的剪切,移动之后源文件消失
mv
-i #提示
-f #强制移动
文本处理命令:
cut /etc/passwd(用户配置文件(记录当前系统有哪些用户))
cut -d #指定分隔符
-f #指定第几列 被切割文件
-f 1,3 #第一列和第三列
-f 1-3 #第三列到第一列
-c 1-4 #指定第一到第四个字符
文件排序显示:
文本排序显示:sort
排序显示: sort 文件名
按照数值大小排序: sort -n 文件名
排序并去除重复的: sort -u 文件名
逆序排序: sort -r 文件名
按照用户uid数字大小 排序显示
sort -f #排序时忽略字符大小写
-u #去重
uniq :文件名去掉重复的行,重复的行必须相邻;
-d #只显示重复的行
-D #显示所有重复的行
-c #只显示重复行重复的次数
文本统计:wc =word count
wc 文件名 #显示文件行数,单词数,字节数和文件名
wc -w 文件名 #只显示单词数
wc -c 文件名 #只显示字节数
wc -l 文件名 #只显示行数
wc -m 文件名 #只显示字符数
wc -L 文件名 #显示最长的一行的字符数
文本过滤显示:
可以根据特定的字符串,对待指定文件的每一行进行搜索,如果找到了这个字符串,就将含有这些内容的行输出。
grep h 文件名 #查找文件里有字符h的字符
grep -w 文件名 #匹配整个单词
grep -q 文件 #匹配以q开始的行
grep q$ 文件名 #匹配以q结束的行
grep ^[0-9] 文件名 []取值范围 标记一个字符 #匹配以数字开头的行
grep - [qf] 文件名 #匹配以q或者f开头的行
grep - [^qf] 文件名 #不匹配以q或者f开头的行
grep [^gf]oo 文件名 #匹配oo前面不是f或者g的字符串
grep ^# #匹配以#号开头的行
grep ^$ #过滤空白行
grep -r h ./* #如果要明确搜索子目录
grep -d skip h ./* #忽略子目录
-l #查询多文件时只输出包含匹配字符的文件名
-i #搜索时忽略大小写
-v #搜索时显示没有匹配到的行
-A 2 #搜索时显示匹配到的那一行以及下2行
-B 2 #搜索时显示匹配到的哪一行以及上2行
-C 2 搜索时显示匹配到的哪一行以及上下2行
which #目录路径下的文件信息
命令是查找某个命令的完整路径,也就是说它是用来查找可执行文件的,which命令的原理是当前登录用户的path环境变量记录的路径中进行查找。。只显示二进制文件路径
which 只想查看命令路径但是不想查看别名路径
# \which ls
# \which -skip-alias ls
locate进行查找时,都会以此数据库的内容为准
数据据库文件/var/lib/molocate/mlocate.db