linux csa阶段笔记

第一天和第二天

dhclient:动态获取地址
if a(address) 查看ip地址
ifconfig查看ip地址
kill -9 加选项(一般是ID号):杀死进程 -9 是强制结束
pwd:print wording directory 打印当前工作目录
su(switch user):切换用户,没有改变用户的工作环境。
su - c: 换人换桌子,正常切换用此命令。
echo:(1)echo $PATH:查看当前目录的工作环境变量
(2)echo $?:
(3)echo 123 :标准输入输出一个123
passwd 对象名:在命令行修改密码。
eg;passwd root
如果passwd后不想改了,用ctrl+c退出。
普通用户只能改自己的密码,不能改其他用户的密码。
只有根用户能改全部用户的密码。
passwd -d 用户名:删除用户的密码,包括root用户。
passwd 修改用户密码
–stdin
echo “redhat” | passwd --stdin USERNAME(给user用户设置密码,只有根用户才有此权限)
-l 锁定用户账号密码
-u 解锁用户账号
-n 指定密码最短使用期限
-x 指定密码最长使用期限
-w 指定警告时间
-i 指定宽限动时间
-d 删除用户密码,在redhat中,空密码用户禁止登陆

-------------------------------------------

破解密码
1.重启
2. 选择第二个 -> e
3.linux16 -> 行尾+rd.break(与前面有空格) (终止内核正常启动)
4.ctrl+x
5.mount -o remount,rw /sysroot (给当前/系统一个读写权限)
6.chroot /sysroot(切换到当前根目录)
7.passwd root ***不能刚更改完密码就删除,也就是password -d root
8.touch /.autorelabel (安全标签,类似让老师签字)
9.exit
10.exit

-------------------------------------------

cat:查看命令
pstree:将正在运行的进程以树状的形式打印出来

-----------------------------------------

cd:change directory 改变目录命令
cd:回到当前的家目录
cd .:回到当前目录(用途是查看当前目录下的东西,+pwd)
cd …:回到上一级目录
cd -:当前目录和上一级目录之间来回切换
相对路径:相对于当前目录下有指定目录时可以直接切入 例如cd home/redhat
绝对路径:一切从根开始寻找的路径,例如cd /home/redhat

-----------------------------------------

ls list
ls:列出文件名字,没有属性。
ls -l:以长列表形式去列出当前目录下的文件
ls -l -a:-a是-all的简写。
ls -la:以长列表形式去列出当前目录下的文件,并将隐藏文件列出
ls -LA:没有上一级目录的隐藏文件。
ll -h:列出文件进行单位转换
ll -d:列出指定目录的属性。

-rw- — ---. 1 root root 37 Nov 17 2018 .bash_history
l rwxrwxrwx. 1 root root 7 Nov 17 04:16 bin -> usr/bin
d r-xr-xr-x. 3 root root 4096 Nov 17 09:48 boot
文件类型:
第一列:-------
第一个字符表示文件类型(例如-、l、d)
(-) 表示普通文件(文本文档)
d 表示目录文件(文件夹)
l 表示软链接文件(快捷方式)
b 块设备文件(随机读取)硬盘
c 字符设备文件(顺序存储)键盘鼠标显示器
p 管道文件(了解就行)
s socket套接字文件(同上)
2~10 权限标识位
r (读权限) w(写) x(执行权限)
3个划分 3+3+3
第一个3为用户权限 第二个3位组权限 第三个3位其他用户权限(创建用户时系统会默认创建一个组)
11 . :扩展权限,无权限用.表示,+表示已经设置了权限。

------------------------

