一、操作系统类型

1、类型
  • Unix:商业化的Unix服务器 ,版本有AIX / HP-UX / Solaris
  • Windows:版本有 Server / Advanced Server / Data Center
  • Linux:发行版本很多,很多发行版本不需要付费,Redhat / CentOS###
2、云服务器
  • 最灵活,伸缩性最好,性价比最高的选择。
3、远程连接
  • 远程桌面工具 / SSH客户端工具

  • Telnet 工具 SSH 协议

    • Windows: XShell / FinalShell / Termius

      • Shell程序(壳程序): 人机交互的接口 Bash(Bourne Again Shell)
    • macOS:Operating System
4、发展史
  • Multics —> 多任务、多用户、多层次 —> ken tomphson —> PDP7
    —> Unics —> Unix
  • Unix —> MINIX —> Linux —> Andriod
  • Unix —> BSD —> FreeBSD —> Macintosh —> macOS —> iOS
  • Unix —> AIX / HP-UX / Solaris

二、Linux基本命令

1、命令使用格式
  • 命令 [命令的参数] [命令作用的对象]
  • -V 文件
    –version 文件夹
    –help 资源
2、基本命令
  • 查看登录的用户:who / w / whoami / last / lastb
  • 退出登录:exit / logout
  • 查看进程:ps ( processes )
    • bash的特点

      • 命令或路径的自动补全(Tab)
      • 支持很多快捷键操作
      • 强大的帮助系统
        • man 命令(manual 手册):查看命令的详细手册
        • whatis 命令:查看命令的功能描述
        • whereis / which 命令:查看命令对应的文件的位置
        • 命令 --help :获取命令的相关帮助
      • 可以查看和调用历史命令:history
        • 重复执行历史命令:!历史命令编号
        • 重复上一个命令:!!
        • history -c :清除历史记录
  • 清屏:clear
  • 日历:cal (calendar)
  • 时间:date
  • 关机:shutdown
