Ubuntu汇总

 

1.将整个test1目录复制到test2目录中:

cp -r /test1/ /test2/

2.将磁盘sdb1挂载到文件夹mnt下:

# 先查看磁盘列表
fdisk -l
# 挂载磁盘
mount /dev/sdb1 /mnt

如果mnt目录不存在,要先创建:

mkdir /mnt

取消挂载:

umount /mnt

查看磁盘的挂载情况:

df -hk

3.针对ubuntu server 16.04设置使用root登录ssh。

先确认是否安装了openssh:

sudo ps -e|grep ssh

如果安装了会显示的,我的这个结果表示没有安装:

安装openssh服务:

sudo apt-get install openssh-server

开启服务:

sudo service ssh start

开启服务之后,不需要做其他的设置,使用22端口就可以进行ssh远程登录了,如果不能登录,看下你的防火墙是否有限制。

到这里,只是使用普通用户登录,如果要使用root用户登录,那么还需要做其他的配置。

设置root用户密码:

sudo passwd root

修改/etc/ssh/sshd_config,将PermitRootLogin prohibit-password改为PermitRootLogin yes,如果提示只读,就用wq!命令强制覆盖。重启ssh:

sudo service ssh restart

这个时候就可以远程使用root连接了。

4.安装java:https://openjdk.java.net/install/index.html

5.打包:

# 将目录dirname打包到filename.tar
tar -cvf filename.tar dirname
# 打包当前目录
tar -zcvf filename.tar.gz *
# 解包到当前目录下
tar -xvf filename.tar

6.修改apt源,修改/etc/apt/sources.list,在最前面添加如下源地址:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

更新生效:apt update

7.模糊查询:

# 查找当前目录以及子目录所有包含abc的文件
find . -name '*abc*'

8.打包整个ubuntu系统成docker镜像

# 依次执行
sudo su
cd /
tar -cvpzf /media/ubuntusystem.tar --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media /

# 拷贝system.tar到docker宿主机
# 在docker宿主机上,运行命令
docker import system.tar  ubuntusystem_img

9.模糊查询

# 当前目录下查询名字里面包含test的文件或者目录
find . -name '*test*'

10.克隆整个系统到另外一台机器,使用开源软件再生龙(clonezilla):https://clonezilla.org/。该工具不单单可以克隆系统,还有其他的实用功能。

11.创建文件软链接:

# 将/user/data目录链接到/data
ln -s /user/data /data
# 将/home/test.so文件链接到/usr/lib/test.so
ln -s /home/test.so /usr/lib/test.so

12.ubuntu忘记密码,一种方式是使用recovery mode,这个网上的方法很多。有些简化的系统没有recovery mode,那么如果忘记密码了,可以采用直接修改文件的方式解决。首先使用U盘创建一个ubuntu的启动盘,然后使用该启动盘启动忘记密码的机器,进入到ubuntu的试用系统,试用系统此时是没有root权限的,在终端开启一下:

# 修改root密码
sudo passwd root

# 切换到root用户
su root

将原系统的硬盘挂载进来,然后修改密码存放的文件,ubuntu用户密码文件存放在/etc/passwd和/etc/shadow里面,/etc/passwd存放的是用户信息,系统加密处理后的密码存放在/etc/shadow里面,/etc/shadow的内容如图,红框里的是密码部分:

加密区域如果是*,表示这个用户没有被启用。在ubuntu试用系统里面创建一个用户,设置一个密码,然后把该账户的密码区域拷贝出来,替换掉忘记密码的账户的加密区域,那么这个账户的密码就被修改成了新设置的那个密码。

13.查看版本和位数:

# 查看版本
cat /etc/issue
# 查看具体
cat /etc/lsb-release
# 查看内核
uname -a
# 查看位数
getconf LONG_BIT

14.系统自带vi是tiny模式的,这个模式的vi无法正常输入,要解决这个问题,可以通过安装vim解决:sudo apt install vim。但是对于虚拟机,刚刚创建,由于apt源的问题,要安装非常慢,但是vi不能正常试用,又无法修改源地址。另外一个解决办法就是修改掉vi的模式,方式是修改/etc/vim/vimrc.tiny,将“set compatible”修改成“set nocompatible”,由于无法正常换行,因此修改了之后,先保存退出。然后再增加一行:set backspace=2,保存退出,就可以正常使用vi了。

15.snap安装离线包。正常通过snap下载包的方式:

snap download core

下载的内容会放到root目录下:

.assert是软件包的元数据信息,包括签名和权限控制信息,.snap是实际的安装文件。安装时先注册.assert,再安装包:

sudo snap ack /root/core_10823.assert
sudo snap install /root/core_10823.snap

如果网上下载的包,没有.assert文件,可以通过--dangerous模式安装:

sudo snap install /root/core_10823.snap --dangerous

