Linux2--修改root密码,文件操作

一.不进入系统修改root密码:

1. 读秒的时候按e进入grub编辑
2. 在grub界面按e进入编辑模式
3. 编辑kernel那行,输入 空格 1 ,回车
4. 按b键重启
5. 进入单用户模式修改密码,执行命令:passwd 修改密码
6. reboot重新启动

二.文件和目录的操作—文件和目录的创建,复制,移动,重命名

1. 创建目录 mkdir
	mkdir + 目录名(如果不指定路径,就代表在当前目录下创建)
	mkdir aaa 在当前路径下创建aaa
	mkdir -p 递归创建,可以创建多级目录,当父目录不存在时,先帮我们创建父目录
	mkdir -p ./1/2/3/4 在当前目录下创多级目录
	mkdir -p ./aa/bb/cc/dd /home/aaa/bbb
	
2. 创建文件 touch
	touch 创建空文件
	touch + 文件名(如果不指定路径,就代表在当前目录下创建,可以同时创建多个,多个文件之间用空格隔开)

	符号命令
		echo 
		echo hello 直接将输入的字符创打印到屏幕
		echo hello > 1.txt 将字符串写到文件中
		echo qianfeng >> 1.txt >> 追加写操作,将要输入的内容追加到文件末尾,若文件不存在,会自动创建
		echo xisanqi > 1.txt > 先清空文件内容,然后在写入文件,若文件不存在,会自动创建
		ls -l > 1.txt (将内容重定向到1.txt中)
		echo 密码 | passwd --stdin root 不通过文件交互信息,直接修改密码
		
		输入重定向(相当于导入) < 
		cat > 2.txt < /etc/passwd
		输入结束 <<
		cat > 3.txt << 代表输入结束,EOF(EOF可以自定义,区分大小写,与Ctrl + D相同,代表结束输入)
		cat > 3.txt << EOF
		(写shell脚本时常用)
		
		echo <property>...</property>

3. 文件或目录的拷贝 cp
	cp + 文件名 + 目标位置 只拷贝文件(可以同时拷贝多个文件)
		
	cp -r + 源目录 + 目标位置
	cp -r home/ccc/ .ddd 拷贝home目录下的ccc到当前目录并改名字为ddd

4. 移动文件 mv (相当于剪切)---可以用来重命名
	mv + 文件或目录名 + 目标位置
	mv + 文件名或目录名文件 + 新的路径/文件名

5. 删除文件或目录 rm
	rm -rf 强制递归删除
	-r recursive 递归
	-f 强制