3、文件和文件夹相关命令
  • 目录

    • 查看当前工作目录:pwd (print current working directory)
    • /root : root(超级管理员)用户主目录;可以直接用命令cd进入主目录
    • /home/用户名1 —>用户1的主目录
  • 切换工作目录:cd (change directory)

    • 绝对路径:cd /etc 进入根目录下的etc目录(以根目录为基础)
    • 相对路径:cd etc 进入当前目录下的etc目录(以当前目录为基础)
      • . 当前目录
      • … 上一级目录
      • ~ 当前用户的用户主目录
  • 查看目录下的内容:ls ( list directory contents):查看文件或者文件夹的名称

    • ls -l (简写ll)长格式查看:会显示文件以及文件夹的详细信息
    • ls -a :查看所有文件以及文件夹,包括隐藏的文件以及文件夹
    • ls -R 文件夹名:递归式查看文件夹,可以查看到文件夹中的所有文件以及文件夹
  • 创建文件夹:mkdir(make directory)

    • mkdir -p 文件夹名称:如果父文件夹不存在就先创建父文件夹
  • 删除空文件夹:rmdir( remove empty directory)

  • 创建空文件:touch

    • 如果文件不存在,就会创建空文件
    • 如果文件存在,修改文件的最后访问时间
  • 通过输出重定向创建文件:

    • echo hello world > hello.txt :创建文件hello.txt,并将hello world覆盖原来内容
    • echo goodbye world >> hello.txt : 追加输出重定向(新内容追加到原来内容的末尾)
  • 联网获取(下载)文件(通过URL)

    • wget https://sohu.com/index.html:下载搜狐的主页源代码到当前文件夹
    • wget -O 新命名 https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png :下载百度log并重新命名
  • 删除文件:rm (remove)

    • rm -i 文件( interative):交互式删除,删除之前询问
    • rm -f 文件(force):强行删除,删除之前不询问
    • rm -r 文件以及文件夹(recursive):递归式删除,将文件及子目录都删除
    • 可以组合使用 rm -rf 文件以及文件夹 :递归式删除但不询问
    • alias ‘rm=rm -rf’ :将rm -rf别名为rm ,下次可以直接用rm删除文件夹
    • unalias rm:取消别名操作
  • 复制和剪切

    • cp 路径(copy):文件拷贝

      • cp -r 文件夹或者文件:递归式拷贝,将文件夹下的所有文件一起拷贝
    • mv 文件夹以及文件 新的文件夹路径:移动文件到新的文件夹中
      • 在同一路径下做移动操作相当于是文件的重命名
  • 文件重命名:rename

  • 查看文件的内容

    • cat (concatenate): 连接多个文件
      ​ + -n (number ) 显示行号
      ​ + -T (–show-tabs) 将制表键显示为^I
    • more / less : 分屏(分页)查看文件
      • Enter / Ctrl+e:逐行向下翻
      • Ctrl+y:逐行向上翻
      • Space / Ctrl+f:逐页向下翻
      • Ctrl+b:逐页向上翻
      • q:退出
      • head / tail : 查看文件的开头/结尾
        • tac / rev: 反向查看文件(从下往上/从右往左)
        • od: 用八进制的方式显示二进制文件
  • 管道操作:把前一个命令的输出作为下一个命令的输入(进程间通信的方式), 通过管道操作可以用简单的命令(单一职责原则)组装强大的操作

    • 例如:cat -n index.html | more 为index.html文件添加行号并分屏显示
  • 文件操作相关工具

    • wc 文件:统计文件的行数、单词数、字符数(英文)
    • file 文件:查看文件的属性
    • iconv :转换文件编码方式
      • iconv -l :查看支持的编码列表
  • 压缩与解压缩

    • zip / unzip / gzip / gunzip / xz -z / xz -d
  • 归档与解归档:tar

    • 归档 : tar -cvf (create) :创建归档文件
    • 解归档:-zxvf
      • unzip:解压缩
      • extract:抽取 / ~file:文件
      • verbose:显示命令执行的详细情况(冗长的、啰嗦的)
  • 计算MD5签名(摘要):md5sum 文件名

  • 查找文件

    • 从文件中搜索指定的内容:grep

      • -E:正则表达式匹配 ( egrep)
      • -v:反转匹配
    • 直接查找指定属性的文件:find [搜索范围] [配对条件]

      • 根据名字查找文件:find 路径 -name “文件名”

        • find / -name init : 查找文件名称为init的文件
        • find / -name init :查找文件名称包含init的文件, * 代表若干字符,?代表一个字符
        • find / -iname init : 查找文件名称为init(INIT不区分大小写)的文件,也可以加*或?
      • 根据大小查找文件:find 路径 -size +10M

        • find /etc -size +20480 :查找etc下 +(大于) 10M(20480/1024/2)的文件
        • find /etc -size -20480 : 查找etc下 -(小于) 10M(20480/1024/2)的文件
        • find /etc -size 20480 :查找etc下 空(等于) 10M(20480/1024/2)的文件
        • find /etc -size +20480 -a -size -204800 :查找etc下 大于10M 小于100M 的文件
      • 根据时间查找文件:

        • ctime:创建时间 ,例如:find 路径 -ctime -7

          • find /etc -ctime -5 :查找etc下,5分钟之内(-5, 若是+5表示超过5分钟)文件被访问(使用cat等命令)
        • mtime:修改时间
        • atime:访问时间
      • -user / -group 按照所属用户/组查找

        • find / -user user1 /// 查找所有属于user1用户的文件
        • find / -group group1 查找所有属于group1组的文件
      • -type 结果类型,f/d/l, 文件(flie),目录(dir),链接(link)

        • find / -name init -a -type f ///查找根目录下名字包含init的所有文件
      • -exec /-ok 查询得到结果后执行其他操作

        • find /etc -name canglaoshi -exec rm {} ; :找到etc下包含canglaoshi的文件然后删除,不询问

        • find /etc -name canglaoshi -ok rm {} ; :找到etc下包含canglaoshi的文件然后删除,且逐个询问

          • 注意: {}与; 有一个空格
        • -inum 按照i节点查找

        ​ find / -inum 32768 -exec ls -al {} ; 在根目录下查找节点为32768的文件,然后列出详情( 这种方法一般用于删除名字奇怪的文件)

三、CentOS安装软件和服务

1、使用包管理工具(最稳当、最方便)
  • yum :Yellow-dog Updater Modified (联网使用)
  • rpm - Redhat Package Manager - 红帽子包管理工具
