scp
1、从服务器上下载文件
1 | scp username@servername:/path/filename /var/www/local_dir(本地目录) |
例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
2、上传本地文件到服务器
1 | scp /path/filename username@servername:/path |
例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
3、从服务器下载整个目录
1 | scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录) |
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
4、上传目录到服务器
1 | scp -r local_dir username@servername:remote_dir例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录 |
1 | ssh root@47.98.233.15 |
ssh
SSH分客户端openssh-client
和服务器端openssh-server
,如果你只是想登陆别的机器的SSH只需要安装openssh-client
(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client)
,如果要使本机开放SSH服务就需要安装openssh-server
下面讲解openssh-server
-
首先更新源
1
sudo apt-get update
-
安装ssh服务
1
sudo apt-get install openssh-server
-
检测是否已启动
1
ps -e | grep ssh
看到有ssh字样,说明已启动,如果没有就手动启动
1
/etc/init.d/ssh start
-
配置ssh-server,配置文件位于/etc/ssh/sshd_config,默认端口为22,为了安全,一般自定义为其他端口,然后重启
1
sudo /etc/init.d/ssh resart
增加桌面快捷方式
Launcher :
在/usr/share/applications/中写入Roboviz.desktop文件(sudo vim Roboviz.desktop)
1 | [Desktop Entry] |
ps aux | grep
进程名
ps -A
显示所有程序。
ps e
列出程序时,显示每个程序所使用的环境变量。
kill -9 324
killall -9 NAME
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号
chmod {u|g|o|a}{+|-|=}{r|w|x} filename
修改权限
find pathname [option] expression
寻找文件
grep [option] pattern filenames
搜索文件中匹配符
grep -r 二进制 /home/apollo3d/Documents
./文件名 进入到进程的执行文件所在的路径下,执行文件
https://www.cnblogs.com/lcword/p/6046261.html
端口操作
端口监听信息 netstat -plant
一、查看哪些端口被打开 netstat -anp
二、关闭端口号:iptables -A OUTPUT -p tcp --dport 端口号 -j DROP
三、打开端口号:iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT
四、以下是linux打开端口命令的使用方法。
nc -lp 23 &(打开23端口,即telnet)
netstat -an | grep 23 (查看是否打开23端口)
或者 lsof -i:80
五、linux打开端口命令每一个打开的端口,都需要有相应的监听程序才可以
创建新用户
在 root 用户下运行这条命令创建一个新用户,yangxg 是用户名
因为我叫杨学光,所以我取的用户名是 yangxg
选择一个你喜欢的用户名,不一定非得和我的相同
root@localhost:~# useradd -m -s /bin/bash yangxg
把新创建的用户加入超级权限组
root@localhost:~# usermod -a -G sudo yangxg
为新用户设置密码
注意在输密码的时候不会有字符显示,不要以为键盘坏了,正常输入即可
root@localhost:~# passwd yangxg
切换到创建的新用户
root@localhost:~# su - yangxg
切换成功,@符号前面已经是新用户名而不是 root 了
yangxg@localhost:~$
为root用户提供初始密码
sudo passwd root
修改为阿里云 DNS
-
您必须是管理员root或者具有管理员权限
-
sudo vim /etc/resolv.conf
-
加入:
1
2nameserver 223.5.5.5
nameserver 223.6.6.6 -
保存退出,然后使用dig 验证:
-
dig www.taobao.com +short
若出现结果则表示正常。
换源(更换数据源)
1 | rootdubuntu:/home/lusifer# curl -sSL https://get. daocloud. io/docker | sh |
原因可能是没有更新数据源
1.备份默认的源
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
2.用你熟悉的编辑器打开:如
vim /etc/apt/sources.list
替换默认的http://archive.ubuntu.com/
为mirrors.aliyun.com
1 | deb http://mirrors.aliyun.com/ubuntu/ xenial main |
最后输入sudo apt-get update
Ubuntu无法找到add-apt-repository问题的解决方法
网上查了一下资料,原来是需要python-software-propertiduanjkes
于是
apt-get install python-software-properties
除此之外还要安装software-properties-common
于是
apt-get install software-properties-common
然后就能用add-apt-repository了
代理
搜索代理
env | grep proxy
、sudo grep -r -i http_proxy=代理地址
配置代理
临时:
export http_proxy=http://10.3.0.1:80
(1) 需要在/etc/apt/apt.conf中添加以下代码: (如果您希望apt-get(而不是其他应用程序)一直使用http代理,您可以使用这种方式。)
Acquire::http::proxy "http://用户名:密码@地址:端口";
Acquire::ftp::proxy "http://用户名:密码@地址:端口";
Acquire::https::proxy "http://用户名:密码@地址:端口";
保存apt.conf文件。
(2)新建一个代理配置文件,在apt-get 时使用配置,15.10可用(针对需要下载的单个不同文件)
建立文件
vim proxyfile
Acquire::http::proxy "http://10.3.0.1:80";
Acquire::ftp::proxy "http://10.3.0.1:80";
Acquire::https::proxy "http://10.3.0.1:80";
使用时
sudo apt-get install xxx -c proxyfile
(2)在主目录下的.bashrc文件中添加两行。(如果您希望apt-get和其他应用程序如wget等都使用http代理,您可以使用这种方式。 )
在您的.bashrc文件末尾添加如下内容
export http_proxy=http://用户名:密码@地址:端口/
export https_proxy=http://用户名:密码@地址:端口/
export ftp_proxy=http://用户名:密码@地址:端口/
PPA
1.vim /usr/lib/python3/dist-packages/softwareproperties/ppa.py
在函数def _get_https_content_py3(lp_url)的catch案例中添加了一个print(e)显示了错误的真正原因。
2.系统时间是否正确
3.除了配置代理之外,请告诉sudo使用-E
该标志来考虑环境
1 | export http_proxy=http://<proxy>:<port> |
with username and password:
1 | export https_proxy=<username>:<password>@<proxy>:<port> |
Ubuntu下让终端走SS代理的方法
Ubuntu下让终端走SS代理需要第三方软件的帮助,即privoxy。
privoxy 是非快取式 (non-caching) 的网页代理伺服器,具有进阶的过滤能力,可强化隐私权,还可以修改网页资料、管理 HTTP cookies、去除广告等。
安装 privoxy
sudo apt-get install privoxy
安装完成后在 /etc/privoxy 目录下可以找到配置文件 config。
配置 privoxy
一般地,改配置前应该备份配置。
mv /etc/privoxy/config /etc/privoxy/config.back
然后打开 config 文件,找到listen-address
那一行,修改值为 privoxy 监听的地址,一般使用默认。
然后再找到forward-socks5
那一行,去掉注释,值为SS代理监听的地址。
让终端走SS代理,修改配置后,重启 privoxy。
sudo /etc/init.d/privoxy restart
然后在终端下添加 http 代理。
export http_proxy=”127.0.0.1:8118”
export https_proxy=”127.0.0.1:8118”
然后就可以愉快的用终端翻墙了。
原文:https://blog.csdn.net/tailgo/article/details/52075643
Lets Encrypt 配置SSL错误 DNS problem: NXDOMAIN looking up A for xxx
- 刚刚解析了A记录,解析服务器还没有生效
- 服务器本地 DNS缓存未更新
1. 首先确定A记录是否成效
确定的方式很简单,在浏览器输入自己的域名,查看能否访问成功。
2. 确定DNS是否有问题
1) ping主机
1 | # ping主机,如果无法发现host,则确定是dns问题 |
2) 更新DNS缓存
不建议直接 network restart
使用nscd
如果系统没装可以装一下,nscd做DNS缓存加速很有用。
centos : yum install nscd
、ubuntu :apt-get install nscd
如果已经装了直接更新
1 | # 主要是hosts |
grep指令参数说明
https://www.cnblogs.com/forestwolf/p/6413916.html
- 查看文件最后修改日期,返回值为时间戳
stat -c %Y filename
- 查看系统(软件)时间
date
、硬件时间clock
- -s,用硬件时间覆盖软件时间
- -w,用软件时间覆盖硬件时间
- 与远程主机同步时间
ntpdate ip
内部、外部命令
enable
查看内部命令
外部命令的搜索目录在$PATH
中指定
搜索时的优秀顺序根据hash缓存来决定,hash -d name
清空name的缓存,hash -r
清空所有缓存
使用内部命令而不使用别名
e.g. ls
1 |
|
别名alias:
优先级: alias > 内部命令 > 外部命令
-
设置别名
alias xxx=yyy
-
取消所有别名
unalias -a
设置语言
1.先修改配置文件vim /etc/sysconfig/i18n
中将en_US.UTF-8
改成zh_CN.UTF-8
,
2.然后. /etc/sysconfig/i18n
立即生效
3.测试wall "Hello"
给登录该服务器的用户发送信息
查看历史命令
history
,查看到id后,可以!id
进行再调用…!!
执行前一个命令
1 | !string 重复前一个以“string"开头的命令 |
$HISTSIZE
记录了最大记录数
命令行历史保存在历史中,直到正常退出后会写入~/.bash_history
里
VIM插件管理
1.安装
1 | # 如果没安装curl的话,先安装curl |
2.修改~/.vimrc
文件
1 | call plug#begin() |
3.执行更新
这步要确保安装了git
1 | :PlugStatus # 查看插件类型 |
4.使用插件
删除插件:PlugClean
查询帮助
which: 查找文件:
- 会在环境变量$PATH设置的目录里查找符合条件的文件
type: 返回命令的类型
whatis: 查看命令功能
- 查询一个命令执行什么功能,可以查询到man需要的章节号
whereis:查找文件
- 会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件
- 只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令
内部命令: help command ,如help type
外部命令:
- command --help
- man(manual),帮助手册放在/usr/share/man
1 | date -d "yesterday" +%F |
Linux登陆欢迎提示信息的设置
Linux可以设置登录前后的欢迎信息,虽然没啥技术含量,但却是非常实用的一个小技巧。 实现登录消息的功能,可以修改3个文件。
1、/etc/issue 本地登陆显示的信息,本地登录前
2、/etc/issue.net 网络登陆显示的信息,登录后显示,需要由sshd配置
3、/etc/motd 常用于通告信息,如计划关机时间的警告等,登陆后的提示信息
Linux下如何卸载软件(apt系)
此方法适用于Debian、Ubuntu等带apt工具的操作系统。
首先我们需要知道将要卸载的软件名称,比如我现在打算卸载tightvncserver,但是如果你不确定名称,没关系,可以用Tab键自动补全来确定。
1 | sudo apt-get autoremove --purge tigh[TAB] |
1lsblk
查看硬盘挂载
恢复rm删除的文件:
注意:查看一下当前系统版本号,及文件系统格式
df -T
1 | 查看当前硬盘分区 |
apt-get update出现NO_PUBKEY错误的解决方法
在使用apt-get update命令时,出现了如下的错误,形式如“W: GPG error: http://security.ubuntu.com trusty-security Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY XXXXX”
1 | 执行更新,查看他缺少什么key |
Author: Mrli
Link: https://nymrli.top/2019/03/15/Linux命令手册/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.