--dangerous所提示的是,这种模式有些“危险”。这是因为缺少.assert文件所描述的签名信息和权限控制信息,意味着软件不是在“沙盒”环境下执行的,运行过程不受控。但只要.snap来源可信,就没什么问题,这个有些类似于我们使用mac电脑时不通过app store安装软件。

core是所有snap应用的基础,在安装其他应用前,要先安装core。

16.查看开机启动项

systemctl list-unit-files --type=service|grep enabled

17.查看服务状态

systemctl status mysql

18.查看服务运行日志

# 异常信息
journalctl -xe
# 所有信息
journalctl -f

19.新增用户

sudo adduser ceshi

提示信息如下:

输入密码后:

中间这几个信息(Full Name、Room Number、Work Phone、Home Phone、Other)都是和系统无关的私人信息,属于这个用户的个人信息,家庭住址工作电话啊之类的,都可以不用填。输入y,回车,用户就创建好了。

20.解决软件报apparmor=“DENIED“ operation=“exec“之类的错误,解决方案在另一篇博客:https://blog.csdn.net/dap769815768/article/details/114369686

21.Docker启动32位的ubuntu容器,可以从官方下载站点下载对应版本的base包,格式是.tar.gz的,这种包可以直接被docker加载成镜像:http://cdimage.ubuntu.com/ubuntu-base/releases/,使用如下的命令:

docker import ./ubuntu-base-16.04.6-base-i386.tar.gz ubuntu16.04.06-32

注意,这里要用import,而不是load。否则会报错:

open /var/lib/docker/tmp/docker-import-091873607/bin/json: no such file or directory

这是因为import加载的是容器通过export导出的镜像文件,而load加载的是镜像通过save导出的镜像文件。

镜像创建好之后,要想容器启动后维持开启状态,需要使用下面的命令:

docker run -d -i -t --name=ubuntu16.04.06-32 -v /home:/home ubuntu16.04.06-32 /bin/bash

22.针对ubuntu20开启root访问ssh权限:

1)安装open-ssh:

sudo apt install openssh-server

2)设置root密码:

sudo passwd root

3)修改/etc/ssh/sshd_config,将:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

改为:

 LoginGraceTime 2m
 PermitRootLogin yes
 StrictModes yes
 #MaxAuthTries 6
 #MaxSessions 10

4)重启:

sudo service ssh restart

23.离线安装apt包。有些系统在没有网络的情况下,又需要通过apt安装包,那么可以通过将apt下载的依赖包单独导出来进行安装。apt下载的包都存放/var/cache/apt/archives里面。apt-get只下载不安装的方法:

apt-get install -d snapd

下载内容存放在/var/cache/apt/archives里面。将里面的.deb安装包全部拷贝到没有网络的系统的某个目录下,然后执行:

dpkg -i ./*.deb

由于存在依赖关系,首次安装可能因为顺序原因无法完全安装成功,那么就多执行两次,或者看下失败的包依赖哪个包,单独安装那个包。

24.使用echo往文件里写内容:

# 覆盖,可以不加双引号
echo "test" > test.txt
# 追加一行
echo "test" >> test.txt

25.apt-get下载常用工具:

# 只下载不安装,如果要直接安装去掉-d
# 安装前要执行该命令
apt-get update
# apparmor工具
apt-get install -d apparmor-utils
# snap
apt-get install -d snaps
# ping
apt-get install -d inutile-ping
# ifconfig
apt-get install -d net-tools
# curl
apt-get install -d curl
# vim
apt-get install -d vim

26.网络出站规则。有限情况下,你可能只想你的服务器只能访问特定的地址,其他的地址一律禁止。比如在工厂的工控机一般都有这样的需求。那么可以通过iptables

首先使用iptables禁止所有的出站:

iptables -I OUTPUT -j REJECT

然后放开指定的ip:

# 允许数据出站到指定的ip
iptables -I OUTPUT -d 192.168.10.66 -j ACCEPT
# 端口
iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT

# 允许ping,该条命令允许本地能够ping通所有的ip
# iptables -I OUTPUT -p icmp -j ACCEPT

# 该条命令只允许本地能够ping通192.168.10.66
iptables -I OUTPUT -d 192.168.10.66 -p icmp -j ACCEPT

-d表示destination,-s表示source。这样设置之后,该ip就可以正常通过ssh连接该设备了。

iptables的配置只是保存在内存中,如果重启,就失效了,永久生效的方法如下。

使用命令:

iptables-save >/root/iptables.rules

文件名和地址可以根据你自己的喜好来定。保存之后,配置/etc/network/interfaces,把下面的内容加到最后:

pre-up iptables-restore < /root/iptables.rules

pre-up表示网卡启用前。

注意,这里的方法目前只对ubuntu16有效,因为20的网络配置并不在这个文件,而是在/etc/netplan/里面。所以该方法针对20版本的系统无效。

27.查看出站规则:

iptables -L OUTPUT

删除出站规则:

# 删除第一条OUTPUT规则
iptables -D OUTPUT 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值