2、yum相关命令
  • 搜索:yum search nginx
  • 安装:yum install -y nginx
  • 更新:yum update nginx
  • 卸载:yum remove -y nginx 或者 yum erase -y nginx
  • 查看:yum info nginx
  • 列出所有安装的软件包:yum list installed
  • 修改首页:cd /usr/nginx/index.html 覆盖index.html文件
3、rpm下载安装包,有时候yum不支持最新版本,就需要rpm直接在网页上下载了安装包进行安装
  • 安装MySQL为例:

    • rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm
      rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm
      rpm -ivh mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm
      rpm -ivh mysql-community-devel-5.7.33-1.el7.x86_64.rpm
      rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm

      报错:

      error: Failed dependencies:
      ​ libaio.so.1()(64bit) is needed by mysql-community-server-5.7.33-1.el7.x86_64
      ​ libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.33-1.el7.x86_6
      ​ libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.33-1.el7.x86_:

      则需要安装:yum install -y libaio libaio-devel
      rpm -ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm

  • 查看安装包:rpm -qa | grep mysql 查询所有包含mysql的安装包

  • 卸载:rpm -e 软件包的名字

  • 启动MySQL:systemctl start mysqld

    改掉秘钥:cat /var/log/mysqld.log | grep password

    启动客户端:mysql -u root -p

    修改密码:alter user ‘root’@localhost identified by ‘新密码’;

4、使用源代码构建安装(最麻烦,可定制性强) —> Makefile

Makefile是C语言的工程构建文件,如何编译代码、如何生成目标文件、如何输出编译结果等内容
都是写在Makefile文件中的,所以要生成这个Makefie文件才能使用构建命令执行安装。

  • 以安装Python3.9.1为例:

    • 补底层依赖项包:yum install -y libxml2-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libdb4-devel libpcap-devel xz-devel libffi-devel
    • 下载Python官方源码:wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
    • 解压缩和解归档
      • 一步完成:tar -zxvf Python-3.9.1.tgz
      • 分步完成:
        • gunzip Python-3.9.1.tgz —— Python-3.9.1.tar
        • tar -xf python-3.9.1.tar —— Python-3.9.1
    • 进入文件夹执行安装前的配置 : 得到Makefile(构建项目的指令清单)
      • cd Python-3.9.1
      • gcc --version —> 确认有没有GCC
      • yum install -y gcc —> 如果没有GCC就需要先安装,如果有就不需要执行
      • ./configure --prefix=/usr/local/python39
        如果gcc语言版本够高./configure --prefix=/usr/local/python39 --enable-optimizations
    • 构建和安装
      • make && make install

        • make ; make install (分号隔开多个命令,不管前面的执行是否失败,都会执行所有命令;||表示或者,只会执行其中一个;&& 如果成功了就会继续往下执行)
        • 若是重新构建了包,可以使用make clean清除以前的包。
      • 若是出现问题则找出对应的问题,看是否缺少相应的依赖项,将依赖项用yum安装完成之后,再重新构建和安装
    • 配置PATH环境变量
      • vim ~/.bash_profile:配置用户环境变量(只给当前用户使用)
      • vim /etc/bashrc:配置系统环境变量(给所有用户使用)
        • export PATH=$PATH:/usr/local/python39/bin (注意符号一定是英文状态下)
    • 重新登录让环境变量生效(重新连接服务器)
    • 检查安装是否成功
      • python --version :Python 2.x(一定不能删掉,因为linux系统中有很多是python2写的)
      • python3 --version:Python 3.x
      • pip --version ----> python包管理工具
    • 创建一个符号链接(快捷方式)
      • ln -s /usr/local/python39/bin/python3 /usr/bin/python3
    • make clean : 清除之前的构建
5、直接下载二进制程序(下载后直接使用,很少)
6、安装Git:团队开发几乎必须使用的版本控制工具(使用方式看十三)
  1. 下载:wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.30.0.tar.gz
  2. 解压缩和解归档:tar -zxvf Python-3.9.1.tgz
  3. 进入文件夹:cd git-2.30.0
  4. 补充依赖包:yum install -y curl libcurl libcurl-devel
  5. 安装前的配置:./configure --prefix=/usr/local (会自动装到/usr/local/bin,就不需要配置环境变量)
  6. 构建和安装:make && make install
  7. 检查安装是否成功:git --version

