kylin

醉里论道,醒时折花。

kylin

常用操作命令

删除

删除文件夹以及文件夹中的所有文件命令:

1
rm -rf 目录名字

其中:

1
2
-r:向下递归删除
-f:直接强行删除,且没有任何提示

删除文件命令

1
rm -f 文件名

将会强行删除文件,且无提示

使用rm -rf要格外注意,linux中没有回收站,慎重删除

新建文件与文件夹

1
2
cd /someDir 定位到目标目录
mkdir test 新建一个叫test的文件夹
1
touch test/a.txt 在test文件夹下建一个名为a.txt的文件

查看文件

1
2
ls -a 查看该目录下所有文件,包括隐藏文件
ls 查看该目录下文件

打开文件

1
2
3
4
5
6
7
8
9
cat :由第一行开始显示文件内容;
tac:从最后一行开始显示,可以看出tac与cat字母顺序相反;
nl:显示的时候输出行号;
more:一页一页的显示文件内容;
less与more类似,但它可以向前翻页;
head:只看前几行;
tail:只看最后几行;
od:以二进制的方式读取文件。
vi和vim作为编辑器,也可以打开文件查看内容。
1
2
3
4
5
6
7
8
9
按ESC键 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑

移动文件

命令

1
2
mv [options] 源文件或目录 目标文件或目录,如:
mv node-v6.2.0.tar.gz lib 讲node-v6.2.0.tar.gz移动到lib文件夹下

[options]主要参数

1
2
-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。

第二个参数
- 当第二个参数类型是文件时,mv命令完成文件重命名,它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

查看端口占用

1
netstat

常见参数

1
2
3
4
5
6
7
8
9
10
11
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

实例

显示每个协议的统计信息

1
netstat -s

显示 TCP 或 UDP 端口的统计信息

1
2
netstat -st
netstat -su

显示所有选项并显示建立相关链接的程序名

1
netstat -anp|more

杀死进程

1
2
kill pid
kill -9 pid #-9强制杀死

实例

杀死上图第二行

1
kill -9 30458

从linux上下载文件

1
2
scp username@www.example:服务端路径 本地路径
# sudo scp root@www.example.com:~/nohup.out /Users/

ssh 断开连接后保持进程继续运行配置方法

nohup

在命令头尾分别加上 nohup 和 &,如

1
nohup mongod --auth &

可以看到 nohup 输出了一行信息,再按一下回车键就跳回了 shell 命令行,此时命令已经在后台执行了,nohup 将命令的输出重定向至当前目录的 nohup.out 文件中。同时注意到 nohup 会将对应程序的 PID 输出,PID 可用于需要中断进程时 kill 进程。

  • 通过 tail -f nohup.out 可以持续的查看 nohup.out 的输出,达到监视程序的效果。
  • 在命令中也可以使用重定向将程序的输出改为自己想要的文件名,如 nohup mongod --auth & >hello.log &,则程序的输出就会写到 hello.log 文件中。
  • 若程序不会自动退出,那么此时需要使用 kill 命令来结束进程。比如,可以使用命令 kill -TRM <PID> 来操作,其中 PID 即为之前 nohup 输出的值,在此例中该值为 1231。

exit命令退出ssh

不使用exit采用强退可能会导致nohup命令失效