6. 文件的改名 rename(批量改名)
	rename + 要修改的字符串 + 修改后的字符串 + 匹配的文件
	rename .repo .repo.bak ./*repo 修改当前路径下以.repo结尾的文件为.repo.bak
	
	rename .txt "" ./*.txt 去掉当前路径下.txt文件的后缀

三.文件的编辑

vi 和 vim
vi + 文件名(包含路径,如果不指定就是当前路径下,如果文件不存在,创建空文件)

1. 一般模式:
	dd 删除光标所在行整行内容
	ndd 从光标所在行开始,删除n行
	dG 从光标所在行开始删除到文件末尾
	x 删除光标所在处字符
	nx 从光标所在处字符开始,删除n个字符
	D 从光标所在处删除到行尾
	r 替换一个字符
	R 从光标所在处替换,根本停不下来,按esc结束
	u 取消上一步操作
	Ctrl + r 返回到取消前
	yy 复制一行
	nyy 从光标所在行开始,复制n行
	p 粘贴
	ZZ 保存并退出(大写Z)
	gg 定位到首行
	G 定位到尾行
	ngg 定位到n行

2. 编辑模式---按esc退出编辑模式
	i 光标所在处前开始输入
	I 光标所在行行首开始输入
	a 光标所在处后开始输入
	A 光标所在行行尾开始输入
	o 光标所在行下一行开始输入
	O 光标所在行上一行开始输入
	
3. 底行模式(在一般模式下按shift + : 进入底行模式)
	w 保存
	q 退出
	wq 保存退出
	q! 强制退出(不保存)
	wq! 强制保存退出
	
	查找
		/字符串 查找文件中的字符串,并定位到第一个找到的位置,
		继续往下查找使用n,按N定位到上一个匹配的位置
		
	替换
		:s/老字符串/新字符串 查找光标所在行的第一个老字符串,并替换成新字符串
		:s/老字符串/新字符串/g 查找并替换光标所在行的所有的老字符串 
		:%s/老字符串/新字符串/g 替换文件中所有的老字符串
		:3,$s/老字符串/新字符串/g 替换第三行到末尾的所有字符串
		
		:set nu 设置行号
		:set nonu 取消行号设置
		:n 定位到n行
		
4. 选择模式	
	按 v 进入选择模式
	shift + v 行选择模式
	Ctrl + v 块选择模式

	y 复制
	p 粘贴

四.文件的查看

1. cat
	cat 一次性将所有的内容加载到内存,输出到控制台
	cat -n 输出行号

2. head 
	head 文件名
	head 默认取前10行
	head -n 取出前n行

3. tail 
	tail 文件名
	tail 默认取后十行(HDNF的shell从文件末尾取1kb的数据)
	tail -n 取出后n行
	tail -n +10 取第10行到文件末尾的内容

	tail -f 监控的是文件的inode,跟踪文件的唯一标示,inode号,就算文件已经改名移动等还是跟踪这个inode号,但是一旦文件移动或者重新创建或者重命名,都不能监控
	tail -F 监控的是文件名,只要文件时这个名字,不论文件是否存在都会一直监控
	
	flume : 日志采集工具
	日志策略 : 
		tail -f : 在某一个时间点阻断流的写入,将文件复制一份,然后使用flume将数据移动走,
				  清空原来的日志文件内容
		tail -F : 在某一个时间点阻断流的写入,将文件直接移动走,然后创建一个新的文件与原来文件名字一致
	
	每个文件创建的时候都由系统维护一个iNode号
	ll -i ./ inode号的查看
	
	磁盘上文件存储的最小单位是扇区,大小为512个字节
	操作系统读取磁盘的最小单位是块,一个块8个扇区,大概4k
	系统当中存储文件的数据分为两种--元数据,数据块
		元数据 :保存时间,用户,权限,块信息等
			stat File 查看元数据
		数据块 : 要使用的数据	
	磁盘存储在系统格式化的时候分为两部分,分别存储元数据和数据块,读取一个文件要读取那些块,
	就是根据元数据知道的
	
	inode也会消耗磁盘空间.所以磁盘格式化的时候,操作系统自动将磁盘分为两个区,一个是数据区,
	存放文件数据,另一部分就是inode区(inode table)存放inode包含的信息.每个inode的大小
	一般是128字节或者256字节,inode节点的总数,在格式化的时候就给定,一般是每1kb或者每2kb
	就设置一个inode.
	
	Q:假定现在1GB的磁盘,每个inode节点的大小为128字节,每1kb设置一个inode,那么inode区的大小为多大?
	A:128M,占整个磁盘的12.8%
	会出现的问题:磁盘空间未占满,但是不能创建新文件,inode区已满
	
	HDFS分布式文件系统,元数据放在内存中,每条150字节左右,如果存储小文件,内存迅速被占满,
	寻址的时间甚至超过文件读取的时间
	
4. more 分页查看文件,适合内容较多的文件
	more 文件名
	按空格翻页查看
	按回车逐行查看
	按b会看
	按q退出浏览状态

5. less 分页查看文件,适合内容较多的文件,支持上下翻滚
	less 文件名
	按空格翻页查看
	按回车逐行查看
	按b会看
	按q退出浏览状态
	
	**less 支持搜索 /字符串

五.文件的查找

which : 查找命令
	用于查找并显示给定的命令的绝对路径,在环境变量中查找的

whereis : 一般用于查找软件的安装位置,该指定会在特定目录中查找符合条件的文件

locate查找 : 查找文件所在位置,使用的是数据库,效率很高,弊端是数据库不是实时更新的,
			新创建的文件可能找不到,更新数据库:updatedb

echo hello >> test.txt
updatedb
locate test.txt

find查找 : 查找速度很慢,,参数前的路径可以有多个,表示从多个路径下查找
find + 路径 + 参数
find /home /root/Desktop -name "*.txt"  从两个路径下查找以.txt结尾的文件
	
-exec find命令对匹配的文件执行该参数所给出的shell命令,相应的命令形式为
COMMAND {} \;注意:{} 和 \ 之间的空格
-ok 和 -exec 的作用相同,只不过以一种更安全的方式,在执行每一条命令时会询问用户
find /home /root/Desktop -name "*.txt"  -ok rm {} \ 
find /home /root/Desktop -name "*.txt"  -exec rm {} \ 

六.文件的压缩

gzip : 用来压缩文件,以.gz为文件扩展名,可以压缩较大的文件,节约磁盘空间,可以与tar命令组合使用
	1. 压缩时,不保留源文件
	2. 不能压缩目录
	3. 可以同时压缩多个文件
	4. 可以同时解压多个文件
	5. 解压缩命令:gunzip
	
bzip2 : 用来压缩文件,以.bz2为文件扩展名,可以压缩较大的文件,节约磁盘空间,可以与tar命令组合使用
	1. 压缩时,不保留源文件
	2. 不能压缩目录
	3. 可以同时压缩多个文件
	4. 可以同时解压多个文件
	5. 解压缩命令:bunzip
	
tar : 打包,可以将多个文件或目录放在一起形成一个文件,以.tar为扩展名
	-c : 打包
	-v : 显示过程
	-f : 指定文件
	
	-x : 解包
	-C : 重定向
	
	-z : 以gzip的形式压缩或解压
	-j : 以bzip2的形式压缩或解压
	
	tar -xvf test.tar -C ./data
	tar -cvf test.tar 1.txt 2.txt aaa
	
	tar -zcvf test.tar.gz 1.txt 2.txt aaa //先打包在压缩
	tar -zxvf test.tar.gz -C data 
	
	tar -jcvf test.tar.bz2 1.txt 2.txt aaa
	tar -jxvf test.tar.bz2 -C data 

七.用户和组的操作

普通用户 id 500--
系统用户 id 1-499
root用户 id 0

添加用户
	用户必须有所属组,创建用户时,如果不指定组,系统会默认与用户同名的组,用户id与组id,由系统分配
	useradd user
	useradd -g 500 user1 添加用户并指定基本组
	useradd user2  

查看信息
	查看用户信息 cat /etc/passwd
	查看组的信息 cat /etc/group
	查看密码信息 cat /etc/shadow
	查看组的密码信息 cat /etc/gshadow

修改密码
	修改用户的密码 : passwd + 用户名
	修改组的密码 : gpasswd + 组名

删除用户
	userdel + 用户名
	-r 删除用户名删除用户的家目录
	-f 删除用户,即使该用户已登录
	
修改用户
	usermod + 用户名
	-g 基本组
	-G 附加组
	-u 用户id
	
	useradd -g 500 -G 503 user250 : 添加用户user250 基本组为500,附加组为503
	usermod -g 503 -G 500 -u 666 user250 : 修改用户user250 基本组为503 附加组为500 用户id为666

添加组
	groupadd + 组名
	groupadd manager
	groupadd -g 999 manager1 添加组manager1 并指定组id为999

删除组
	groupdel + 组的名称 
		注意: 删除组的时候,组内必须没有用户存在,否则删除不了

修改组
	groupmod + 组的名称
	-g 修改基本组id
	-n 修改组名字
	
	id 显示用户的有效id
	id -g user250

八.文件的权限

-|rw-|---|---. 1 root root 1771 4月28 2015 anaconda-ks.cfg
①  ②   ③   ④      ⑤    ⑥    ⑦      ⑧              ⑨
①: 文件类型
	-	文件	
	d	目录
	l	链接
②:所有者权限(u)
	r	读	 	4
	w	写	 	2
	x	执行	1
③:所属组权限(g)
	r	读		4
	w	写		2
	x	执行	1
④:其他用户权限(o)
	r	读		4
	w	写		2
	x	执行	1
⑤:所有者
⑥:所属组
⑦:文件大小
⑧:最后修改时间
⑨:文件名

修改文件的权限
	chmod 755 1.txt(文件)
	chmod ugo+w 1.txt
	chmod ugo-w 1.txt
	chmod -R ugo+x data(文件夹)
	chmod -R 777 data

修改文件所属用户和所属组
	chown hadoop:hadoop 1.txt
	chown -R hadoop:root ./data



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值