第二列:表示硬链接次数(和备份类似)
第三列:表示所属用户
第四列:所属组
第五列:所属文件大小,默认大小为byte
第六列:文件创建时间
最后一列:文件名
什么是硬链接?
硬链接:指通过索引节点进行链接,多个文件指向了同一个文件,防止数据丢失。
在linux文件系统中,保存在硬盘分区中的文件不管是什么类型都会给它分配一个编号,
称为索引节点inode,也就是编号。
在linux系统中多个文件指向指向同一个索引节点称为硬链接。
在linux中查文件默认就是查找这个文件的inode编号。
如果要删除一个文件,必须把inode对应的硬链接全部删掉。
什么是软连接?
正常文件是通过inode编号查找,软链接类似于c语言中的指针。
它存的是文件的inode。硬链接则是直接指向这个文件的真正地址。
当然,这两个的前提必须都有一个源文件。
touch a:创建一个文本文档文件(普通文本文件)。
ln a b:为a文件创建一个硬链接b。
nano a:编写文本文档a(文档编辑器)
cat b:查看文件a的内容。
ln -s a c:为a创建一个软链接。
ll -i c:查看c的inode编号。c为软连接,是一个文件,有自己独特的inode,只不过存的是a文件的地址。
rm a:删除文本文档。(第190minutes)
rm a b c d:删除多个文件。(也就是普通文件)
rm {1,2,3,4}:删除多个文件。
rm -f {1…10}:强制删除多个多个文件,免除提示信息。
rm -r:删除目录
rm -rf:强制删除
补:
rm -f :删除当前目录下所有的东西
rm -f 8
:删除以8开头的文件
rm -f 8:删除包含名字包含8的文件
find:find / -inum id 或者find -name / aa 以查找名字的方式查找aa文件
which touch:查看touch命令的路径 which+命令参数
type passwd:查看命令类型,和which passwd差不多。
命令类型
内置命令 (shell内置) 默认为bash shell
外置命令,在文件系统的某个目录下,有个与命令名称相同的文件
区别:shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是大部分都差不多
那命令怎么知道是那个路径下的命令呢?系统为了让用户在命令行快速方便地执行命令,用一种机制来实现,这种机制就叫做环境变量,
变量是什么?变量是命名的内存空间。
变量赋值
NAME=haha **自己定义变量最好定义为大写字母。
echo N A M E : 打 印 h a h a , NAME:打印haha, NAME:haha符号指定这个NAME为变量,缺$会打印NAME
变量声明的过程就是申请内存使用的过程
环境变量
定义当前用户工作环境属性的变量
PATH
hash 实现缓存管理 哈希(hash:查看当前所有执行过的命令)
缓存,命中率相当高,在hash表中保存了执行过的所有命令的路径,
当缓存很大时,一定比PATH查找速度快吗?
hash 命令哈希(类似于缓存,下次使用这条命令会更块)
-p /bin/ls haha 添加哈希表 (也是添加别名的一种)
-t ls 查看指定命令的哈希表
-d ls 删除指定命令的哈希表
-r 清空所有的hash表
alias(英语是外号的意思) 添加指定命令别名(是临时的,当前进程结束,或者退出当前用户,就无效了)
(vim /etc/bashrc lias chakan='cat ’ source /etc/bashrc)
alias:查看所有命令的别名。
alias 目标命令名称=‘需要执行的命令串本身’
alias chakan='cat ’
nano ~ /.bashrc:使命令别名永久生效。(~/.bashrc代表当前目录生效的文件)
/etc/bashrc(代表全局可生效的文件,也就是系统用户,设置别名让全部用户都能用,完了后用source刷新一下)
source ~/.bashrc 生效(source命令:重新读取当前文件,相当于exit又重新进来)。
unalias 别名 删除指定的命令别名(也是临时)

第三天

touch 1 2 3 4 5 6:创建多个文件(多用于在当前或者说相对路径下创建)
touch {a,b,c,d}:创建多个文件,以分组的形式创建。(多用于在指定路径下创建)
touch /{1,2,3}:在根目录下创建三个普通文件
touch {1,2,3}{4,5,6}:创建9个文件
touch {1…10}{2,3}:(注意中间是小数点)创建20个文件。
mkdir:创建目录,创建原理和创建文件基本一样。
因为目录是树状形式的,所以创建多级目录时候,必须先创建父目录,才有子目录。
mkdir -p 1/2/3/4:在1目录下创建多个递进的子目录。-p(parent)
补:mkdir -pv:在创建目录的时候讲目录的信息打印出来,可以不用cat再次确认目录是否创建成功。

---------------

[root@localhost test]# mkdir haha/hehe/xixi -pv -pv(显示创建是否成功详细信息,建议创建多级目录时候加 -pv)
mkdir: 已创建目录 “haha”
mkdir: 已创建目录 “haha/hehe”
mkdir: 已创建目录 “haha/hehe/xixi”

---------------

stat a:查看文件属性信息

------------------------

目录复制没有覆盖过程 ------目录下必须有文件时再次复制才会提示覆盖。
cp 复制命令
复制文件
-r 复制目录
-p 复制的时候保留文件原有的属性,时间戳等信息
-a 归档复制,常用于备份(一般用-a,是-rp的结合)。

mv 移动文件

-i	提示
-f	强制覆盖
-t	先写目标 后写源

------------------------------查看系列---------

cat		连接并显示文件到标准输出
	    -n	显示行号,行号只是行号,不是文件内容
	   不带任何选项时,从标准输入接收输出到标准输出		
tac		按行逆序显示文件,同cat
more	支持向后翻,在没有翻到最后一屏时支持向前翻,空格/k/回车
less	前后翻,用法同man,man手册就是用less命令打开的 按q退出
head	查看文件前n行,默认是10行
	-n	指定多少行  
	-LINE NUMBER	直接用行数作为选项
tail	查看文件后n行,默认是10行

	-n	指定多少行
	-f	follow,查看文件后并不退出,滚动显示追加内容
	tail -f /var/log/messages	 查看日志信息

------------文本处理命令----------

cut 文件切割,passwd文件
-d delimiter,指定分隔符,默认选项是空格
-f fields,指定字段 cut -t
-b 字符
-f 1 显示第一字段
-f 1,3 显示第1,3字段
-f 1-3 显示第1到3字段
[root@localhost ~]# cut -c 1-4 /etc/passwd
-c 指定字符,无需分隔符
[root@localhost ~]# cut -c 1-4 /etc/passwd
-s 不打印没有分隔符的行
–output-delimiter=# 指定输出的分隔符
[root@localhost ~]# cut -d : -f 1,3 --output-delimiter=" " /etc/passwd 重新以空格作为分隔符
[root@localhost ~]# cut -d : -f 2,3 --output-delimiter=@ /etc/passwd

------------------------

echo 回声 标准输入输出指令
echo $PATH 查看环境变量
可以用来创建文件
echo 123 >a 创建一个123456的a文件 比nano简单
> 重定向符(cat /etc/passwd a 作用是创建一个a文件显示结果,之前的内容不在)
>> 追加重定向(在原来的内容上追加内容)

文本排序(对文本文件排序)
sort 默认根据字符在ASCII码中的升序排序
-n 启用数值排序(正向)
-r reverse,逆序排序
-t 指定字段分隔符
-k key,指定字段进行排序
-u unique,去重
-f 排序时忽略字符大小写
uniq 等同于sort -u,报告重复的行,注意,重复的行必须相邻
-d 只显示重复的行的数字
-D 显示所有重复的行
-c 显示重复行重复的次数

管道“|”就是将前面命令输出作为管道后面命令的输入
反引号,命令替换
" " 双引号,可以实现变量替换
‘ ’ 强引用,不完成变量替换 ()
[root@localhost test]# date
2018年 11月 28日 星期三 20:09:22 CST
[root@localhost test]# date | cut -d " " -f 5 | cut -d : -f 1-3
20:13:22
tee命令可以将输出同时发送到显示器和文件中。tee命令相当于一个管道的T型接头,(需要加管道符号 “|” )
它接收STDIN的数据并将数据发送到两处,一处是STDOUT,一处是tee命令指定的文件名。

---------------------

wc:统计 行 单词数 字节数 文件名
[root@localhost test]# echo 123 456 >a
[root@localhost test]# cat a
123 456
[root@localhost test]# wc a
1 2 8 a (默认换行符号$占用一个字节)
-c, --bytes print the byte counts
-m, --chars print the character counts
-l, --lines print the newline counts
–files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-L, --max-line-length 显示最长行的长度(显示最长行的字符)
-w, --words 显示单词计数
–help 显示此帮助信息并退出
–version 显示版本信息并退出

------------------模式匹配器-----------(126fz)

grep 筛选关键字显示所匹配到的行[root@localhost ~]# grep root /etc/passwd
–color 匹配项着色
-o 显示匹配到的字符串 [root@localhost ~]# grep -o root /etc/passwd
-i 忽略大小写
-r 筛选包含关键字的文本
-v 只显示没有匹配到的行 [root@localhost ~]# grep -i o /etc/passwd
^# 以#号开头 # ; // ----注释行
^$ 空白行
-A 2 指定数字显示匹配到的下几行

[root@localhost test]# grep -A 2 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    -B  2  指定数字显示所匹配到的上几行
    -C   2  显示所匹配到的上下几行
cat /etc/login.defs
grep -v "^#" /etc/login.defs
过滤表示开头为#号的
grep -v "^#"  /etc/passwd | grep -v "^$"  
空白行“^$”
[root@localhost ~]# grep -A 2 root /etc/passwd

---------------------------------------

paste 合并两个文件 (对比查看,cat查看两个文件的话会混淆)
[root@localhost ~]# cut -d : -f 1 /etc/passwd > A.txt
[root@localhost ~]# cut -d : -f 5 /etc/passwd > a.txt
[root@localhost ~]# paste A.txt a.txt
对比文件
diff 对比两个文件

[root@localhost ~]# diff A.txt a.txt

---------------用户管理------------------

3A认证
Authentication: 认证机制,通过某种方案来确认用户是其声称的用户,如密码、生物识别等
Authorization: 授权机制, 资源使用级别(Linux只有管理员和普通用户两级分配机制,权限)
Audition: 审计机制,监督权限的使用 ,log审计凭据—额外审计功能SElinux用户类别
管理员 0 root
普通用户 1-65535,2^16个
| 1-200 系统中的管理用户
|-系统用户 201-999,专门用来运行后台进程和服务的用户,不允许登陆系统(服务用户)
|-一般用户 1000-60000,后面的很少使用

用户组类别
按照用户类别的分法
管理员组 root
普通组
|-常用分法
|-(主)基本组,用户的默认组
|-附加组 额外组,默认组以外的其他组

用户管理
查看用户信息 id redhat 或者 cat /etc/passwd
/etc/passwd 冒号隔开的七个字段

hehe:x:1005:1007::/home/hehe:/bin/bash
	account		用户名
	password	密码,x为密码占位符,目标为/etc/shadow第二个字段
	UID			用户ID
	GID			基本组ID,额外组信息在/etc/group文件中
	CECOS		用户基本信息
	HOME DIR	用户家目录,系统用户不允许登陆
	shell		用户的默认shell,/etc/shells保存了所有的合法shell
useradd  
    useradd USERNAME/adduser
                -l  不要将此用户添加到最近登录和登录失败数据库
	-u UID	指定UID
	-g GID	指定基本组(已经存在的组)
	-G GID1,GID2,...	指定附加组
	-c	“注释信息”		指定用户注释信息      chfn 
	-d	/path/to/dir	指定某个目录为用户家目录
	-s	/shell			指定用户使用的shell    chsh -s
chsh	-s修改用户shell
usermod	修改用户相关信息,选项同useradd 
	-u	修改UID(不能给已经存在的ID)
	-g	修改组ID,基本组必须先存在
	-G	这个选项会覆盖之前的附加组,和-a选项配合使用(给组添加用户)
		usermod -a -G 追加附加组
	-c	修改用户注释信息(chfn也可以更改用户注释信息)
	-s	修改用户shell(/bin/nologin 这个shell不能登录)
	-l	修改登陆名(前提是用户得存在)
userdel
	userdel USERNAME
	-r	完全删除 删除它的组以及它的目录		
id		查看用户的ID信息,选项同useradd
	-u	显示UID
	-G	显示附加GID
	-g	显示GID	

组管理(cat etc/group 组配置文件)

hehe:x:1007:(组名:组密码:GID:该组里的用户)
	groupadd	添加一个组
                                -n
		-g	GID
		-r	添加系统组
	groupdel	删除一个组   (不能删除基本组,也就是用户默认的主组)
	groupmod	修改一个组
		-g	GID(更改组ID,必须为以前不存在的组ID)	
		-n	GRPNAME(更改组名)	修改组名
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值