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

xiaoxiao2025-05-22  40

文章目录

一.不进入系统修改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

​ ​ ​

转载请注明原文地址: https://www.6miu.com/read-5030541.html

最新回复(0)