河南键盘价格联盟

6 段常用linux 实战命令

聚创吧2018-06-24 06:54:50

实战命令一

在实际的工作中,我们经常需要将多个文件同时移动到一个指定的目录下,如果一个一个移动,太折腾...

你应该要知道:mv 有一个选项叫-t,是指定目标文件夹,就是我们所要将文件移至的文件夹

方法/步骤

比如当前目录下有a.dir b.dir c.dir isTester.html ido.txt

我们现在要将a.dir b.dir c.dir isTester.html ido.txt 这几个文件移动到idolaoxu 目录下。

执行:mv a.dir b.dir c.dir isTester.html ido.txt -t idolaoxu

就可以一次将这些文件移动到idolaoxu 下。

当然,还可以用另外一种方式:先将指定要移动的文件打包,移过去之后,然后在将文件解包,这个在文件数量大的情况下,还是可以的,少的情况下,还是用上面的方法比较靠谱。

实战命令二

在应用Unix/Linux 时,我们一般想让某个程序在后台运行

这里讲解nohup 命令的一些用法。

nohup /root/start.sh &

在shell 中回车后提示:

[~]$ nohup: 忽略输入并把输出追加到"nohup.out"

但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out 可以看到在关闭终端瞬间服务自动关闭。

这里有一个细节:当shell 中提示了nohup 成功后还需要按终端上键盘任意键退回到shell 输入命令窗口,然后通过在shell 中输入exit 来退出终端;

最后附上:nohup 命令参考

nohup 命令

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

nohup 命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup 命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

该命令的一般形式为:nohup command &

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out 的文件中,可以另外指定了输出文件:

nohup command > myout.file 2>&1 &

在上面的例子中,输出被重定向到myout.file 文件中。

OK ,结束~

实用脚本三

Shell 脚本实战

result=`npm install idoComponents`

sleep 20

echo $result

if [[ $result == *idoComponents* ]];then

echo "idoComponents install success"

cd ./src

compass compile --force

cd ..

webpack

tar -cvf ido-manager.tar ./src/build ./src/img ./src/pages ./src/lib

else

echo -e "idoComponents install error; \n 请重新构建一次"

exit 1

fi

如上,很简单的一个脚本片段,老徐用来解决某个问题的,也许对你有用~

如果你看不懂是什么意思,去Google 搜索下吧~

shell 脚本实战四

一句脚本搞定,删除指定天数前的备份文件

一句脚本即可搞定:

不废话,

脚本如下:

find /APP/ido/xu/ -mtime +7 -name "idoxu.tar.*" -exec rm -rf {} \;

当然,这个是可以做很多扩展的,你可以试试~

说明:

/APP/ido/xu 此文件夹下的备份文件

-mtime +7 七天前的备份文件

idoxu.tar.* 名称为idoxu.tar 为前缀的备份文件

-exec rm -rf 执行删除操作

实战脚本五

使用mkdir 命令建立多层目录

Linux 创建目录是使用非常频繁的操作

如创建目录A : mkdir A

那么如果想创建多层目录: mkdir /APP/ido/xu/isTester

会发现提示:

[root@localhost APP]# mkdir /APP/ido/xu/isTester

mkdir: 无法创建目录"/APP/ido/xu/isTester": 没有那个文件或目录

默认情况下mkdir 无法创建多层目录,需要加上参数-p

mkdir -p /APP/ido/xu/isTester

OK

搞定!

实战脚本六

怎么样向服务器上传部署包?

很多同学可能会说我通过某某工具很简单搞定~

那么如果没有工具呢?

方式有很多种,今天分享scp,很简单(一行命令搞定!):

$ scp filename username@remotehost:remotedirectory

执行:

$ scp isTester.txt root@192.168.1.234:/root/idotest

然后输入远程服务器192.168.1.234 的root 密码,就可以开始copy 上传了!

搞定!

OK,可以思考下scp 如何从远程服务器copy 文件到本地?

同样很简单


 加我微信:17031115530  进测试群