linux相关知识
• ls: 列出目录
• cd:切换目录
• pwd:显示目前的目录
• mkdir:创建一个新的目录
• rmdir:删除一个空的目录
• cp: 复制文件或目录
• rm: 移除文件或目录
• mv: 移动文件与目录、文件重命名
sudo
apt-get
netstat
kill
chmod
查询某个文件: find / |grep 文件包含的字母
vi/vim:用于新建,编辑,删除文本文件
:q用于退出编辑,exit用于退出容器编辑
yum:用于安装linux系统下的其他软件【是一个shell前端软件包管理器,类似于npm】
• 1.列出所有可更新的软件清单命令:yum check-update
• 2.更新所有软件命令:yum update
• 3.仅安装指定的软件命令:yum install <package_name>
• 4.仅更新指定的软件命令:yum update <package_name>
• 5.列出所有可安裝的软件清单命令:yum list
• 6.删除软件包命令:yum remove <package_name>
• 7.查找软件包 命令:yum search <keyword>
• 8.清除缓存命令:
o yum clean packages: 清除缓存目录下的软件包
o yum clean headers: 清除缓存目录下的 headers
o yum clean oldheaders: 清除缓存目录下旧的 headers
o yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
学习资料:https://www.w3cschool.cn/linux/linux-shell.html
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了
• Linux的shell种类众多,一般用Bourne Again Shell(/bin/bash),由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数 Linux 系统默认的 Shell。
• Shell脚本可以用vim创建,后缀名是sh,就是shell的意思【但扩展名sh并不影响脚本的执行】
• #!/bin/bash
echo "Hello World !"
• 第一行告诉系统用什么解释器来执行下面的代码,echo表示向窗口输出内容
Ubuntu下的相关命令:【我用腾讯云的版本是ubuntu 20.04 64-bit】
curl:curl命令是个功能强大的网络工具,支持通过http、ftp等方式下载文件、上传文件。还可以用来抓取网页、网络监控等方面的开发,解决开发过程中遇到的问题
curl命令参数很多,这里只列出我曾经用过、特别是在shell脚本中用到过的那些。
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-m/--max-time <seconds> 指定处理的最大时长
-H/--header <header> 指定请求头参数
-s/--slient 减少输出的信息,比如进度
--connect-timeout <seconds> 指定尝试连接的最大时长
-x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080
-T/--upload-file <file> 指定上传文件路径
-o/--output <file> 指定输出文件名称
-d/--data/--data-ascii <data> 指定POST的内容
--retry <num> 指定重试次数
-e/--referer <URL> 指定引用地址
-I/--head 仅返回头部信息,使用HEAD请求
apt-get:获取软件
如何查看ubuntu的gnome-shell版本:gnome-shell –version 【gnome在3.28的版本之前有内存泄露问题】
查看端口占用情况:netstat -anp | grep 27017
找到进程id后直接删除:sudo kill 进程号
查看所有进程:ps -ef
查找名称包含某些字母的进程: ps -ef | grep 名称
查找名称步包含某些字母的进程: ps -ef | grep -v 名称
多重筛选,比如查找名称中不包含root和ubuntu的进程:ps -ef | grep -v root | grep -v ubuntu
查看当前用户:who或user或w
查看所有用户信息:grep bash /etc/passwd
//----------------------linux权限问题 start-------------------------
sudo su root进入root权限,输入exit退出
详见:https://blog.csdn.net/A18373279153/article/details/78604174
可读、可写、可执行,分别用字母r、w、x表示;若该文件为目录则用d标志,否则用-标志。
ubuntu下查看权限的命令为:
ls -l filename
ls -ld folder
chmod 777 文件路径/文件名 :修改文件权限为777
chmod -R 777 文件路径/文件名:修改文件权限以及这个文件下的所有子文件的权限都为777
所有的权限数字详见:https://blog.csdn.net/Yang_yangyang/article/details/120904833
-r--------(400):所有制也只有只读权限
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
//----------------------linux权限问题 end-------------------------
//-----------------------linux的图形界面安装 start----------------------
Ubuntu在腾讯云安装图形界面【用ubuntu18.04版本,别用20版本,因为该系统软件不够用,同时会有各种软件不兼容的问题】:
//下面4步安装完后重启,就成功安装了ubuntu界面了,可以去web的vnc上登录查看,已经可以进入UI界面了【sudo su root进入root权限,因为有时候安装软件连sudo权限都不够】
sudo apt-get update
sudo apt-get install xinit
sudo apt-get install gdm3
sudo apt-get install ubuntu-desktop
//接下来是修改配置文件
修改ubuntu.conf配置文件,在文件尾加入两行:
vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
[Seat:*]
user-session=ubuntu
greeter-show-manual-login=true
allow-guest=false
3.修改pam文件,分别注释/etc/pam.d/gdm-autologin跟/etc/pam.d/gdm-password中的两行内容
vi /etc/pam.d/gdm-autologin
#%PAM-1.0
auth requisite pam_nologin.so
#auth required pam_succeed_if.so user != root quiet_success
vi /etc/pam.d/gdm-password
#%PAM-1.0
auth requisite pam_nologin.so
#auth required pam_succeed_if.so user != root quiet_success
4.修改profile文件,修改最后一行
vi /root/.profile
……
tty -s && mesg n || true
接下来是vnc界面搜索x11,安装X11VNC Server,然后launch,设置端口,设置连接帐号:注意,X1NVC Server是最容易装的,其他的vncserver,tightVnc什么的,网上没一个教程是对的,垃圾得要死
设置好X11VNC Server的端口以后,不能勾选后面的ssl和listen on localhost;点击ok
然后又会出现一个勾选列表,必须要勾选Accept Connections,否则无法连接!!!
通过浏览器的vnc界面登录,然后安装X11VNC-server,设置好端口,这个端口必须在腾讯云的防火墙那边放行。
13、去https://www.realvnc.com/en/connect/download/viewer/下载realVNC软件,是一个exe文件,点开就可以用,不需要安装
14、在 VNC Viewer 软件中,输入 云服务器的 IP 地址:5900,按 Enter,按步骤操作就可以访问了
//通过上面的步骤,可以用在window上用VNC view来访问ubuntu的X11VNC Server软件,实现windows下远程访问ubuntu界面,但是没有加密,在上面的基础上,做一些修改,实现用putty软件的ssh访问X11VNC Server,从而实现ssh安全通道,保证数据安全
详见:具体步骤https://blog.csdn.net/lakeside1/article/details/78350022
前提:
1. ubuntu的ssh必须是开启的,最好先安装apt-get install openssh-server,然后执行/etc/init.d/ssh start来启动ssh服务【这个不一定有用,但是我是做了这个操作】
2. X11VNC Server软件需要额外勾选listen on localhost,且端口和putty的Tunnels里面的端口保持一致,这里的 listen on localhost和端口号,和putty的Tunnels的数据保持一致,构建ssh通道;
Putty软件的Tunnels里面的destionation是127.0.0.1:5901是表示本地的监听地址,也就是本地vnc view软件访问这个地址,会直接映射到服务器地址;映射的服务器端口是Tunnels里面的Source port,映射的服务器地址是最上面的session里面的Host Name
Session里面的Host Name后面的port是ubuntu服务器端口,只是用于传递数据【这个端口必须是ubuntu防火墙允许的端口】,这个port和映射没有关系,只需要保证能让数据通过
3. 本地的127.0.0.1:5901和127.0.0.1:1都可以访问到服务器,具体的访问流程是:
本地vncviewer访问127.0.0.1:5901 --> putty拦截127.0.0.1:5901-->本地putty通过Host Name :Tunnel和服务器构建ssh通道 --> VNCServers所在服务器的ssh通道接受数据然后转化解密数据--> VNCServer因为设置了监听localhost的5901端口,(127.0.0.1:5901),所以能第一时间获取解密数据
//-----------------------linux的图形界面安装 end----------------------
一般只需要用putty软件远程访问ubuntu【命令行界面,不是图形界面】,因为命令行界面占用内存只有600M,图形界面内存要多1G,我的服务器内存才2G
设置很简单,打开软件,session栏目【默认进入的就是这个界面】,输入远程的ip和22端口号【腾讯运上的防火墙开了22端口用于ssh远程访问】,点击open即可,输入帐号和密码
一开始时打中介电话,对方说有房子,我不想表现得自己很急,所以就说过2天后去看,然后中介的套路来了,说有2个的商铺,一个已经被人交了定金没法看了,还剩一个商铺,次日早上也有人看,
因为我之前去踩过点,知道那边空出来的商铺很少,就一个勉强满意,但还没决定拿下,中介突然说出现一个新的房源,次日又有人去看,我当时就有点急了,因为如果不去,一旦对方说得是真的
那么这个房子就真的可能没了,因为当时我也不知道那个房子的具体位置,要去了才知道,所以没法子,当天下午就火急火燎去了,知道很大概率是套路,但没法子。
到了以后,我看了下感觉马马虎虎,但我爸觉得很不错,我妈看了也说只能拿下了,因为没有别的位子了,我对做生意也不了解,少数服从多数,那就定下来那个房子,接下来就是看怎么谈价格了,
然后接下来的坑开始了,因为这个中介基本是和商铺的房东联合在一起的,或者说这个中介太嫩了,被那个房东牵着鼻子走,我们决定和房东谈下,房东却和我们说他那边人不太方便过来,反转一堆借口,
这个时候我还没意识到中介和房东是联合在一起的,但现在想起来,当时他们就是联合在一起的,我们当天下午急着过去,如果中介没有和房东说的话,那房东就不会知道我们有点急,所以就不会用不方便这种借口来轻微地试探我们,
当时我们来都来了,再不去的话,每天有人看房,万一定了就很麻烦,所以冒着雨打车去了房东那边,到这里,已经错了两次了,第一个错误是当天下午过去,显得急切,第二个错误就是明明是房东应该过来,结果他却推脱让我们过去
就是试探我们,我和我爸都被套路了,接下来到了房东那边,真正的套路开始了,房东说自己是开公司的老总,这边好几个产业都是他的,包括当时我们和他谈的那个场地也是他的,说网上可以查,这个的确没错,他的确是开着几家公司
也是不缺钱的主,然后他说平时这些小事情都是他手下去办的,今天是中介来说,就当面和我们谈,然后中介也说的确是这个样子,中介和他合作好多次了,因为基于对正规的中介公司的信任,我也是看了下他的相关资料和个人详细,
基本上说得都没问题,但是一开始这么说,他的目的就是一个,侧面的意思就是提醒我们“合同的安全性没问题,我不差钱,我也很忙,你们要是太难搞我就不和你们扯了”,遇到这样的,我们就更加被动了,同时因为急着拿下来
当时真的是昏了头了,脑子一热就定下来了,还交了一万的意向金,同时还约定了后续签合同,需要给转让费,押金,同时还得给中介一个月的服务费,虽然房租不贵,但是杂七杂八的费用太多了,然后再看到他的店铺还需要装修,
算上装修的钱以及装修期间不能营业的房租,那么出去房租,额外的费用高达20来万,回来以后我好纠结,主要还是我来拿主意,但是我真的对这种找商铺不在行,经验明显欠缺,我爸妈也是,一旦判断出错,就是起码30万以上的损失
有人已经和我爸妈说过去那边做生意亏了60来万,当时就想着,签合同之前再讨价还价一下,能把转让费去掉,就直接签,否则就算了,意向金一万没了也就没了,总体下来感觉风险太大不值得冒险。
当时和中介说,转让费免除,我们就可以签,让中介去和房东说,结果中介和房东沟通下来,说让我们直接过去,当面谈,因为之前毕竟已经说好了,的确是我们理亏,当时没想清楚,后来细细一想感觉不太好做,
但我们也有一万的押金作为成本,所以真正意义上也谈不上什么理亏,对方不同意我们也会失去押金