Robbin16 / linux-demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

  • 解决 fatal: unable to access 'https://github.com/Robbin16/linux-demo.git/': Failed to connect to github.com port 443 after 21096 ms: Timed out
    • git config --global --unset http.proxy
    • git config --global --unset https.proxy
  • man pwd 查看 pwd 命令帮助手册
    • man -a passwd 查看除了 linux 下的 passwd 命令之外的,openssl 中的 passwd 命令
  • type cd 查看命令是内部命令还是外部命令
    • help cd 内部命令用这个格式的 help 查看
    • ls --help 外部命令 help 格式
  • info ls info 比 help 更详细
  • pwd 查看当前路径
  • [root@localhost /]# #表示权限不受限
  • su - root 切换为 root 用户 exit 退出账户 不退出账户会一直占用 bash 进程
  • clear 或者快捷键 ctrl+l 清屏
  • ls -l 长格式显示 -r 逆序显示(默认按照文件名首字母逆序显示) -t 按照时间显示 -R 递归显示 可以合并为 ls -lrtR 参数也没有前后顺序之分
  • man cd cd 是内部命令,man 内部命令 得到的都是对 bash 的说明 应该用 help cd
  • cd - 返回上一次目录
  • mkdir -p ./a/b/c/d 创建多级目录(如果有则不创建)
  • rm -r ./a 删除 a 及 a 的子目录,删除时需要确定 -f 强制删除 不需要确定不会有提示并且无论成功与否都不显示结果
  • cp ~/filea/textb /tmp/textb 复制文件或目录 -v 增加提示 -p 复制文件或者文件夹连带复制时间 -a 复制文件或者文件夹连带权限 属主 时间复制
  • touch texta 新建文件
  • mv filea filed 移动文件或者文件夹 linux 底层文件或者文件夹改名其实也是移动
  • cp file* /tmp 通配符*表示所有 ?表示占用一个字符
  • cat filea 查看文件的全部内容
  • head filea 查看文件前十行内容 -3 表示只前显示 3 行
  • tail filea 查看文件后十行内容 -3 表示只后显示 3 行 -f 表示文件更新终端会同步显示
  • more filea less filea 查看文件内容
  • wc -l filea 显示文件内容行数
  • vim 模式有正常模式 插入模式 命令行模式(末行模式)
  • 在正常模式下 调节上下左右光标位置可以用 kjhl
  • ioa 可以进入插入模式 o 插入光标后一行 O 插入光标前一行 a 插入光标后一个字符 A 是插入光标行尾
  • :!ifconfig !后面可以执行命令
  • /x 搜索 x 字符 n 向下查找 shift+n 向上查找
  • :s/old/new 当前行单次替换字符
  • :%s/old/new 所有行单次替换字符 /g 所有行多次替换字符
  • :set nohlsearch 移除搜索后高亮显示
  • :3,5s/x/X/g 3-5 行之间多次替换字符
  • :set nu 设置行号 nonu 取消行号
  • /etc/vimrc 修改 vim 配置文件
  • shift + g 光标到最后一行行首
  • v 可视字符模式 V 可视行模式 ctrl + v 可视块模式 选中后 shift + i 输入完成 按两下 esc 批量插入 d 批量删除 y 批量复制
  • u 撤销一步
  • 用户分为 root 和普通用户 root 所有文件夹都能访问 普通用户只能访问自己的家目录
  • useradd 新用户 新建用户 系统首先给用户分配 uid 增加家目录/home/新用户 /etc/passwd 增加用户 /etc/shadow 影子文件增加用户
  • id 查看当前是哪个用户
  • passwd 新用户 修改新用户密码
  • userdel 用户 删除用户但保留家目录 家目录属主与属组都变成了数字表示没有属主与属组 只有 root 用户能访问 -r 删除用户同时删除家目录
  • usermod -d /home/w1 w 将用户家目录改为 w1 但之前的 w 家目录里的配置文件不会自动迁移过来
  • groupadd group1 新建用户组
  • usermod -g group1 w 将用户 w 改为 group1 分组
  • useradd -g group1 w1 新建用户 w1 并加入 group1 分组
  • groupdel group1 删除分组 删除的前提是组里必须没有用户
  • /etc/group 查询有多少个用户组
  • visudo paulxue ALL=/sbin/shutdown -c paulxue 是用户 %group 是用户组 localhost 是字符终端 ALL 是字符终端 图形终端 SSH 登陆终端
  • 通过 visudo 设置的命令 需要 sudo /sbin/shutdown -c 命令需要全路径
  • which shutdown 查看命令的路径
  • shutdown -h 30 30 分钟后关机
  • /etc/passwd paulxue:x:0:0:paulxue:/home/paulxue:/bin/bash paulxue 用户 x 表示要输入密码 0 表示 uid 0 表示 gid paulxue 表示注释 /home/paulxue 表示家目录地址 /bin/bash 表示 shell 刚进入要执行哪个程序 /sbin/nologin
  • /etc/shadow root:$6$xxxxx root 用户名 $6$xxxx 加密的用户登陆密码 即使不同用户密码相同 但加密后的字符串也不同
  • /etc/group wheel:x:10:paulxue,wwww wheel 用户组名 x 组是否需要密码验证 10 gid paulxue wwww 指定用户 paulxue wwww 属于其他组(wheel)
  • -rw-r--r-- paulxue paulxue 创建时间 filea
  • 文件类型 一经创建无法改变 - 普通文件 d 目录文件 b 块特殊文件(移动硬盘) c 字符特殊文件(终端) l 符号链接(类似 windows 的快捷方式) f 命名管道 s 套接字文件(这两个是进程通信相关的)
  • 对普通文件而言 r 读 w 写 x 执行 r=4 w=2 x=1(八进制数字表示)
  • vim 写入文件的本质是先新建一个.隐藏文件,保存并退出后再将.隐藏文件替换掉原文件
  • 对目录文件而言 x 可以进入目录 rx 可以进入目录以及查看目录内的文件 wx 可以进入目录并修改文件名或者删除文件
  • ls -l ./test 查看文件夹 test 里面的文件 而 ls -ld ./test 查看 test 文件夹本身
  • root 用户不受文件权限的限制 文件权限限制的是非 root 用户
  • chown paulxue:paulxue ./test 修改属主为 paulxue 属组为 paulxue
  • chgrp paulxue ./test 修改属组为 paulxue
  • ctrl + r 查找之前输入过的命令 如果查的不对多按几次 ctrl + r 按回车或者右键选择命令
  • chmod a=rwx ./test a 表示属主属组其他人 u 表示属主 g 表示属组 u=rwx u-r u+r 设置文件字符权限
  • chmod 644 ./test
  • linux 默认权限是 666 - umask(022 文件掩码) = 644 创建普通文件的默认权限
  • echo 123 > ./test 将 test 文件内容清空改为 123
  • ----w---- paulxue paulxue ./test 虽然 paulxue 用户属于 paulxue 属组 但同时他也是该文件的属主 因此不具备写权限 权限冲突以属主为主
  • SUID 用于普通文件 执行时取得属主权限 /usr/bin/passwd rws------
  • SGID 用于文件夹 该文件夹下创建的文件与文件夹属组与父文件夹属组相同 一般是共享文件夹 ---rws---
  • SBIT 用于文件夹 该文件夹下创建的文件与文件夹仅自己和 root 可以删除 ------rwt
  • SUID 相当于 4 SGID 相当于 2 SBIT 相当于 1 chmod 4644 ./test 临时文件夹 /tmp
  • 小写的 st 相当于即有 x 又有 t 或者 s 大写的就只有 S 或者 T
  • centos7 一致性网络设备命名 eth0(第一块网卡也叫网络接口) 这里区分为 eno1(板载网卡) ens33(PCI-E 网卡) enp0s3(无法获取物理信息的 PCI-E 网卡)
  • /sbin/ifconfig root 用户可以直接用 ifconfig
  • /etc/default/grub 增加 biosdevname=0 net.ifnames=0
  • grub 是给用户看的 真正系统调用用的是 /boot/grub2/grub.cfg 因此需要通过 grub2-mkconfig 命令 读取/etc/default/grub 生成到对应的/boot/grub2/grub.cfg 让系统读取
  • reboot 重启系统
  • mii-tool eth0 查看网线是否连接 在虚拟机上使用报错
  • route -n 查看路由情况 -n 不解析域名直接显示 ip 地址

About