Linux笔记

Posted 兔子翻书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210205134936.png)
    
    ### 权限管理
    
    *   切换成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
        
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210205132859.png)
    
    ### 定时和延迟执行
    
    *   在制定时刻运行一次程序:at
        
    *   列出正在等待的at任务:atq
        
    *   删除正在等待的at任务:atrm
        
    *   定时执行程序:crontab(重复执行)
        
    
     #安装crontab
     sudo yum install vixie-cron crontabs
     chkconfig crond on #开机自启
     service crond start
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210205134428.png)
    
    软件仓库
    ====
    
    [修改CentOS默认yum源为国内yum镜像源](https://blog.csdn.net/inslow/article/details/54177191)
    
    阅读手册
    ====
    
    安装手册:sudo yum install -y man-pages
    
    远程连接和SSH
    ========
    
    查看ip:`ifconfig` or `ip addr`
    
    ssh的公钥加密,私钥解密
    
    电脑中的公钥私钥是用来免密码登陆的
    
    vim
    ===
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210205183213.png)
    
    版本控制
    ====
    
    ### git
    
    [Git连接GitHub](https://blog.csdn.net/guoxiaorui666/article/details/99623023?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161252351916780261966618%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161252351916780261966618&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-1-99623023.first_rank_v2_pc_rank_v29_10&utm_term=%25E4%25BD%25BF%25E7%2594%25A8Github+Pages%252Bhexo+%25E6%2590%25AD%25E5%25BB%25BA%25E4%25B8%25AA%25E4%25BA%25BA%25E7%25BD%2591%25E7%25AB%2599)
    
    `git init`
    
    激活颜色选项:`git config --global color.ui auto`
    
    git与github绑定:把本地的共钥复制到github中的ssh设置中
    
    网络与FTP
    ======
    
    *   下载文件:wegt
        
    *   网间拷贝:scp
        
    
     #默认端口22
     #从自己电脑拷贝文件到另一台电脑
     scp file.txt root@192.168.1.5:/root
     ​
     #从另一台电脑拷贝文件到自己电脑
     scp root@192.168.1.5:/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配置文件
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210206101019.png)
    
    主配置文件三类参数
    
    *   注释
        
    *   全局配置
        
    *   区域配置:Directory
        
    
    SELINUX 安全子系统
    
    *   使得Apache只能访问指定的目录,别的文件不能访问。所以修改Apache配置后可能不能起作用
        
    *   查看状态:命令行`sestatus`
        
    *   通过semanage包去管理SELINUX
        
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210206101434.png)
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210205200948.png)
    
    ![](http://xingkong-images.test.upcdn.net/PicGo/20210205200947.png)
    
    开发环境的搭建
    =======
    
    [Django Linux+nginx+uWSGI环境下部署(含Nginx返回400问题处理、防火墙管理)](https://www.cnblogs.com/wcwnina/p/9906081.html)
    
    ### Nginx
    
    [Nginx 相关介绍(Nginx是什么?能干嘛?)](https://www.cnblogs.com/wcwnina/p/8728391.html)

以上是关于Linux笔记的主要内容,如果未能解决你的问题,请参考以下文章

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

linux中怎么查看mysql数据库版本