四、vim编辑神器

  1. 命令模式(输入的按键都是命令):

    • 移动光标:

      • HJKL --> 左下上右(可以配合数字使用)
      • gg --> 首行
      • G --> 去到末行, 100G --> 100行
      • $ 0 --> 行末和行首
      • w --> 下一个单词首字母
      • e --> 下一个单词的末字母
      • Ctrl + f / Ctrl + b 一页一页翻页
      • ctrl + e / ctrl + y 翻行
    • 编辑内容:
      • dd (可以配合数字使用) 删除整行
      • u 撤销 ctrl+r 重做
      • d0 d$ 光标删到行首和行末
      • dw 往后删一个单词
      • yy 赋值行内容
      • 10yy 赋值前10行,p粘贴 (可以配合数字使用)
      • . 重复上一个命令
    • 进入编辑模式:
      • i(放在了光标所在位置的前面) I
      • a(放在了光标所在位置的后面) A
      • o(在当前位置的下方创建一个新行) O (在当前位置的上方创建一个新行)
      • 退出编辑模式:Esc
    • 保存退出:ZZ(在命令模式下)
    • 录制宏和播放宏
      • 在命令模式下按qa: q表示开始录制,a是变量名(保存宏的寄存器),界面最下方出现 recording表示已经在录制
      • 做操作
      • q : 结束录制 (在命令模式下)
      • @a :播放宏,可跟数字
  2. 末行模式(底线命令模式): 配置vim、保存退出、查找替换

    命令模式下按英文冒号进入末行模式(一次生效)

    • 显示行号:set nu

    • set ts=4 将制表键改为4

    • set expandtab 制表键自动变空格

    • ls :查看打开的所有文件

    • b 文件序号:打开多个文件之后切换文件

    • 在命令前加 ! :表示在末行模式下执行系统命令

    • 在命令模式下输入 / (从上往下) 或者?(从下往上) 进入末行模式:搜索关键字

      • n:正向搜索
      • N:反向搜索
    • 末行模式下查找替换

      • 1,$:从第一行到最后一行(搜索范围可换任意数字)
      • 1,$s/词汇1/词汇2:将词汇1换成了词汇2(一行只会替换第一处)
      • 1,$s/词汇1/词汇2/g(global):将所有的词汇1换成了词汇2
      • 1,$s/词汇1/词汇2/gc(confirm)i(ignore-case):将所有的词汇1换成了词汇2(每替换一处询问)忽略大小写
      • noh:取消搜索结果的高亮
    • wq 保存退出 | w 文件名(将其保存在哪个文件里面)

    • q | q! | qa(退出所有)

    • 在后面加!强行退出

  3. 配置vim:touch .vimrc(在用户主目录下创建.vimrc文件),设置了此文件夹,每次使用vim的时候会自动执行此文件夹中的内容

    • set ts=4 将制表键改为4
    • set autoindent 自动换行
    • set expandtab 制表键自动变空格
    • set ruler 设置标尺,会在文件最下方显示目前所在的行和列
    • syntax on 语法高亮
  4. vim在编辑的时候意外中断,系统会自动存放在另外一个文件中,

    • E就是重新编辑,R就是恢复上次编辑的内容,D删除临时文件,Q直接退出
    • 不小心按到F1,帮助系统,退出也是在末行模式下按q,qa是退出所有。
  5. 使用vim一次打开多个文件

    • vim 文件1 文件2 文件3…
    • 多屏打开:在末行模式下输入sp(水平拆分)
      • vs:垂直拆分
      • ctrl + w:按两下,切换窗口
      • b 文件序号:将窗口切换为指定文件
      • q / qa:关闭窗口
  6. 比较两个文件的区别:

    • 在系统输命令 vim -d 文件1 文件2

    • diff 文件1 文件2

五、其他文件处理工具

1、sed:不会改变原文件
  • sed ‘3i 新加内容’ 文件名 :将新内容添加在原文件的第三行
  • sed ‘3d’ 文件名:将第三行删除
2、awk
  • awk ‘NR==3’ 文件名:拿到第三行
  • awk ‘{print $3}’ 文件名:拿到第三列
