Linux常用命令
一、Ubuntu常用命令:==================================================================================================
1. 拷贝文件
cp /data/web/st.sh /data/web/st-bk.sh
2. 查看端口
netstat -lnp | grep 9082
3. 下载
sudo apt-get update:这个命令(同 sudo apt update ),会访问源列表里的每个网址,并将软件列表保存在本地电脑。
sudo apt-get upgrade:这个命令,会把本地已安装的软件,与软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新(当然了,你可以不更新,那就没必要用这个命令了)。
4. 安装网络工具:
sudo apt install net-tools
5. 安装vim:
sudo apt install vim
6.启动nacos:
sh startup.sh -m standalone
7.ubuntu安装配置ssh:
安装:sudo apt-get install openssh-server
重启:sudo service ssh restart 或者 sudo /etc/init.d/ssh restart
问题:使用xshell软件无法通过passwords连接root用户:
解决方式1:
1)使用当前用户输入:sudo passwd ##输入当前用户的密码,回车并确认密码
2)然后进入root用户
3)修改sshd_config配置文件:
在最后面添加两个配置:
PasswordAuthentication yes
permitRootLogin yes
4)重启ssh服务:
service ssh restart
此时直接使用Xshell就能连接Ubuntu系统的root用户了。
解决方式2:
使用xshell软件ssh连接远程控制系统时,输入用户名后,发现默认不可通过password登录,但是可通过Public Key和Keyboard Interactive方式进行连接:
1)修改远程控制系统的sudo vim /etc/ssh/sshd_config,找到PasswordAuthentication项,将“no”修改为“yes”,按“esc”按键,键入“:wq”,按下“Enter”键,保存成功。
2)重启ssh服务,终端输入命令:service sshd restart。
再次使用Xshell连接远程控制系统,就可以使用password登录了。
8. ubuntu 查看IP命令: ip a
9. ubuntu 根据名字查找该目录下的文件:find ./ -name ...
10. Ubuntu创建用户命令:
root@cunyang-None:/# sudo adduser dbbj
输入密码,信息默认。
11. Ubuntu立即关机:sudo shutdown -h now
12. Ubuntu 查看系统版本:uname -a
13. 当提示某用户不是 sudoers 文件:
这是因为该用户没有默认的sudo权限,需要将该用户添加到`sudoers`文件以获得sudo权限,您需要以已有sudo权限的用户的身份来修改`sudoers`文件,
①sudo visudo
②找到`# User privilege specification` 用于定义用户特权的地方添加以下行,以允许用户`fly`使用sudo:
dbbj ALL=(ALL:ALL) ALL
14. 安装完Ubuntu服务启动后,最好先用 sudo passwd root 命令设置root账号密码,这样xftp可以直接用root用户登录,传输数据。
15. Linux创建新的普通用户:
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
① 切换为root用户为了获取创建用户的权限:
~$ sudo su
② 添加一个新用户(如用户名newuser)
useradd newuser -m
其中useradd后是用户的名字
-m代表创建用户的同时创建该用户的home目录
查看/home目录已经有了新用户newuser的文件夹
查看/etc/passwd文件内容,也有了newuser用户

创建用户时候,会自动创建该用户所在组,默认组名和用户名一样。通过cat /etc/group 查看

③ 为用户设置密码:
passwd newuser
再次进行切换,可以正常登录
su - newuser
‘-’的意义是切换过来直接到用户的主目录
可以使用pwd查看当前目录

默认新建的用户没有sudo权限,要赋给sudo权限要在有sudo权限的用户使用以下命令
sudo usermod -a -G adm newuser
sudo usermod -a -G sudo newuser
这两句是将newuser用户添加到adm组和sudo组

