首页 > 代码库 > LINUX学习第二章

LINUX学习第二章

   过了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


LINUX学习第二章