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打开终端如何启动scala,如何在终端下运行Scala代码片段?
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段