3、uniq:去重
  • uniq 文件名:把相邻的相同内容去重
  • sort 文件 | uniq :整体去重
  • sort -r 文件 | uniq :反向排序整体去重(从大到小)
  • sort 文件 | uniq -c:计数
  • sort -n 文件名:按照数值大小进行排序
  • tr:替换指定内容为新内容
  • cut / paste:剪切/粘贴内容
  • split:拆分文件
  • file:判断文件类型
  • wc:统计文件行数、单词书、字节数
  • iconv:编码转换

六、文件权限

1、文件详细信息

drwxr-xr-x 2 root root 4096 Jan 18 15:56 abc

  • d 文件夹 ;l 符号链接;- 普通文件
  • rwx :文件所有者(u)对该文件具有怎样的权限
    • r:读权限
    • w:写权限
    • x:执行权限
  • r-x :和文件所有者同组的用户(g)有怎样的权限
  • r-x :其他用户(既不是所有者也不是同组用户o)有怎样的权限
  • Permission Denied —> 没有对应的权限
2、修改文件的权限:chmod
  • chmod u+x,g+x,o+x 文件名(文件路径)
  • chmod g-x,o-x 文件名(文件路径)
  • chmod g+w 文件名(文件路径)
  • u — user:文件的所有者
    g — group:同组用户
    o — other:其他用户

软链接:ln -s /root/code/可运行模块 /usr/bin/快捷方式名称

3、#!/usr/bin/python3

在python文件第一行加入,在主目录下运行文件的时候不需要加python3,直接文件路径就可以运行py模块

七、Pylint检查代码:

pylint --disable --report C0103 模块 检查模块,忽略C0103的问题 (report生成检查报告)

–disable和 --report可以省略不写

  • C – Convention:不符合python的编程惯例
  • R – Refactor :建议代码进行重构
  • W – Waring:警告(必须要进行处理的问题)
  • E – Error:错误(代码无法运行)

八、用户管理

1、创建用户
  • useradd 用户名
  • -d 指定用户主目录
2、设置密码
  • passwd 用户名
  • -e:设置密码立即过期,用户登录时强制要求改密码
  • -i:设置密码过期几天后禁用该用户
3、删除用户
  • userdel 用户名
4、创建删除用户组
  • groupadd /groupdel
5、查看和修改密码有效期 - chage。
  • 设置hellokitty⽤户100天后必须修改密码,过期前15天通知该⽤户,过期后15天禁⽤该⽤户:chage -M 100 -W 15 -I 7 hellokitty
6、切换⽤户 - su
  • exit :退出当前用户,回到上一个用户
  • sudo 命令:超级用户身份来执行系统命令,前提是root用户将该用户加入了sudo清单。
    • 管理员:visudo,来到100行,插入新行:用户 ALL=(ALL) ALL
7、chmod / chown / chgrp
  • chown 用户名1 文件名:将文件的所有者改为用户1
  • chgrp 用户组1 文件名:将文件的所属用户组改为用户组1
8、给其他⽤户发消息 -write / wall。

九、磁盘管理

十、网络相关命令

  • ping :检查网络可达性,拒绝服务攻击手段

    • Ping to Death — DDoS — Distributed Deny of Service
    • TCP Flood
    • 购买高防DoS服务
  • ifconfig/ip :查看网络设备(网卡)相关信息
  • wget:网络下载器
  • ssh root@公网ip地址:连接另外一台服务器
    • scp 文件名 root@公网ip地址:路径 : 将文件拷到另外一台服务器的对应路径中
    • scp root@公网ip地址:路径 本地服务器路径:将其他服务器的文件拷贝到本机上相关路径
    • scp root1@公网ip地址:路径 root1@公网ip地址:路径 :root1文件拷贝到root2中。

十一、安装更好的帮助系统: tldr

1、安装nodejs

直接从官方下载二进制文件,下载后只需要配置环境变量

  • wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz

  • xz -d node…

  • tar -xf node…

  • cd node…

  • cd bin

  • ./node --version 查看版本

  • pwd :/root/node-v14.15.4-linux-x64/bin

  • vim ~/.bash_profile:在最后一行加入 export PATH=$PATH:/root/node-v14.15.4-linux-x64/bin

  • 重新登录服务器:echo $PATH 查看是否生效

  • npm --version

  • node --version

