zoukankan      html  css  js  c++  java
  • Linux第一周复习

    1.ls 列出目录中的文件
    -l 长输出,列出文件的详细信息
    -h 以人类易懂的方式显示
    -d 查看目录信息
    -a 查看目录下的所有信息,包括一.开头的隐藏文件

    2. cd 切换目录
    cd .. 切换到上一级目录
    cd - 切换到上一次所在的目录

    3.rm 删除文件
    -r 删除目录
    -f 强制删除

    4.mkdir 创建目录
    -p 创建级联目录 1/2/3/4

    5.touch 创建文件

    6.man 查看命令帮助手册

    7.cp 复制文件
    -r 实现目录的复制

    8.mv 移动文件或改名

    9.clear 清屏 Ctrl+L

    10.reboot 重启虚拟机

    11.PowerOff 关闭虚拟机

    12.echo 输出一段文本

    13.cat 查看较小的文本
    -n 显示行号

    14.less 查看不大不小的文本

    15.more 查看较大文本
    pgup 往前翻页 pgdn 往后翻页

    16.head 查看文本前十行内容
    -n 查看前n行内容

    17.tail 查看后十行内容
    -n 查看后n行内容
    -f 持续监测文本内容的变化

    18.Ctrl+c 强行终止

    19.rmdir 删除空文件

    20.alias 查看和设置别名

    21.unalias 取消别名

    22.uname 显示出系统的信息
    -a 显示系统的所有信息
    -r 显示操作系统的版本

    23.hostname 显示并设置主机名

    24.histry 显示历史输入命令

    25.wc 统计文本信息
    -l 统计行数
    -c 统计字节
    -w 统计单词数量

    26.which 查看命令完整路径

    27.w 显示已经登陆的用户和他们在做什么

    28.who 显示登陆的用户

    29.whoami 显示当前用户

    30.ping 向网络主机发包,监测主机是否在线
    -c 发包的数量
    -w 等待的时间
    -i指定收发信息的间隔时间

    31.kill 终止进程
    -9 强制终止
    -15 完成工作后退出

    32.du 查看文件和目录大小
    -h 以人类易懂的方式查看
    -s 仅显示目录的总大小

    33.df 显示查看磁盘的大小及挂载点

    34.date 打印或设置系统日期和时间q

    35.free 显示系统中已用和未用的内存和空间总和


    36.输出重定向:
    > 覆盖输出,抹掉以前内容
    >> 追加输出,不会抹掉以前的
    2> 错误输出,覆盖
    2>> 错误追加
    &> 将错误和标准输出共同写入文件中,覆盖
    &>> 将错误和标准输出共同写入文件中,追加

    37.输入重定向:
    < 把文件直接导入到命令中

    38.管道命令符(|)
    把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入,一条命令中可以使用多个

    39.通配符
    *.表示匹配的任意内容,可以是0个,也可以是很多个字符
    ?.表示匹配单个字符(单个字符必须存在)
    [] 表示匹配括号里面的任意一个字符[0-9][abcd]

    40.软连接
    ln -s 相当于Windows下面的快捷方式
    编辑源文件,连接文件也会改变
    编辑连接文件,源文件也会改变
    删除连接文件对源文件没有影响
    删除源文件,链接文件就是失效
    再创建一个同名的文件,连接文件会自动连接上,但是没有以前的内容

    41.硬连接
    ln 相当于Windows中复制粘贴一个文件
    编辑源文件连接文件也会改变
    修改连接文件源文件也会改变
    删除源文件连接文件没影响
    删除连接文件源文件也没有影响

    42.绝对路径与相对路径
    绝对路径指的是从根目录(/)开始写起的文件或目录名称
    相对路径指的是相对于当前路径的写法

    43.vim编辑器
    编辑文本内容的工具

    1.命令模式:可以查看内容,复制,剪切,删除等操作
    2.编辑模式:可以对文本中的内容进行修改
    3.末行模式:复制,剪切,删除,替换,保存,退出

    4.命令模式到编辑模式:i,a,o (i:光标前一位输入,a:光标向后移一位输入,o:另起一行输入)
    5.编辑模式到命令模式:esc 键
    6.命令模式到末行模式:shift+:
    7.末行模式到命令模式:esc 键

    8.命令模式下的常用操作
    ①复制:yy 复制多行:nyy
    ②粘贴:p
    ③剪切:dd 剪切多行:ndd 不粘贴就是删除
    ④dG 删除光标所在行到末尾的行
    ⑤D 删除光标之后到行尾的内容

    ⑥u 撤销 nu 指定撤销次数
    ⑦Ctrl+r 撤销上次撤销的操作

    ⑧1G 跳转到首行 gg=1G
    ⑨G 调到末行 nG 跳到n行
    ⑩home 跳转到行首 end 跳转到行尾
    ⑾pgup ctrl+f 向前翻一屏 pgdn ctrl+b 向后翻一屏

    ⑿R 进入替换模式 #退出按esc键
    ⒀r 替换一个字符退出

    ⒁ /root 表示搜索文中的root字符串 n向下查找 N向上查找

    9.末行模式下的常用操作
    ①set nu 显示行号 set nonu 取消显示行号

    ②$ 跳转到最后一行 直接输数字跳转到任一行

    ③nohl 取消高亮

    ④替换:起始位,终止位 s/原始字符/想要替换的字符串/g
    ⑴1,$ s/root/wang/ % s/root/wang/g
    ⑵1,$ 表示全文 % 表示全文
    ⑶后面没有g 只会更换一行的第一个想更换的字符,第二个不会 更换
    ⑷1,5 表示更换1到5行个字符 5 表示只更换第五行的内容
    ⑸ / 可以更换成任意三个相同的字符,一般用#,@,$

    ⑤注释全文:% s/^/#/g 取消注释全文 % s/^#//g

    ⑥在全文行尾添加ken % s/$/ken/
    把行尾的ken删掉 % s/ken$//

    ⑦w 保存 q 没有修改文本可以直接使用q进行退出
    q! 强制退出 如果修改了文本不想保存退出,就必须用q!
    wq 保存退出
    wq! 强制保存并且退出

    ⑧高级操作:r读取某个文本内容到本文件中
    !: !ip a 退出文本查看该命令下操作,回车退回 文本
    ⑨删除1-10行的内容 1,10 d
    移动1-3行的内容至末行 1,3 m $
    复制1-3行的内容至末行 1,3 co $

    10.分屏操作
    -o 水平分屏 -O 垂直分屏 Ctrl+w 分屏文件切换

    11.崩溃缓存文件
    ①缓存文件是以.开头的隐藏文件
    ②缓存文件基本格式是 .filename.swp
    ③缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的 内容(修改了文件内容,意外关掉终端或者系统)
    ④缓存文件的使用方法
    ⑴有崩溃文件,打开vim会有提示
    ⑵查看文件发生已经生成崩溃缓存文件,退出
    ⑶使用vim -r 进行文件的恢复
    ⑷删除崩溃文件
    ⑸确认数据是否一致 #vim 文件

    12.vim配置文件
    /etc/vimrc 全局配置文件,对所有的用户都生效
    /.vimrc 只对特定的用户生效,默认该文件不存在,需要自 己创建
    打开文件显示行号 vim /etc/vimrc 在里面添加set nu

    用户及用户组管理
    44.vim /etc/passwd 用户的基本信息
    ①该文件中一行就是一个用户
    ②统计有多少户 vim /etc/passwd | wc -l
    ③passwdwen文件详解
    root:x:0:0:root:/root:/bin/bash
    root 用户名
    x 密码占位
    0 UID 用户身份ID
    0 GID 用户组ID
    root 描述信息
    /root 家目录
    /bin/bash shell类型
    /bin/bash 是可以登录系统的 /sbin/nologin 是不能登入系统
    45./etc/group 用户组信息
    ①root:x:0:
    root 用户组名
    x 密码占位
    0 GID
    最后还有一位表示有哪些用户在此组内
    root:x:0:ken 表示ken用户在root组内

    46./etc/default/useradd 文件详解
    定义创建用户默认选项的文件

    47.主组和附加组
    ①在Linux系统中创建每个用户时,将自动创建一个与其同名的基 本用户组
    ②而且这个基本用户组只有该用户一个人
    ③如果该用户以后被纳入其他用户组,则这个其他用户组称之为扩 展用户组。
    ④一个用户只有一个基本用户组,但是可以有多个扩展用户组
    ⑤用户的基本组(主组):当前用户具有哪个组的权限
    ⑥用户附加组:用户额外属于的组

    48.linux中用户分类
    ①超级管理员 root UID 0
    ②系统用户 UID 1-999 运行工作
    ③普通用户 UID 1000+ 工作中用到用户

    注意: UID 只是一种规范,也可以设置到其他用户范围

    49.系统用户
    ①运行服务程序的
    ②一般不让系统用户登录系统
    ③系统用户无家目录

    注意:默认的shell类型为/bin/bash

    在创建用户的过程中默认的shell类型是可以登录系统的,没有指定不可登录shell类型是可以登录系统的,工作中不让系统用户登录系统,所以在创建系统用户时要指定shell类型为不可登录系统

    50.useradd 创建用户
    -u 指定UID
    -g 指定GID (指定主组时候组必须存在)
    -G 指定附加组ID (指定附加组时候组必须存在)
    -r 创建系统用户
    -s 指定shell类型 /bin/bash /sbin/nologin
    -c 添加描述信息

    查看系统用户是否创建成功:1,查看用户ID发现在1000以内
    2,系统用户家目录不会创建,查看用户家目录

    51.passwd 设置用户密码
    -l 锁住密码
    -u 解锁密码
    -d 删除密码
    -e 使用户密码过期
    --stdin 从标准输入获取密码 echo "123" | passwd --stdin ken

    注意:1,root登录到普通用户是不需要密码的
    2,普通用户到root,普通用户之间切换是需要密码的
    3,输入exit,退回到上一次登录的用户

    52.userdel 删除用户
    -r 删除用户时连同用户家目录删掉

    注意:如果删除用户时不删除用户家目录,用户家目录依然存在,创建同名用户时就会报错误,但是用户依然创建成功了,在删除用户时忘记删除家目录,要删除用户家目录和用户邮箱。

    53.groupadd 创建用户组

    54.groupdel 删除用户组

    55.ID 查看用户信息

    56.su - 切换用户 不加- 环境变量不会改变

    57./etc/shadow 用户密码信息、过期时间等

    58.usermod 修改用户信息
    -u 修改用户ID
    -g 修改用户组ID (组必须存在)
    -G 修改附加组ID
    -s 修改shell类型 /bin/bash /sbin/nologin
    -L 锁定用户的密码
    -U 解锁用户的密码
    -l 变更使用者的名称 (新名在前,旧名在后)
    -e 加上使用者账号停止使用日期

    59./etc/gshadow 用户组密码

    60./etc/default/useradd 创建用户的默认配置信息

    61./etc/skel/ 用户家目录模板

    62./etc/login.defs 全局用户设定信息

    63.linux系统中的三类人
    属主:文件所有者,默认为文档的创建者
    属组:与文件所有者同组的用户
    其他人:相对于所有者与同组用户

    64.Linux中的三类权限
    ①r 读权限 对于目录来说:表示用户可以查看目录有哪些文件ls
    对于文件来说,可以查看文件内容
    ②w 写权限 对于目录来说:表示可以创建、删除、复制、移动文 件,touch rm mkdir
    对于文件来说:可以更改编辑文本
    ③x 执行权限 对于目录来说,表示可以在目录间切换cd
    对于文件来说,可以执行文件,文件是脚本就可以执 行

    65.查看文件权限 就是查看文件的详细信息
    - rw- r-- r-x
    - 表示这是一个文件(d 的话表示这是一个目录)
    rw- 表示属主的权限。表示属主对文件拥有读写权限,无执行权限
    r-- 表示属组的权限。表示属组对文件拥有读权限,无写,执行权限
    r-x 表示其他人权限。表示其他人对文件有读、执行权限,无写权限

    67.权限设置
    用户表示:u 表示属主
    g 表示属组
    o 表示其他人
    a 表示所与人

    + 增加权限
    - 删除权限
    = 授予权限#注重结果(覆盖)

    68.chmod 修改文件的权限
    -R 同时修改目录及目录以下的所有文件,不加-R选项仅仅只会更改目录自身的权限,加-R选项会把目录以及目录以下的所有文件权限都会更改。
    u+x 属主加执行权限
    u-x 属主删除执行权限
    g+rw 属组加读写权限
    o+x 其他人加执行权限
    o=rwx 其他人有读写执行权限
    a+x 所有人加执行权限
    a-w 所有人删除写权限 (w前必须加a 没有a只改变属主)
    +r 所有人加读权限 (a在r.x 时可以省略)

    69.用数字表示权限
    r=4 w=2 x=1
    744 属主拥有读写执行权限,属组只拥有读权限,其他人只拥有读权 限
    647 属主拥有读写权限,属组拥有读权限,其他人拥有读写执行权限

    注意:要么只读,如果有写的权限,那么必须需要有读权限

    70.chown 更改文件的属主
    -R 同时更改目录以及目录下的所有文件的属主和属组,不加-R仅仅更改目录本身的属主和属组

    chown ken test 更改test属主为ken
    :ken 更改test属组为ken

    ken:ken 更改文件属主和属组(四种方法)
    ken.ken
    ken:
    ken.

    71.-bash-4.2$ 删除了用户的家目录,登录用户就会报这个错误,缺少用户家目录模板下的三个隐藏的三个文件
    mkdir /home/wang3
    cp /etc/skel/.bash* /home/wang3

    72.SUID 只能设置在二进制可执行程序上,程序运行时的权限从执行者变更成程序所有者的权限,注意,设定suid的命令其他人也需要有执行权限

    73.SGID 既可以给二进制可执行程序设置,也可以对目录设置,在设置了SGID 权限的目录下建立文件夹时,新创建的文件的所属组会继承上级目录的所属组。

    74.SBIT 对于设置sbit权限的文件,用户只能删除自己创建的文件,无法删除其他用户的文件。

    75.ACL 对特定的用户实现了权限管控
    # setfacl -m u:ken:rw test 设置ken用户对文件test拥有读写权限
    查看文件ACL权限 #getfacl test
    怎么清除文件ACL权限 #getfacl -b test

    76.sudo 普通用户想创建用户是没有权限的,可以用visudo打开sudo配置文件,90-100行左右,找到root ALL=(ALL) ALL
    改成ken ALL=(ALL) 命令地址(which)
    输入密码是ken用户密码,5分钟之内不需要密码,普通用户就可以创建用户了。

  • 相关阅读:
    【网络流24题】魔术球问题(最小不相交路径覆盖)
    【网络流24题】搭配飞行员(太空飞行计划问题)(最大闭合图)
    【网络流24题】搭配飞行员(飞行员配对方案问题)(网络流)
    bzoj 1664 (贪心)
    关于正方形类问题
    就代码格式化问题
    提高组2017游记
    线程同步
    线程的优先级
    线程的常用方法
  • 原文地址:https://www.cnblogs.com/shaoshuai128/p/11185567.html
Copyright © 2011-2022 走看看