Open foxlele2014 opened 7 years ago
有两个服务器,一个已经更新,另外一个也要更新(相同的数据)。
sudo scp -r [账号名]@[服务器]:[目录]* [目录]
举个栗子: sudo scp -r myname@10.11.12.13:/home/q/system/server.aaa.bbb.cn/* /home/q/system/server.aaa.bbb.cn/.
将当前连接的服务器内容同步成10.11.12.13 服务器上的内容。
同步本地的到服务器里:
rsync -avzP --delete --exclude-from=/Users/myname/rsync_exclude_file.txt . [服务器的账号名]@[服务器]::[这个我也不知道是什么,反正是和服务器账号名一样的]
举个例子: rsync -avzP --delete --exclude-from=/Users/myname/rsync_exclude_file.txt . abcd@10.11.12.13::abcd
(有空再研究下吧)
scp -r local_path xxx@1.1.1.1:/remote_path 将本地的文件同步到服务器里。
ln -s ln 硬链接和软链接
评论: 我试了下,好像并不可以实时同步(有修改时就同步) 原因:原来是这个目录本来就存在这个文件。因为可能默认参数是不覆盖。 不过可以使用 -i来设置覆盖。
试的时候只要发现有这个文件存在就会提示,file is already exist
如何解除链接 详见参考3. 使用rm、unlink 命令都会删除了文件(我操作的是删除了目标文件,没达到效果。。。 然后其实可以用这两个命令对源文件进行操作,这时源文件就被删除了( 因为源文件是编译出来的文件,只要再编译一次就会出来了。
愚蠢的我= =。 谢谢校友~
参考:
http://blog.saick.net/blog/2014/10/22/linux-macshang-mian-lnming-ling-shi-yong-shuo-ming/
http://stackoverflow.com/questions/7932906/how-do-i-remove-a-symlink#answer-31420205
这段时间有个需求是将页面导出成pdf文件。 之前有其他项目用了phantomjs,(然后也去查了下关于导出pdf的工具,目前也就这个相对来说是比较好的)。(这个需求搞死我了,各种麻烦,= -。。。。。
然后是在Linux环境安装的,使用的是docker,
学习了挺多操作的命令的。
如:docker ps,列出所有的容器 docker exec -it id(xxxxx) bash 进去某个容器(这里的id,可以只写前缀) docker cp /tmp/aaa.js id(xxxx):/www/data/aaa.js 替换文件(这里的id需要些全称) 反过来,可以将文件移动到某个目录。
scp root@xx.xx.x.xxx:/data/111.pdf . 放到当前目录。 open . 在当前目录打开。
还有一些vi的操作命令, (网上查一大堆= =。只是算是熟记使用了下 如vi 某个文件, 然后i,编辑 esc,退出,:q,不保存退出, :wq,保存退出 ctrl+f翻屏
之后再好好学习下
有时候用到的有些linux命令会提示command not found.
例如wget、rpm(redHat package manager,这里是包安装管理),yum之类的。
mac下可以使用homebrew来代替rpm,(安装mac缺失的工具,
可以先使用brew search xxx 之后brew xxx
用wget下载的时候,居然会显示过程:
编译完之后会提示build 成功, 之后安装也会有过程。
source 命令 重载文件,而不用重启机器
ifconfig 查看mac电脑ip、mac地址的命令
在mac里装php遇到的问题,原有5.6,要装个7.1
命令:
/usr/local/Cellar/php70/7.0.22_14/sbin/php70-fpm start
nginx -s reload
切换 brew switch jpeg 9b
目录: /usr/loal/etc/nginx/vhost
ln -s /usr/local/opt/jpeg/lib/libjpeg.9.dylib /usr/local/opt/jpeg/lib/libjpeg.8.dylib(没用)
ln -s /usr/local/Cellar/
ln -s /usr/local/Cellar/php71/7.1.8_20/bin/php /usr/local/bin/php7
-s是表示符号连接
pwd
ln -s /usr/local/opt/composer.phar /usr/local/bin/composer
chmod u+x /usr/local/bin/composer
cd ~/auto-penetration-test/
php7 /usr/local/bin/composer install
cd /usr/local/Cellar/php71/7.1.8_20/ cd sbin/ ./php71-fpm start
lsof -i:9009
ps aux|grep fpm
这台机子装这个,还是挺神奇的。就是直接输入php还是之前5.6的,他们没有共处。 其实我想要的是可以共处。
然后两个不一样的环境使用不同的php,使用命令的时候我都要切换一下 切换 brew switch jpeg 9b这个东西
挺烦的。
不过现在用的这台机子直接输入php是7.1的。
想知道做了什么操作。之前机子的主人有写文章。到时候研究了看一下。。。
使用mv操作失误之后,覆盖了之前的文件,然后这时我想找到有没有可以撤销这些操作的命令
额。我还没找到,所以不知道有没有。 然后这时就体现了git的有效性,操作了之后可以对这些操作的文件丢弃修改。
mkdir script/cmd && touch script/cmd/service.js && mv service.js script/cmd/service.js
还可以一连串加上&&操作
mv 是可以移动文件、文件夹、重命名文件、文件夹之类的
如mv dre1 dre2 若dre2存在则是移动dre1到dre2里边。若是不存在则是重命名。 同理文件,当然文件不能移动到文件里边。。。 还有一些参数之类的
这个www.codecademy.com网站可以可以过一遍常用的Linux命令窝~
cp <filename> <directory name>
filename可以是 、xx.txt
拷贝多个文件到某个目录,即filename filename... <dir >
有-a、-l、-t等配置
ls -a
lists all contents of a directory, including hidden files and directories
ls -l
lists all contents in long format
ls -t
orders files and directories by the time they were last modified
如ls -alt
permanently (永久性的`
-r
stand for recursive(递归
echo "hello" > test.txt
echo test.txt >> test1.txt
>>
会保留原来的内容
cat < lakes.txt
cat volcanoes.txt | wc
cat volcanoes.txt | wc | cat > islands.txt
|
likes 'pipe'
sort
uniq
grep
grep -i
grep -i Mount test.txt
search within in directory
grep -R aaa /home/limin/work/aaa
-R
recursive(递归
l
stands for 'files with matchs
sed
stands for 'stream editor'
similar to 'find and replace'
sed 's/snow/rain/' forests.txt
s
stands for 'substitution'替换
snow
the search string
rain
the replace string
sed 's/snow/rain/g' forests.txt
g
stand for 'global'
nano hello.txt
启用nano编辑器
ctrl+o
ctrl+x
clear
清屏幕
source xxx.profile
重载
bash profile ~/.bash_profile
alias pd="pwd"
env
bash环境
查找命令
有时要同步服务器信息、连接服务器,修改权限之类的。老是忘记这些。该被批评了。