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后台任务指令,常规步骤如下。
- 打开终端。
 - 进入目标所在目录。
 - 使用后台任务命令 nohup :
1 $ nohup [命令] &注意,这里的“&”表示此命令会在终端的后台工作;反之,若没有“&”,则表示此命令只在终端前台工作,该终端关闭后,命令取消。
以运行python程序为例,具体的指令为:1 $ nohup /home/hadoop/miniconda3/envs/andrew_wr/bin/python3.6 -u pyname.py &
 - 运行后,此时在该目录下会产生nohup.out文件,该文件会记录在运行该命令时出现的错误信息。
 - 若在终端前台,可以使用 jobs 查看该命令的执行情况。
 - 若该终端已关闭,则任意打开一个终端,通过 ps -ef 可以查看所有后台任务,通过 ps -ef |grep str 可查看包含有str的任务(筛选)。
 - 可以让程序输出log文件,通过 tail -f filename 查看日志,进而得到程序运行情况。
 
注意一点,若要执行多个nohup指令,需要确保其输出文件不一样,即在执行nohup指令时不能使用默认输出,需要在&前加上“>>xxx.out”指定输出文件。
在输出文件不同的前提下,多个nohup指令独立。
作者:祁俊辉
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

                
            
        
浙公网安备 33010602011771号