外观
Linux
约 1448 字大约 5 分钟
Linux
2024-03-15
linux 是内核,内核之上结合各个厂家的发行版(ubuntu、centos..),发行版只是操作内核的一个封装
一个发行版由两部分组成:
- 内核(Kernel): linux内核,负责硬件管理、进程调度、文件系统、网络等核心功能
- 用户态(Userland):包括文件系统、库(gcc glinc..)、工具(bash net-tools)和配置文件
`cat /etc/os-release
Debian:
apt-apt installCentos:
yum-yum installAlpine:
apk-apk add
grep -rl "x900055_OnCharacterTimer" ./Script/递归搜索文件夹/子文件夹内包含该字符串的- i:忽略大小写、 n:显示行号、o输出匹配部分、 c输出匹配行数
- sudo -i 切换到管理员用户
操作文件命令
- `rm` 删除文件文件名 -r 向下递归 -f 不提醒直接删除 -rf 用来删文件夹
- `mv 文件夹 新文件夹` 重命名
- `cp [选项] 源文件 目标文件`
- `grep` -rn "搜索" 寻找文件中包含这个字符串的
- `find . -name "*模糊*"` #-i 区分大小写
- `find -iname 名称` # 不区分大小写搜索
- `find / -size +204800` 大于100M的
- `whereis python` 寻找某个包或者应用程序
- `netstat -tnlp | grep :80` # 根据端口来查询程序
- `ps | grep 11086` # 根据id查询进程 定位到程序
- `ls -lh` #文件大小 单位M
- `du -hs *` 查看目录的存储占用
- `du -sh /usr/* | sort -rn` 按兆(M)来排序
- `du -s /usr/* | sort -rn | head`选出排在前面的10个
- `du -s /usr/* | sort -rn | tail`选出排在后面的10个
- `free -h ` 查看内存
- ls *.txt 查看所有txt后缀的
- ls -lah 隐藏文件可读大小
- ls | grep "dd" 查看所有包含dd字符串的文件名
- echo 内容 > 1.txt #将内容两个字覆盖写入1.txt的文件(如果文件不存在回创建文件,并且会清空覆盖原文件内容)
- echo 内容 >> 1.txt #追加写入内容
cat > /etc/apt/sources.list <<EOF
deb http://archive.debian.org/debian buster main contrib non-free
deb http://archive.debian.org/debian-security buster/updates main contrib non-free
deb http://archive.debian.org/debian buster-updates main contrib non-free
EOF查看硬件信息
接具体的硬件名称或序号接具体的硬件名称或序号序号`
scp
#本地复制文件到远程服务器
scp /本地路径/文件名 用户名@远程服务器IP地址:/目标路径/文件名
#从远程服务器复制文件到本地
scp 用户名@远程服务器IP地址:/远程路径/文件名 /本地路径/文件名
#ssh需要端口的 使用-P 参数
#scp`命令不支持直接复制整个目录。您可以使用 `-r`(递归)选项来复制目录及其内容。例如:
scp -r /path/to/directory user@remote:/path/on/remote复制指定文件夹下的文件,并携带该文件
# 在深度为3层的范围内查找所有docker开头.yml结束的文件,并连同找找到的yml的父文件一起复制到
find /opt -maxdepth 3 -type f -name 'docker*.yml' -exec cp --parents {} /home/yuchen/allyml/ \;
find /opt -maxdepth 3 -type f -name 'docker*.yml' -exec cp --parents {} /opt/clouddrive/Cloud/CloudDrive/Aliyun/HelloWorld/ \; # 备份所有文件到阿里云的挂载文件命令别名
cd /root
vi .bashrc
alias dps='docker ps --format "table {{.ID}}\t {{.Names}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}"'
source ./.bashrc #执行生效
#如果不是root用户
cd ~
vi .bashrc
alias d='sudo docker'
alias dps='d ps --format "table {{.ID}}\t {{.Names}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}"'
source ./.bashrc #执行生效系统文件夹
- /boot 默认下存放的是Linux的启动文件和内核
- /bin 存放Linux的常用命令
- /etc 存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。
- /mnt 临时将别的文件系统挂在该目录下。例如外接硬盘之类的
- /home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。
- /usr 用户的应用程序和文件几乎都存放在该目录下 一般安装在这里
- /proc 内核通过虚拟文件系统暴露进程信息;/proc/<pid>/是进程id;/proc/<pid>/status等文件包含常规进程状态(内存使用情况、状态);/proc/<pid>/stat提供详细的CPU使用率和其他统计信息
防火墙
apt install ufw
ufw status #防火墙状态
ufw enable # 开启防火墙
ufw disable # 关闭
ufw reload #重启
ufw reset # 重置防火墙,删除规则
ufw allow 8080/tcp #开启端口
ufw deny 8080/tcp # 禁用端口
ufw delete allow 8080/tcp #删除规则
ufw allow from 192.168.1.0/24
ufw allow from 172.0.0.0/8
ufw allow from any to any port 61208,61209 proto udp
ufw allow from any to any port 61208,61209 proto tcp
ufw allow from 192.168.1.0/24 to any port 1000:9999 proto tcpSystemd
#### Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器
/etc/systemd/system/路径中配置的服务
```bash
[Unit]
Description= 描述名称
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target
#服务的说明
[Unit]
#描述服务
Description=nginx
#描述服务类别
After=network.target
#服务运行参数的设置
[Service]
#Type=forking是后台运行的形式
Type=forking
#服务的具体运行命令
ExecStart=/usr/sbin/nginx
#重启命令
ExecReload=/usr/sbin/nginx -s reload
#停止命令
ExecStop=/usr/sbin/nginx -s quit
#PrivateTmp=True表示给服务分配独立的临时空间
PrivateTmp=true
#运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
[Install]
WantedBy=multi-user.target
```
Ubuntu
su root #切换root
lsb_release -a #查看系统版本
# 查看端口
sudo netstat -tuln
# -t TCP端口 -u UDP端口 -l 处于监听状态的 -n 显示数字形式Debian
- 7.0.0 to 7.11.0 (Wheezy)
- 8.0.0 to 8.11.0 (Jessie)
- 8.11.1 (Jessie LTS, for some arches only)
- 9.0.0 to 9.13.0 (Stretch)
- 10.0.0 to 10.13.0 (Buster)
- 11.0.0 to ... (Bullseye)
Download /10.12.0/amd64/iso-dvd (debian.org)
威联通
cd /share/CACHEDEV1_DATA/.qpkg/container-stationsudo /etc/init.d/container-station.sh restart/share/CACHEDEV1_DATA/Container/container-station-data/application