2、安装tldr工具
  • 修改淘宝的镜像:npm config set registry https://registry.npm.taobao.org

  • npm install -g tldr

  • tldr 命令

3、hexo
  • 把markdown自动生成博客,自带服务器运行
4、安全文件传输在终端连接 sftp
  • sftp root@ip

  • 下载文件夹:get -r 文件夹

  • 上传文件夹:put -r 文件夹

  • 下载文件:get 文件名

  • 上传文件:put 文件名

  • lls :本地文件清单

  • bye:退出

5、netstat:可以查看端口的状态
  • netstat -n :查看数值形式的网络地址

  • netstat -ntl :只看TCP(t)协议的 (listen监听状态)

  • netstat -na :查看所有的

  • netstat -ntlp :查看哪个进程占用了哪个端口以及进程号

  • kill 进程号:关闭相关进程(kill -l 查看kill后面可以跟的内容)

    • kill -9 进程号 :强行关闭进程(无法正常关闭此进程的时候)
    • pkill 进程名字 / killall 进程名(子进程一并关闭)
  • 查看进程

    • top - 进程管理器 :所有进程
    • ps -aus :显示所有进程可以加管道搜索
    • jobs :查看当前会话的当前任务
    • pstree:树状形式来查询任务
    • pgrep 进程名:查询进程号
    • pgrep 进程名 | xargs kill:终止进程
  • 命令 & :让命令在后台运行,并返回一个进程号,用kill关闭

  • fg %后台任务编号:foreground,将程序放到前台运行

  • ctrl + z :将任务从前台放到后台并暂停

  • bg %后台任务编号:background,恢复任务在后台运行

  • 通常一个网络应用会基于TCP或者UDP提供的传输服务来输出数据,一台服务器通常又可以开启多个服务,端口就是用来区分不同的服务的,它是对IP地址的扩展

​ IP地址可以帮我们找到网络上的主机,而端口可以帮我们找到主机上对应的服务。

​ HTTP - 80 / HTTPS - 443 / SSH - 22 / POP3 - 110

​ 1 - 1024 :著名端口,自己的应用通常会避开这些端口,1025-65535

​ MySQL - 3306 / Oracle - 1521 / SQL Server - 1433

​ MongoDB - 27017 / Redis - 6379

6、udp和Tcp网络协议
  • 计算机网络发展史

    • 计算机网络的诞生:美苏冷战—ARPANET 分组交换网
    • ISO(国际标准化组织):定一个标准OSI/RM(开放系统互联参考模型)—七层模型,实行困难
      • TCP / IP模型:四层模型,事实标准

    TCP:Transfer Control Protocol

    • 握手(先通信,确保通信之后再传输数据)
    • 可靠传输(不传错,不传丢)
    • 流量控制(调整收发数据的速率)
    • 拥塞控制(不给网络添堵)

    UDP:User Datagram Protocol

    • 直接发出数据
  • 应用层—定义应用级协议—HTTP / FTP / SSH / QQ(应用传输数据的格式和对话的规范)

​ 会话层

​ 表示层

​ 传输层—端到端—TCP(STREAM) / UDP(DGRAM)

​ 网络层—寻址和路由—IP(Internet Protocol)

​ 物理链路层—分帧、校验

​ 物理层—电气特性(后来与链路层合在了一起)

十二、计划任务

1、将来时
  • 在指定的时间执行命令

    • at 17:00 :在下午五点执行命令,写完之后ctrl + d
    • at 23:59+3days:在三天后的23:59
  • 查看
    • atq:查看安排的任务
  • 删除
    • atrm 任务编号:删除安排的任务
2、周期性
  • crontab -e :编辑克龙表(周期式的执行)

    • 分钟(*/5从0分开始每隔五分钟) 小时(1,2,3一两点三点) 日(1-6一到六号) 月(1-6一到六月) 星期(1,2,3星期一星期二星期三) 任务
  • crontab -l :查看克龙表

连接服务器主动运行的文件

  • /root/.bash_profile

  • /root/.bashrc

  • 修改/etc/bashrc41行,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LCLfvBMD-1611565220450)(Linux系统.assets/1611296154989.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PHMTSvNn-1611565220454)(Linux系统.assets/1611296288543.png)]

