目录

  • linux
    • linux基础操作
      • 命令格式与目录处理命令
      • 目录处理命令
      • 文件处理命令
      • 权限管理命令
      • 文件搜索命令
      • 关机重启命令
      • 网络命令
      • 压缩解压命令
      • 用户管理命令
      • 帮助命令
      • 文本编辑器Vim
    • 文件系统管理
      • 分区和文件系统
      • 文件系统常用命令
      • fdisk分区
      • 分配swap分区
    • 用户和用户组管理
      • 用户配置文件
      • 用户管理相关文件
      • 用户组管理命令
      • 用户管理命令
    • shell编程
      • 字符截取命令
    • Shell基础
      • 概述
      • shell脚本的执行方式
      • bash的基本功能
      • 环境变量配置文件
      • Bash的运算符
      • Bash的变量
    • 网络基础
      • 互联网概述
      • 互联网接入方法
      • 网络通信协议
      • Linux网络配置文件
    • 区别
      • df命令是从文件系统考虑的,统计文件,命令,进程占用的空间。(最常见的就是文件已经删除,但是程序并没有释放空间)
      • du 命令是面向文件的,只会计算文件或目录占用的空间
    • 软件包分类
      • 源码包
      • 二进制包

linux

linux基础操作

命令格式与目录处理命令

  • ls

    • ls -lh

      • 人性化显示大小
    • ls -ld (用ll也可以)/root

      • drwxr-x— 18 root root 4096 Feb 6 14:52 /root

        • 看目录的各种信息
    • ls -i[文件名]

      • 看i节点

目录处理命令

  • mkdir(创建目录)

    • mkdir -p[递归创建目录]
    • mkdir [目录]
  • rmdir(删除空目录)

  • cp (复制)

    • cp -rp[原文件或目录][目标目录]

      • -r 复制目录

      • -p保留文件属性

        • 保留文件原始创建时间
    • 复制的同时可以改名字

  • mv(移动、剪切、改名)

    • mv [原文件或目录][目标目录]
    • 剪切目录不需要-r
  • rm(删除文件)

    • rm -rf[文件或目录]

      • -r 删除目录
      • -f 强制执行

文件处理命令

  • touch(创建空文件)

    • touch [文件名]

      • 注释:默认新建的文件是没有可执行权限的
  • cat(显示文件内容)

    • cat []

    • cat -n []

      • -n 显示行号
  • tac(倒着显示内容)

    • 子主题 1
  • more(分页显示文件内容,向下翻页)

    • more [文件名]

      • 空格或f(翻页)
      • (enter)换行
      • q或Q 退出
  • less(分页显示文件内容,可以向上翻页)

    • less[文件名]

      • page up[一页一页往上翻]

      • 上箭头(一行一行上翻)

      • /(关键词) [可以搜索]

        • 按n往下找,N往上找
  • head (查看文件前几行)

    • head [文件名]

      • 显示前十行
    • head -n [行数][文件名]

      • 显示前[行数]行
  • tail (显示文件后面几行)

    • tail [文件名]

      • 显示末尾十行
    • tail -n [行数][文件名]

      • 显示文件末尾[行数]行
    • tail -f[文件名]

      • -f 动态显示文件末尾内容

        • 监控日志
  • ln(link生成链接文件[类似快捷方式])(和直接复制的区别:可以同步更新)

    • ln -s[原文件][你要生成的文件名.soft]

      • 创建软链接,权限全开lrwxrwxrwx
    • ln [原文件][你要生成的文件名.hard]

      • 创建硬链接,权限大小等和原文件一样

        • 硬链接不可以跨分区,不能对目录使用

权限管理命令

  • chmod(改变文件或目录的权限)

    • chomd [{ugoa}{±=}{rwx}] [文件或目录]

      • a=all 所有用户
      • 多个授权用逗号隔开
    • chomd -R 777 [文件名]

      • -R 递归修改
  • 删除文件的关键在于对这个文件所在的目录有写(w)权限

  • 只有管理员和所有者可以该改权限

  • chown(改变文件或目录的所有者)

    • chown [用户][文件或目录]

      • 添加用户useradd
  • chgrp(改变文件或目录的所属组)

    • chgrp [用户组][文件或目录]

      • 添加组groupadd
  • umask(显示、设置文件的缺省权限)

    • umask -S

      • -S 以rwx形式显示新建文件缺省(默认)权限
    • umask

      • 与默认的互补