16. ubuntu新帐号登陆命令行只有$
新登录的用户可能命令提示符只有$,且回车等键全部失效为^H, ^[等,需要作如下修改:
sudo vim /etc/passwd
# 将指定用户如:
/home/yourname:
# 修改为
/home/yourname:/bin/bash
重新登陆即可
二、Centos7常用命令:============================================================================================
1. CentOS7如何更换yum源
问题:
由于CentOS7默认的yum源是国外的,导致我们使用yum下载软件的下载速度不是很理想,这时候我们就需要将yum源更换成国内的源。
解决:
1)首先我们先对系统本身的yum源进行备份:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
在Linux系统中,mv命令用于移动文件或重命名文件。在这个命令中,/etc/yum.repos.d/CentOS-Base.repo是要移动或重命名的原始文件路径,/etc/yum.repos.d/CentOS-Base.repo.backup是目标文件路径。
2)下载国内yum源配置文件到/etc/yum.repos.d/CentOS-Base.repo,阿里云 CentOS 7 源(推荐):
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
执行该命令后,wget将从阿里云的源下载CentOS-7.repo文件,并将其保存为CentOS-Base.repo,放置在/etc/yum.repos.d/目录下。这样做可以使用阿里云作为国内的CentOS镜像源,加快软件包的下载速度。
3)清理yum缓存,并生成新的缓存:
yum clean all
yum makecache
yum clean all:这个命令用于清理 YUM 缓存。执行该命令后,YUM 会删除所有已下载的包和头文件缓存,以及任何已启用的插件数据和旧的内核数据。执行这个命令可以释放磁盘空间并删除旧的缓存数据。
yum makecache:这个命令用于重新生成 YUM 缓存。执行该命令后,YUM 会下载软件包清单和元数据,并将其缓存到本地。这样做可以加快后续的软件包查询和安装速度。执行 yum makecache 可以确保你使用的 YUM 源中的最新软件包信息被正确地缓存,以便快速查找和安装软件包。一般情况下,当你修改了 YUM 配置文件,或者遇到与缓存相关的问题时,可以使用这两个命令来清理旧的缓存并重新生成新的缓存。
4)更新yum源检查是否生效:
yum update:命令用于升级系统中已安装的软件包到最新的可用版本。执行该命令时,YUM会检查已安装的软件包,并与可用的软件包版本进行对比,然后自动进行升级操作。
2. centos安装docker相关问题:
① 配置Docker的yum源时报错:
问题:执行 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 报错:
Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d...
解决:这是由于国内访问不到docker官方镜像的缘故,可以通过aliyun的源来完成:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
出现以下内容则表示docker仓库配置成功:
Loaded plugins: fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
三、vagrant::==================================================================================================
vagrant up 启动虚拟机
vagrant ssh 连接虚拟机
vagrant reload 重新加载配置
exit 退出
vagrant halt 退出虚拟机
shutdown -h 关闭虚拟机
echo $(date "+%Y-%m-%d %H:%M:%S") 获取当前时间
三、docker:==================================================================================================
sudo ... 以超级管理员权限运行
su root 切换到root用户 Password:vagrant
ls 查看当前目录下的文件及目录
ls / 参数'/'是根目录的意思,表示显示根目录下的文件及目录
whoami 显示当前登录用户
sudo systemctl start docker 启动docker
docker images 查看docker镜像
sudo systemctl enable docker 设置docker虚拟机开机自动启动
docker ps 命令用来展示所有运行中的容器
docker ps -a 命令是用来展示所有所有的容器,包括未运行的容器
docker start mysql 启动mysql
docker restart mysql 重启mysql
docker update mysql --restart=always 开机自动启动mysql服务
docker update redis --restart=always 开机自动启动redis服务
systemctl enable redis redis开机自启
docker exec -it mysql /bin/bash 进入docker的mysql容器内部的命令
docker exec -it redis redis-cli 进入redis客户端命令
whereis mysql 显示mysql的安装目录
apt-get update 更新数据源列表
apt-get install cat 下载cat,apt-get install命令是安装和更新软件的命令
apt-get install vim 下载vim
cat my.cnf 显示指定文件内容
vi/vim my.cnf 编辑文件
:q! 不保存文件,强制退出 vi编辑器
:wq 表示强制保存,退出vi编辑器
pwd 目前所在的工作目录的绝对路径名称
touch 在linux中,touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间,语法格式“touch [option][文件或目录…]”。使用touch命令时,如果指定的文件不存在,系统则会创建一个新的空白文件。
docker stop [容器id] 停止某容器
docker rm [容器id] 删除某容器
ll 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等。
chmod -R 777 [...] 给文件夹设置权限
free -m 查看内存使用情况
mv nginx conf mv命令是move的缩写,可以用来移动文件或者将文件改名,这里是将nginx文件名改为conf
四、安装:==================================================================================================
(1)安装mysql
# --name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo docker run --name mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql -v /usr/local/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7
(2)安装redis
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
(3)elasticsearch使用:
通过容器id启动:
① 启动elasticsearch:
docker start 2d811cea8c1a
② 启动kibana:
docker start c392b6fc2022
docker update elasticsearch --restart=always 开机自动启动elasticsearch服务
docker update kibana --restart=always 开机自动启动Kibana服务
运行elasticsearch:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2
查看日志命令:docker logs elasticsearch 或者:docker logs 进程号
修改权限为任何人都可读可写:chmod -R 777 /medata/elasticsearch
elasticsearch访问路径:192.168.56.10:9200
安装Kibana
运行Kibana:(注意IP地址不是虚拟机地址而是通过elasticsearch容器获取的IP地址)
获取elasticsearch容器IP地址的命令:
docker inspect XXX | grep IPAddress(XXX代表的是elasticsearch的容器id)
启动Kibana命令
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.17.0.5:9200 -p 5601:5601 -d kibana:7.4.2
Kibana访问路径:http://192.168.56.10:5601/
(4)安装nginx
1、创建新的 nginx;
docker run -p 80:80 --name nginx -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -v /mydata/nginx/conf:/etc/nginx -d nginx:1.10
或
docker run -p 80:80 --name nginx -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -v /mydata/nginx/conf:/etc/nginx -d nginx:latest
2、nginx开机自启
docker update nginx --restart=always
