Linux玄铁剑"/>
Linux玄铁剑
文件名称 | 版本号 | 作者 | Ubuntu版本号 | |
---|---|---|---|---|
玩转Linux | 1.0.1 | 若布与宫合 | 8416837 | 7.3.0-16ubuntu3 |
文章目录
- 一 用户
- 1 查看用户
- 2 创建用户
- 二 登录
- 1、开启登录
- RSA登录
- 生成公私钥对
- 脚本
- 配置
- 上传私钥
- 上传公钥
- 三 并发
- 1 句柄
- ① setting open files
- 安全
- 权限
- 所有者
- 脚本
- 配置
- 日期
- 开启上网功能
- 防火墙
- CENTOS 7
- 乱码
- 服务器上面的文本乱码
- Shell
- Shell
- Shell管道 获取上一个命令的返回
- 统计上个命令的返回条数
- 改名
- 命令
- 太长命令
- 计算
- HASH
- 权限
- chmod
- #!/bin/sh与#!/binbash的区别
- 磁盘
- 解压缩
- 查看
- 服务
- 拷贝
- 远程拷贝
- 查找
- 编辑
- vim
- 删除
- 监控
- 进程
- 进程查看
- 存储
- 磁盘
- 磁盘问题
- /dev/mapper/centos-root 100%
- 缓存
- 集成化监控工具
- top
- 脚本
一 用户
1 查看用户
cat /etc/passwd
cat /etc/group
whoami
id
groups
2 创建用户
# linux创建www用户组和用户
# id www
id: www: no such user
# groupadd www
groupadd: group 'www' already exists
# 开始添加www用户
# useradd -g www -s /sbin/nologin www
# 再查看一下
# id www
uid=1001(www) gid=1000(www) 组=1000(www)
# 把某个目录的权限给www用户
chown -R www.www files/
二 登录
1、开启登录
# 安装openssh-server:ubuntu
RSA登录
生成公私钥对
这里我使用Linux自带工具生成,可以使用代码生成公私钥对,也可以在线生成,注意选择算法和2048位。
脚本
# 切换到对应用户
su 你的用户
# 创建目录
sudo mkdir -p ~/.ssh
# 生成RSA公私钥对
cd ~/.ssh;ssh-keygen
# 默认保存目录 cd ~/.ssh/
# 在这个目录 id_rsa=私钥
# 输入的明文密码记住
# 下述命令意思:将公钥放好,就是把公钥放在服务端,当然公钥与私钥是成对的。
cd ~/.ssh;cat id_rsa.pub >> authorized_keys;
注意:是.ssh目录
将私钥保存到客户端电脑sz -E id_rsa
,放好。
配置
上传私钥
上传公钥
上文已经上传了,就是上传到服务端,这里再强调一遍
# 将公钥放好
cd ~/.ssh;cat id_rsa.pub >> authorized_keys;
这样就可以登录成功了。
三 并发
1 句柄
① setting open files
ulimit -aH
sudo sh -c "ulimit -n 65535 && exec su $LOGNAME"
安全
修改默认端口
vim /etc/ssh/sshd_config # 修改Port即可
/etc/init.d/ssh restart
权限
所有者
脚本
# 更改所有者
# 不包括home
sudo chown -R 用户:用户组 home/*
配置
日期
date -s "2020-10-22 11:37:00"
date +"%Z %z
开启上网功能
- 配置:
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
- 配置文件:
DEVICE=eth0
HWADDR=00:1F:E2:69:7F:28
TYPE=Ethernet
UUID=b897fad0-b339-4c42-ac3e-9c5ca26bafe9
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.4.65
NETMASK=255.255.255.0
BOOTPROTO=none
PREFIX=24
GATEWAY=192.168.4.1
DNS1=202.96.128.166
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
DNS2=221.5.88.88
LAST_CONNECT=1595290279
- 重启:
service network restart
防火墙
CENTOS 7
# 那怎么开启一个端口呢
# 添加
firewall-cmd --zone=public --add-port=1001/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
# 重新载入
firewall-cmd --reload
# 查看
firewall-cmd --zone= public --query-port=1001/tcp
# 删除
firewall-cmd --zone= public --remove-port=1001/tcp --permanent
乱码
服务器上面的文本乱码
- CentOS 7.x
vim /etc/locale.conf
# 改为
LANG="zh_CN.UTF-8"
# 检验是否生效
locale -a
没重启的话,就没生效:
Shell
Shell
Shell管道 获取上一个命令的返回
统计上个命令的返回条数
- 例,执行
jps
(需先配置Java环境变量)返回:
再执行jps | wc
,wc是word count的意思,返回如下:
jps | wc | awk '{print $1}'
,返回第一列的值
改名
- rename
命令
太长命令
用捺\换行
计算
HASH
md5sum 文件名 >> md5sum.txt;cat md5sum.txt;
sha512sum 文件名 >> sha512sum.txt;cat sha512sum.txt;
权限
chmod
用户 用户所在组其他用户 其他用户
rwx 读写执行,1表示可以,如755表示用户可读可写可执行,组内或其他不可写。
chmod 777 -R 目录 # 递归
# 授权文件可执行
chmod +x file
chmod u+x file # 文件所有者可以执行
#!/bin/sh与#!/binbash的区别
/bin/sh
相当于 /bin/bash --posix
posix模式出错后不继续解释
磁盘
# cd / 执行命令查看用量↓
du -h -x --max-depth=1
解压缩
将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip
zip -q -r html.zip /home/html
查看
服务
# Ubuntu 查看全部服务命令,如nginx、mysql
service --status-all
# 软链接 快捷方式 格式:ln -s [源文件或者目录] [目标文件或者目录]
ln -s /data/soft/jdk-XxxuXx-linux-x64 /usr/local/jdk
# 修改软链接
ln -snf (格式同上,用于修改软链接)
拷贝
# 目标目录已经存在
sudo cp -r 源目录/. 目标目录/
# 目标目录不存在
sudo cp -r 源目录 目标目录
远程拷贝
scp [-r] jdk-8u161-linux-x64.gz root@192.168.4.17:端口号默认22:/opt/home/app/java/download
scp settings.xml root@192.168.4.103:22:/etc/maven
查找
find /home/project/admin-dev/ -name "*.png" # 查询目录(/home/project/admin-dev/)下的名称为*.png的文件,*是通配符
- locate 效率较高,但是需要
updatedb
updatedb -U /root/runoob/
编辑
vim
# 设置行号
sudo vim ~/.vimrc
# 或者
sudo vim /etc/vimrc
# 或者ubuntu20.04版本
sudo vim /etc/vim/vimrc
# 在末尾加上set nu 即可。
# 复制:v键->上下左右选择->y键
# 撤销,恢复:u 和 ctr + r
# 拷贝全文
gg;ggyG
# 全文格式化 缩进
gg=G
删除
# 删除目录下名称为target的文件及其子文件
find Saas2.0/ -name 'target' -type d | xargs rm -rf
# 删除201812开头的、6天前修改过的文件及其下属子文件
find /home/users/niu/test/log/ -name '201812*' -type d -mtime +5 | xargs rm -rf
监控
进程
进程查看
# 所有进程
ps axjf
# 所有Java进程含文件地址
jps -mlvV
存储
磁盘
# 总览
df -h
`du -sh *|sort -hr` # 列出当前文件夹大小并按大小降序排序
磁盘问题
/dev/mapper/centos-root 100%
# 解决办法
cd /
du -sh *|sort -hr
# 发现usr目录已满
# 进入usr目录,清除日志文件(注意:生产机不可清除文件)
缓存
# 清理缓存
echo 3 > /proc/sys/vm/drop_caches
# 如果报不存在,则su root,再执行
集成化监控工具
top
脚本
# 过滤COMMAND
top -b -n 1 | awk 'NR>1 && $10 == "java" {print strftime("%T"), $1, $9}'
# 查看java pid、cpu和内存占用
top -b -n 1 | awk 'NR>1 && $12 == "java" {print strftime("%T"), $1, $9, $10}'
htop
yum -y install htop # centos6.8下的安装.需配置合适的yum源,否则无法安装。
nmon # 安装同上。交互式。
ps aux --sort -rss # 显示进程占用内存比
sudo smem –pie name -c “pss” # 安装同上。可导出图。
更多推荐
Linux玄铁剑
发布评论