十三、git

团队开发如果没有版本控制,对代码、文档、资源文件的管控将是一场噩梦

1、版本控制的历史
  • 1990s :VSS(Visual Source Safe) / CVS (Concurrent Version System) — 锁定模式

  • 2000 :Subversion(SVN) — 合并模式,集中控制式的版本控制(必须有中央服务器)

  • 2005 :Git — 合并模式,分布式版本控制系统,没有中央服务器也可以实施版本控制

2、Git的使用
  • git init(initialize) :初始化,把一个文件夹变成版本控制的本地仓库

  • git status:查看状态,当前工作目录和仓库状态是否一致

  • git add file:把文件添加到仓库的缓存区(暂存区)

    • git add . :把所有文件(包括非空文件夹)添加到仓库的缓存区
  • git rm --cached file:把文件从缓存区里面拿出来

  • 如果第一次使用git进行提交操作,需要先执行两条配置命令

    • git config --global user.email “邮箱”

      git config --global user.name “名字”

  • git commit -m “…”(原因,以后可以通过这个来找回相应的版本) :把暂存区的内容同步到本地仓库中

  • git log:查看提交日志(可以查看到每一个历史版本的哈希码)

    • git log --abbrev-commit --graph --pretty=oneline :缩写简短的日志
    • git reflog :查看所有的历史版本
  • git restore 文件或者文件夹:删除或者修改内容之后,用仓库的内容恢复工作区的内容

  • git reset :版本回退(但不会操作工作区)

    • git reset --soft 版本号:只回退仓库,不回退仓库和工作区
    • git reset --mixed 版本号:回退仓库和暂存区,但是不回退工作区(默认)
    • git reset --hard 版本号:将工作区、暂存区、仓库都回退到指定的版本
3、使用远端仓库
  • 设置远端仓库:git remote add origin 仓库的url

  • 查看:git remote -v

  • 移除仓库:git remote origin

  • 上传分支master到origin仓库:git push -u origin master pretty=oneline :缩写简短的日志

  • git reflog :查看所有的历史版本

  • git restore 文件或者文件夹:删除或者修改内容之后,用仓库的内容恢复工作区的内容

  • git reset :版本回退(但不会操作工作区)

    • git reset --soft 版本号:只回退仓库,不回退仓库和工作区
    • git reset --mixed 版本号:回退仓库和暂存区,但是不回退工作区(默认)
    • git reset --hard 版本号:将工作区、暂存区、仓库都回退到指定的版本
3、使用远端仓库
  • 设置远端仓库:git remote add origin 仓库的url

  • 查看:git remote -v

  • 移除仓库:git remote origin

  • 上传分支master到origin仓库:git push -u origin master

常用快捷键

  • ctrl + e :光标移到行末
  • ctrl + a :光标移到行首
  • ctrl + w:删除光标前面的单词
  • ctrl + u:从光标所在位置删除到行首
  • ctrl + k:从光标所在位置删除到行尾
  • ctrl + c:终止一个进程
  • ctr + l :清屏
  • tab:自动补全命令
  • top:相当于任务管理器
  • ctrl + z:将前台任务暂停放到后台
  • ctrl + d:写文件的时候表示输入结束
  • 输出重定向: > >> :追加 2> :错误输出重定向
  • 输入重定向:<

