过了10天时间,学习了Linux系统精讲课程,期间因为有其他学习上的事情需要处理,导致学习速度比较慢。接下来的学习时间需要加快速度,全身心地投入了。
2-0单用户模式
root密码重置
reboot----3秒内随便按一个健进入一个界面----选中第二行按下e ----进入另一个界面,在最后一行的最后加一个 1然后按回车----再按b----顺利进入1模式下
指令 runlevel 查看模式
指令 passwd 更改密码
设置新密码后reboot重启
2-1救援模式
另一种修改root密码的方式
2-2CD命令
cd=chang dir 更改目录
指令cd /tmp 进入到tmp目录
指令pwd 查看当前目录
指令cd 回到root目录
指令cd - 回到上一次的目录
指令cd ~=cd ^C =cd
cd .进入当前目录
cd ..进入前一级目录,相当于后退
2-3ls命令
ls=list
查看文件或者目录各种信息
ls -i 、ls -li、ls -a、 ls -l、ls -t等等
2-4linux环境变量
alias 别名
指令 alias s='ls -alt /var/' (别名后输入指令s就等于输入指令ls…)(当前终端生效)
指令alias 查看系统和自己设定的变量别名
指令 which ls 查看ls的绝对路径
path指令使用
2-5快捷键使用
exit、logout 、ctrl d退出终端
按ctrl u 清除正在输入的所有指令
按ctrl k 清除光标后的指令
按ctrl c中断运行中的指令
按ctrl z暂停进程 指令fg恢复进程
按ctrl s 屏幕静止锁定 ctrl q恢复
按ctrl l清屏
3-1创建和删除目录
指令 mkdir 创建目录
指令 mkdir 234 在root上创建了234目录 /root/234/
指令mkdir 一次只能创建一个目录
指令 man mkdir 查看mkdir指令的用法
指令mkdir -pv /tmp/1/2/3 在tmp下一次性创建了3个目录
指令rmdir 删除目录 只能删除空目录
指令rmdir -p 1/2/3 一次性删除1、2、3目录 也只能删除空目录
3-2rm指令
指令rm 删除文件
指令rm -rfv或rm -frv强制删除目录或文件 不提示不报错
3-3cp拷贝命令
指令cp -r 拷贝目录
指令df -h查看系统分区情况
指令 cp a b 把a拷贝到b
3-4移动和重命名mv
mv既可以挪动文件也可以挪动目录
格式 mv a b 把a挪动到b或把目录a挪动刀目录b
指令tree a 查看a目录下的分支
3-5文件查看命令
指令 cat a 查看文件a内容
指令 tac a查看文件a内容
指令 more a 按回车键一行一行按空格键一屏一屏地查看文件a,不能往上查看
指令 less a (同上),也可以用方向键上下一行一行地查看, ctrl b或f也可以, g或G也可以, /a 搜索关键字a,?a 搜索关键字a
指令head a查看文件a前10行
指令head -2 a 只查看a前2行
指令tail a 查看a最后10行
指令tail -3 最后3行
3-6文件和目录属性
ls -l /a 查看目录或文件a的属性
ls -la a 查看a
3-7chmod 命令
文件属性权限 rwx(111=7)可读可写可执行
chmod 更改权限
指令chmod ¥ a 将文件a的权限改为¥
指令chmod -R ¥ 111 111目录下所有文件和子目录的权限改为¥
umask
3-8chown命令
指令 chown a b.txt 更改b.txt的属组
useradd a 创建用户a
groupadd c 创建用户组c
指令 chown :c b.txt 更改b.txt的所属组
指令 chown root:root b.txt 把b.txt的属组和所属组改为root
history 命令历史 !加字符或者数字能重新调用
chown -R 修改目录下所有
3-9chattr文件隐藏属性
lsattr 查看当前目录下特殊属性 lsattr -R 列出所有 lsattr -d 只查看目录本身
chattr +a 1.txt 给1.txt增加了a权限
echo "qq ">1.txt 把1.txt清空后写入qq
echo "qq">>1.txt 把qq写入1.txt最后一行
chattr -a 减除a权限
chattr +i 权限
touch 1/2.txt 在1目录下创建2.txt
4-0特殊权限之suid
set_uid
/etc/shadow
/usr/bin/passwd
chmod u+s /tmp/ls 赋予ls u+s权限 s就是suid或set uid
su - 、logout 临时用户切换和返回。 #与$
4-1特殊权限sgid
set_gid
r=4、w=2、x=1、set_uid=4、set_gid=2、stick_bit=1
4-2特殊权限之sticky
stick_bit
防别人删除自己的文件(不同用户之间)
:wq!强制保存退出
root 模式下运行 chmod o+t 加入t权限 其他用户不能删除
4-3find搜索应
which、whereis 、locate都可以搜索文件路径,但有一定局限性,搜索范围和权限等等
updatedb刷新数据库
指令find /tmp/ -name 'ab' 在tmp目录下找到ab文件(单引号可不加)
指令find /tmp/ -name "a*" 找到以a开头的文件(双引号可不加也可用单引号)
指令find /tmp/ -type d 找到所有目录 f找到所有文件
find /tmp/ -mtime -10 找到10天内的文件 +10找到10天前(创建时间或修改日期) -mmin 单位是分钟
find /tmp/ -type f |xargs rm 找到tmp下所有文件并删除 rm可改为其他指令用
4-4三个时间属性
mtime、atime、ctime
date 查日期时间
atime 访问时间
mtime 创建或更改时间
ctime 更改原数据时间
指令 stat a 查看a文件的属性
touch a 假如a不存在就创建新文件a,如果文件存在了,就更改了文件3个time
m变c必变,c变m不一定变 例如更改权限
4-5软链接和硬链接
软链接=快捷方式
指令ln -s /root/12.txt /tmp/23.txt 在tmp下创建了root文件12.txt的软链接叫23.txt 创建软链接时加上绝对路径,避免搞混淆
也可以做目录的软链接 12.txt改为目录名
inode:每一个文件或者目录核心的元数据 记录数据很重要的信息 一个inode对应一个或多个文件 反过来不行
ls -i /root/a 查看文件a的inode
du -sh /root/a查看文件a的大小
硬链接可以让多个文件同时公用一个inode
指令ln /root/a /tmp/b 让生成的b成为a的化身 硬链接
硬链接不能夸分区 也不能做目录的硬链接 每个分区下有一套独立的inode 分区a下有123 分区b下也有123
4-6用户名文件
用户和组管理
cat /etc/passwd(核心配置文件)
用:分为7段
第一段用户名
第二段密码
第三段uid 通过id命令查看用户uid 例 如id root
第四段组id
第五段解释说明 普通用户为空的
第六段家目录 普通用户为/home/用户名:
第七段shell 一般为/bin/bash可以登录 也有/sbin/nologin 不可登录 /bin/false 不可登录
4-7密码文件
/etc/shadow 存放密码
用:分为9段
1、用户名
2、用户加密密码
3、从1970.1.1到上次修改密码的时间
4、密码多少天后才能修改
5、密码多久好过期
6、密码过期前几天预警
7、密码过期后延迟多少天锁定账号
8、账号生命周期
9、保留值,没什么用
4-8增加和删除用户组
指令groupadd a 创建了组a
指令tail /etc/group 查看组的信息
指令 /etc/gshadow 查看组的密码
groupadd -g 555 b 创建的组b的id为555.普通创建的组id从500开始,创建b后以后创建的组的id从556开始
指令groupdel a 删除组a 组用来归纳用户 组里面如果有用户 这个组不能删除 。附加组可以删除,基本组不可以
4-9增加和删除用户
指令useradd a 同时创建了组a和用户a
指令useradd -u 505 -g a b 创建了用户b uid为505加入到组a中 指令中的a也可改为a的gid
指令useradd -d指定用户家目录 -s指定用户shell
useradd -M -s 创建用户时不创建家目录
指令userdel a 删除用户a 但不会删除家目录
指令userdel -r a 删除用户a时也删除家目录
5-0usermod修改用户属性
指令usermod -g 501 a 用户a的gid改为501
useradd -G 增加用户扩展组 扩展组可以删
usermod -u -g -G -d -s都可以用 更改
usermod -L锁定一个用户 不能登录 -U解锁
5-1password更改密码
指令passwd 更加root密码
指令passwd a 更改用户a的密码
指令mkpasswd 提示不存在 要输入指令yum install -y expect 安装expect程序包 再次输入mkpasswd运行。
mkpasswd -l 规定密码长度 -s 规定符号个数 -d 规定数字个数 -C规定大写字母个数 -c规定小学字母个数
指令 passwd --stdin a 设置用户a的密码
指令echo “b” |passed --stdin a 设置用户a的密码为b
5-2su切换用户
指令id或者whoami都可以查当前用户
指令su - b切换到b用户
指令su - -c “指令b” a 在a用户下执行指令b
5-3sudo详解
sudo root赋予普通用户在非密码情况下执行root的指令
比较难 少用
5-4df命令
指令df 查看系统每个分区使用情况 不能查看swap
指令free 查看swap的使用情况
df -h 、-k、-m以不同单位显示大小
指令df -i 查看分区inode使用情况
5-5du命令
du 查看文件、目录使用情况 大小 单位k
du -h、-m、-k以不同单位显示
du -sh /a/ 查看文件或目录a的大小(占用大小,du -sb和ls -lb查看的是真实大小)
5-6fdisk命令
指令fdisk -l 查看磁盘情
指令 fdisk /dev/sdb 进入b磁盘(指令parted处理大于2T的磁盘) 输入m 查看可以操作的指令 接着输入n增加分区 e为扩展分区 p为主分区 l为逻辑分区(在扩展分区下细分) 例子:p-1-1-+2G (大小) :w保存退出
5-7磁盘格式化mke2fs
磁盘分区后必须格式化才能使用
cat /etc/filesystems查看文件系统格式
iso9960光盘格式、常见ext2、ext3、ext4
指令mkfs.查看格式化格式
指令mkfs.ext4 /dev/sdb5 把磁盘sdb5格式化为ext4格式
指令mke2fs -t ext4 -b 2048 -m 1 -L a /dev/sdb1 分区1格式化为ext4格式,块大小2048,保留1%,标签a
5-8磁盘挂载与卸载
磁盘格式化后要挂载后才能写入数据
指令 mount /dev/sdb5 /mnt/ 把分区5挂载到mnt下
指令df -T 或-m查看所有分区格式、挂载点等等信息
umount -l /dev/sdb5卸载sdb5的挂载点
5-9分区表fstab
设置开机自动挂载
指令cat /etc/fstab 然后增加一个分区设置
或指令vi /etc/rc.local 然后增添一条指令
blkid
mount -a
mount -o