2020-02-12_马哥linux_学习笔记

# tty 显示目标虚拟终端,设备文件路径 /dev/tty#

GUI 图形程序

CLI: 命令窗口界面

Linux 命令帮助的获取 

    格式: COMMAD [OPTIONS...]

type 区分内部命令还是shell本身自己的命令

shell 程序搜寻可执行文件的路径定义在PATH 环境变量中

 echo $PATH

 自左至右查找

history命令:

    登陆shell时,会读取.bash_history ,登陆后操作的命令,存在缓存中,用户退出时,会追加到历史文件中;

    快捷操作:

        !#:调用历史中第N条命令

        !string: 调用历史中以string开头的命令

        !! :重复运行上一条命令

文件内容搜索

/keyword: 从当前位置向尾部搜索,n:下一个N上一个(搜索方向)

?keyword: 从当前位置向前面搜索,n:下一个N上一个(搜索方向)

时钟分为:硬件时钟和系统时钟

    查看硬件时钟 hwclock

    查看系统时钟: date

    查看日历: cal

查看文件的元数据 stat 

系统管理类命令:

    关机:

        halt,poweroff,shutdown ,init 0

    重启:

         reboot,shutdown,init 6

    跟用户登录相关:

         who, whoami,w

Linux 的文件系统

    根文件系统(rootfs):

        root filesystem

    行业标准FHS

        /etc, /usr, /var, /root, /home, /dev   一级子目录 ,名称固定

        /boot: 引导文件的存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)都存放于此目录;

        /bin: 供所有用户使用的基本命令:不能关联至独立分区,OS 启动即会用到的程序;

        /sbin: System binaries 管理类的基本命令:不能独立分区,os启动即会用到的程序;

        /lib:基本共享库文件,内核模块文件(/lib/modules);

        /lib64: 兼容32位的库放在lib目录,别的都放在lib64,一般是放文件最多的目录

        /etc: 配置文件目录 (纯文本文件),

        /home/USERNAME: 普通用户主目录

        /root :管理员的家目录:

        /media: 挂载便携性设备,U盘

        /mnt: 挂载临时文件,临时文件系统挂载点;

        /dev: 特殊文件和设备文件

            b: block device  可随机访问

            c: character device  类似数组,顺序访问,线性访问

        /opt: 第三方应用程序安装路径

        /tmp: 临时文件

        /usr: 通常被关联到独立分区的目录.全局共享只读数据  universal shared,read-only data

            bin: 保证系统拥有完整功能而提供的应用程序;

            sbin: 管理员

            lib:

            lib64: 为bin或者sbin提供库库文件 ,,他们的配置文件在/etc

            include: c程序用到的头文件,描述库文件的调用方式.

            share: 结构化独立的数据 ,例如doc,man

            src:源码文件

            local:第三方应用程序的安装位置

                bin,sbin,lib,lib64,etc,share

        /var :通常做独立分区,variable data files 存放经常发生变化的数据目录

            cache: 应用程序缓存目录

            lib : variable state information  存储状态信息

            local: 专用于/usr/local 下的应用程序存储可变数据

            lock:锁文件

            log: 日志目录及文件

            opt: 专用于/opt 下的应用程序存储可变数据

            run: Data relevant to running processes运行中的进程相关的数据:通常存放进程的pid文件

            spool: 应用的缓冲池

            tmp: 系统重启过程存储中间产生的临时文件


        /proc: Kernel and process information virtual filesystem

        /sys: 用于输出当前系统上硬件设备相关信息的虚拟文件系统.

linux上的应用程序的组成部分:   

    二进制程序: /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

    库文件: /lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib,/usr/local/lib64

    配置文件: /etc, /etc/DIRECTORY ,/usr/local/etc

    帮助文件:/usr/share/man ,/ usr/share/doc, /usr/local/share/man ,/usr/local/share/doc

Linux 下的文件类型:

     -(f): 普通文件

    d: 目录文件

    b: 块设备

    c: 字符设备

    l: 符号链接文件

    p:管道文件

    s: 套接字文件:socket;

目录管理类命令:

    mkdir: 创建的最后的目录  -p 存在的不会报错,不存在的会被创建 {}创建目录的骚操作

mkdir {x,y}_{a,b}

mkdir /tmp/{bin,sbin,usr/{bin,sbin}}

bash 的基本特性

        1. 命令别名(alias)

                显示当前shell进程中所有可用的命令别名:

                alias Name='VALUE', 定义name执行value

        永久配置:

                对当前用户有效: ~/.bashrc

                对所有用户有效: /etc/bashrc

                重新读取,source 配置文件

        2.撤销别名 unalias

        3,如果命名冲突 \转义