XShell之Linux系统必知必会内容相关推荐

  1. tableau必知必会之VMware 搭建 Tableau Server for Linux 单机环境

    tableau10.5版本推出的 Linux 版 Tableau Server,让用户能够将 Tableau 的分析平台与 Linux 的企业级功能实现更好的结合,从而简化部署和管理工作. 很多用户陆 ...

  2. linux运行界别,day7 Linux下必知必会文件(2)

    主要内容: 运行级别 Linux下面必知必会文件和目录 Linux启动流程 一.运行级别 1.运行级别分为0--6共七级 具体如下表: 级别 CentOS 6 (run level) CentOS 7 ...

  3. linux 系统管理基础,【必知必会】你绕不过的 Linux 系统管理基本功

    第一阶段:  使用虚拟机软件搭建学习环境 1门课程 5小时30分钟 学习 vmware workstation 和 virtualbox 等虚拟机软件的使用方法,虚拟机是后面进一步学习的工具,务必熟练 ...

  4. 操作系统必知必会:Linux(1)常用的Shell命令

    操作系统必知必会:Linux(1)常用的Shell命令 常用的Shell命令 磁盘管理 cd df du mkdir pwd ls 文件管理 cat chmod chown cp diff file ...

  5. Linux菜鸟必知必会的命令集合

    下面是我用到过的Linux命令,也可以说是Linux菜鸟必知必会的命令集合,基本上占据了所有你将用到的命令的95%以上,值得一看.     一: Linux下的mysql数据库常用操作 1.登入登出 ...

  6. 【软考系统架构设计师】第八章 Web架构(知识点必知必会)

    [软考系统架构设计师]第八章 Web架构(知识点必知必会) 第八章 Web架构(知识点必知必会) [软考系统架构设计师]第八章 Web架构(知识点必知必会) 一. 负载均衡与集群技术 1)什么是负载均 ...

  7. 【软考系统架构设计师】知识点必知必会系列汇总

    [软考系统架构设计师]知识点必知必会系列汇总 章节号 章节名 链接 第一章 安全性和保密性设计 https://blog.csdn.net/Last_Impression/article/detail ...

  8. 猿创征文|计算机类学生必知必会的开发工具

    计算机类学生必知必会的开发工具目录 前言 一.浏览器工具 1.在线工具 2.插件扩展 二.优化电脑使用工具 1.notpad++ 2.plotplayer 3.Office Tool Plus--强大 ...

  9. php7.2 开启mcy扩展,phper必知必会(二)

    1.说说你对进程,线程以及协程的理解 进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础.进程是程序基本执行的实体.进程与进程之间是独立的,拥有完全独立的地址空间,进程的切换只发生在内 ...

  10. 《MySQL必知必会》.pdf

    什么是数据库? 数据库是大量数据的集合,通常以电子形式进行数据存储. 数据库的设计通常是为了使其易于存储和访问信息.数据库的使用对任何公司或组织都至关重要,这是因为数据库存储了有关公司的所有相关详细信 ...

最新文章

  1. android自定义view圆,Android自定义View圆形百分比控件(一)
  2. Python报错:IndentationError: expected an indented block
  3. [BZOJ1798][AHOI2009]Seq维护序列 线段树
  4. java+tableseg,多种功能集成,带Refresh刷新的tableV,Seg分段控件
  5. 分享Web前端性能优化的实用技巧
  6. 朱生豪先生的情书 ---- 醒来觉得甚是爱你
  7. CAD2018下载AutoCAD2018下载AutoCAD2018安装详细教程
  8. QtWebApp的使用【在Qt中搭建HTTP服务器】(三)
  9. 计科生毕业一年,做了什么?
  10. 期刊论文发表见刊是什么意思
  11. 两位末代皇帝的宠物文史小语新浪博客
  12. matlab文件名批量读取dat文件,matlab批量读取dat
  13. C语言查找奥运五环色的位置
  14. k8s多集群搭建istio共享控制平面(多网络)及部署grpc服务分流实践
  15. jsp 如何 返回数据库数据供前端访问 /简单的jsp接口如何编写 /jsp如何链接数据库
  16. NBU网络备份大全之oracle系统热备份
  17. favicon是什么,怎么用?
  18. linux学习笔记,linux基础调优,已老男孩教育视频为基础
  19. RabbitMQ并发处理
  20. 坚持#第38天~独在异乡为异客,每逢佳节倍思亲

热门文章

  1. xps15u盘装linux,戴尔XPS15微边框笔记本U盘重装win10系统教程
  2. 踩坑日记-使用poi生成word文档设置内容换行
  3. centos7服务器修改密码,centos7 修改root密码方式
  4. 100G/40G/25G/10G网络测试解决方案
  5. 计算机名字怎么改数字,微信名字后面的小数字怎么弄 教你昵称添加电话号码...
  6. unity Shader模拟ps渐变映射效果
  7. 中通消息服务运维平台实践(已开源)
  8. JVM 类加载机制与加载过程
  9. iOS CAShapeLayer、CADisplayLink 实现波浪动画效果
  10. linux命令 磁盘读写,Linux查看磁盘读写的方法