Linux常用命令

1  基础文件操作

文件的基础操作命令如下。

  • 进入指定目录: cd 
  • 显示所有文件及文件夹: ls 
  • 显示所有文件的存储大小: du -sh * | sort -n 
  • 查看文件: cat
  • 显示当前目录的根路径: pwd 
  • 创建文件: touch 
  • 创建文件夹: mkdir 
  • 删除文件: rm 
  • 删除文件夹: rm -r 
  • 复制文件夹: cp file1 file2 
  • 移动文件夹: mv file1 file2 
  • 查看文件夹内多少个文件: /bin/ls -l |grep ^-|wc -l 
  • 查看文件夹占用空间: du -sh 文件夹 

2  文件远程传输

2.1  基础介绍

在开发中,经常会在两台Linux机器之间传输文件,最常见的就是本机与服务器之间传输文件。

传输文件一般使用 scp 命令,即secure copy。此外还可以使用 rsync 命令,但rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

需要说明,通常两台Linux机器要相互信任(SSH公钥),且知道真实IP地址,在传输时不需要输密码。

命令格式:

scp [参数] [原路径] [目标路径]

常用参数:

  • 递归复制整个目录: -r 
  • 指定端口: -P port 

2.2  使用说明

1、将本地服务器的文件传送到远程服务器:

1 $ scp local_file remote_username@remote_ip:remote_folder

1 $ scp local_file remote_ip:remote_folder/

2、将本地服务器的目录传送到远程服务器:

1 $ scp -r local_folder remote_username@remote_ip:remote_folder

1 $ scp -r local_folder remote_ip:remote_folder

3、若是从远程服务器向本机传输文件或目录,只需要把上述的[目标路径]和[原路径]相互调换即可。

2.3  实例

复制本地opt/soft/目录下的文件nginx-0.5.38.tar.gz 到远程机器192.168.120.204的opt/soft/scptest目录:

1 $ scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest

从192.168.120.204机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中:

1 $ scp root@192.168.120.204:/opt/soft/scptest/nginx-0.5.38.tar.gz /opt/soft

[参考文章]

3  后台执行程序

平常开发中,如果是需要运行一个长时间的程序,在一个终端下运行,若该终端关闭则程序也会结束,为了避免程序运行中断则必须使用Linux后台任务指令,常规步骤如下。

  1. 打开终端。
  2. 进入目标所在目录。
  3. 使用后台任务命令 nohup :
    1 $ nohup [命令] &

    注意,这里的“&”表示此命令会在终端的后台工作;反之,若没有“&”,则表示此命令只在终端前台工作,该终端关闭后,命令取消。

    以运行python程序为例,具体的指令为:
    1 $ nohup /home/hadoop/miniconda3/envs/andrew_wr/bin/python3.6 -u pyname.py &
  4. 运行后,此时在该目录下会产生nohup.out文件,该文件会记录在运行该命令时出现的错误信息。
  5. 若在终端前台,可以使用 jobs 查看该命令的执行情况。
  6. 若该终端已关闭,则任意打开一个终端,通过 ps -ef 可以查看所有后台任务,通过 ps -ef |grep str 可查看包含有str的任务(筛选)。
  7. 可以让程序输出log文件,通过 tail -f filename 查看日志,进而得到程序运行情况。

注意一点,若要执行多个nohup指令,需要确保其输出文件不一样,即在执行nohup指令时不能使用默认输出,需要在&前加上“>>xxx.out”指定输出文件。

在输出文件不同的前提下,多个nohup指令独立。

posted @ 2019-08-18 14:47  祁俊辉  阅读(248)  评论(0编辑  收藏  举报