Linux笔记

命令行

查找命令和快捷键

  • 切换成root用户:sudo su
  • 退出root用户:exit
  • -和--分别代表短参数和长参数
  • 按两次Tab给提示
  • 显示全部文件包括隐藏文件:ls -a
  • 显示文件详情信息:ll
  • 查找用过的指令

    • Ctrl+R
    • history // !+数字 执行命令
  • 清除终端:Ctrl+L or clear
  • 关闭终端:Ctrl+D
  • 跳到命令开头:Ctrl+A
  • 跳到命令结尾:Ctrl+E
  • 删除光标左侧的所有字符:Ctrl+U
  • 删除光标右侧的所有字符:Ctrl+K
  • 删除光标左侧的一个单词:Ctrl+W

文件

  • Linux /为根目录
  • 所有的用户都在home下,root除外
  • 当前位置:pwd
  • 获取文件的位置:which
  • 显示目录文件大小:du (参考书籍)
  • 显示文件内容:cat or less (参考书籍)
  • 显示文件开头:head
  • 显示文件结尾:tail
  • 创建文件:touch
  • 创建目录:mkdir
  • 拷贝文件或者目录:cp
  • 移动文件:mv
  • 删除文件:rm (谨慎使用)

    • 极度危险的命令:rm -rf /

      压缩和解压文件

      • 打包:多个文件变成一个总文件
      • 归档:tar
      • 压缩:tar和gzip

      Linux笔记_第1张图片

      权限管理

      • 切换成root:sudo su
      • 群组管理
      • 文件权限:

        • d: 目录
        • l:链接
        • r:读
        • w:写
        • x:执行
        • -:没有相应权限
      • 修改文件权限:chmod

      数据操作

      • 搜索文本:grep

        • 可配合正则表达式
      • 文件统计:wc

      流、管道、重定向

      • 大于>:将结果重定向到文件中 >>:追加到末尾
      • 将两个命令连成管道,也就是将一个命令的输出当成另外一个命令的输入:|

      进程管理

      软件:glances,htop

      • 显示系统当前活动的用户:w
      • 进程静态列表:ps
      • 进程动态列表:top

        • 按k结束某个进程
      • 结束进程:kill
      • 后台运行进程:&符号和nohup

        • 要运行的命令+&(后台与终端关联)
        • nohup:关闭终端后程序依然运行
        • 可以nohup和&一起使用
      • 使前台转后台:先Ctrl+z:转到后台,并停止运行,然后用bg命令使进程重新运行起来
      • 显示后台进程状态:jobs
      • 使进程转到前台:fg

      Linux笔记_第2张图片

      定时和延迟执行

      • 在制定时刻运行一次程序:at
      • 列出正在等待的at任务:atq
      • 删除正在等待的at任务:atrm
      • 定时执行程序:crontab(重复执行)

       #安装crontab
       sudo yum install vixie-cron crontabs
       chkconfig crond on #开机自启
       service crond start

      Linux笔记_第3张图片

      软件仓库

      修改CentOS默认yum源为国内yum镜像源

      阅读手册

      安装手册:sudo yum install -y man-pages

      远程连接和SSH

      查看ip:ifconfig or ip addr

      ssh的公钥加密,私钥解密

      电脑中的公钥私钥是用来免密码登陆的

      vim

      Linux笔记_第4张图片

      版本控制

      git

      Git连接GitHub

      git init

      激活颜色选项:git config --global color.ui auto

      git与github绑定:把本地的共钥复制到github中的ssh设置中

      网络与FTP

      • 下载文件:wegt
      • 网间拷贝:scp

       #默认端口22
       #从自己电脑拷贝文件到另一台电脑
       scp file.txt [email protected]:/root
       ​
       #从另一台电脑拷贝文件到自己电脑
       scp [email protected]:/root/file.txt file_copy.txt

      防火墙

      shell脚本

       #!/bin/bash
       #第一行用来指明用那个shell运行脚本
       #如果文件在环境变量所包含的文件夹下,那么可以直接输入文件名就能执行脚本了

      运行之前要给脚本加可执行权限

      使用./test.sh运行脚本test.sh

      进程管理

      systemd

      • Apache

       #安装Apache
       sudo yum install httpd
       #查看Apache运行状况
       ps -aux | grep httpd
       #开启Apache
       systemctl start httpd
       #开启后可用127.0.0.1访问
       ​
       #按道理开启服务之后别的主机也应该能访问?但是因为防火墙80端口默认关闭。
       #在自己电脑配置需要在同一局域网下去访问。互联网访问就需要一个公网IP
       #查看开放的端口
       sudo firewall-cmd --list-port
       #开放80端口,两种方式。https默认端口443
       systemctl stop firewalld #1 直接关闭防火墙
       sudo firewall-cmd --zone=public --add-port=80/tcp --permanent #2 只开放80端口
       sudo firewall-cmd --reload #重载配置的防火墙策略
       ​
       ​
       sudo systemctl reload httpd #重新加载 Apache 服务的配置文件
       sudo systemctl status httpd #状态查看详情信息
       ​
       #放行数据库
       firewall-cmd --zone=public --add-port=3306/tcp --permanent

      Apache配置文件

      Linux笔记_第5张图片

      主配置文件三类参数

      • 注释
      • 全局配置
      • 区域配置:Directory

      SELINUX 安全子系统

      • 使得Apache只能访问指定的目录,别的文件不能访问。所以修改Apache配置后可能不能起作用
      • 查看状态:命令行sestatus
      • 通过semanage包去管理SELINUX

      Linux笔记_第6张图片

      Linux笔记_第7张图片

      Linux笔记_第8张图片

      开发环境的搭建

      Django Linux+Nginx+uWSGI环境下部署(含Nginx返回400问题处理、防火墙管理)

      Nginx

      Nginx 相关介绍(Nginx是什么?能干嘛?)

你可能感兴趣的:(linux)