glob(globbing)

    bash中用于实现文件名"通配"

        通配符: * ? ''[]''

bash的快捷键

    Ctrl+l 清屏,相当于clear命令

    Ctrl+a 跳转至命令开始处

    Ctrl+e 跳转至命令结尾处

    Ctrl+u 删除命令首至光标所处的位置的内容

    Ctrl+k 删除贯标所在位置到尾部的内容

bash 的I/O重定向及管道

    程序: 指令+数据

        读入数据: Input

        输出数据: Output


    打开的文件都有有一个fd: file descriptor 文件描述符

    标准输入:默认是键盘keyboard 用0 表示

    标准输出: monitor fd=1 

    标准错误输出: monitor,跟标准输出无关,用2表示


    I/O 重定向: 改变输入输出的位置


    输出重定向: COMMAND > new_pos 或者 commad >> new_pos

        set -C 禁止内容覆盖 set +C 打开

        >: 覆盖重定向,目标文件中的原有内容会被覆盖  >| 强制覆盖

        >>: 追加重定向: 新内容会追加到目标文件尾部:

        错误流 2>  仅仅能定向覆盖错误输出流

        错误流 2>> 追加

        都 兼顾的写法: 标准输出和错误输出各自定向不同的位置:

            COMMAND > /path/to/file.out 2> /path/to/error.out

        合同标准 输出和错误输出为同一个数据流激进型输出

            &>  覆盖 echo "$path" &> /tmp/path.out

            &>> 追加

            COMMAND > /path/to/file.out 2> &1

    输入重定向: <

        tr 命令

            tr 'a-z' 'A-Z' < file

        << 此处生成文档

            cat >> /tmp/test.out << EOF

 管道:

        COMAND1 |command2 | command3 |...

        Note: 最后一个命令是在 当前shell进程的子shell进程中执行

文件处理工具: wc,cut,sort,uniq

    wc命令: word count 

        例如: ifconfig | wc -l

    cut命令: 

用户和组管理

    资源分配:

        Authentication: 认证 例如,指纹登陆,账号密码,虹膜刷门禁

        Authorization: 授权 

        Accouting: 审计


Linux 用户:  Username/UID

    管理员:root 管理员的Id号为0

    普通用户:  id 1-65535

        1,系统用户 1-499

        2.登陆用户/普通用户 500+

Linux 组: GroupName /Gid

    管理员组 root ,0

    普通组:

        系统组 1-499

        普通组 500+

Linux安全上下文:

    运行中的程序: 进程(process)

Linux组的类别:

    用户的基本组(主组):

        组名同用户名,且仅包含一个用户: 则为私有组

    用户的附加组(额外组):

Linux 用户和组相关的配置文件

    /etc/passwd  保存用户及其属性信息(名称,Uid,基本组Id)

    /etc/group 组及其属性信息:

    /etc/shadow 用户密码及其相关属性

    /etc/gshadow: 组密码及其相关属性

/etc/passwd 

    yaoding:x:500:500:yaoding:/home/yaoding:/bin/bash

    account:password:UID:GID:GECOS:directory:shell

    用户名:密码(x站位符):用户id:组id:GECOS描述信息:主目录:默认shell

/etc/group

     yaoding:x:500:

     group_name:passwd:GID:user_list

     组名:组密码:id号:当前组为附加组的用户列表(分隔符为逗号)

/etc/shadow

    用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:密码的最大使用期限:密码的警告时间段:密码禁用期():账号的过期日期:保留字段

        加密机制:

            单向加密:取特征码: md5sum,sha1sum

        密码的复杂性策略:

            1.数组,大写字母,小写字母,特殊字符至少三种

用户和组相关的管理命令:

    用户创建: useradd

        useradd user1

[root@yaoding ~]# tail -1 /etc/shadow

user1:!!:17913:0:99999:7:::

[root@yaoding ~]# clear

[root@yaoding ~]# tail -1 /etc/passwd

user1:x:503:503::/home/user1:/bin/bash

[root@yaoding ~]# tail -1 /etc/group

user1:x:503:

[root@yaoding ~]# tail -1 /etc/shadow

user1:!!:17913:0:99999:7:::

!!表示禁止登陆

useradd [OPTIONS] Login

     -u UID 

     -g 组id或者名称

     -c 用户的注释信息

     -d 家目录,家目录信息里面的内容都是etc/skel文件内容的copy

     -s 指明登陆的shell

     -G 指明用户的附加组信息,组和组之间用逗号分开group1,group2

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容