初学Linux总结的一些小知识点

这是我参与更文挑战的第23天,活动详情查看: 更文挑战

系统相关

查看系统版本号

 lsb_release -a 
复制代码

如果报错 lsb_release: command not found,可以先进行安装

yum install -y  redhat-lsb
复制代码

查看系统内核版本

uname -a
复制代码

查看应用运行状态

systemctl status 应用名
复制代码

停止应用

systemctl stop 应用名
复制代码

启动应用

systemctl start 应用名
复制代码

重启

systemctl restart 应用名
复制代码

ssh连接

默认连接方式

使用ssh连接远程服务器,服务器ssh连接端口默认为22,可不填,如果设置了连接端口,则需要加上-p后面跟上设置的端口号

ssh 用户名@服务器ip #例如 root@192.168.1.11
复制代码

之后输入密码即可连接,如果连接不上则要查看服务器防火墙是否开启

systemctl status firewalld
复制代码

如果开启则进行关闭即可。

systemctl stop firewalld
复制代码

修改连接端口

vi /etc/ssh/sshd_config
复制代码

找到

#Port 22
复制代码

修改为

Port 10022(你想要的端口号)
复制代码

保存并退出

如果是在centos上还需要执行下面的命令

semanage port -a -t ssh_port_t -p tcp 10022
复制代码

之后重启ssh

systemctl restart sshd
复制代码

下次使用ssh进行连接则要输入我们指定的端口

ssh -p 10022 root@你的服务器ip地址
复制代码

如果开启了防火墙,则要对指定端口放行

免密码登录(密钥连接)

在客户端创建密钥

cd ~/.ssh 
ssh-keygen
cat id_rsa.pub #查看公钥
# 复制打印出来的公钥
复制代码

服务器端

前往~/.ssh/目录找到authorized_keys

cd ~/.ssh/
ls
authorized_keys
复制代码

之后进行编辑

vi authorized_keys
复制代码

i键进入编辑状态,之后将在客户端复制的公钥粘贴过来,保存退出。

重新连接服务器即可免密登录。

使用别名登录(免输账号ip)

前往本机~/.ssh/目录找到config,如果没有就新建一个,之后增加如下内容

Host tencentCloud
  Port 22 // 连接端口号
  HostName 121.5.138.208 // 服务器ip
  User root
  IdentityFile ~/.ssh/id_rsa // 生成的公钥文件地址
  IdentitiesOnly yes
复制代码

保存之后在终端连接即可

ssh tencentCloud
复制代码

报错 Bad owner or permissions

如果出现报错 Bad owner or permissions on C:\\Users\\13784/.ssh/config ,windows下可按如下方法解决

  1. 找到.ssh文件夹。它通常位于C:\Users\,例如C:\Users\Akkuman。
  2. 右键单击.ssh文件夹,然后单击“属性”。
  3. 找到并点击“安全”标签。
  4. 然后单击“高级”。
  5. 单击“禁用继承”,单击“确定”。
  6. 将出现警告弹出窗口。单击“从此对象中删除所有继承的权限”。
  7. 你会注意到所有用户都将被删除。让我们添加所有者。在同一窗口中,单击“编辑”按钮。
  8. 接下来,单击“添加”以显示“选择用户或组”窗口。
  9. 单击“高级”,然后单击“立即查找”按钮。应显示用户结果列表。
  10. 选择您的用户帐户。
  11. 基本权限选择完全控制
  12. 确定确定确定即可

mac及linux下可在ssh目录下使用如下命令

sudo chmod 600 config
复制代码

文件相关

查看文件列表

ls
复制代码

查看文件列表详细信息

ll
复制代码

创建文件夹

mkdir folder name
复制代码
  • -p 确保目录名称存在,不存在的就建一个。

创建文件

touch filename
复制代码

编辑文件

vi filename
复制代码

进入文件之后按i进行编辑,编辑完成之后按esc退出编辑状态,之后输入:wq退出文件

打印文件内容

cat filename
复制代码

往文件内追加内容

echo 'hello world' >> filename
复制代码

删除文件

rm filename
复制代码

删除文件夹

rm -r folder name
复制代码

强制删除

rm -rf filename/folder name
复制代码

如果后面没有跟文件名或者文件夹的名字,则会强制删除该目录下所有文件及文件夹,并且不可恢复,如果后面跟/,则会直接删除服务器根目录下所有文件夹及文件,导致服务器崩溃

下载

wget <url>
复制代码

解压

.zip的解压:

unzip filename.zip
复制代码

**.tar.gz ** 的解压:

tar -zxvf filename.tar.gz
复制代码

其中 zxvf 含义分别如下

z:   gzip         压缩格式

x:   extract         解压

v:   verbose        解压过程

f:   file(file=archieve)    使用压缩包的名字作为解压的文件夹名称

.tar.bz2的解压:

tar -jxvf filename.tar.bz2

j:  bzip2          压缩格式

其它选项和tar.gz解压含义相同

.tar.xz的解压:

tar -Jxvf filename.tar.xz
复制代码

注意J大写

.tar.Z的解压:

tar -Zxvf filename.tar.Z
复制代码

注意Z大写

关于tar的详细命令可以

tar --help
复制代码

事实上, 从1.15版本开始tar就可以自动识别压缩的格式,故不需人为区分压缩格式就能正确解压

tar -xvf filename.tar.gz
tar -xvf filename.tar.bz2
tar -xvf filename.tar.xz
tar -xvf filename.tar.Z
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享