文件搜索命令

  • find 文件搜索

    • find [搜索范围][选项][匹配条件]

      • find /etc -name init

        • 精确查找
      • find /etc -name init

        • 通配符,包含查找
      • find /etc -name init???

        • 通配符,后面一个问号代表一个字符
      • find /etc -iname init

        • -iname 不区分大小写
      • find [路径][-size][ +n -n n]

        • 大小查找,+n:大于n -n:小于n n:等于n n=1时 大小为0.5k
      • find [路径][-user][所有者的名字]

      • find [路径][ -cmin][-5(5分钟之内)]

        • 在路径下查找5分钟内被修改过属性的文件和目录

        • -amin 访问时间被改 access

          • 加上时间
        • -mmin 文件内容被改 modify

          • 加上时间
      • find /etc -size +163840 -a -size -204800

        • -a :and 同时满足
        • -o :or 满足任意一个即可
      • find /etc -name init -a -type f

        • -type 根据文件类型查找 f文件 d目录 l软链接文件
      • find /etc -name inittab -exec ls -l {} ;

      • find 路径 -inum 节点

        • 找指定节点
  • locate 在文件资料库中查找文件

    • -i不区分大小写ignore
  • updatedb 更新资料库

  • which 搜索命令所在目录及别名信息

    • which [命令名称]
  • whereis 搜索命令所在目录,(配置文件所在目录)及帮助文档路径

    • whereis [命令名称]
  • grep 在文件中搜寻字串匹配的行并输出

    • grep -v [^# (指定字串)] [/etc/inittab(文件)]

      • -v排除指定字串
      • -i 不区分大小写
      • ^#表示以#为首的

关机重启命令

  • 关机

    • shutdown [选项] 时间

      • -c:取消前一个关机命令
      • -h:(halt)关机
      • -r:重启
    • halt

    • poweroff

    • init 0

  • 重启

    • reboot
    • init 6
  • init

    • 0:关机

    • 1:单用户

      • 无图形界面
    • 2:不完全多用户,不含NFS服务

      • 无图形界面
    • 3:完全多用户

      • 无图形界面
    • 4:未分配

    • 5:图形界面

    • 6:重启

    • 上面0123456称为运行级别

  • cat /etc/inittab

    • 修改系统默认运行级别
  • runlevel

    • 查询系统运行级别
  • logout

    • 退出登录

网络命令

  • write [用户名] 功能:给在线用户[用户名]发信息(可用who查看在线用户)

    • 删除是 ctrl+删除键
    • ctrl+D保存结束
  • wall(write all)[message]给所有用户发信息

  • ping [选项-c(指定发送次数)][IP地址]

    • 测试网络连通性
  • ifconfig [网卡名称eth0(本地真实网卡)][IP地址]

    • 临时改IP地址
  • mail[用户名]

    • ctrl+D保存结束

      • 接受邮件 直接打mail

        • 打help 看帮助
        • d 1 删除第一封邮件
        • h 看邮件列表
  • last 列出目前与过去登录系统的用户信息

  • lastlog列出所有用户(未登录的也列出)

    • lastlog -u [UID]

      • 查特定用户上次登录的时间
  • traceroute 显示数据包到主机间的路径

    • traceroute [网址]

      • 显示路由和IP,时间等
  • netstat [选项]功能:显示网络相关信息

    • -t:TCP 协议 类似于打电话

    • -u:UDP协议 类似于发短信

    • -l:监听(listen)

    • -r:路由,网关

    • -n:显示IP地址和端口号

    • netstat -tlun 查看本机的监听端口

    • netstat -an 查看本机所有的网络连接

    • netstat -rn 查看本机的路由表(r路由的意思)

      • 命令出来后回车最后一行就是网关
  • set up 配置网络 (red hat 独有)

  • mount [-t文件系统] 设备文件名 挂载点

    • mount /dev/cdrom /mnt/cdrom

      • 挂载光盘

        • umount /mnt/cdrom

          • 卸载

压缩解压命令

  • 压缩

    • gzip [文件](不能压缩目录,不保留原文件)

      • 后缀.gz

        • 解压

          • gunzip [压缩文件]
          • gzip -d[压缩文件]
    • tar [选项][压缩后文件名][目录] 功能:打包目录 选项: -z打包同时压缩-c 打包 -v显示详细信息 -f指定文件名

      • -cvf 记得文件名后缀写上.tar

      • -zcvf 记得文件名后缀写上.tar.gz

        • 解压

          • tar -zxvf [压缩文件]

          • tar xvzf myftp. tgz –C /tmp

            • -C指定目录解压
      • -jcvf记得文件名后缀写上.tar.bz2

        • 解压

          • tar -jxvf [压缩文件]
    • zip [选项-r] [压缩后文件名][文件或目录]
      -r;压缩目录 (保留原文件)

      • 后缀.zip(记得自己加上)

        • 解压

          • unzip [压缩文件]
    • bzip2 [选项-k][文件]
      -k (keep)产生压缩文件后保留原文件

      • 后缀.bz2

        • 解压

          • bunzip2 [-k(保留压缩包)][压缩文件]

用户管理命令

  • useradd [用户名]

    • 添加新用户
  • passwd [用户名]

    • 添加密码
  • who

    • tty本地登录
    • pts 远程终端
  • w

    • 看登录信息,时间,IP地址,系统运行时间,服务器负载情况,当前用户执行的命令,命令所使用时间,累计时间等

帮助命令

  • man(manual手册)

    • man [1命令或5配置文件(不需要绝对路径)]

      • man ls
      • man service()查看配置文件services的帮助信息
      • 空格翻页 回车一行一行
      • 末行模式/-l查找含有-l的
      • n向下查找,N向上查找
      • man 5 passwd(5配置文件的帮助)
      • man 1 passwd(1命令的帮助)
  • whatis [命令]

    • 看命令什么用
  • apropos [配置文件名称]

  • [命令] --help

    • 看选项,语法
  • info(information)[命令]

  • help [命令](查看shell内置命令的帮助信息)

  • type [命令]

    • 判断是否是内置命令

文本编辑器Vim

  • 命令模式

    • 末行模式

      • set nu(mber)设置行号

        • 回车到命令模式
      • set nonu取消行号

      • 1000 定位到1000行

    • iao

      • 插入模式

        • 打字

          • ESC到命令模式
    • 定位命令

      • a 光标后插入
      • A光标所在行尾插入
      • o在光标下插入新行
      • O在光标上插入新行
      • i光标前插入
      • I光标所在行首插入
      • gg回到第一行行首
      • G到最后一行行首
      • 821G 定位到821行
      • $到行尾
      • 0到行首
    • 删除命令

      • x删除光标所在处字符
      • nx删除光标所在处后n个字符
      • dd删除光标所在行,ndd删除n行
      • dG删除光标所在行到文件末尾内容
      • D删除光标所在处到行尾内容
      • 100,200d删除指定范围(100-200)的行
    • 复制命令

      • yy 复制当前行
      • nyy复制当前行以下n行
    • 剪切命令

      • dd剪切当前行
      • ndd剪切当前行以下n行
      • p、P粘贴在当前光标所在行下或行上
    • 替换和取消命令

      • r取代光标所在处字符
      • R从光标所在处开始替换字符,按ESC结束
      • u取消上一步操作
    • 搜索和替换

      • /string

        • 搜索指定字符串,搜索时忽略大小写:set ic
      • n

        • 搜索指定字符串的下一个出现位置
      • :%s/old/new/g

        • 全文替换指定字符串
      • :n1,n2s/old/new/g

        • 在一定范围内替换指定字符串
      • g变成c的话,就是询问是否替换

    • 保存和退出命令

      • w保存修改
      • :w new_filename另存为指定文件
      • :wq保存修改并退出
      • ZZ快捷键,保存修改并退出
      • :q!不保存修改退出
      • :wq!保存修改并退出(文件所有者及root可以使用)
  • vim的使用技巧

    • 末行模式

      • :r 文件名

        • 在光标处导入文件名文件的内容
      • :!which [命令]

        • 看命令所在的路径
      • :r !命令

        • 导入命令执行的结果

          • 例子:r !date 直接导入时间
      • :map ^[字母] 命令

        • 定义快捷键

          • 例子:map ^B(ctrl+6+B) 0x 删除这一行第一个字符
      • 连续行注释

        • :n1,n2s/^(行首)/#/g

          • 行首空替换为#

            • 相当于行首插入#
        • :n1,n2s/^#/ /g

          • 行首#替换为空
        • :n1,n2s/^g

          • 行首插入//
          • \为转义符 用在/前面
      • :ab mymail 1923814516@qq.com

        • 插入模式下,打mymail空格或者回车,mymail变成1923814516@qq.com
    • 配置文件.vimrc(放在/root/下或者/home/ljj(用户名))

      • 放快捷操作,重启后不会失效

        • 前面不用加冒号
      • /root/.vimrc

      • /home/.vimrc

文件系统管理

分区和文件系统

  • 分区

    • 最多有4个主分区

      • 有一个扩展分区的话,主分区最多只有3个,剩下那个主分区变成扩展分区
    • 扩展分区包含逻辑分区

      • 有逻辑分区才可以格式化
    • 逻辑分区一定从sda5开始(a表示第一块硬盘)

  • 文件系统

    • ext2

      • red hat linux7.2版本以前的系统默认都是ext2文件系统。1993年发布,最大支持16TB的分区和最大2TB的文件
      • 不包含文件的创建时间
    • ext3

      • ext2的升级版,最大的区别:带日志功能,以在系统突然停止时提高文件系统的可靠性。支持最大16TB的分区和最大2TB的文件
    • ext4

      • ext3的升级版。改进了性能、伸缩性和可靠性。向下兼容ext3、最大1EB文件系统和16TB文件、无限数量子目录等等。是CentOS 6.3的默认文件系统。(1TB=1024PB=1024*1024TB)

文件系统常用命令

  • 文件系统查看命令(分区大小):df [选项] [挂载点]

    • -h 人性化显示,KB,MB,GB等
    • -a 显示所有文件系统信息,包括特殊文件系统,如/proc、/sysfs
    • -T 显示文件系统类型
    • -m 以MB为单位显示容量
    • -k 以KB为单位显示容量。默认就是KB 为单位
  • 统计目录或文件大小:du [选项][目录或文件名]

    • -a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
    • -h 习惯单位显示
    • -s 统计总占用量,而不列出子目录和子文件的占用量
  • 文件系统修复命令:fsck [选项] 分区设备文件名

    • -a:不用显示用户提示,自动修复文件系统
    • -y:自动修复。和-a作用一致,不过有些文件系统只支持-y
  • 显示磁盘状态命令:dumpe2fs 分区设备文件名

    • 可以看分区数据块的大小
  • 挂载命令

    • 查询与自动挂载

      • mount [-l] 查询系统中已经挂载的设备,-l会显示卷标名称
      • mount -a 依据配置文件/etc/fstab的内容,自动挂载
    • 挂载命令格式

      • mount [-t 文件系统][-L 卷标名] \ (换行)[-o 特殊选项] 设备文件名 挂载点

        • -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9600等文件系统
        • -L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载
        • -o特殊选项:可以指定挂载的额外选项
  • 挂载光盘和U盘

    • 光盘建立挂载点mkdir /mnt/cdrom

      • 挂载光盘 mount -t iso9660 /dev/cdrom /mnt/cdrom/

        • 卸载光盘 umount 设备文件名或者挂载点
        • umount /mnt/cdrom
      • mount /dev/sr0 /mnt/cdrom

    • u盘建立挂载点mkdir /mnt/usb

      • 挂载U盘mount -t vfat /dev/sdb1 /mnt/usb

        • 卸载U盘 umount /dev/sdb1
      • fat 16G vfat 32G

      • fdisk -l看U盘设备文件名

      • linux 默认不支持NTFS文件系统

  • 支持NTFS文件系统

    • 装插件

fdisk分区

  • fdisk命令分区过程
  • 分区自动挂载与fstab文件修复

分配swap分区

  • free 命令

用户和用户组管理

用户配置文件

  • /etc/passwd

    • 第一字段

      • 用户名称
    • 第二字段

      • 密码标志
    • 第三字段

      • UID(用户ID)

        • 0 :超级用户

        • 1-499:系统用户(伪用户)不能登录和删除

        • 500-65535

          • 普通用户
    • 第四字段

      • GID(用户初始组ID)

        • 初始组只能有一个
    • 第五字段

      • 用户说明
    • 第六字段

      • 家目录

        • 普通用户:/home/用户名/
        • 超级用户:/root/
    • 第七字段

      • 登录之后的Shell(命令解释器)

        • 改成nologin可以禁止用户登录
  • /etc/shadow

    • 第一字段

      • 用户名
    • 第二字段

      • 加密密码

        • SHA512散列加密算法

        • 密码位是”!!“或者”*“代表没有密码,不能登录

          • !临时禁用密码
    • 第三字段

      • 密码最后一次修改日期
    • 第四字段

      • 锁定两次密码的修改间隔时间(和第三字段相比)
    • 第五字段

      • 密码有效期(和第三字段相比)
    • 第六字段

      • 密码修改到期前的警告天数(和第五字段相比)
    • 第七字段

      • 密码过期后的宽限天数(和第五字段相比)

        • 0:代表密码过期后立即失效
        • -1:密码永远不会失效
    • 第八字段

      • 账号失效时间

        • 要用时间戳表示

          • 把时间戳换算为日期

            • date -d"1970-01-01 16066 days"
          • 把日期换算为时间戳

            • echo ( ( (( (((date --date=“2014/01/06”+%s)/86400+1))
    • 第九字段

      • 保留
  • /etc/group

    • 第一字段

      • :组名
    • 第二字段

      • :组密码标志
    • 第三字段

      • :GID
    • 第四字段

      • :组中附加用户
  • /etc/gshadow

    • 第一字段

      • 组名
    • 第二字段

      • 组密码
    • 第三字段

      • 组管理员用户名
    • 第四字段

      • 组中附加用户

用户管理相关文件

  • 用户的家目录

    • 普通用户:/home/用户名/,所有者和所属组都是此目录,权限是700
    • 超级用户:/root ,所有者和所属组都是root用户,权限是550
  • 用户的邮箱

    • /var/spool/mail/用户名/
  • 用户模板目录

    • /etc/skel/

用户组管理命令

  • groupadd [选项] 组名

    • -g GID: 指定组ID

    • -n 新组名:修改组名

      • groupmod -n [新组名] [旧组名]
  • 删除组groupdel [组名]

    • 组里面有初始用户不能删
    • 只含有附加用户可以删
  • gpasswd [选项] 组名

    • 把用户添加入组或者从组中删除

      • [-a用户名]:把用户加入组
      • [-d 用户名]:把用户从组中删除
    • 操作组

用户管理命令

  • useradd [选项]用户名

    • [-u UID]:手工指定用户的UID号

    • [-d 家目录]: 手工指定用户的家目录

    • [-c 用户说明]:手工指定用户的说明

    • -g 组名:手工指定用户的初始组

    • [-s shell]:手工指定用户的登录shell。默认是/bin/bash

    • 操作用户

    • -p 设定账户的密码

    • -m自动建立用户主目录

    • -M不要自动建立用户主目录

  • /etc/default/useradd用户默认值文件

  • /etc/login.defs用户默认值文件

  • passwd [选项][用户名] 设置密码

    • passwd -l [用户名]锁定用户

      • passwd -u [用户名]解锁用户
  • usermod [选项] 用户名(修改用户信息)

    • -u UID:修改用户的UID号
    • -c用户说明:修改用户的说明信息
    • -G组名:修改用户的附加组
    • -L:临时锁定用户(Lock)
    • -U:解锁用户锁定(Unlock)
  • chage [选项]用户名(修改用户密码状态chage)

    • -l:列出用户的详细密码状态

    • -d日期:修改密码最后一次更改日期()

    • chage -d 0 [用户名]

      • 把密码修改日期归零了(shadow第三字段),这样用户一登录就要修改密码
  • 删除用户userdel [-r] 用户名

    • -r 删除用户的同时删除用户家目录
  • 查看用户ID id[用户名]

  • 切换用户身份 :su [选项]用户名

    • -:选项只使用"-"代表连带用户的环境变量一起切换

    • -c:仅执行一次命令,而不切换用户身份

    • su - root -c “useradd user3”

      • 不切换成root,但是执行useradd命令添加user1用户

shell编程

字符截取命令

  • sed [选项]’[动作]'文件名

    • 选取

    • 替换

      • sed ‘2c hello’ student.txt

        • 第二行替换为hello
    • 删除

      • sed ‘2,4d’ student.txt

        • 删除2到4行输出剩下的,源文件不影响。
    • 新增

      • sed ‘2a hello’ student.txt

        • 在第二行后追加hello
      • sed ‘2i hello world’ student.txt

        • 子主题 1
    • -i

      • 源数据也会更改
    • -n

      • 只会把经过sed命令处理的行输出到屏幕
      • 不加的话会显示匹配到的和全部,会多余
    • -e

      • 允许对输入数据应用多条sed命令编辑
    • s

      • 字串替换

        • ‘行范围s/旧字串/新字串/g’
  • 字段提取命令 cut [选项] 文件名

    • cut -f 2,3 student.txt

      • 提取第2和3列
      • 注意制表符tab
    • cut -d ’‘:’‘ -f 2,3 student.txt

      • -d 指定分隔符
  • grep

    • -v

      • 取反

Shell基础

概述

  • 命令解释器

    • shell的两种主要语法类型

      • Bourne

        • sh、ksh、Bash、psh、zsh

          • Bash和sh兼容

            • exit退出
      • C

        • csh、tcsh
    • vim /etc/shells

shell脚本的执行方式

  • echo输出命令

    • echo [选项] [输出内容]

      • -e:支持反斜线控制的字符转换
      • echo ‘’输出的内容‘’
      • echo ‘输出的内容!’
  • 脚本执行

    • 赋予脚本权限chmod 755 hello.sh

      • 直接运行./hello.sh
    • bash ./hello.sh

  • dos2unix hell0.sh

    • windows格式转换linux(回车符^M − − > --> −−>)

bash的基本功能

  • 历史命令和命令补全

    • history [选项] [历史命令保存文件]

      • -c :清空历史命令

      • -w:把缓存中的历史命令写入历史命令保存文件~/.bash_history

        • 历史命令默认保存1000条,可以在环境变量配置文件/etc/profile中进行修改条数。
    • 历史命令的调用

      • !n

        • 重复执行第n条历史命令
      • !!

        • 重复执行上一条命令
      • !字符串

        • 重复执行最后一条以该字串开头的命令
  • 命令别名和常用快捷键

    • 命令别名

      • alias 别名=’原命令‘

        • 设定命令别名
      • 让别名永久生效vi /root/.bashrc

      • 删除别名 :unalias 别名

    • 查询命令别名

      • alisa
    • 快捷键

      • ctrl+A

        • 光标移到开头
      • ctrl+E

        • 光标移到jiewei
      • ctrl+L

        • 清屏
      • ctrl+C

        • 强制终止当前命令
      • ctrl+U

        • 剪切光标前的命令
      • ctrl+K

        • 剪切光标后的命令
      • ctrl+Y

        • 粘贴
      • ctrl+R

        • 历史命令搜索
      • ctrl+D

        • 退出当前终端
      • ctrl+Z

        • 暂停放入后台
      • ctrl+S

        • 暂停屏幕输出
      • ctrl+Q

        • 恢复屏幕输出
  • 输入输出重定向

    • 标准输入输出

      • 0

        • 标准输入
      • 1

        • 标准输出
      • 2

        • 标准错误输出
    • 输出重定向

      • 命令 > 文件

        • 覆盖
      • 命令 >> 文件

        • 追加
      • 错误命令 2>文件

        • 命令的错误输出覆盖
      • 错误命令 2>>文件

        • 命令的错误输出追加
    • 正确输出和错误输出同时保存

      • 命令 > 文件 2>&1

        • 覆盖,正确和错误输出都保存到同一个文件
      • 命令 >> 文件 2>&1

        • 追加
      • 命令 &>文件

        • 覆盖
      • 命令 &>>文件

        • 追加
      • 命令 >>文件1 2>>文件2

        • 正确输出放到文件1
        • 错误输出放大文件2
    • 输入重定向

      • wc [选项][文件名]

        • -l 统计行数
        • -w 统计单词数
        • -c 统计字节数
  • 多命令顺序执行与管道符

    • 多命令顺序执行

        • 多个命令顺序执行,没有任何联系
      • 命令1 && 命令 2

        • 逻辑与
        • 当命令1正确执行,则命令2才会执行
        • 当命令1执行不正确,命令2不会执行
      • 命令1 || 命令2

        • 逻辑或
        • 当命令1正确执行,命令2就不执行
        • 当命令1执行不正确,命令2才会执行
    • 管道符

      • 命令1 | 命令2

        • 命令1的正确输出作为命令2的操作对象
      • 常配合grep

        • grep [选项] ’‘搜索内容’‘ 文件名

          • 输出包含搜索内容的行
          • -i:忽略大小写
          • -n:输出行号
          • -v: 反向查找
          • –color=auto 搜索出的关键字用颜色显示
  • 通配符与其他特殊符号

    • 通配符

        • 匹配一个任意字符
        • 匹配0个或者任意多个字符,可以匹配任何内容
      • []

        • 匹配中括号中任意一个字符

      • [^]

        • 逻辑非,表匹配不是中括号内的一个字符
        • [^0-9]代表匹配一个不是数字的字符
    • bash

      • ‘ ‘

        • 单引号,里面的内容就是字符,没有特殊含义
      • " "

        • 双引号,里面除了 $(调用变量的值) `(反引号)(引用命令) (转义符) ,其他没有特殊含义
        • 反引号。反引号括起来的是命令,在系统中会先执行它。和$()的作用一样
      • $()

        • 和反引号作用一样,用来引用系统命令
        • 在shell脚本中,#开头的行代表注释
      • $

        • $调用变量的值
      • \

        • 转义符,在\后面的特殊符号失去特殊意义变为普通字符

环境变量配置文件

Bash的运算符

Bash的变量

  • 变量设置规则

    • 变量名不能数字开头

    • 变量的默认类型是字符串

      • 123默认也是字符串
    • 变量用等号连接,等号两边没有空格

    • 变量的值有空格,单引号或双引号包括

    • 在变量的值中可以使用转义符\

    • 变量值的叠加,追加

      • “$变量名”+要叠加的值

        • aa=123

          • aa=“$aa”456

            • aa=123456
      • ${变量名}+要叠加的值

    • 命令的结果赋值

      • 反引号
      • $()包含命令
    • 环境变量大写,便于区分

  • 变量分类

    • 用户自定义变量

    • 环境变量

      • 变量保存和系统操作环境相关的数据

      • export 变量名=变量值

      • env

        • 查询环境变量
      • unset 变量名

        • 删除变量
      • PATH

        • 系统查找命令的路径

        • PATH=’‘$PATH‘:/root/sh

          • PATH变量叠加
      • PS1

        • 系统提示符

          • [root@localhost sh]#

            • 可修改
    • 位置参数变量(包含在预定义变量,本质就是预定义变量)

    • 预定义变量

      • 变量名不能自定义,变量作用固定
  • 变量调用

    • echo $name
  • 变量查看

    • set

      • 查看所有变量
  • 变量删除

    • unset name

网络基础

互联网概述

  • 互联网的典型应用

    • WWW

      • WWW (World Wide Web,万维网)是存储在Internet计算机中、数量巨大的文档的集合。
    • FTP

      • (File Transfer Protocol,FTP)文件传输协议
    • E-MAIL

      • 电子邮件
    • URL

      • (uniform resource locator;URL)统一资源定位系统

        • 网址
      • 格式

        • 协议+域名或IP:端口+网页路径+网页名

        • https://www.lampbrother.net:80/index.html

          • .net

          • 一级域名

            • 常见一级域名

              • 组织一级域名

                • edu

                  • 教育机构
                • com

                  • 商业组织
                • gov

                  • 非军事政府机构
                • mil

                  • 军事机构
                • org

                  • 其他组织
                • net

                  • 网络服务机构
              • 地区一级域名

                • au

                  • 澳大利亚
                • cn

                  • 中国
                • in

                  • 印度
                • us

                  • 美国
                • uk

                  • 英国
          • lampbrother

            • 二级域名
          • www

            • 三级域名

互联网接入方法

  • ADSL

    • 非对称数字用户环路

      • 电话线上网
  • FTTP

    • (Fibre (Fiber) To The Home,FTTH)光纤到户
  • 小区宽带

  • 固定IP光纤

网络通信协议

  • OSI七层模型

    • 用户层

    • 表示层

    • 会话层

    • 传输层

      • TCP、UDP协议确定
    • 网络层

      • IP
    • 数据链路层

      • MAC

        • Media Access Control Address

          • 媒体存取控制位址
        • 物理地址

          • 用来确认网络设备位置的位址
          • 每个网卡都需要并会有一个唯一的MAC地址
      • ARP

        • Address Resolution Protocol

        • 地址解析协议

          • 是根据IP地址获取物理地址的一个TCP/IP协议
    • 物理层

  • TCP四层模型

    • 应用层

      • FTP

      • Telnet

        Telnet协议是 TCP/IP协议 族中的一员,是Internet 远程登 录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程 主机 工作的能力。在 终端 使用者的电脑上使用telnet程序,用它连接到 服务器 。 终端 使用者可以在telnet程序中输入命令,这些命令会在 服务器 上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制 服务器 。要开始一个telnet会话,必须输入用户名和密码来登录 服务器 。Telnet是常用的 远程控制 Web 服务器 的方法。

      • DNS

        • Domain Name System

          • 域名系统(服务)协议
        • 主要用于域名与 IP 地址的相互转换

      • SMTP

        • Simple Mail Transfer Protocol
        • 简单邮件传输协议
    • 传输层

      • TCP、UDP协议确定

        • TCP

          • Transmission Control Protocol

            • 传输控制协议
        • UDP

          • User Datagram Protocol

            • 用户数据报协议
    • 国际互联层

      • IP

        • Internet Protocol网际互连协议
      • IGMP

        • Internet Group Management Protocol

          • 互联网组管理协议
      • ICMP

        • Internet Control Message Protocol

          • 互联网控制报文协议
    • 网络接口层

      • MAC
  • 网络层协议和IP划分

    • IP地址

      • A网段

        • 127.0.0.1

          • 计算机本身
        • 127.0.0.0

          • 网络地址

            • 网段第一个IP地址
        • 127.255.255.255

          • 广播地址

            • 网段最后一个IP地址
        • 最大主机数2^24-2(上面两个地址)

    • 子网掩码

      • 将某个IP地址划分成网络地址和主机地址两部分
      • 划分网段
    • ICMP

      • ping用

Linux网络配置文件

  • vim /etc/sysconfig/network-scripts/ifconfig-eth0

    • 网卡基本信息配置文件
  • DHCP

    DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段lP地址范围,客户机登录服务器时就可以自动获得服务器分配的lP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

    • Dynamic Host Configuration Protocol
    • 动态主机配置协议
  • vi /etc/sysconfig/network

    • 主机名文件
  • DNS配置文件

    • vi /etc/resolv.conf

区别

df命令是从文件系统考虑的,统计文件,命令,进程占用的空间。(最常见的就是文件已经删除,但是程序并没有释放空间)

du 命令是面向文件的,只会计算文件或目录占用的空间

软件包分类

源码包

  • 脚本安装包

二进制包

  • rpm包、系统默认包

linux基本操作2相关推荐

  1. Linux软件基础实验,linux基本操作的实验

    linux基本操作的实验 发布时间:2008-10-02 00:37:30来源:红联作者:sfwjeo 实验一.linux基本操作 1.实验目的 了解linux的基本命令,熟练掌握其基本操作 2.相关 ...

  2. 复习Linux基本操作----常见指令

    Linux基本操作 ls命令 ls(list):相当于windows上的文件资源管理器 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件.对于文件,将列出文件 ...

  3. 操作系统实验一linux,操作系统实验一 Linux基本操作.doc

    操作系统实验一 Linux基本操作 实验.实验目的Red hat Linux平台. 三.实验原理及相关知识 1. 参阅相关Linux操作系统的安装手册,熟悉Linux的基本安装和配置: 2. 参阅相关 ...

  4. Linux基本操作1

    Linux基本操作1 注意: 以下所用 Linux 版本为 CentOS 6.8 1.关机.重启.注销 shutdown 指令 (1) shutdown -h now 表示立即关机 (2) shutd ...

  5. 【Linux 笔记】Linux 基本操作 - 04. 利用SRA数据实践文本处理

    [Linux 笔记]Linux 基本操作 - 04. 利用SRA数据实践文本处理 10. 文本处理实践 基本操作 grep 筛选数据(行) cut 和 awk 操作数据(列) sort 常用参数总结 ...

  6. 嵌入式linux计算机实验报告,嵌入式linux基本操作实验一的实验报告

    实验一linux基本操作实验的实验报告 一实验目的 1.熟悉嵌入式开发平台部件,了解宿主机/目标机开发模式: 2.熟悉和掌握常用Linux的命令和工具. 二实验步骤 1.连接主机和目标板:(三根线,网 ...

  7. 入门Linux,掌握Linux基本操作。

    文章目录 前言 一.学前准备 一.Linux是什么? 1.Linux介绍 2.Linux的优点 3.Linux的特点 二.Linux基本知识与基本操作 1.远程登录.远程文件传输 2.文件系统(路径. ...

  8. 三天入门Linux,掌握Linux基本操作(1)

    文章目录 前言 一.学前准备 一.Linux是什么? 1.Linux介绍 2.Linux的优点 3.Linux的特点 二.Linux基本知识与基本操作 1.远程登录.远程文件传输 2.文件系统(路径. ...

  9. linux基本操作及shell编程使用和vim

    linux基本操作 如何重启.关机.切换用户? // 重启 #reboot 或者 #shutdown -r now //关机 #halt 或者 #shutdown -h now 浏览文件系统,查看系统 ...

  10. 实训任务1:Linux基本操作

    文章目录 一.实训目的 二.实训要求 三.实训任务 1.创建并配置三个虚拟机 2.创建SSH连接 3.实现IP地址与主机名的映射 4.关闭和禁用防火墙 5.创建目录结构 6.压缩打包 7.安装软件包 ...

最新文章

  1. python xmxl 无法启动_/usr/bin/python: can't decompress data; zlib not available 的异常处理
  2. 【AI】人工智能深度学习入门路线
  3. python框架django面试问别人什么问你_django面试会问什么
  4. 11.1.5 练习题
  5. C++STL之string (转)
  6. HeadFirst设计模式之观察者模式学习
  7. 预备作业02 1501 李俊
  8. c++11 实现半同步半异步线程池
  9. mysql水平union_mysql_union操作符
  10. coolfire文章之二
  11. 光谱数据处理及定量分析
  12. 全源最短路 Johnson算法
  13. 微信/支付宝网页扫码授权
  14. 中国最好大学网爬取大学排名信息
  15. 最新炫酷恶趣图制作神器小程序源码+支持流量主/功能强大
  16. leshan基于OMALightweight M2M(LwM2M)协议的Java实现(入门)
  17. 金融机房托管解决方案
  18. 独立之精神,自由之思想
  19. 2021年安全员-B证考试题及安全员-B证报名考试
  20. GBase 8a 数据抽取工具orato8a用法介绍

热门文章

  1. 计算机控制技术答案王书峰,《模糊控制算法研究》(19页)-原创力文档
  2. 归并排序算法详解(方法一)之C语言版
  3. Fikkernbsp;怎么实现nbsp;Ajaxnbsp;跨域?nbsp;怎么…
  4. Python+PIL 图片自动打水印
  5. jquery在线地址,layui在线地址,bootstrap在线地址以及把线上地址保存到本地
  6. python app-Python zipapp打包教程(超级详细)
  7. python3爬取视频代码_Python爬虫视频以及使用python3爬取的实例
  8. IOT数字世界价值论(上)
  9. 手机端能学习html吗,【学习】如何制作手机端html模板(REM的实际应用)
  10. Property(prop)和Attribute(attr)的区别